93 lines
2.3 KiB
TypeScript
93 lines
2.3 KiB
TypeScript
![]() |
import { makeRequest } from "@frontend/kitui";
|
||
|
|
||
|
import { parseAxiosError } from "@root/utils/parse-error";
|
||
|
|
||
|
import { PrivilegeWithAmount } from "@frontend/kitui";
|
||
|
import type { TMockData } from "./roles";
|
||
|
|
||
|
type SeverPrivilegiesResponse = {
|
||
|
templategen: PrivilegeWithAmount[];
|
||
|
};
|
||
|
|
||
|
const baseUrl =
|
||
|
process.env.NODE_ENV === "production"
|
||
|
? "/strator"
|
||
|
: "https://admin.pena.digital/strator";
|
||
|
|
||
|
export const getRoles = async (): Promise<[TMockData | null, string?]> => {
|
||
|
try {
|
||
|
const rolesResponse = await makeRequest<never, TMockData>({
|
||
|
method: "get",
|
||
|
url: baseUrl + "/role",
|
||
|
});
|
||
|
|
||
|
return [rolesResponse];
|
||
|
} catch (nativeError) {
|
||
|
const [error] = parseAxiosError(nativeError);
|
||
|
|
||
|
return [null, `Ошибка запроса ролей. ${error}`];
|
||
|
}
|
||
|
};
|
||
|
|
||
|
export const putPrivilegie = async (
|
||
|
body: Omit<PrivilegeWithAmount, "_id" | "updatedAt">
|
||
|
): Promise<[unknown, string?]> => {
|
||
|
try {
|
||
|
const putedPrivilegie = await makeRequest<
|
||
|
Omit<PrivilegeWithAmount, "_id" | "updatedAt">,
|
||
|
unknown
|
||
|
>({
|
||
|
url: baseUrl + "/privilege",
|
||
|
method: "put",
|
||
|
body,
|
||
|
});
|
||
|
|
||
|
return [putedPrivilegie];
|
||
|
} catch (nativeError) {
|
||
|
const [error] = parseAxiosError(nativeError);
|
||
|
|
||
|
return [null, `Ошибка изменения привилегии. ${error}`];
|
||
|
}
|
||
|
};
|
||
|
|
||
|
export const requestServicePrivilegies = async (): Promise<
|
||
|
[SeverPrivilegiesResponse | null, string?]
|
||
|
> => {
|
||
|
try {
|
||
|
const privilegiesResponse = await makeRequest<
|
||
|
never,
|
||
|
SeverPrivilegiesResponse
|
||
|
>({
|
||
|
url: baseUrl + "/privilege/service",
|
||
|
method: "get",
|
||
|
});
|
||
|
|
||
|
return [privilegiesResponse];
|
||
|
} catch (nativeError) {
|
||
|
const [error] = parseAxiosError(nativeError);
|
||
|
|
||
|
return [null, `Ошибка запроса привилегий. ${error}`];
|
||
|
}
|
||
|
};
|
||
|
|
||
|
export const requestPrivilegies = async (
|
||
|
signal: AbortSignal | undefined
|
||
|
): Promise<[PrivilegeWithAmount[], string?]> => {
|
||
|
try {
|
||
|
const privilegiesResponse = await makeRequest<never, PrivilegeWithAmount[]>(
|
||
|
{
|
||
|
url: baseUrl + "/privilege",
|
||
|
method: "get",
|
||
|
useToken: true,
|
||
|
signal,
|
||
|
}
|
||
|
);
|
||
|
|
||
|
return [privilegiesResponse];
|
||
|
} catch (nativeError) {
|
||
|
const [error] = parseAxiosError(nativeError);
|
||
|
|
||
|
return [[], `Ошибка запроса привилегий. ${error}`];
|
||
|
}
|
||
|
};
|