Fix types and temporarily hiding pagination
This commit is contained in:
parent
198c7174e4
commit
49944c223f
|
@ -896,6 +896,9 @@ const Main = ({ filters }: { filters: ReturnType<typeof getTeamsFiltersFromQuery
|
|||
const { data: teams } = trpc.viewer.teams.list.useQuery(undefined, {
|
||||
// Teams don't change that frequently
|
||||
refetchOnWindowFocus: false,
|
||||
trpc: {
|
||||
context: { skipBatch: true },
|
||||
},
|
||||
});
|
||||
|
||||
// After teams are fetched we then load event types for each team
|
||||
|
@ -952,8 +955,10 @@ const Main = ({ filters }: { filters: ReturnType<typeof getTeamsFiltersFromQuery
|
|||
if (!teamEventTypes || teamEventTypes.length === 0 || !firstElementTeamEventTypes.team) {
|
||||
return null;
|
||||
}
|
||||
const teamDataMatchWithEventType = teams && teams.length > 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<typeof getTeamsFiltersFromQuery
|
|||
<EventTypeList
|
||||
data={teamEventTypes}
|
||||
key={index}
|
||||
readonly={"MEMBER" === teamDataMatchWithEventType.role}
|
||||
readonly={
|
||||
teamDataMatchWithEventType ? "MEMBER" === teamDataMatchWithEventType.role : false
|
||||
}
|
||||
/>
|
||||
) : (
|
||||
<EmptyEventTypeList
|
||||
|
|
|
@ -38,7 +38,7 @@ export const paginateHandler = async ({ ctx, input }: EventTypesPaginateProps) =
|
|||
teamConditional = { teamId: { in: teamIds } };
|
||||
}
|
||||
|
||||
const skip = (page - 1) * pageSize;
|
||||
// const skip = (page - 1) * pageSize;
|
||||
|
||||
const result = await prisma.eventType.findMany({
|
||||
where: {
|
||||
|
@ -83,8 +83,9 @@ export const paginateHandler = async ({ ctx, input }: EventTypesPaginateProps) =
|
|||
},
|
||||
},
|
||||
},
|
||||
skip,
|
||||
take: pageSize,
|
||||
// Temporarily disabled until we can figure out how to do this properly
|
||||
// skip,
|
||||
// take: pageSize,
|
||||
});
|
||||
|
||||
return result;
|
||||
|
|
|
@ -35,6 +35,15 @@ export const listHandler = async ({ ctx }: ListOptions) => {
|
|||
|
||||
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);
|
||||
|
|
Loading…
Reference in New Issue
Block a user