adminFront/src/utils/hooks/usePrivileges.ts
2023-08-02 14:36:50 +03:00

26 lines
779 B
TypeScript

import { PrivilegeWithAmount, makeRequest } from "@frontend/kitui";
import { useEffect } from "react";
export default function usePrivileges({ onError, onNewPrivileges }: {
onNewPrivileges: (response: PrivilegeWithAmount[]) => void;
onError?: (error: any) => void;
}) {
useEffect(() => {
const controller = new AbortController();
makeRequest<never, PrivilegeWithAmount[]>({
url: "https://admin.pena.digital/strator/privilege",
method: "get",
useToken: true,
signal: controller.signal,
}).then(result => {
onNewPrivileges(result);
}).catch(error => {
onError?.(error);
});
return () => controller.abort();
}, [onError, onNewPrivileges]);
}