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, {
|
const { data: teams } = trpc.viewer.teams.list.useQuery(undefined, {
|
||||||
// Teams don't change that frequently
|
// Teams don't change that frequently
|
||||||
refetchOnWindowFocus: false,
|
refetchOnWindowFocus: false,
|
||||||
|
trpc: {
|
||||||
|
context: { skipBatch: true },
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
// After teams are fetched we then load event types for each team
|
// 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) {
|
if (!teamEventTypes || teamEventTypes.length === 0 || !firstElementTeamEventTypes.team) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
const teamDataMatchWithEventType = teams && teams.length > 0 && teams[index];
|
const teamDataMatchWithEventType = teams && teams.length > 0 ? teams[index] : null;
|
||||||
const membershipCount = teamDataMatchWithEventType?.membershipCount || 0;
|
const membershipCount = teamDataMatchWithEventType
|
||||||
|
? teamDataMatchWithEventType?.membershipCount
|
||||||
|
: 0;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
@ -970,7 +975,9 @@ const Main = ({ filters }: { filters: ReturnType<typeof getTeamsFiltersFromQuery
|
||||||
<EventTypeList
|
<EventTypeList
|
||||||
data={teamEventTypes}
|
data={teamEventTypes}
|
||||||
key={index}
|
key={index}
|
||||||
readonly={"MEMBER" === teamDataMatchWithEventType.role}
|
readonly={
|
||||||
|
teamDataMatchWithEventType ? "MEMBER" === teamDataMatchWithEventType.role : false
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
<EmptyEventTypeList
|
<EmptyEventTypeList
|
||||||
|
|
|
@ -38,7 +38,7 @@ export const paginateHandler = async ({ ctx, input }: EventTypesPaginateProps) =
|
||||||
teamConditional = { teamId: { in: teamIds } };
|
teamConditional = { teamId: { in: teamIds } };
|
||||||
}
|
}
|
||||||
|
|
||||||
const skip = (page - 1) * pageSize;
|
// const skip = (page - 1) * pageSize;
|
||||||
|
|
||||||
const result = await prisma.eventType.findMany({
|
const result = await prisma.eventType.findMany({
|
||||||
where: {
|
where: {
|
||||||
|
@ -83,8 +83,9 @@ export const paginateHandler = async ({ ctx, input }: EventTypesPaginateProps) =
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
skip,
|
// Temporarily disabled until we can figure out how to do this properly
|
||||||
take: pageSize,
|
// skip,
|
||||||
|
// take: pageSize,
|
||||||
});
|
});
|
||||||
|
|
||||||
return result;
|
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
|
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 }) => ({
|
return membershipsWithoutParent.map(({ team: { inviteTokens, ..._team }, ...membership }) => ({
|
||||||
role: membership.role,
|
role: membership.role,
|
||||||
accepted: membership.accepted,
|
accepted: membership.accepted,
|
||||||
|
@ -42,6 +51,7 @@ export const listHandler = async ({ ctx }: ListOptions) => {
|
||||||
..._team,
|
..._team,
|
||||||
/** To prevent breaking we only return non-email attached token here, if we have one */
|
/** 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),
|
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
|
return memberships
|
||||||
.filter((mmship) => {
|
.filter((mmship) => {
|
||||||
const metadata = teamMetadataSchema.parse(mmship.team.metadata);
|
const metadata = teamMetadataSchema.parse(mmship.team.metadata);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user