From c25d42cd7799559ebfc803ec6ec208c3290304d8 Mon Sep 17 00:00:00 2001 From: Sheen Capadngan Date: Fri, 19 Sep 2025 21:22:33 +0800 Subject: [PATCH] misc: add secret tags to audit logs --- .../src/ee/services/audit-log/audit-log-types.ts | 4 ++++ backend/src/ee/services/pit/pit-service.ts | 6 ++++-- .../secret-approval-request-service.ts | 16 ++++++++++++---- .../server/routes/v3/deprecated-secret-router.ts | 16 ++++++++++------ backend/src/server/routes/v4/secret-router.ts | 12 ++++++++---- 5 files changed, 38 insertions(+), 16 deletions(-) diff --git a/backend/src/ee/services/audit-log/audit-log-types.ts b/backend/src/ee/services/audit-log/audit-log-types.ts index 36c936cb0..e3ba9b72f 100644 --- a/backend/src/ee/services/audit-log/audit-log-types.ts +++ b/backend/src/ee/services/audit-log/audit-log-types.ts @@ -603,6 +603,7 @@ interface CreateSecretEvent { secretKey: string; secretVersion: number; secretMetadata?: TSecretMetadata; + secretTags?: string[]; }; } @@ -617,6 +618,7 @@ interface CreateSecretBatchEvent { secretPath?: string; secretVersion: number; secretMetadata?: TSecretMetadata; + secretTags?: string[]; }>; }; } @@ -630,6 +632,7 @@ interface UpdateSecretEvent { secretKey: string; secretVersion: number; secretMetadata?: TSecretMetadata; + secretTags?: string[]; }; } @@ -644,6 +647,7 @@ interface UpdateSecretBatchEvent { secretVersion: number; secretMetadata?: TSecretMetadata; secretPath?: string; + secretTags?: string[]; }>; }; } diff --git a/backend/src/ee/services/pit/pit-service.ts b/backend/src/ee/services/pit/pit-service.ts index ef7f9b5a3..d561064a6 100644 --- a/backend/src/ee/services/pit/pit-service.ts +++ b/backend/src/ee/services/pit/pit-service.ts @@ -754,7 +754,8 @@ export const pitServiceFactory = ({ secrets: newSecrets.map((secret) => ({ secretId: secret.id, secretKey: secret.secretKey, - secretVersion: secret.version + secretVersion: secret.version, + secretTags: secret.tags?.map((tag) => tag.name) })) } }); @@ -781,7 +782,8 @@ export const pitServiceFactory = ({ secrets: updatedSecrets.map((secret) => ({ secretId: secret.id, secretKey: secret.secretKey, - secretVersion: secret.version + secretVersion: secret.version, + secretTags: secret.tags?.map((tag) => tag.name) })) } }); diff --git a/backend/src/ee/services/secret-approval-request/secret-approval-request-service.ts b/backend/src/ee/services/secret-approval-request/secret-approval-request-service.ts index b19143b76..80fbf546f 100644 --- a/backend/src/ee/services/secret-approval-request/secret-approval-request-service.ts +++ b/backend/src/ee/services/secret-approval-request/secret-approval-request-service.ts @@ -1084,7 +1084,9 @@ export const secretApprovalRequestServiceFactory = ({ // @ts-expect-error not present on v1 secrets secretKey: secret.key as string, // @ts-expect-error not present on v1 secrets - secretMetadata: secret.secretMetadata as ResourceMetadataDTO + secretMetadata: secret.secretMetadata as ResourceMetadataDTO, + // @ts-expect-error not present on v1 secrets + secretTags: (secret.tags as { name: string }[])?.map((tag) => tag.name) })) } }); @@ -1100,7 +1102,9 @@ export const secretApprovalRequestServiceFactory = ({ // @ts-expect-error not present on v1 secrets secretKey: secret.key as string, // @ts-expect-error not present on v1 secrets - secretMetadata: secret.secretMetadata as ResourceMetadataDTO + secretMetadata: secret.secretMetadata as ResourceMetadataDTO, + // @ts-expect-error not present on v1 secrets + secretTags: (secret.tags as { name: string }[])?.map((tag) => tag.name) } }); } @@ -1119,7 +1123,9 @@ export const secretApprovalRequestServiceFactory = ({ // @ts-expect-error not present on v1 secrets secretKey: secret.key as string, // @ts-expect-error not present on v1 secrets - secretMetadata: secret.secretMetadata as ResourceMetadataDTO + secretMetadata: secret.secretMetadata as ResourceMetadataDTO, + // @ts-expect-error not present on v1 secrets + secretTags: (secret.tags as { name: string }[])?.map((tag) => tag.name) })) } }); @@ -1135,7 +1141,9 @@ export const secretApprovalRequestServiceFactory = ({ // @ts-expect-error not present on v1 secrets secretKey: secret.key as string, // @ts-expect-error not present on v1 secrets - secretMetadata: secret.secretMetadata as ResourceMetadataDTO + secretMetadata: secret.secretMetadata as ResourceMetadataDTO, + // @ts-expect-error not present on v1 secrets + secretTags: (secret.tags as { name: string }[])?.map((tag) => tag.name) } }); } diff --git a/backend/src/server/routes/v3/deprecated-secret-router.ts b/backend/src/server/routes/v3/deprecated-secret-router.ts index c037a3dee..2a0d425d6 100644 --- a/backend/src/server/routes/v3/deprecated-secret-router.ts +++ b/backend/src/server/routes/v3/deprecated-secret-router.ts @@ -627,7 +627,8 @@ export const registerDeprecatedSecretRouter = async (server: FastifyZodProvider) secretId: secret.id, secretKey: req.params.secretName, secretVersion: secret.version, - secretMetadata: req.body.secretMetadata + secretMetadata: req.body.secretMetadata, + secretTags: secret.tags?.map((tag) => tag.name) } } }); @@ -780,7 +781,8 @@ export const registerDeprecatedSecretRouter = async (server: FastifyZodProvider) secretId: secret.id, secretKey: req.params.secretName, secretVersion: secret.version, - secretMetadata: req.body.secretMetadata + secretMetadata: req.body.secretMetadata, + secretTags: secret.tags?.map((tag) => tag.name) } } }); @@ -2154,7 +2156,8 @@ export const registerDeprecatedSecretRouter = async (server: FastifyZodProvider) secretId: secret.id, secretKey: secret.secretKey, secretVersion: secret.version, - secretMetadata: secretMetadataMap.get(secret.secretKey) + secretMetadata: secretMetadataMap.get(secret.secretKey), + secretTags: secret.tags?.map((tag) => tag.name) })) } } @@ -2288,7 +2291,6 @@ export const registerDeprecatedSecretRouter = async (server: FastifyZodProvider) return { approval: secretOperation.approval }; } const { secrets } = secretOperation; - const secretMetadataMap = new Map( inputSecrets.map(({ secretKey, secretMetadata }) => [secretKey, secretMetadata]) ); @@ -2308,7 +2310,8 @@ export const registerDeprecatedSecretRouter = async (server: FastifyZodProvider) secretPath: secret.secretPath, secretKey: secret.secretKey, secretVersion: secret.version, - secretMetadata: secretMetadataMap.get(secret.secretKey) + secretMetadata: secretMetadataMap.get(secret.secretKey), + secretTags: secret.tags?.map((tag) => tag.name) })) } } @@ -2328,7 +2331,8 @@ export const registerDeprecatedSecretRouter = async (server: FastifyZodProvider) secretPath: secret.secretPath, secretKey: secret.secretKey, secretVersion: secret.version, - secretMetadata: secretMetadataMap.get(secret.secretKey) + secretMetadata: secretMetadataMap.get(secret.secretKey), + secretTags: secret.tags?.map((tag) => tag.name) })) } } diff --git a/backend/src/server/routes/v4/secret-router.ts b/backend/src/server/routes/v4/secret-router.ts index e9cff7949..e68bb87a4 100644 --- a/backend/src/server/routes/v4/secret-router.ts +++ b/backend/src/server/routes/v4/secret-router.ts @@ -478,7 +478,8 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { secretId: secret.id, secretKey: req.params.secretName, secretVersion: secret.version, - secretMetadata: req.body.secretMetadata + secretMetadata: req.body.secretMetadata, + secretTags: secret.tags?.map((tag) => tag.name) } } }); @@ -621,7 +622,8 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { secretId: secret.id, secretKey: req.params.secretName, secretVersion: secret.version, - secretMetadata: req.body.secretMetadata + secretMetadata: req.body.secretMetadata, + secretTags: secret.tags?.map((tag) => tag.name) } } }); @@ -911,7 +913,8 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { secretId: secret.id, secretKey: secret.secretKey, secretVersion: secret.version, - secretMetadata: secretMetadataMap.get(secret.secretKey) + secretMetadata: secretMetadataMap.get(secret.secretKey), + secretTags: secret.tags?.map((tag) => tag.name) })) } } @@ -1063,7 +1066,8 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { secretPath: secret.secretPath, secretKey: secret.secretKey, secretVersion: secret.version, - secretMetadata: secretMetadataMap.get(secret.secretKey) + secretMetadata: secretMetadataMap.get(secret.secretKey), + secretTags: secret.tags?.map((tag) => tag.name) })) } }