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,10 +29,21 @@ export const organizationRouter = createTRPCRouter({
inviteUser: protectedProcedure inviteUser: protectedProcedure
.input(zInviteUser) .input(zInviteUser)
.mutation(async ({ input, ctx }) => { .mutation(async ({ input, ctx }) => {
const userExists = await db.user.findUnique({
where: {
email: input.email,
},
});
let invitationId: string | undefined;
if (!userExists) {
const ticket = await clerkClient.invitations.createInvitation({ const ticket = await clerkClient.invitations.createInvitation({
emailAddress: input.email, emailAddress: input.email,
notify: true, notify: true,
}); });
invitationId = ticket.id;
}
return db.member.create({ return db.member.create({
data: { data: {
@@ -42,7 +53,7 @@ export const organizationRouter = createTRPCRouter({
invitedById: ctx.session.userId, invitedById: ctx.session.userId,
meta: { meta: {
access: input.access, access: input.access,
invitationId: ticket.id, invitationId,
}, },
}, },
}); });