Skip to content

Commit 25bf43c

Browse files
authored
perf: improve invalid app credential query (calcom#21909)
1 parent 2880a68 commit 25bf43c

1 file changed

Lines changed: 13 additions & 16 deletions

File tree

packages/trpc/server/routers/viewer/me/checkForInvalidAppCredentials.ts

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,24 +13,21 @@ type checkInvalidAppCredentialsOptions = {
1313
export const checkInvalidAppCredentials = async ({ ctx }: checkInvalidAppCredentialsOptions) => {
1414
const userId = ctx.user.id;
1515

16+
// First get the teams where user is admin/owner
17+
const userTeamIds = await prisma.membership.findMany({
18+
where: {
19+
userId: userId,
20+
accepted: true,
21+
role: { in: [MembershipRole.ADMIN, MembershipRole.OWNER] },
22+
},
23+
select: {
24+
teamId: true,
25+
},
26+
});
27+
1628
const apps = await prisma.credential.findMany({
1729
where: {
18-
OR: [
19-
{
20-
userId: userId,
21-
},
22-
{
23-
team: {
24-
members: {
25-
some: {
26-
userId: userId,
27-
accepted: true,
28-
role: { in: [MembershipRole.ADMIN, MembershipRole.OWNER] },
29-
},
30-
},
31-
},
32-
},
33-
],
30+
OR: [{ userId }, { teamId: { in: userTeamIds.map((membership) => membership.teamId) } }],
3431
invalid: true,
3532
},
3633
select: {

0 commit comments

Comments
 (0)