mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-06 19:28:16 +00:00
fix: pathing
This commit is contained in:
@@ -77,7 +77,13 @@ type TSecretV2BridgeServiceFactoryDep = {
|
|||||||
projectEnvDAL: Pick<TProjectEnvDALFactory, "findOne" | "findBySlugs">;
|
projectEnvDAL: Pick<TProjectEnvDALFactory, "findOne" | "findBySlugs">;
|
||||||
folderDAL: Pick<
|
folderDAL: Pick<
|
||||||
TSecretFolderDALFactory,
|
TSecretFolderDALFactory,
|
||||||
"findBySecretPath" | "updateById" | "findById" | "findByManySecretPath" | "find" | "findBySecretPathMultiEnv"
|
| "findBySecretPath"
|
||||||
|
| "updateById"
|
||||||
|
| "findById"
|
||||||
|
| "findByManySecretPath"
|
||||||
|
| "find"
|
||||||
|
| "findBySecretPathMultiEnv"
|
||||||
|
| "findSecretPathByFolderIds"
|
||||||
>;
|
>;
|
||||||
secretImportDAL: Pick<TSecretImportDALFactory, "find" | "findByFolderIds">;
|
secretImportDAL: Pick<TSecretImportDALFactory, "find" | "findByFolderIds">;
|
||||||
secretQueueService: Pick<TSecretQueueFactory, "syncSecrets" | "handleSecretReminder" | "removeSecretReminder">;
|
secretQueueService: Pick<TSecretQueueFactory, "syncSecrets" | "handleSecretReminder" | "removeSecretReminder">;
|
||||||
@@ -1959,11 +1965,18 @@ export const secretV2BridgeServiceFactory = ({
|
|||||||
secretId
|
secretId
|
||||||
}: TGetSecretVersionsDTO) => {
|
}: TGetSecretVersionsDTO) => {
|
||||||
const secret = await secretDAL.findById(secretId);
|
const secret = await secretDAL.findById(secretId);
|
||||||
|
|
||||||
if (!secret) throw new NotFoundError({ message: `Secret with ID '${secretId}' not found` });
|
if (!secret) throw new NotFoundError({ message: `Secret with ID '${secretId}' not found` });
|
||||||
|
|
||||||
const folder = await folderDAL.findById(secret.folderId);
|
const folder = await folderDAL.findById(secret.folderId);
|
||||||
if (!folder) throw new NotFoundError({ message: `Folder with ID '${secret.folderId}' not found` });
|
if (!folder) throw new NotFoundError({ message: `Folder with ID '${secret.folderId}' not found` });
|
||||||
|
|
||||||
|
const [folderWithPath] = await folderDAL.findSecretPathByFolderIds(folder.projectId, [folder.id]);
|
||||||
|
|
||||||
|
if (!folderWithPath) {
|
||||||
|
throw new NotFoundError({ message: `Folder with ID '${folder.id}' not found` });
|
||||||
|
}
|
||||||
|
|
||||||
const { permission } = await permissionService.getProjectPermission({
|
const { permission } = await permissionService.getProjectPermission({
|
||||||
actor,
|
actor,
|
||||||
actorId,
|
actorId,
|
||||||
@@ -1988,7 +2001,7 @@ export const secretV2BridgeServiceFactory = ({
|
|||||||
ProjectPermissionSecretActions.ReadValue,
|
ProjectPermissionSecretActions.ReadValue,
|
||||||
subject(ProjectPermissionSub.Secrets, {
|
subject(ProjectPermissionSub.Secrets, {
|
||||||
environment: folder.environment.envSlug,
|
environment: folder.environment.envSlug,
|
||||||
secretPath: "/",
|
secretPath: folderWithPath.path,
|
||||||
secretName: el.key,
|
secretName: el.key,
|
||||||
...(el.tags?.length && {
|
...(el.tags?.length && {
|
||||||
secretTags: el.tags.map((tag) => tag.slug)
|
secretTags: el.tags.map((tag) => tag.slug)
|
||||||
@@ -1998,7 +2011,7 @@ export const secretV2BridgeServiceFactory = ({
|
|||||||
return reshapeBridgeSecret(
|
return reshapeBridgeSecret(
|
||||||
folder.projectId,
|
folder.projectId,
|
||||||
folder.environment.envSlug,
|
folder.environment.envSlug,
|
||||||
"/",
|
folderWithPath.path,
|
||||||
{
|
{
|
||||||
...el,
|
...el,
|
||||||
value: el.encryptedValue ? secretManagerDecryptor({ cipherTextBlob: el.encryptedValue }).toString() : "",
|
value: el.encryptedValue ? secretManagerDecryptor({ cipherTextBlob: el.encryptedValue }).toString() : "",
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ type TSecretServiceFactoryDep = {
|
|||||||
projectEnvDAL: Pick<TProjectEnvDALFactory, "findOne">;
|
projectEnvDAL: Pick<TProjectEnvDALFactory, "findOne">;
|
||||||
folderDAL: Pick<
|
folderDAL: Pick<
|
||||||
TSecretFolderDALFactory,
|
TSecretFolderDALFactory,
|
||||||
"findBySecretPath" | "updateById" | "findById" | "findByManySecretPath" | "find"
|
"findBySecretPath" | "updateById" | "findById" | "findByManySecretPath" | "find" | "findSecretPathByFolderIds"
|
||||||
>;
|
>;
|
||||||
secretV2BridgeService: TSecretV2BridgeServiceFactory;
|
secretV2BridgeService: TSecretV2BridgeServiceFactory;
|
||||||
secretBlindIndexDAL: TSecretBlindIndexDALFactory;
|
secretBlindIndexDAL: TSecretBlindIndexDALFactory;
|
||||||
@@ -2378,6 +2378,12 @@ export const secretServiceFactory = ({
|
|||||||
const folder = await folderDAL.findById(secret.folderId);
|
const folder = await folderDAL.findById(secret.folderId);
|
||||||
if (!folder) throw new NotFoundError({ message: `Folder with ID '${secret.folderId}' not found` });
|
if (!folder) throw new NotFoundError({ message: `Folder with ID '${secret.folderId}' not found` });
|
||||||
|
|
||||||
|
const [folderWithPath] = await folderDAL.findSecretPathByFolderIds(folder.projectId, [folder.id]);
|
||||||
|
|
||||||
|
if (!folderWithPath) {
|
||||||
|
throw new NotFoundError({ message: `Folder with ID '${folder.id}' not found` });
|
||||||
|
}
|
||||||
|
|
||||||
const { botKey } = await projectBotService.getBotKey(folder.projectId);
|
const { botKey } = await projectBotService.getBotKey(folder.projectId);
|
||||||
if (!botKey)
|
if (!botKey)
|
||||||
throw new NotFoundError({ message: `Project bot for project with ID '${folder.projectId}' not found` });
|
throw new NotFoundError({ message: `Project bot for project with ID '${folder.projectId}' not found` });
|
||||||
@@ -2408,7 +2414,7 @@ export const secretServiceFactory = ({
|
|||||||
ProjectPermissionSecretActions.ReadValue,
|
ProjectPermissionSecretActions.ReadValue,
|
||||||
subject(ProjectPermissionSub.Secrets, {
|
subject(ProjectPermissionSub.Secrets, {
|
||||||
environment: folder.environment.envSlug,
|
environment: folder.environment.envSlug,
|
||||||
secretPath: "/",
|
secretPath: folderWithPath.path,
|
||||||
secretName: secretKey,
|
secretName: secretKey,
|
||||||
...(el.tags?.length && {
|
...(el.tags?.length && {
|
||||||
secretTags: el.tags.map((tag) => tag.slug)
|
secretTags: el.tags.map((tag) => tag.slug)
|
||||||
@@ -2422,7 +2428,7 @@ export const secretServiceFactory = ({
|
|||||||
...el,
|
...el,
|
||||||
workspace: folder.projectId,
|
workspace: folder.projectId,
|
||||||
environment: folder.environment.envSlug,
|
environment: folder.environment.envSlug,
|
||||||
secretPath: "/"
|
secretPath: folderWithPath.path
|
||||||
},
|
},
|
||||||
botKey
|
botKey
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user