fix invitations for users that already have an account
This commit is contained in:
@@ -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,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user