From 801592fbb57456dfb8fb7d40758e9068a248116c Mon Sep 17 00:00:00 2001 From: e-for-eshaan Date: Thu, 25 Apr 2024 18:32:58 +0530 Subject: [PATCH] populates orgRepos when fetching teams from the selector --- .../api/resources/orgs/[org_id]/teams/index.ts | 13 +++++++++---- .../TeamSelector/useTeamSelectorSetup.tsx | 1 + web-server/src/types/resources.ts | 1 + 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/web-server/pages/api/resources/orgs/[org_id]/teams/index.ts b/web-server/pages/api/resources/orgs/[org_id]/teams/index.ts index f5a9c3f64..39c668b8a 100644 --- a/web-server/pages/api/resources/orgs/[org_id]/teams/index.ts +++ b/web-server/pages/api/resources/orgs/[org_id]/teams/index.ts @@ -5,9 +5,11 @@ import { getAllTeamsReposProdBranchesForOrg, transformTeamRepoBranchesToMap } from '@/api/internal/team/[team_id]/repo_branches'; +import { getAllOrgRepos } from '@/api/resources/orgs/[org_id]/teams/v2'; import { getTeamRepos } from '@/api/resources/team_repos'; import { Endpoint } from '@/api-helpers/global'; import { getTeamMembersFilterSettingForOrg } from '@/api-helpers/team'; +import { Integration } from '@/constants/integrations'; import { getTeamV2Mock } from '@/mocks/teams'; import { FetchTeamsResponse } from '@/types/resources'; import { db } from '@/utils/db'; @@ -53,10 +55,12 @@ export const getOrgTeams = async ( {} as Record ); - const [teamsReposProductionBranchDetails, repos] = await Promise.all([ - getAllTeamsReposProdBranchesForOrg(org_id), - Promise.all(teamRows.map((team) => getTeamRepos(team.id))) - ]); + const [teamsReposProductionBranchDetails, repos, orgRepos] = + await Promise.all([ + getAllTeamsReposProdBranchesForOrg(org_id), + Promise.all(teamRows.map((team) => getTeamRepos(team.id))), + getAllOrgRepos(org_id, Integration.GITHUB).then((res) => res.flat()) + ]); const teamManagers = {} as Record; @@ -79,6 +83,7 @@ export const getOrgTeams = async ( return { teams, + orgRepos, teamReposProdBranchMap, teamReposMap: groupBy(prop('team_id'), repos.flat()) }; diff --git a/web-server/src/components/TeamSelector/useTeamSelectorSetup.tsx b/web-server/src/components/TeamSelector/useTeamSelectorSetup.tsx index 62966ae1c..e8e525774 100644 --- a/web-server/src/components/TeamSelector/useTeamSelectorSetup.tsx +++ b/web-server/src/components/TeamSelector/useTeamSelectorSetup.tsx @@ -68,6 +68,7 @@ export const useTeamSelectorSetup = ({ mode }: UseTeamSelectorSetupArgs) => { dispatch( appSlice.actions.setTeamProdBranchMap(res.data.teamReposProdBranchMap) ); + dispatch(teamSlice.actions.setOrgRepos(res.data.orgRepos)); const teams = res.data.teams.filter((t) => t.id); const singleT = teams.find((team) => singleTeamId === team.id); diff --git a/web-server/src/types/resources.ts b/web-server/src/types/resources.ts index 380de3d27..ff15d000f 100644 --- a/web-server/src/types/resources.ts +++ b/web-server/src/types/resources.ts @@ -614,6 +614,7 @@ export type FetchTeamsResponse = { teams: Team[]; teamReposProdBranchMap: Record; teamReposMap: Record; + orgRepos: BaseRepo[]; }; export type FetchTeamSettingsAPIResponse = {