fix(folders): fixed algorithm missing in rollback versions and resolved env change reset folderid

This commit is contained in:
akhilmhdh
2023-06-04 13:18:05 +05:30
parent 467e85b717
commit 6ce0f48b2c
5 changed files with 35 additions and 18 deletions
@@ -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(
+2
View File
@@ -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,