Checkpoint add metadata to secret and secret version data structure

This commit is contained in:
Tuan Dang
2023-08-23 16:30:42 +07:00
parent 5b342409e3
commit 8b381b2b80
4 changed files with 27 additions and 5 deletions

View File

@@ -739,6 +739,7 @@ export const createSecrets = async (req: Request, res: Response) => {
* @returns
*/
export const getSecrets = async (req: Request, res: Response) => {
console.log("getSecrets");
/*
#swagger.summary = 'Read secrets'
#swagger.description = 'Read secrets from a project and environment'
@@ -966,8 +967,13 @@ export const getSecrets = async (req: Request, res: Response) => {
);
const postHogClient = await TelemetryService.getPostHogClient();
console.log("the fetched secrets: ", secrets);
console.log("postHogClient: ", postHogClient);
if (postHogClient) {
postHogClient.capture({
console.log("should capture!");
const test = postHogClient.capture({
event: "secrets pulled",
distinctId: await TelemetryService.getDistinctId({
authData: req.authData
@@ -981,6 +987,8 @@ export const getSecrets = async (req: Request, res: Response) => {
userAgent: req.headers?.["user-agent"]
}
});
console.log("test: ", test);
}
return res.status(200).send({

View File

@@ -28,6 +28,9 @@ export interface ISecretVersion {
createdAt: string;
folder?: string;
tags?: string[];
metadata?: {
[key: string]: string;
}
}
const secretVersionSchema = new Schema<ISecretVersion>(
@@ -118,6 +121,9 @@ const secretVersionSchema = new Schema<ISecretVersion>(
type: [Schema.Types.ObjectId],
default: [],
},
metadata: {
type: Schema.Types.Mixed
}
},
{
timestamps: true,

View File

@@ -393,9 +393,10 @@ export const createSecretHelper = async ({
secretCommentTag,
folder: folderId,
algorithm: ALGORITHM_AES_256_GCM,
keyEncoding: ENCODING_SCHEME_UTF8
keyEncoding: ENCODING_SCHEME_UTF8,
metadata
}).save();
const secretVersion = new SecretVersion({
secret: secret._id,
version: secret.version,
@@ -413,9 +414,10 @@ export const createSecretHelper = async ({
secretValueIV,
secretValueTag,
algorithm: ALGORITHM_AES_256_GCM,
keyEncoding: ENCODING_SCHEME_UTF8
keyEncoding: ENCODING_SCHEME_UTF8,
metadata
});
// (EE) add version for new secret
await EESecretService.addSecretVersions({
secretVersions: [secretVersion]

View File

@@ -31,6 +31,9 @@ export interface ISecret {
keyEncoding: "utf8" | "base64";
tags?: string[];
folder?: string;
metadata?: {
[key: string]: string;
}
}
const secretSchema = new Schema<ISecret>(
@@ -131,6 +134,9 @@ const secretSchema = new Schema<ISecret>(
type: String,
default: "root",
},
metadata: {
type: Schema.Types.Mixed
}
},
{
timestamps: true,