diff --git a/backend/src/ee/services/audit-log/audit-log-dal.ts b/backend/src/ee/services/audit-log/audit-log-dal.ts index 0bb9d362b..bcb76e6a5 100644 --- a/backend/src/ee/services/audit-log/audit-log-dal.ts +++ b/backend/src/ee/services/audit-log/audit-log-dal.ts @@ -5,6 +5,7 @@ import { TableName } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify, stripUndefinedInWhere } from "@app/lib/knex"; import { logger } from "@app/lib/logger"; +import { QueueName } from "@app/queue"; export type TAuditLogDALFactory = ReturnType; @@ -64,6 +65,7 @@ export const auditLogDALFactory = (db: TDbClient) => { let numberOfRetryOnFailure = 0; let isRetrying = false; + logger.info(`${QueueName.DailyResourceCleanUp}: audit log started`); do { try { const findExpiredLogSubQuery = (tx || db)(TableName.AuditLog) @@ -87,6 +89,7 @@ export const auditLogDALFactory = (db: TDbClient) => { } isRetrying = numberOfRetryOnFailure > 0; } while (deletedAuditLogIds.length > 0 || (isRetrying && numberOfRetryOnFailure < MAX_RETRY_ON_FAILURE)); + logger.info(`${QueueName.DailyResourceCleanUp}: audit log completed`); }; return { ...auditLogOrm, pruneAuditLog, find }; diff --git a/backend/src/ee/services/secret-snapshot/snapshot-dal.ts b/backend/src/ee/services/secret-snapshot/snapshot-dal.ts index e4d341c1a..8a9eeab8c 100644 --- a/backend/src/ee/services/secret-snapshot/snapshot-dal.ts +++ b/backend/src/ee/services/secret-snapshot/snapshot-dal.ts @@ -16,6 +16,7 @@ import { import { DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols, sqlNestRelationships } from "@app/lib/knex"; import { logger } from "@app/lib/logger"; +import { QueueName } from "@app/queue"; export type TSnapshotDALFactory = ReturnType; @@ -599,6 +600,7 @@ export const snapshotDALFactory = (db: TDbClient) => { const pruneExcessSnapshots = async () => { const PRUNE_FOLDER_BATCH_SIZE = 10000; + logger.info(`${QueueName.DailyResourceCleanUp}: pruning secret snapshots started`); try { let uuidOffset = "00000000-0000-0000-0000-000000000000"; // cleanup snapshots from current folders @@ -714,6 +716,7 @@ export const snapshotDALFactory = (db: TDbClient) => { } catch (error) { throw new DatabaseError({ error, name: "SnapshotPrune" }); } + logger.info(`${QueueName.DailyResourceCleanUp}: pruning secret snapshots completed`); }; // special query for migration for secret v2 diff --git a/backend/src/services/identity-access-token/identity-access-token-dal.ts b/backend/src/services/identity-access-token/identity-access-token-dal.ts index 931c65550..01a78fa81 100644 --- a/backend/src/services/identity-access-token/identity-access-token-dal.ts +++ b/backend/src/services/identity-access-token/identity-access-token-dal.ts @@ -4,6 +4,8 @@ import { TDbClient } from "@app/db"; import { IdentityAuthMethod, TableName, TIdentityAccessTokens } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols } from "@app/lib/knex"; +import { logger } from "@app/lib/logger"; +import { QueueName } from "@app/queue"; export type TIdentityAccessTokenDALFactory = ReturnType; @@ -95,6 +97,7 @@ export const identityAccessTokenDALFactory = (db: TDbClient) => { }; const removeExpiredTokens = async (tx?: Knex) => { + logger.info(`${QueueName.DailyResourceCleanUp}: remove expired access token started`); try { const docs = (tx || db)(TableName.IdentityAccessToken) .where({ @@ -131,7 +134,8 @@ export const identityAccessTokenDALFactory = (db: TDbClient) => { }); }) .delete(); - return await docs; + await docs; + logger.info(`${QueueName.DailyResourceCleanUp}: remove expired access token completed`); } catch (error) { throw new DatabaseError({ error, name: "IdentityAccessTokenPrune" }); } diff --git a/backend/src/services/identity-ua/identity-ua-client-secret-dal.ts b/backend/src/services/identity-ua/identity-ua-client-secret-dal.ts index 8e5d66dc9..2d008727d 100644 --- a/backend/src/services/identity-ua/identity-ua-client-secret-dal.ts +++ b/backend/src/services/identity-ua/identity-ua-client-secret-dal.ts @@ -5,6 +5,7 @@ import { TableName } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify } from "@app/lib/knex"; import { logger } from "@app/lib/logger"; +import { QueueName } from "@app/queue"; export type TIdentityUaClientSecretDALFactory = ReturnType; @@ -32,6 +33,7 @@ export const identityUaClientSecretDALFactory = (db: TDbClient) => { let numberOfRetryOnFailure = 0; let isRetrying = false; + logger.info(`${QueueName.DailyResourceCleanUp}: remove expired univesal auth client secret started`); do { try { const findExpiredClientSecretQuery = (tx || db)(TableName.IdentityUaClientSecret) @@ -74,6 +76,7 @@ export const identityUaClientSecretDALFactory = (db: TDbClient) => { } isRetrying = numberOfRetryOnFailure > 0; } while (deletedClientSecret.length > 0 || (isRetrying && numberOfRetryOnFailure < MAX_RETRY_ON_FAILURE)); + logger.info(`${QueueName.DailyResourceCleanUp}: remove expired univesal auth client secret completed`); }; return { ...uaClientSecretOrm, incrementUsage, removeExpiredClientSecrets }; diff --git a/backend/src/services/resource-cleanup/resource-cleanup-queue.ts b/backend/src/services/resource-cleanup/resource-cleanup-queue.ts index b11731bb9..dab70806f 100644 --- a/backend/src/services/resource-cleanup/resource-cleanup-queue.ts +++ b/backend/src/services/resource-cleanup/resource-cleanup-queue.ts @@ -37,21 +37,13 @@ export const dailyResourceCleanUpQueueServiceFactory = ({ }: TDailyResourceCleanUpQueueServiceFactoryDep) => { queueService.start(QueueName.DailyResourceCleanUp, async () => { logger.info(`${QueueName.DailyResourceCleanUp}: queue task started`); - logger.info(`${QueueName.DailyResourceCleanUp}: audit log`); await auditLogDAL.pruneAuditLog(); - logger.info(`${QueueName.DailyResourceCleanUp}: remove expired access token`); await identityAccessTokenDAL.removeExpiredTokens(); - logger.info(`${QueueName.DailyResourceCleanUp}: remove expired univesal auth client secret`); await identityUniversalAuthClientSecretDAL.removeExpiredClientSecrets(); - logger.info(`${QueueName.DailyResourceCleanUp}: pruning expired shared secret`); await secretSharingDAL.pruneExpiredSharedSecrets(); - logger.info(`${QueueName.DailyResourceCleanUp}: pruning secret snapshots`); await snapshotDAL.pruneExcessSnapshots(); - logger.info(`${QueueName.DailyResourceCleanUp}: pruning secret version v1`); await secretVersionDAL.pruneExcessVersions(); - logger.info(`${QueueName.DailyResourceCleanUp}: pruning secret version v2`); await secretVersionV2DAL.pruneExcessVersions(); - logger.info(`${QueueName.DailyResourceCleanUp}: pruning secret folder versions`); await secretFolderVersionDAL.pruneExcessVersions(); logger.info(`${QueueName.DailyResourceCleanUp}: queue task completed`); }); diff --git a/backend/src/services/secret-folder/secret-folder-version-dal.ts b/backend/src/services/secret-folder/secret-folder-version-dal.ts index ba0c21f20..78186333d 100644 --- a/backend/src/services/secret-folder/secret-folder-version-dal.ts +++ b/backend/src/services/secret-folder/secret-folder-version-dal.ts @@ -4,6 +4,8 @@ import { TDbClient } from "@app/db"; import { TableName, TSecretFolderVersions } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols } from "@app/lib/knex"; +import { logger } from "@app/lib/logger"; +import { QueueName } from "@app/queue"; export type TSecretFolderVersionDALFactory = ReturnType; @@ -65,6 +67,7 @@ export const secretFolderVersionDALFactory = (db: TDbClient) => { }; const pruneExcessVersions = async () => { + logger.info(`${QueueName.DailyResourceCleanUp}: pruning secret folder versions started`); try { await db(TableName.SecretFolderVersion) .with("folder_cte", (qb) => { @@ -89,6 +92,7 @@ export const secretFolderVersionDALFactory = (db: TDbClient) => { name: "Secret Folder Version Prune" }); } + logger.info(`${QueueName.DailyResourceCleanUp}: pruning secret folder versions completed`); }; return { ...secretFolderVerOrm, findLatestFolderVersions, findLatestVersionByFolderId, pruneExcessVersions }; diff --git a/backend/src/services/secret-sharing/secret-sharing-dal.ts b/backend/src/services/secret-sharing/secret-sharing-dal.ts index d1b4edd4b..5c690b266 100644 --- a/backend/src/services/secret-sharing/secret-sharing-dal.ts +++ b/backend/src/services/secret-sharing/secret-sharing-dal.ts @@ -4,6 +4,8 @@ import { TDbClient } from "@app/db"; import { TableName, TSecretSharing } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols } from "@app/lib/knex"; +import { logger } from "@app/lib/logger"; +import { QueueName } from "@app/queue"; export type TSecretSharingDALFactory = ReturnType; @@ -30,6 +32,7 @@ export const secretSharingDALFactory = (db: TDbClient) => { }; const pruneExpiredSharedSecrets = async (tx?: Knex) => { + logger.info(`${QueueName.DailyResourceCleanUp}: pruning expired shared secret started`); try { const today = new Date(); const docs = await (tx || db)(TableName.SecretSharing) @@ -40,6 +43,7 @@ export const secretSharingDALFactory = (db: TDbClient) => { tag: "", iv: "" }); + logger.info(`${QueueName.DailyResourceCleanUp}: pruning expired shared secret completed`); return docs; } catch (error) { throw new DatabaseError({ error, name: "pruneExpiredSharedSecrets" }); diff --git a/backend/src/services/secret-v2-bridge/secret-version-dal.ts b/backend/src/services/secret-v2-bridge/secret-version-dal.ts index e4922a57d..a0bce5371 100644 --- a/backend/src/services/secret-v2-bridge/secret-version-dal.ts +++ b/backend/src/services/secret-v2-bridge/secret-version-dal.ts @@ -4,6 +4,8 @@ import { TDbClient } from "@app/db"; import { TableName, TSecretVersionsV2, TSecretVersionsV2Update } from "@app/db/schemas"; import { BadRequestError, DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols } from "@app/lib/knex"; +import { logger } from "@app/lib/logger"; +import { QueueName } from "@app/queue"; export type TSecretVersionV2DALFactory = ReturnType; @@ -87,6 +89,7 @@ export const secretVersionV2BridgeDALFactory = (db: TDbClient) => { }; const pruneExcessVersions = async () => { + logger.info(`${QueueName.DailyResourceCleanUp}: pruning secret version v2 started`); try { await db(TableName.SecretVersionV2) .with("version_cte", (qb) => { @@ -112,6 +115,7 @@ export const secretVersionV2BridgeDALFactory = (db: TDbClient) => { name: "Secret Version Prune" }); } + logger.info(`${QueueName.DailyResourceCleanUp}: pruning secret version v2 completed`); }; return { diff --git a/backend/src/services/secret/secret-version-dal.ts b/backend/src/services/secret/secret-version-dal.ts index 39a5089b2..cb04211d5 100644 --- a/backend/src/services/secret/secret-version-dal.ts +++ b/backend/src/services/secret/secret-version-dal.ts @@ -4,6 +4,8 @@ import { TDbClient } from "@app/db"; import { TableName, TSecretVersions, TSecretVersionsUpdate } from "@app/db/schemas"; import { BadRequestError, DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols } from "@app/lib/knex"; +import { logger } from "@app/lib/logger"; +import { QueueName } from "@app/queue"; export type TSecretVersionDALFactory = ReturnType; @@ -112,6 +114,7 @@ export const secretVersionDALFactory = (db: TDbClient) => { }; const pruneExcessVersions = async () => { + logger.info(`${QueueName.DailyResourceCleanUp}: pruning secret version v1 started`); try { await db(TableName.SecretVersion) .with("version_cte", (qb) => { @@ -137,6 +140,7 @@ export const secretVersionDALFactory = (db: TDbClient) => { name: "Secret Version Prune" }); } + logger.info(`${QueueName.DailyResourceCleanUp}: pruning secret version v1 completed`); }; return {