From 802a9cf83cfb0e55a2481799aba051a1175b982b Mon Sep 17 00:00:00 2001 From: Sheen Capadngan Date: Thu, 5 Sep 2024 01:42:33 +0800 Subject: [PATCH] misc: formatting changes --- .../access-approval-policy-fns.ts | 71 ------------------- .../access-approval-request-fns.ts | 69 ++++++++++++++++++ .../access-approval-request-service.ts | 4 +- .../secret-approval-request-fns.ts | 6 +- 4 files changed, 74 insertions(+), 76 deletions(-) diff --git a/backend/src/ee/services/access-approval-policy/access-approval-policy-fns.ts b/backend/src/ee/services/access-approval-policy/access-approval-policy-fns.ts index c47dbd238..7b0a2681f 100644 --- a/backend/src/ee/services/access-approval-policy/access-approval-policy-fns.ts +++ b/backend/src/ee/services/access-approval-policy/access-approval-policy-fns.ts @@ -2,11 +2,6 @@ import { ForbiddenError, subject } from "@casl/ability"; import { BadRequestError } from "@app/lib/errors"; import { ActorType } from "@app/services/auth/auth-type"; -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 { SlackTriggerFeature } from "@app/services/slack/slack-types"; import { ProjectPermissionActions, ProjectPermissionSub } from "../permission/project-permission"; import { TVerifyApprovers } from "./access-approval-policy-types"; @@ -39,69 +34,3 @@ export const verifyApprovers = async ({ } } }; - -type TTriggerAccessRequestSlackNotif = { - projectId: string; - projectName: string; - requesterFullName: string; - isTemporary: boolean; - requesterEmail: string; - secretPath: string; - environment: string; - permissions: string[]; - approvalUrl: string; - projectDAL: Pick; - kmsService: Pick; - projectSlackConfigDAL: Pick; -}; - -export const triggerAccessRequestSlackNotif = async ({ - projectId, - projectName, - requesterFullName, - isTemporary, - requesterEmail, - secretPath, - environment, - permissions, - approvalUrl, - projectDAL, - kmsService, - projectSlackConfigDAL -}: TTriggerAccessRequestSlackNotif) => { - const messageBody = `${requesterFullName} (${requesterEmail}) has requested ${ - isTemporary ? "temporary" : "permanent" - } access to ${secretPath} in the ${environment} environment of ${projectName}. - - The following permissions are requested: ${permissions.join(", ")} - - View the request and approve or deny it <${approvalUrl}|here>.`; - - const payloadBlocks = [ - { - type: "header", - text: { - type: "plain_text", - text: "New access approval request pending for review", - emoji: true - } - }, - { - type: "section", - text: { - type: "mrkdwn", - text: messageBody - } - } - ]; - - await triggerSlackNotification({ - projectId, - projectDAL, - kmsService, - payloadMessage: messageBody, - projectSlackConfigDAL, - payloadBlocks, - feature: SlackTriggerFeature.ACCESS_REQUEST - }); -}; diff --git a/backend/src/ee/services/access-approval-request/access-approval-request-fns.ts b/backend/src/ee/services/access-approval-request/access-approval-request-fns.ts index 90b42aaf7..ef9a0b61d 100644 --- a/backend/src/ee/services/access-approval-request/access-approval-request-fns.ts +++ b/backend/src/ee/services/access-approval-request/access-approval-request-fns.ts @@ -1,6 +1,11 @@ import { PackRule, unpackRules } from "@casl/ability/extra"; import { UnauthorizedError } from "@app/lib/errors"; +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 { SlackTriggerFeature } from "@app/services/slack/slack-types"; import { TVerifyPermission } from "./access-approval-request-types"; @@ -51,3 +56,67 @@ export const verifyRequestedPermissions = ({ permissions }: TVerifyPermission) = accessTypes: requestedPermissions.filter(filterUnique) }; }; + +export const triggerAccessRequestSlackNotif = async ({ + projectId, + projectName, + requesterFullName, + isTemporary, + requesterEmail, + secretPath, + environment, + permissions, + approvalUrl, + projectDAL, + kmsService, + projectSlackConfigDAL +}: { + projectId: string; + projectName: string; + requesterFullName: string; + isTemporary: boolean; + requesterEmail: string; + secretPath: string; + environment: string; + permissions: string[]; + approvalUrl: string; + projectDAL: Pick; + kmsService: Pick; + projectSlackConfigDAL: Pick; +}) => { + const messageBody = `${requesterFullName} (${requesterEmail}) has requested ${ + isTemporary ? "temporary" : "permanent" + } access to ${secretPath} in the ${environment} environment of ${projectName}. + +The following permissions are requested: ${permissions.join(", ")} + +View the request and approve or deny it <${approvalUrl}|here>.`; + + const payloadBlocks = [ + { + type: "header", + text: { + type: "plain_text", + text: "New access approval request pending for review", + emoji: true + } + }, + { + type: "section", + text: { + type: "mrkdwn", + text: messageBody + } + } + ]; + + await triggerSlackNotification({ + projectId, + projectDAL, + kmsService, + payloadMessage: messageBody, + projectSlackConfigDAL, + payloadBlocks, + feature: SlackTriggerFeature.ACCESS_REQUEST + }); +}; diff --git a/backend/src/ee/services/access-approval-request/access-approval-request-service.ts b/backend/src/ee/services/access-approval-request/access-approval-request-service.ts index 1e0447d0d..6ba231e83 100644 --- a/backend/src/ee/services/access-approval-request/access-approval-request-service.ts +++ b/backend/src/ee/services/access-approval-request/access-approval-request-service.ts @@ -15,12 +15,12 @@ import { TUserDALFactory } from "@app/services/user/user-dal"; import { TAccessApprovalPolicyApproverDALFactory } from "../access-approval-policy/access-approval-policy-approver-dal"; import { TAccessApprovalPolicyDALFactory } from "../access-approval-policy/access-approval-policy-dal"; -import { triggerAccessRequestSlackNotif, verifyApprovers } from "../access-approval-policy/access-approval-policy-fns"; +import { verifyApprovers } from "../access-approval-policy/access-approval-policy-fns"; import { TPermissionServiceFactory } from "../permission/permission-service"; import { TProjectUserAdditionalPrivilegeDALFactory } from "../project-user-additional-privilege/project-user-additional-privilege-dal"; import { ProjectUserAdditionalPrivilegeTemporaryMode } from "../project-user-additional-privilege/project-user-additional-privilege-types"; import { TAccessApprovalRequestDALFactory } from "./access-approval-request-dal"; -import { verifyRequestedPermissions } from "./access-approval-request-fns"; +import { triggerAccessRequestSlackNotif, verifyRequestedPermissions } from "./access-approval-request-fns"; import { TAccessApprovalRequestReviewerDALFactory } from "./access-approval-request-reviewer-dal"; import { ApprovalStatus, diff --git a/backend/src/ee/services/secret-approval-request/secret-approval-request-fns.ts b/backend/src/ee/services/secret-approval-request/secret-approval-request-fns.ts index 5a0c64b20..5b881db3e 100644 --- a/backend/src/ee/services/secret-approval-request/secret-approval-request-fns.ts +++ b/backend/src/ee/services/secret-approval-request/secret-approval-request-fns.ts @@ -44,10 +44,10 @@ export const triggerSecretApprovalSlackNotif = async ({ const user = await userDAL.findById(secretApprovalRequest.committerUserId); const messageBody = `A secret approval request has been opened by ${user.email}. - *Environment*: ${environment} - *Secret path*: ${secretPath || "/"} +*Environment*: ${environment} +*Secret path*: ${secretPath || "/"} - View the complete details <${appCfg.SITE_URL}/project/${project.id}/approval?requestId=${ +View the complete details <${appCfg.SITE_URL}/project/${project.id}/approval?requestId=${ secretApprovalRequest.id }|here>.`;