From 967818f57daacc827073390c98c10568af503fdf Mon Sep 17 00:00:00 2001 From: = Date: Sun, 22 Sep 2024 18:42:20 +0530 Subject: [PATCH] feat: moved check for org invite specifc operation inside the creation if --- backend/src/services/org/org-service.ts | 40 ++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/backend/src/services/org/org-service.ts b/backend/src/services/org/org-service.ts index 87f0cbd8d..a42968345 100644 --- a/backend/src/services/org/org-service.ts +++ b/backend/src/services/org/org-service.ts @@ -458,12 +458,6 @@ export const orgServiceFactory = ({ const org = await orgDAL.findOrgById(orgId); - if (org?.authEnforced) { - throw new BadRequestError({ - message: "Failed to invite user due to org-level auth enforced for organization" - }); - } - const isEmailInvalid = await isDisposableEmail(inviteeEmails); if (isEmailInvalid) { throw new BadRequestError({ @@ -472,20 +466,6 @@ export const orgServiceFactory = ({ }); } const plan = await licenseService.getPlan(orgId); - if (plan?.slug !== "enterprise" && plan?.memberLimit && plan.membersUsed >= plan.memberLimit) { - // limit imposed on number of members allowed / number of members used exceeds the number of members allowed - throw new BadRequestError({ - message: "Failed to invite member due to member limit reached. Upgrade plan to invite more members." - }); - } - - if (plan?.slug !== "enterprise" && plan?.identityLimit && plan.identitiesUsed >= plan.identityLimit) { - // limit imposed on number of identities allowed / number of identities used exceeds the number of identities allowed - throw new BadRequestError({ - message: "Failed to invite member due to member limit reached. Upgrade plan to invite more members." - }); - } - const isCustomOrgRole = !Object.values(OrgMembershipRole).includes(organizationRoleSlug as OrgMembershipRole); if (isCustomOrgRole) { if (!plan?.rbac) @@ -580,6 +560,26 @@ export const orgServiceFactory = ({ // if there exist no org membership we set is as given by the request if (!inviteeMembership) { + if (plan?.slug !== "enterprise" && plan?.memberLimit && plan.membersUsed >= plan.memberLimit) { + // limit imposed on number of members allowed / number of members used exceeds the number of members allowed + throw new BadRequestError({ + message: "Failed to invite member due to member limit reached. Upgrade plan to invite more members." + }); + } + + if (plan?.slug !== "enterprise" && plan?.identityLimit && plan.identitiesUsed >= plan.identityLimit) { + // limit imposed on number of identities allowed / number of identities used exceeds the number of identities allowed + throw new BadRequestError({ + message: "Failed to invite member due to member limit reached. Upgrade plan to invite more members." + }); + } + + if (org?.authEnforced) { + throw new BadRequestError({ + message: "Failed to invite user due to org-level auth enforced for organization" + }); + } + // as its used by project invite also ForbiddenError.from(permission).throwUnlessCan(OrgPermissionActions.Create, OrgPermissionSubjects.Member); let roleId;