Merge pull request #3293 from Infisical/feat/addRecursiveSearchToFoldersGetEndpoint

Add recursive flag to folders get endpoint to retrieve all nested folders
This commit is contained in:
carlosmonastyrski
2025-03-24 08:15:30 -03:00
committed by GitHub
6 changed files with 42 additions and 19 deletions
@@ -401,7 +401,8 @@ export const secretFolderServiceFactory = ({
orderBy,
orderDirection,
limit,
offset
offset,
recursive
}: TGetFolderDTO) => {
// folder list is allowed to be read by anyone
// permission to check does user has access
@@ -420,6 +421,17 @@ export const secretFolderServiceFactory = ({
const parentFolder = await folderDAL.findBySecretPath(projectId, environment, secretPath);
if (!parentFolder) return [];
if (recursive) {
const recursiveFolders = await folderDAL.findByEnvsDeep({ parentIds: [parentFolder.id] });
// remove the parent folder
return recursiveFolders
.filter((folder) => folder.id !== parentFolder.id)
.map((folder) => ({
...folder,
relativePath: folder.path
}));
}
const folders = await folderDAL.find(
{
envId: env.id,
@@ -45,6 +45,7 @@ export type TGetFolderDTO = {
orderDirection?: OrderByDirection;
limit?: number;
offset?: number;
recursive?: boolean;
} & TProjectPermission;
export type TGetFolderByIdDTO = {