From 37e7040eea304851d8170bbeb6be616653fc832f Mon Sep 17 00:00:00 2001 From: Daniel Hougaard Date: Fri, 4 Oct 2024 03:59:28 +0400 Subject: [PATCH] feat: include path and environment on secret folder --- .../src/server/routes/v1/secret-folder-router.ts | 10 +++++++++- .../services/secret-folder/secret-folder-service.ts | 13 +++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/backend/src/server/routes/v1/secret-folder-router.ts b/backend/src/server/routes/v1/secret-folder-router.ts index f67f9ec67..21fc1bd27 100644 --- a/backend/src/server/routes/v1/secret-folder-router.ts +++ b/backend/src/server/routes/v1/secret-folder-router.ts @@ -365,7 +365,15 @@ export const registerSecretFolderRouter = async (server: FastifyZodProvider) => }), response: { 200: z.object({ - folder: SecretFoldersSchema + folder: SecretFoldersSchema.extend({ + environment: z.object({ + envId: z.string(), + envName: z.string(), + envSlug: z.string() + }), + path: z.string(), + projectId: z.string() + }) }) } }, diff --git a/backend/src/services/secret-folder/secret-folder-service.ts b/backend/src/services/secret-folder/secret-folder-service.ts index 7062a0c4f..b16d90b6b 100644 --- a/backend/src/services/secret-folder/secret-folder-service.ts +++ b/backend/src/services/secret-folder/secret-folder-service.ts @@ -502,12 +502,21 @@ export const secretFolderServiceFactory = ({ const getFolderById = async ({ actor, actorId, actorOrgId, actorAuthMethod, id }: TGetFolderByIdDTO) => { const folder = await folderDAL.findById(id); - if (!folder) throw new NotFoundError({ message: "folder not found" }); + if (!folder) throw new NotFoundError({ message: "Folder not found" }); // folder list is allowed to be read by anyone // permission to check does user has access await permissionService.getProjectPermission(actor, actorId, folder.projectId, actorAuthMethod, actorOrgId); - return folder; + const [folderWithPath] = await folderDAL.findSecretPathByFolderIds(folder.projectId, [folder.id]); + + if (!folderWithPath) { + throw new NotFoundError({ message: "Folder path not found" }); + } + + return { + ...folder, + path: folderWithPath.path + }; }; return {