misc: implemented secret approval request and project audit logs

This commit is contained in:
Sheen Capadngan
2024-09-04 01:48:08 +08:00
parent 604b0467f9
commit 8c03c160a9
11 changed files with 106 additions and 54 deletions
@@ -2,8 +2,8 @@ import { TSecretApprovalRequests } from "@app/db/schemas";
import { getConfig } from "@app/lib/config/env";
import { TKmsServiceFactory } from "@app/services/kms/kms-service";
import { TProjectDALFactory } from "@app/services/project/project-dal";
import { TProjectSlackConfigDALFactory } from "@app/services/slack/project-slack-config-dal";
import { triggerSlackNotification } from "@app/services/slack/slack-fns";
import { TSlackIntegrationDALFactory } from "@app/services/slack/slack-integration-dal";
import { SlackTriggerFeature } from "@app/services/slack/slack-types";
import { SmtpTemplates, TSmtpService } from "@app/services/smtp/smtp-service";
import { TUserDALFactory } from "@app/services/user/user-dal";
@@ -23,9 +23,9 @@ type TTriggerSecretApprovalSlackNotif = {
projectId: string;
projectDAL: Pick<TProjectDALFactory, "findById" | "findProjectWithOrg">;
kmsService: Pick<TKmsServiceFactory, "createCipherPairWithDataKey">;
projectSlackConfigDAL: Pick<TProjectSlackConfigDALFactory, "getIntegrationDetailsByProject">;
secretApprovalRequest: TSecretApprovalRequests;
secretPath: string;
slackIntegrationDAL: Pick<TSlackIntegrationDALFactory, "findOne">;
userDAL: Pick<TUserDALFactory, "findById">;
};
@@ -34,7 +34,7 @@ export const triggerSecretApprovalSlackNotif = async ({
projectDAL,
kmsService,
secretApprovalRequest,
slackIntegrationDAL,
projectSlackConfigDAL,
userDAL,
environment,
secretPath
@@ -74,8 +74,8 @@ export const triggerSecretApprovalSlackNotif = async ({
projectId,
projectDAL,
kmsService,
slackIntegrationDAL,
payloadMessage: messageBody,
projectSlackConfigDAL,
payloadBlocks,
feature: SlackTriggerFeature.SECRET_APPROVAL
});
@@ -47,7 +47,7 @@ import {
} from "@app/services/secret-v2-bridge/secret-v2-bridge-fns";
import { TSecretVersionV2DALFactory } from "@app/services/secret-v2-bridge/secret-version-dal";
import { TSecretVersionV2TagDALFactory } from "@app/services/secret-v2-bridge/secret-version-tag-dal";
import { TSlackIntegrationDALFactory } from "@app/services/slack/slack-integration-dal";
import { TProjectSlackConfigDALFactory } from "@app/services/slack/project-slack-config-dal";
import { SmtpTemplates, TSmtpService } from "@app/services/smtp/smtp-service";
import { TUserDALFactory } from "@app/services/user/user-dal";
@@ -105,7 +105,7 @@ type TSecretApprovalRequestServiceFactoryDep = {
secretVersionV2BridgeDAL: Pick<TSecretVersionV2DALFactory, "insertMany" | "findLatestVersionMany">;
secretVersionTagV2BridgeDAL: Pick<TSecretVersionV2TagDALFactory, "insertMany">;
secretApprovalPolicyDAL: Pick<TSecretApprovalPolicyDALFactory, "findById">;
slackIntegrationDAL: Pick<TSlackIntegrationDALFactory, "findOne">;
projectSlackConfigDAL: Pick<TProjectSlackConfigDALFactory, "getIntegrationDetailsByProject">;
licenseService: Pick<TLicenseServiceFactory, "getPlan">;
};
@@ -134,8 +134,8 @@ export const secretApprovalRequestServiceFactory = ({
secretV2BridgeDAL,
secretVersionV2BridgeDAL,
secretVersionTagV2BridgeDAL,
slackIntegrationDAL,
licenseService
licenseService,
projectSlackConfigDAL
}: TSecretApprovalRequestServiceFactoryDep) => {
const requestCount = async ({ projectId, actor, actorId, actorOrgId, actorAuthMethod }: TApprovalRequestCountDTO) => {
if (actor === ActorType.SERVICE) throw new BadRequestError({ message: "Cannot use service token" });
@@ -1080,8 +1080,8 @@ export const secretApprovalRequestServiceFactory = ({
projectDAL,
kmsService,
secretApprovalRequest,
slackIntegrationDAL,
userDAL
userDAL,
projectSlackConfigDAL
});
await sendApprovalEmailsFn({
@@ -1354,8 +1354,8 @@ export const secretApprovalRequestServiceFactory = ({
projectDAL,
kmsService,
secretApprovalRequest,
slackIntegrationDAL,
userDAL
userDAL,
projectSlackConfigDAL
});
await sendApprovalEmailsFn({