bring back tags to secret version

This commit is contained in:
Maidul Islam
2023-06-05 23:12:48 -07:00
parent c0fbe82ecb
commit e28d0cbace
3 changed files with 27 additions and 1 deletions

View File

@ -19,7 +19,13 @@ export const getSecretSnapshot = async (req: Request, res: Response) => {
secretSnapshot = await SecretSnapshot.findById(secretSnapshotId)
.lean()
.populate<{ secretVersions: ISecretVersion[] }>("secretVersions")
.populate<{ secretVersions: ISecretVersion[] }>({
path: 'secretVersions',
populate: {
path: 'tags',
model: 'Tag'
}
})
.populate<{ folderVersion: TFolderRootVersionSchema }>("folderVersion");
if (!secretSnapshot) throw new Error("Failed to find secret snapshot");

View File

@ -27,6 +27,7 @@ export interface ISecretVersion {
keyEncoding: "utf8" | "base64";
createdAt: string;
folder?: string;
tags?: string[];
}
const secretVersionSchema = new Schema<ISecretVersion>(
@ -112,6 +113,11 @@ const secretVersionSchema = new Schema<ISecretVersion>(
type: String,
required: true,
},
tags: {
ref: 'Tag',
type: [Schema.Types.ObjectId],
default: []
},
},
{
timestamps: true,

View File

@ -348,6 +348,20 @@ export const backfillSecretFolders = async () => {
}
);
// Back fill because tags were missing in secret versions
await SecretVersion.updateMany(
{
tags: {
$exists: false,
},
},
{
$set: {
tags: [],
},
}
);
let secretSnapshots = await SecretSnapshot.find({
environment: {
$exists: false,