Fixed path return

This commit is contained in:
x032205
2025-08-11 17:56:42 -07:00
parent 6f05a6d82c
commit 272336092d
3 changed files with 36 additions and 6 deletions
+1 -2
View File
@@ -17,8 +17,7 @@ export const SecretFoldersSchema = z.object({
parentId: z.string().uuid().nullable().optional(), parentId: z.string().uuid().nullable().optional(),
isReserved: z.boolean().default(false).nullable().optional(), isReserved: z.boolean().default(false).nullable().optional(),
description: z.string().nullable().optional(), description: z.string().nullable().optional(),
lastSecretModified: z.date().nullable().optional(), lastSecretModified: z.date().nullable().optional()
path: z.string()
}); });
export type TSecretFolders = z.infer<typeof SecretFoldersSchema>; export type TSecretFolders = z.infer<typeof SecretFoldersSchema>;
@@ -58,7 +58,9 @@ export const registerSecretFolderRouter = async (server: FastifyZodProvider) =>
}), }),
response: { response: {
200: z.object({ 200: z.object({
folder: SecretFoldersSchema folder: SecretFoldersSchema.extend({
path: z.string()
})
}) })
} }
}, },
@@ -143,7 +145,9 @@ export const registerSecretFolderRouter = async (server: FastifyZodProvider) =>
}), }),
response: { response: {
200: z.object({ 200: z.object({
folder: SecretFoldersSchema folder: SecretFoldersSchema.extend({
path: z.string()
})
}) })
} }
}, },
@@ -238,8 +238,16 @@ export const secretFolderServiceFactory = ({
return doc; return doc;
}); });
const [folderWithFullPath] = await folderDAL.findSecretPathByFolderIds(projectId, [folder.id]);
if (!folderWithFullPath) {
throw new NotFoundError({
message: `Failed to retrieve path for folder with ID '${folder.id}'`
});
}
await snapshotService.performSnapshot(folder.parentId as string); await snapshotService.performSnapshot(folder.parentId as string);
return folder; return { ...folder, path: folderWithFullPath.path };
}; };
const updateManyFolders = async ({ const updateManyFolders = async ({
@@ -496,8 +504,27 @@ export const secretFolderServiceFactory = ({
return doc; return doc;
}); });
const foldersWithFullPaths = await folderDAL.findSecretPathByFolderIds(projectId, [newFolder.id, folder.id]);
const newFolderWithFullPath = foldersWithFullPaths.find((f) => f?.id === newFolder.id);
if (!newFolderWithFullPath) {
throw new NotFoundError({
message: `Failed to retrieve path for folder with ID '${newFolder.id}'`
});
}
const folderWithFullPath = foldersWithFullPaths.find((f) => f?.id === folder.id);
if (!folderWithFullPath) {
throw new NotFoundError({
message: `Failed to retrieve path for folder with ID '${folder.id}'`
});
}
await snapshotService.performSnapshot(newFolder.parentId as string); await snapshotService.performSnapshot(newFolder.parentId as string);
return { folder: newFolder, old: folder }; return {
folder: { ...newFolder, path: newFolderWithFullPath.path },
old: { ...folder, path: folderWithFullPath.path }
};
}; };
const $checkFolderPolicy = async ({ const $checkFolderPolicy = async ({