Fix: Make verifyApprovers independent on memberships

This commit is contained in:
Daniel Hougaard
2024-04-09 00:19:17 -07:00
parent dd43268506
commit 5884565de7
2 changed files with 6 additions and 13 deletions

View File

@@ -7,7 +7,7 @@ import { ProjectPermissionActions, ProjectPermissionSub } from "../permission/pr
import { TVerifyApprovers } from "./access-approval-policy-types";
export const verifyApprovers = async ({
approverProjectMemberships,
userIds,
projectId,
orgId,
envSlug,
@@ -15,12 +15,11 @@ export const verifyApprovers = async ({
secretPath,
permissionService
}: TVerifyApprovers) => {
for (const approver of approverProjectMemberships) {
for await (const userId of userIds) {
try {
// eslint-disable-next-line no-await-in-loop
const { permission: approverPermission } = await permissionService.getProjectPermission(
ActorType.USER,
approver.userId,
userId,
projectId,
actorAuthMethod,
orgId

View File

@@ -1,11 +1,10 @@
import { TProjectMemberships } from "@app/db/schemas";
import { TProjectPermission } from "@app/lib/types";
import { ActorAuthMethod } from "@app/services/auth/auth-type";
import { TPermissionServiceFactory } from "../permission/permission-service";
export type TVerifyApprovers = {
approverProjectMemberships: TProjectMemberships[];
userIds: string[];
permissionService: Pick<TPermissionServiceFactory, "getProjectPermission">;
envSlug: string;
actorAuthMethod: ActorAuthMethod;
@@ -16,7 +15,7 @@ export type TVerifyApprovers = {
export type TCreateAccessApprovalPolicy = {
approvals: number;
secretPath?: string | null;
secretPath: string;
environment: string;
approvers: string[];
projectSlug: string;
@@ -26,7 +25,7 @@ export type TCreateAccessApprovalPolicy = {
export type TUpdateAccessApprovalPolicy = {
policyId: string;
approvals?: number;
approvers: string[];
approvers?: string[];
secretPath?: string;
name?: string;
} & Omit<TProjectPermission, "projectId">;
@@ -43,8 +42,3 @@ export type TGetAccessPolicyCountByEnvironmentDTO = {
export type TListAccessApprovalPoliciesDTO = {
projectSlug: string;
} & Omit<TProjectPermission, "projectId">;
export type TGetBoardAccessApprovalPolicy = {
projectId: string;
environment: string;
} & Omit<TProjectPermission, "projectId">;