def get_team_visiable_apps(self, tenant): tenants = team_repo.get_teams_by_enterprise_id(tenant.enterprise_id) tenant_names = [t.tenant_name for t in tenants] public_apps = Q(scope="goodrain") enterprise_apps = Q(share_team__in=tenant_names, scope="enterprise") team_apps = Q(share_team=tenant.tenant_name, scope="team") return rainbond_app_repo.get_complete_rainbond_apps().filter( public_apps | enterprise_apps | team_apps)
def get_current_enterprise_shared_apps(self, enterprise_id): tenants = team_repo.get_teams_by_enterprise_id(enterprise_id) tenant_names = [t.tenant_name for t in tenants] # 获取企业分享的应用,并且排除返回在团队内的 return rainbond_app_repo.get_complete_rainbond_apps().filter( share_team__in=tenant_names).exclude(scope="team")
def get_public_market_shared_apps(self): return rainbond_app_repo.get_complete_rainbond_apps().filter( scope="goodrain")
def get_current_team_shared_apps(self, current_team_name): return rainbond_app_repo.get_complete_rainbond_apps().filter( share_team=current_team_name)