mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-04 15:26:20 +00:00
misc: added helpful error message
This commit is contained in:
@@ -334,7 +334,7 @@ export const permissionServiceFactory = ({
|
|||||||
const isCustomRole = !Object.values(ProjectMembershipRole).includes(role as ProjectMembershipRole);
|
const isCustomRole = !Object.values(ProjectMembershipRole).includes(role as ProjectMembershipRole);
|
||||||
if (isCustomRole) {
|
if (isCustomRole) {
|
||||||
const projectRole = await projectRoleDAL.findOne({ slug: role, projectId });
|
const projectRole = await projectRoleDAL.findOne({ slug: role, projectId });
|
||||||
if (!projectRole) throw new BadRequestError({ message: "Role not found" });
|
if (!projectRole) throw new BadRequestError({ message: `Role not found: ${role}` });
|
||||||
return {
|
return {
|
||||||
permission: buildProjectPermission([
|
permission: buildProjectPermission([
|
||||||
{ role: ProjectMembershipRole.Custom, permissions: projectRole.permissions }
|
{ role: ProjectMembershipRole.Custom, permissions: projectRole.permissions }
|
||||||
|
|||||||
@@ -113,10 +113,17 @@ export const groupProjectServiceFactory = ({
|
|||||||
$in: { slug: customInputRoles.map(({ role }) => role) }
|
$in: { slug: customInputRoles.map(({ role }) => role) }
|
||||||
})
|
})
|
||||||
: [];
|
: [];
|
||||||
if (customRoles.length !== customInputRoles.length) {
|
|
||||||
throw new NotFoundError({ message: "Custom role not found" });
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (customRoles.length !== customInputRoles.length) {
|
||||||
|
const customRoleSlugs = customRoles.map((customRole) => customRole.slug);
|
||||||
|
const missingInputRoles = customInputRoles
|
||||||
|
.filter((inputRole) => !customRoleSlugs.includes(inputRole.role))
|
||||||
|
.map((role) => role.role);
|
||||||
|
|
||||||
|
throw new NotFoundError({
|
||||||
|
message: `Custom role/s not found: ${missingInputRoles.join(", ")}`
|
||||||
|
});
|
||||||
|
}
|
||||||
const customRolesGroupBySlug = groupBy(customRoles, ({ slug }) => slug);
|
const customRolesGroupBySlug = groupBy(customRoles, ({ slug }) => slug);
|
||||||
|
|
||||||
const projectGroup = await groupProjectDAL.transaction(async (tx) => {
|
const projectGroup = await groupProjectDAL.transaction(async (tx) => {
|
||||||
@@ -260,7 +267,16 @@ export const groupProjectServiceFactory = ({
|
|||||||
$in: { slug: customInputRoles.map(({ role }) => role) }
|
$in: { slug: customInputRoles.map(({ role }) => role) }
|
||||||
})
|
})
|
||||||
: [];
|
: [];
|
||||||
if (customRoles.length !== customInputRoles.length) throw new BadRequestError({ message: "Custom role not found" });
|
if (customRoles.length !== customInputRoles.length) {
|
||||||
|
const customRoleSlugs = customRoles.map((customRole) => customRole.slug);
|
||||||
|
const missingInputRoles = customInputRoles
|
||||||
|
.filter((inputRole) => !customRoleSlugs.includes(inputRole.role))
|
||||||
|
.map((role) => role.role);
|
||||||
|
|
||||||
|
throw new NotFoundError({
|
||||||
|
message: `Custom role/s not found: ${missingInputRoles.join(", ")}`
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
const customRolesGroupBySlug = groupBy(customRoles, ({ slug }) => slug);
|
const customRolesGroupBySlug = groupBy(customRoles, ({ slug }) => slug);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user