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_current_enter_visable_apps( enterprise_id).filter(share_team__in=tenant_names).exclude( scope="team")
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_current_enter_visable_apps( tenant.enterprise_id).filter(public_apps | enterprise_apps | team_apps)
def get_public_market_shared_apps(self, enterprise_id): return rainbond_app_repo.get_current_enter_visable_apps( enterprise_id).filter(scope="goodrain")
def get_current_team_shared_apps(self, enterprise_id, current_team_name): return rainbond_app_repo.get_current_enter_visable_apps( enterprise_id).filter(share_team=current_team_name)