Fix: Pick

This commit is contained in:
Daniel Hougaard
2024-05-07 17:30:35 +02:00
parent 2c1eecaf85
commit 0c1103e778
@@ -16,7 +16,6 @@ import { TAccessApprovalPolicyDALFactory } from "../access-approval-policy/acces
import { 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 { TPermissionServiceFactory } from "../permission/permission-service";
import { TProjectUserAdditionalPrivilegeDALFactory } from "../project-user-additional-privilege/project-user-additional-privilege-dal"; import { TProjectUserAdditionalPrivilegeDALFactory } from "../project-user-additional-privilege/project-user-additional-privilege-dal";
import { TProjectUserAdditionalPrivilegeServiceFactory } from "../project-user-additional-privilege/project-user-additional-privilege-service";
import { ProjectUserAdditionalPrivilegeTemporaryMode } from "../project-user-additional-privilege/project-user-additional-privilege-types"; import { ProjectUserAdditionalPrivilegeTemporaryMode } from "../project-user-additional-privilege/project-user-additional-privilege-types";
import { TAccessApprovalRequestDALFactory } from "./access-approval-request-dal"; import { TAccessApprovalRequestDALFactory } from "./access-approval-request-dal";
import { verifyRequestedPermissions } from "./access-approval-request-fns"; import { verifyRequestedPermissions } from "./access-approval-request-fns";
@@ -30,18 +29,29 @@ import {
} from "./access-approval-request-types"; } from "./access-approval-request-types";
type TSecretApprovalRequestServiceFactoryDep = { type TSecretApprovalRequestServiceFactoryDep = {
additionalPrivilegeService: TProjectUserAdditionalPrivilegeServiceFactory; additionalPrivilegeDAL: Pick<TProjectUserAdditionalPrivilegeDALFactory, "create" | "findById">;
additionalPrivilegeDAL: TProjectUserAdditionalPrivilegeDALFactory; permissionService: Pick<TPermissionServiceFactory, "getProjectPermission">;
permissionService: TPermissionServiceFactory; accessApprovalPolicyApproverDAL: Pick<TAccessApprovalPolicyApproverDALFactory, "find">;
accessApprovalPolicyApproverDAL: TAccessApprovalPolicyApproverDALFactory;
projectEnvDAL: Pick<TProjectEnvDALFactory, "findOne">; projectEnvDAL: Pick<TProjectEnvDALFactory, "findOne">;
projectDAL: Pick<TProjectDALFactory, "checkProjectUpgradeStatus" | "findProjectBySlug">; projectDAL: Pick<TProjectDALFactory, "checkProjectUpgradeStatus" | "findProjectBySlug">;
accessApprovalRequestDAL: TAccessApprovalRequestDALFactory; accessApprovalRequestDAL: Pick<
accessApprovalPolicyDAL: TAccessApprovalPolicyDALFactory; TAccessApprovalRequestDALFactory,
accessApprovalRequestReviewerDAL: TAccessApprovalRequestReviewerDALFactory; | "create"
projectMembershipDAL: TProjectMembershipDALFactory; | "findRequestsWithPrivilegeByPolicyIds"
smtpService: TSmtpService; | "findById"
userDAL: TUserDALFactory; | "transaction"
| "updateById"
| "findOne"
| "getCount"
>;
accessApprovalPolicyDAL: Pick<TAccessApprovalPolicyDALFactory, "findOne" | "find">;
accessApprovalRequestReviewerDAL: Pick<
TAccessApprovalRequestReviewerDALFactory,
"create" | "find" | "findOne" | "transaction"
>;
projectMembershipDAL: Pick<TProjectMembershipDALFactory, "findById">;
smtpService: Pick<TSmtpService, "sendMail">;
userDAL: Pick<TUserDALFactory, "findUserByProjectMembershipId" | "findUsersByProjectMembershipIds">;
}; };
export type TAccessApprovalRequestServiceFactory = ReturnType<typeof accessApprovalRequestServiceFactory>; export type TAccessApprovalRequestServiceFactory = ReturnType<typeof accessApprovalRequestServiceFactory>;
@@ -107,10 +117,6 @@ export const accessApprovalRequestServiceFactory = ({
approvers.map((approver) => approver.approverId) approvers.map((approver) => approver.approverId)
); );
if (approverUsers.length !== approvers.length) {
throw new BadRequestError({ message: "Some approvers were not found" });
}
const duplicateRequest = await accessApprovalRequestDAL.findOne({ const duplicateRequest = await accessApprovalRequestDAL.findOne({
policyId: policy.id, policyId: policy.id,
requestedBy: membership.id, requestedBy: membership.id,
@@ -252,7 +258,7 @@ export const accessApprovalRequestServiceFactory = ({
secretPath: accessApprovalRequest.policy.secretPath!, secretPath: accessApprovalRequest.policy.secretPath!,
actorAuthMethod, actorAuthMethod,
permissionService, permissionService,
approverProjectMemberships: [reviewerProjectMembership] userIds: [reviewerProjectMembership.userId]
}); });
const existingReviews = await accessApprovalRequestReviewerDAL.find({ requestId: accessApprovalRequest.id }); const existingReviews = await accessApprovalRequestReviewerDAL.find({ requestId: accessApprovalRequest.id });