fix invitations for users that already have an account

This commit is contained in:
Carl-Gerhard Lindesvärd
2024-08-08 22:12:49 +02:00
parent a4ef57976c
commit c770634e73

View File

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