From edabb7028033135d057ee97c6b6ae102bec054e2 Mon Sep 17 00:00:00 2001 From: Konstantin Wohlwend Date: Wed, 11 Dec 2024 18:49:57 -0800 Subject: [PATCH] Ensure user exists before adding to team --- apps/backend/src/app/api/v1/team-memberships/crud.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/backend/src/app/api/v1/team-memberships/crud.tsx b/apps/backend/src/app/api/v1/team-memberships/crud.tsx index 42f9d8108..26f3902a2 100644 --- a/apps/backend/src/app/api/v1/team-memberships/crud.tsx +++ b/apps/backend/src/app/api/v1/team-memberships/crud.tsx @@ -1,5 +1,5 @@ import { isTeamSystemPermission, teamSystemPermissionStringToDBType } from "@/lib/permissions"; -import { ensureTeamExists, ensureTeamMembershipDoesNotExist, ensureTeamMembershipExists, ensureUserTeamPermissionExists } from "@/lib/request-checks"; +import { ensureTeamExists, ensureTeamMembershipDoesNotExist, ensureTeamMembershipExists, ensureUserExists, ensureUserTeamPermissionExists } from "@/lib/request-checks"; import { PrismaTransaction } from "@/lib/types"; import { sendTeamMembershipCreatedWebhook, sendTeamMembershipDeletedWebhook } from "@/lib/webhooks"; import { prismaClient } from "@/prisma-client"; @@ -58,6 +58,11 @@ export const teamMembershipsCrudHandlers = createLazyProxy(() => createCrudHandl }), onCreate: async ({ auth, params }) => { await prismaClient.$transaction(async (tx) => { + await ensureUserExists(tx, { + projectId: auth.project.id, + userId: params.user_id, + }); + await ensureTeamExists(tx, { projectId: auth.project.id, teamId: params.team_id,