From c770634e730bec4051101d91a9e7c46efc35d436 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carl-Gerhard=20Lindesva=CC=88rd?= Date: Thu, 8 Aug 2024 22:12:49 +0200 Subject: [PATCH] fix invitations for users that already have an account --- packages/trpc/src/routers/organization.ts | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/packages/trpc/src/routers/organization.ts b/packages/trpc/src/routers/organization.ts index 01452661..bd13402b 100644 --- a/packages/trpc/src/routers/organization.ts +++ b/packages/trpc/src/routers/organization.ts @@ -29,11 +29,22 @@ export const organizationRouter = createTRPCRouter({ inviteUser: protectedProcedure .input(zInviteUser) .mutation(async ({ input, ctx }) => { - const ticket = await clerkClient.invitations.createInvitation({ - emailAddress: input.email, - notify: true, + const userExists = await db.user.findUnique({ + where: { + email: input.email, + }, }); + let invitationId: string | undefined; + + if (!userExists) { + const ticket = await clerkClient.invitations.createInvitation({ + emailAddress: input.email, + notify: true, + }); + invitationId = ticket.id; + } + return db.member.create({ data: { email: input.email, @@ -42,7 +53,7 @@ export const organizationRouter = createTRPCRouter({ invitedById: ctx.session.userId, meta: { access: input.access, - invitationId: ticket.id, + invitationId, }, }, });