improvements: address feedback

This commit is contained in:
Scott Wilson
2024-10-09 11:37:02 -07:00
parent faad09961d
commit 0b247176bb
5 changed files with 9 additions and 11 deletions

View File

@@ -1,9 +1,9 @@
import { OrgMembershipRole } from "@app/db/schemas";
import { TFeatureSet } from "@app/ee/services/license/license-types";
import { BadRequestError } from "@app/lib/errors";
import { BadRequestError, NotFoundError } from "@app/lib/errors";
import { TOrgRoleDALFactory } from "@app/services/org/org-role-dal";
const RESERVED_ORG_ROLES = Object.values(OrgMembershipRole).filter((role) => role !== "custom");
const RESERVED_ORG_ROLE_SLUGS = Object.values(OrgMembershipRole).filter((role) => role !== "custom");
// this is only for updating an org
export const getDefaultOrgMembershipRoleForUpdateOrg = async ({
@@ -17,19 +17,17 @@ export const getDefaultOrgMembershipRoleForUpdateOrg = async ({
orgRoleDAL: TOrgRoleDALFactory;
plan: TFeatureSet;
}) => {
const isCustomRole = !RESERVED_ORG_ROLES.includes(membershipRoleSlug as OrgMembershipRole);
const isCustomRole = !RESERVED_ORG_ROLE_SLUGS.includes(membershipRoleSlug as OrgMembershipRole);
if (isCustomRole) {
// verify rbac enabled
if (!plan?.rbac)
throw new BadRequestError({
message:
"Failed to set custom default role due to plan RBAC restriction. Upgrade plan to set custom default org membership role."
});
// check that custom role exists
const customRole = await orgRoleDAL.findOne({ slug: membershipRoleSlug, orgId });
if (!customRole) throw new BadRequestError({ name: "UpdateOrg", message: "Organization role not found" });
if (!customRole) throw new NotFoundError({ name: "UpdateOrg", message: "Organization role not found" });
// use ID for default role
return customRole.id;
@@ -43,7 +41,7 @@ export const getDefaultOrgMembershipRoleForUpdateOrg = async ({
export const getDefaultOrgMembershipRoleDto = async (
defaultOrgMembershipRole: string // can either be ID or reserved slug
) => {
const isCustomRole = !RESERVED_ORG_ROLES.includes(defaultOrgMembershipRole as OrgMembershipRole);
const isCustomRole = !RESERVED_ORG_ROLE_SLUGS.includes(defaultOrgMembershipRole as OrgMembershipRole);
if (isCustomRole)
return {

View File

@@ -139,7 +139,6 @@ export const orgRoleServiceFactory = ({ orgRoleDAL, orgDAL, permissionService }:
message: "Failed to find organization"
});
// prevent deletion of custom role if set as default org membership role
if (org.defaultMembershipRole === roleId)
throw new BadRequestError({
message: "Cannot delete default org membership role. Please re-assign and try again."

View File

@@ -84,7 +84,7 @@ export const AddOrgMemberModal = ({
resolver: zodResolver(addMemberFormSchema)
});
// set initial form role based off org default role
// set initial form role based off org default role
useEffect(() => {
if (organizationRoles) {
reset({

View File

@@ -80,7 +80,8 @@ export const OrgRoleTable = () => {
if (isCustomRole && subscription && !subscription?.rbac) {
handlePopUpOpen("upgradePlan", {
description: "You can assign custom roles to members if you upgrade your Infisical plan."
description:
"You can set the default org role to a custom value if you upgrade your Infisical plan."
});
return;
}

View File

@@ -135,7 +135,7 @@ export const OrgNameChangeSection = (): JSX.Element => {
name="defaultMembershipRole"
render={({ field: { value, onChange }, fieldState: { error } }) => (
<FormControl
helperText="Users joining your org will be assigned this role unless otherwise specified"
helperText="Users joining your organization will be assigned this role unless otherwise specified."
isError={Boolean(error)}
errorText={error?.message}
className="max-w-md"