From 49944c223fb4883d1e7e78be072c3481ab4dd14f Mon Sep 17 00:00:00 2001 From: Alan Date: Mon, 11 Sep 2023 00:10:42 -0700 Subject: [PATCH] Fix types and temporarily hiding pagination --- apps/web/pages/event-types/index.tsx | 13 ++++++++++--- .../viewer/eventTypes/infiniteEventTypes.handler.ts | 7 ++++--- .../server/routers/viewer/teams/list.handler.ts | 12 ++++++++++-- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/apps/web/pages/event-types/index.tsx b/apps/web/pages/event-types/index.tsx index 738c642e72..fbb4f962cb 100644 --- a/apps/web/pages/event-types/index.tsx +++ b/apps/web/pages/event-types/index.tsx @@ -896,6 +896,9 @@ const Main = ({ filters }: { filters: ReturnType 0 && teams[index]; - const membershipCount = teamDataMatchWithEventType?.membershipCount || 0; + const teamDataMatchWithEventType = teams && teams.length > 0 ? teams[index] : null; + const membershipCount = teamDataMatchWithEventType + ? teamDataMatchWithEventType?.membershipCount + : 0; return ( <> @@ -970,7 +975,9 @@ const Main = ({ filters }: { filters: ReturnType ) : ( { const isOrgAdmin = !!(await isOrganisationAdmin(ctx.user.id, ctx.user.organization.id)); // Org id exists here as we're inside a conditional TS complaining for some reason + // This can be optimized by using a custom view between membership and team and teamMemberCount + const membershipCount = await prisma.teamMemberCount.findMany({ + where: { + id: { + in: membershipsWithoutParent.map((m) => m.teamId), + }, + }, + }); + return membershipsWithoutParent.map(({ team: { inviteTokens, ..._team }, ...membership }) => ({ role: membership.role, accepted: membership.accepted, @@ -42,6 +51,7 @@ export const listHandler = async ({ ctx }: ListOptions) => { ..._team, /** To prevent breaking we only return non-email attached token here, if we have one */ inviteToken: inviteTokens.find((token) => token.identifier === "invite-link-for-teamId-" + _team.id), + membershipCount: membershipCount.find((m) => m.id === _team.id)?.count || 0, })); } @@ -68,8 +78,6 @@ export const listHandler = async ({ ctx }: ListOptions) => { }, }); - console.log({ membershipCount }); - return memberships .filter((mmship) => { const metadata = teamMetadataSchema.parse(mmship.team.metadata);