import { prisma } from "@calcom/prisma"; import { SMSLockState } from "@calcom/prisma/client"; import type { TrpcSessionUser } from "../../../trpc"; type GetOptions = { ctx: { user: NonNullable; }; }; const getSMSLockStateTeamsUsers = async ({ ctx }: GetOptions) => { const userSelect = { id: true, smsLockState: true, email: true, username: true, name: true, avatarUrl: true, }; const teamSelect = { id: true, smsLockState: true, slug: true, name: true, logoUrl: true, }; const lockedUsers = await prisma.user.findMany({ where: { smsLockState: SMSLockState.LOCKED, }, select: userSelect, }); const reviewNeededUsers = await prisma.user.findMany({ where: { smsLockState: SMSLockState.REVIEW_NEEDED, }, select: userSelect, }); const lockedTeams = await prisma.team.findMany({ where: { smsLockState: SMSLockState.LOCKED, }, select: teamSelect, }); const reviewNeededTeams = await prisma.team.findMany({ where: { smsLockState: SMSLockState.REVIEW_NEEDED, }, select: teamSelect, }); const resultObj = { users: { locked: lockedUsers, reviewNeeded: reviewNeededUsers, }, teams: { locked: lockedTeams, reviewNeeded: reviewNeededTeams, }, }; return resultObj; }; export default getSMSLockStateTeamsUsers;