Merge pull request #2458 from meetcshah19/meet/eng-1443-add-groups-as-eligible-approvers

feat: allow access approvals with user groups
This commit is contained in:
Meet Shah
2024-09-23 19:14:52 +05:30
committed by GitHub
23 changed files with 728 additions and 179 deletions
+13 -4
View File
@@ -11,14 +11,23 @@ export type TAccessApprovalPolicy = {
workspace: string;
environment: WorkspaceEnv;
projectId: string;
approvers: string[];
policyType: PolicyType;
approversRequired: boolean;
enforcementLevel: EnforcementLevel;
updatedAt: Date;
userApprovers?: { userId: string }[];
approvers?: Approver[];
};
export enum ApproverType{
User = "user",
Group = "group"
}
export type Approver ={
id: string;
type: ApproverType;
}
export type TAccessApprovalRequest = {
id: string;
policyId: string;
@@ -130,7 +139,7 @@ export type TCreateAccessPolicyDTO = {
projectSlug: string;
name?: string;
environment: string;
approvers?: string[];
approvers?: Approver[];
approvals?: number;
secretPath?: string;
enforcementLevel?: EnforcementLevel;
@@ -139,7 +148,7 @@ export type TCreateAccessPolicyDTO = {
export type TUpdateAccessPolicyDTO = {
id: string;
name?: string;
approvers?: string[];
approvers?: Approver[];
secretPath?: string;
environment?: string;
approvals?: number;
+13 -3
View File
@@ -9,11 +9,21 @@ export type TSecretApprovalPolicy = {
environment: WorkspaceEnv;
secretPath?: string;
approvals: number;
userApprovers: { userId: string }[];
approvers: Approver[];
updatedAt: Date;
enforcementLevel: EnforcementLevel;
};
export enum ApproverType{
User = "user",
Group = "group"
}
export type Approver ={
id: string;
type: ApproverType;
}
export type TGetSecretApprovalPoliciesDTO = {
workspaceId: string;
};
@@ -29,7 +39,7 @@ export type TCreateSecretPolicyDTO = {
name?: string;
environment: string;
secretPath?: string | null;
approvers?: string[];
approvers?: Approver[];
approvals?: number;
enforcementLevel: EnforcementLevel;
};
@@ -37,7 +47,7 @@ export type TCreateSecretPolicyDTO = {
export type TUpdateSecretPolicyDTO = {
id: string;
name?: string;
approvers?: string[];
approvers?: Approver[];
secretPath?: string | null;
approvals?: number;
enforcementLevel?: EnforcementLevel;