feat: ui changes for approval to work

This commit is contained in:
=
2025-06-11 15:20:46 +05:30
parent d32b6ad41d
commit f9c00cf442
18 changed files with 1001 additions and 371 deletions
@@ -25,7 +25,8 @@ export const useCreateAccessApprovalPolicy = () => {
name,
secretPath,
enforcementLevel,
allowedSelfApprovals
allowedSelfApprovals,
approvalsRequired
}) => {
const { data } = await apiRequest.post("/api/v1/access-approvals/policies", {
environment,
@@ -36,7 +37,8 @@ export const useCreateAccessApprovalPolicy = () => {
secretPath,
name,
enforcementLevel,
allowedSelfApprovals
allowedSelfApprovals,
approvalsRequired
});
return data;
},
@@ -60,7 +62,8 @@ export const useUpdateAccessApprovalPolicy = () => {
name,
secretPath,
enforcementLevel,
allowedSelfApprovals
allowedSelfApprovals,
approvalsRequired
}) => {
const { data } = await apiRequest.patch(`/api/v1/access-approvals/policies/${id}`, {
approvals,
@@ -69,7 +72,8 @@ export const useUpdateAccessApprovalPolicy = () => {
secretPath,
name,
enforcementLevel,
allowedSelfApprovals
allowedSelfApprovals,
approvalsRequired
});
return data;
},
+12 -2
View File
@@ -33,6 +33,8 @@ export enum BypasserType {
export type Approver = {
id: string;
type: ApproverType;
sequence?: number;
approvals?: number;
};
export type Bypasser = {
@@ -78,7 +80,13 @@ export type TAccessApprovalRequest = {
id: string;
name: string;
approvals: number;
approvers: string[];
approvers: {
userId: string;
sequence?: number;
approvalsRequired?: number;
username: string;
email: string;
}[];
bypassers: string[];
secretPath?: string | null;
envId: string;
@@ -88,7 +96,7 @@ export type TAccessApprovalRequest = {
};
reviewers: {
member: string;
userId: string;
status: string;
}[];
@@ -163,6 +171,7 @@ export type TCreateAccessPolicyDTO = {
secretPath?: string;
enforcementLevel?: EnforcementLevel;
allowedSelfApprovals: boolean;
approvalsRequired?: { numberOfApprovals: number; stepNumber: number }[];
};
export type TUpdateAccessPolicyDTO = {
@@ -177,6 +186,7 @@ export type TUpdateAccessPolicyDTO = {
allowedSelfApprovals: boolean;
// for invalidating list
projectSlug: string;
approvalsRequired?: { numberOfApprovals: number; stepNumber: number }[];
};
export type TDeleteSecretPolicyDTO = {
@@ -225,7 +225,7 @@ export const useGetSecretApprovalRequestCount = ({
}) =>
useQuery({
queryKey: secretApprovalRequestKeys.count({ workspaceId }),
refetchInterval: 5000,
refetchInterval: 15000,
queryFn: () => fetchSecretApprovalRequestCount({ workspaceId }),
enabled: Boolean(workspaceId) && (options?.enabled ?? true)
});