mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-13 06:29:25 +00:00
fix(folders): fixed algorithm missing in rollback versions and resolved env change reset folderid
This commit is contained in:
@@ -116,7 +116,7 @@ export const updateFolderById = async (req: Request, res: Response) => {
|
||||
await EESecretService.takeSecretSnapshot({
|
||||
workspaceId,
|
||||
environment,
|
||||
folderId: parentFolder.name === "root" ? undefined : parentFolder.id,
|
||||
folderId: parentFolder.id,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -649,7 +649,7 @@ export const getSecrets = async (req: Request, res: Response) => {
|
||||
|
||||
const folders = await Folder.findOne({ workspace: workspaceId, environment });
|
||||
if (
|
||||
(!folders && folderId !== "root" && folderId) ||
|
||||
(!folders && folderId && folderId !== "root") ||
|
||||
(!folders && secretPath)
|
||||
) {
|
||||
throw BadRequestError({ message: "Folder not found" });
|
||||
|
||||
@@ -300,6 +300,8 @@ export const rollbackWorkspaceSecretSnapshot = async (
|
||||
secretValueTag,
|
||||
secretValueHash,
|
||||
createdAt,
|
||||
algorithm,
|
||||
keyEncoding,
|
||||
folder: secFolderId,
|
||||
} = oldSecretVersionsObj[secretId.toString()];
|
||||
|
||||
@@ -323,6 +325,8 @@ export const rollbackWorkspaceSecretSnapshot = async (
|
||||
secretCommentIV: "",
|
||||
secretCommentTag: "",
|
||||
createdAt,
|
||||
algorithm,
|
||||
keyEncoding,
|
||||
folder: secFolderId,
|
||||
};
|
||||
})
|
||||
@@ -347,6 +351,8 @@ export const rollbackWorkspaceSecretSnapshot = async (
|
||||
secretValueIV,
|
||||
secretValueTag,
|
||||
secretValueHash,
|
||||
algorithm,
|
||||
keyEncoding,
|
||||
folder: secFolderId,
|
||||
}) => ({
|
||||
_id: new Types.ObjectId(),
|
||||
@@ -366,22 +372,27 @@ export const rollbackWorkspaceSecretSnapshot = async (
|
||||
secretValueIV,
|
||||
secretValueTag,
|
||||
secretValueHash,
|
||||
algorithm,
|
||||
keyEncoding,
|
||||
folder: secFolderId,
|
||||
})
|
||||
)
|
||||
);
|
||||
|
||||
const newFolder = new Folder(folders);
|
||||
newFolder._id = new Types.ObjectId();
|
||||
newFolder.isNew = true;
|
||||
await newFolder.save();
|
||||
// create new folder version
|
||||
const newFolderVersion = new FolderVersion({
|
||||
workspace: workspaceId,
|
||||
environment,
|
||||
nodes: newFolder.nodes,
|
||||
});
|
||||
await newFolderVersion.save();
|
||||
if (folders) {
|
||||
const newFolder = new Folder(folders);
|
||||
newFolder._id = new Types.ObjectId();
|
||||
newFolder.isNew = true;
|
||||
// when there is no
|
||||
await newFolder.save();
|
||||
// create new folder version
|
||||
const newFolderVersion = new FolderVersion({
|
||||
workspace: workspaceId,
|
||||
environment,
|
||||
nodes: newFolder.nodes,
|
||||
});
|
||||
await newFolderVersion.save();
|
||||
}
|
||||
|
||||
// update secret versions of restored secrets as not deleted
|
||||
await SecretVersion.updateMany(
|
||||
|
||||
@@ -99,11 +99,13 @@ const secretVersionSchema = new Schema<ISecretVersion>(
|
||||
type: String,
|
||||
enum: [ALGORITHM_AES_256_GCM],
|
||||
required: true,
|
||||
default: ALGORITHM_AES_256_GCM,
|
||||
},
|
||||
keyEncoding: {
|
||||
type: String,
|
||||
enum: [ENCODING_SCHEME_UTF8, ENCODING_SCHEME_BASE64],
|
||||
required: true,
|
||||
default: ENCODING_SCHEME_UTF8,
|
||||
},
|
||||
folder: {
|
||||
type: String,
|
||||
|
||||
Reference in New Issue
Block a user