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, }, }, });