improvements: address feedback

This commit is contained in:
Scott Wilson
2024-10-09 11:52:02 -07:00
parent faad09961d
commit 0b247176bb
5 changed files with 9 additions and 11 deletions
+5 -7
View File
@@ -1,9 +1,9 @@
import { OrgMembershipRole } from "@app/db/schemas"; import { OrgMembershipRole } from "@app/db/schemas";
import { TFeatureSet } from "@app/ee/services/license/license-types"; 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"; 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 // this is only for updating an org
export const getDefaultOrgMembershipRoleForUpdateOrg = async ({ export const getDefaultOrgMembershipRoleForUpdateOrg = async ({
@@ -17,19 +17,17 @@ export const getDefaultOrgMembershipRoleForUpdateOrg = async ({
orgRoleDAL: TOrgRoleDALFactory; orgRoleDAL: TOrgRoleDALFactory;
plan: TFeatureSet; plan: TFeatureSet;
}) => { }) => {
const isCustomRole = !RESERVED_ORG_ROLES.includes(membershipRoleSlug as OrgMembershipRole); const isCustomRole = !RESERVED_ORG_ROLE_SLUGS.includes(membershipRoleSlug as OrgMembershipRole);
if (isCustomRole) { if (isCustomRole) {
// verify rbac enabled
if (!plan?.rbac) if (!plan?.rbac)
throw new BadRequestError({ throw new BadRequestError({
message: message:
"Failed to set custom default role due to plan RBAC restriction. Upgrade plan to set custom default org membership role." "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 }); 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 // use ID for default role
return customRole.id; return customRole.id;
@@ -43,7 +41,7 @@ export const getDefaultOrgMembershipRoleForUpdateOrg = async ({
export const getDefaultOrgMembershipRoleDto = async ( export const getDefaultOrgMembershipRoleDto = async (
defaultOrgMembershipRole: string // can either be ID or reserved slug 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) if (isCustomRole)
return { return {
@@ -139,7 +139,6 @@ export const orgRoleServiceFactory = ({ orgRoleDAL, orgDAL, permissionService }:
message: "Failed to find organization" message: "Failed to find organization"
}); });
// prevent deletion of custom role if set as default org membership role
if (org.defaultMembershipRole === roleId) if (org.defaultMembershipRole === roleId)
throw new BadRequestError({ throw new BadRequestError({
message: "Cannot delete default org membership role. Please re-assign and try again." message: "Cannot delete default org membership role. Please re-assign and try again."
@@ -84,7 +84,7 @@ export const AddOrgMemberModal = ({
resolver: zodResolver(addMemberFormSchema) resolver: zodResolver(addMemberFormSchema)
}); });
// set initial form role based off org default role // set initial form role based off org default role
useEffect(() => { useEffect(() => {
if (organizationRoles) { if (organizationRoles) {
reset({ reset({
@@ -80,7 +80,8 @@ export const OrgRoleTable = () => {
if (isCustomRole && subscription && !subscription?.rbac) { if (isCustomRole && subscription && !subscription?.rbac) {
handlePopUpOpen("upgradePlan", { 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; return;
} }
@@ -135,7 +135,7 @@ export const OrgNameChangeSection = (): JSX.Element => {
name="defaultMembershipRole" name="defaultMembershipRole"
render={({ field: { value, onChange }, fieldState: { error } }) => ( render={({ field: { value, onChange }, fieldState: { error } }) => (
<FormControl <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)} isError={Boolean(error)}
errorText={error?.message} errorText={error?.message}
className="max-w-md" className="max-w-md"