mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-11 06:29:04 +00:00
62 lines
1.8 KiB
TypeScript
62 lines
1.8 KiB
TypeScript
import { useMutation, useQueryClient } from "@tanstack/react-query";
|
|
|
|
import { apiRequest } from "@app/config/request";
|
|
|
|
import { auditLogStreamKeys } from "./queries";
|
|
import {
|
|
TAuditLogStream,
|
|
TCreateAuditLogStreamDTO,
|
|
TDeleteAuditLogStreamDTO,
|
|
TUpdateAuditLogStreamDTO
|
|
} from "./types";
|
|
|
|
export const useCreateAuditLogStream = () => {
|
|
const queryClient = useQueryClient();
|
|
|
|
return useMutation<{ auditLogStream: TAuditLogStream }, {}, TCreateAuditLogStreamDTO>({
|
|
mutationFn: async (dto) => {
|
|
const { data } = await apiRequest.post<{ auditLogStream: TAuditLogStream }>(
|
|
"/api/v1/audit-log-streams",
|
|
dto
|
|
);
|
|
return data;
|
|
},
|
|
onSuccess: (_, { projectSlug }) => {
|
|
queryClient.invalidateQueries(auditLogStreamKeys.list(projectSlug));
|
|
}
|
|
});
|
|
};
|
|
|
|
export const useUpdateAuditLogStream = () => {
|
|
const queryClient = useQueryClient();
|
|
|
|
return useMutation<{ auditLogStream: TAuditLogStream }, {}, TUpdateAuditLogStreamDTO>({
|
|
mutationFn: async (dto) => {
|
|
const { data } = await apiRequest.patch<{ auditLogStream: TAuditLogStream }>(
|
|
`/api/v1/audit-log-streams/${dto.id}`,
|
|
dto
|
|
);
|
|
return data;
|
|
},
|
|
onSuccess: (_, { projectSlug }) => {
|
|
queryClient.invalidateQueries(auditLogStreamKeys.list(projectSlug));
|
|
}
|
|
});
|
|
};
|
|
|
|
export const useDeleteAuditLogStream = () => {
|
|
const queryClient = useQueryClient();
|
|
|
|
return useMutation<{ auditLogStream: TAuditLogStream }, {}, TDeleteAuditLogStreamDTO>({
|
|
mutationFn: async (dto) => {
|
|
const { data } = await apiRequest.delete<{ auditLogStream: TAuditLogStream }>(
|
|
`/api/v1/audit-log-streams/${dto.id}`
|
|
);
|
|
return data;
|
|
},
|
|
onSuccess: (_, { projectSlug }) => {
|
|
queryClient.invalidateQueries(auditLogStreamKeys.list(projectSlug));
|
|
}
|
|
});
|
|
};
|