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 inviteUser: protectedProcedure
.input(zInviteUser) .input(zInviteUser)
.mutation(async ({ input, ctx }) => { .mutation(async ({ input, ctx }) => {
const ticket = await clerkClient.invitations.createInvitation({ const userExists = await db.user.findUnique({
emailAddress: input.email, where: {
notify: true, 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({ return db.member.create({
data: { data: {
email: input.email, email: input.email,
@@ -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,
}, },
}, },
}); });