mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
Avoid throwing forbidden on non accessible resources and return an empty response for those
This commit is contained in:
@@ -487,7 +487,22 @@ export const secretImportServiceFactory = ({
|
||||
actorOrgId,
|
||||
actionProjectType: ActionProjectType.SecretManager
|
||||
});
|
||||
const filteredEnvironments = [];
|
||||
for (const environment of environments) {
|
||||
if (
|
||||
permission.can(
|
||||
ProjectPermissionActions.Read,
|
||||
subject(ProjectPermissionSub.SecretImports, { environment, secretPath })
|
||||
)
|
||||
) {
|
||||
filteredEnvironments.push(environment);
|
||||
}
|
||||
}
|
||||
if (filteredEnvironments.length === 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (const environment of filteredEnvironments) {
|
||||
ForbiddenError.from(permission).throwUnlessCan(
|
||||
ProjectPermissionActions.Read,
|
||||
subject(ProjectPermissionSub.SecretImports, { environment, secretPath })
|
||||
@@ -745,14 +760,22 @@ export const secretImportServiceFactory = ({
|
||||
actorOrgId,
|
||||
actionProjectType: ActionProjectType.SecretManager
|
||||
});
|
||||
const filteredEnvironments = [];
|
||||
for (const environment of environments) {
|
||||
ForbiddenError.from(permission).throwUnlessCan(
|
||||
ProjectPermissionActions.Read,
|
||||
subject(ProjectPermissionSub.SecretImports, { environment, secretPath })
|
||||
);
|
||||
if (
|
||||
permission.can(
|
||||
ProjectPermissionActions.Read,
|
||||
subject(ProjectPermissionSub.SecretImports, { environment, secretPath })
|
||||
)
|
||||
) {
|
||||
filteredEnvironments.push(environment);
|
||||
}
|
||||
}
|
||||
if (filteredEnvironments.length === 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const folders = await folderDAL.findBySecretPathMultiEnv(projectId, environments, secretPath);
|
||||
const folders = await folderDAL.findBySecretPathMultiEnv(projectId, filteredEnvironments, secretPath);
|
||||
if (!folders?.length)
|
||||
throw new NotFoundError({
|
||||
message: `Folder with path '${secretPath}' not found on environments with slugs '${environments.join(", ")}'`
|
||||
|
||||
@@ -167,7 +167,6 @@ export const useGetImportedSecretsAllEnvs = ({
|
||||
select: useCallback(
|
||||
(data: Awaited<ReturnType<typeof fetchImportedSecrets>>) =>
|
||||
data.map((el) => ({
|
||||
currentEnv: env,
|
||||
environment: el.environment,
|
||||
secretPath: el.secretPath,
|
||||
environmentInfo: el.environmentInfo,
|
||||
|
||||
Reference in New Issue
Block a user