mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-14 19:44:52 +00:00
Merge pull request #4369 from Infisical/modify-access-requests
feature(access-requests): allow editing of access request by admin reviewers
This commit is contained in:
@@ -6,10 +6,12 @@ import { apiRequest } from "@app/config/request";
|
||||
import { accessApprovalKeys } from "./queries";
|
||||
import {
|
||||
TAccessApproval,
|
||||
TAccessApprovalRequest,
|
||||
TCreateAccessPolicyDTO,
|
||||
TCreateAccessRequestDTO,
|
||||
TDeleteSecretPolicyDTO,
|
||||
TUpdateAccessPolicyDTO
|
||||
TUpdateAccessPolicyDTO,
|
||||
TUpdateAccessRequestDTO
|
||||
} from "./types";
|
||||
|
||||
export const useCreateAccessApprovalPolicy = () => {
|
||||
@@ -134,6 +136,25 @@ export const useCreateAccessRequest = () => {
|
||||
});
|
||||
};
|
||||
|
||||
export const useUpdateAccessRequest = () => {
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation<TAccessApprovalRequest, object, TUpdateAccessRequestDTO>({
|
||||
mutationFn: async ({ requestId, ...payload }) => {
|
||||
const { data } = await apiRequest.patch<{ approval: TAccessApprovalRequest }>(
|
||||
`/api/v1/access-approvals/requests/${requestId}`,
|
||||
payload
|
||||
);
|
||||
|
||||
return data.approval;
|
||||
},
|
||||
onSuccess: (_, { projectSlug }) => {
|
||||
queryClient.invalidateQueries({
|
||||
queryKey: accessApprovalKeys.getAccessApprovalRequests(projectSlug)
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export const useReviewAccessRequest = () => {
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation<
|
||||
|
||||
@@ -24,7 +24,7 @@ export const accessApprovalKeys = {
|
||||
envSlug?: string,
|
||||
requestedBy?: string,
|
||||
bypassReason?: string
|
||||
) => [{ projectSlug, envSlug, requestedBy, bypassReason }, "access-approvals-requests"] as const,
|
||||
) => ["access-approvals-requests", projectSlug, envSlug, requestedBy, bypassReason] as const,
|
||||
getAccessApprovalRequestCount: (projectSlug: string, policyId?: string) =>
|
||||
[{ projectSlug }, "access-approval-request-count", ...(policyId ? [policyId] : [])] as const
|
||||
};
|
||||
|
||||
@@ -103,6 +103,8 @@ export type TAccessApprovalRequest = {
|
||||
}[];
|
||||
|
||||
note?: string;
|
||||
editNote?: string;
|
||||
editedByUserId?: string;
|
||||
};
|
||||
|
||||
export type TAccessApproval = {
|
||||
@@ -146,6 +148,13 @@ export type TCreateAccessRequestDTO = {
|
||||
note?: string;
|
||||
} & Omit<TProjectUserPrivilege, "id" | "createdAt" | "updatedAt" | "slug" | "projectMembershipId">;
|
||||
|
||||
export type TUpdateAccessRequestDTO = {
|
||||
requestId: string;
|
||||
editNote: string;
|
||||
temporaryRange: string;
|
||||
projectSlug: string;
|
||||
};
|
||||
|
||||
export type TGetAccessApprovalRequestsDTO = {
|
||||
projectSlug: string;
|
||||
policyId?: string;
|
||||
|
||||
Reference in New Issue
Block a user