perf: improve invalid app credential query (#21909)

This commit is contained in:
Udit Takkar
2025-06-19 02:29:33 +05:30
committed by GitHub
parent 2880a681a8
commit 25bf43cddd
@@ -13,24 +13,21 @@ type checkInvalidAppCredentialsOptions = {
export const checkInvalidAppCredentials = async ({ ctx }: checkInvalidAppCredentialsOptions) => {
const userId = ctx.user.id;
// First get the teams where user is admin/owner
const userTeamIds = await prisma.membership.findMany({
where: {
userId: userId,
accepted: true,
role: { in: [MembershipRole.ADMIN, MembershipRole.OWNER] },
},
select: {
teamId: true,
},
});
const apps = await prisma.credential.findMany({
where: {
OR: [
{
userId: userId,
},
{
team: {
members: {
some: {
userId: userId,
accepted: true,
role: { in: [MembershipRole.ADMIN, MembershipRole.OWNER] },
},
},
},
},
],
OR: [{ userId }, { teamId: { in: userTeamIds.map((membership) => membership.teamId) } }],
invalid: true,
},
select: {