mirror of
https://github.com/documenso/documenso.git
synced 2025-11-14 16:51:38 +10:00
fix: handle team invites being accepted but not added
This commit is contained in:
@ -42,8 +42,17 @@ export const acceptTeamInvitation = async ({ userId, teamId }: AcceptTeamInvitat
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (teamMemberInvite.status === TeamMemberInviteStatus.ACCEPTED) {
|
if (teamMemberInvite.status === TeamMemberInviteStatus.ACCEPTED) {
|
||||||
|
const memberExists = await tx.teamMember.findFirst({
|
||||||
|
where: {
|
||||||
|
teamId: teamMemberInvite.teamId,
|
||||||
|
userId: user.id,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
if (memberExists) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const { team } = teamMemberInvite;
|
const { team } = teamMemberInvite;
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import { hash } from '@node-rs/bcrypt';
|
|||||||
import { getStripeCustomerByUser } from '@documenso/ee/server-only/stripe/get-customer';
|
import { getStripeCustomerByUser } from '@documenso/ee/server-only/stripe/get-customer';
|
||||||
import { updateSubscriptionItemQuantity } from '@documenso/ee/server-only/stripe/update-subscription-item-quantity';
|
import { updateSubscriptionItemQuantity } from '@documenso/ee/server-only/stripe/update-subscription-item-quantity';
|
||||||
import { prisma } from '@documenso/prisma';
|
import { prisma } from '@documenso/prisma';
|
||||||
import { IdentityProvider, Prisma, TeamMemberInviteStatus } from '@documenso/prisma/client';
|
import { IdentityProvider, TeamMemberInviteStatus } from '@documenso/prisma/client';
|
||||||
|
|
||||||
import { IS_BILLING_ENABLED } from '../../constants/app';
|
import { IS_BILLING_ENABLED } from '../../constants/app';
|
||||||
import { SALT_ROUNDS } from '../../constants/auth';
|
import { SALT_ROUNDS } from '../../constants/auth';
|
||||||
@ -59,11 +59,11 @@ export const createUser = async ({ name, email, password, signature, url }: Crea
|
|||||||
|
|
||||||
const acceptedTeamInvites = await prisma.teamMemberInvite.findMany({
|
const acceptedTeamInvites = await prisma.teamMemberInvite.findMany({
|
||||||
where: {
|
where: {
|
||||||
|
status: TeamMemberInviteStatus.ACCEPTED,
|
||||||
email: {
|
email: {
|
||||||
equals: email,
|
equals: email,
|
||||||
mode: Prisma.QueryMode.insensitive,
|
mode: 'insensitive',
|
||||||
},
|
},
|
||||||
status: TeamMemberInviteStatus.ACCEPTED,
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user