import { CustomPrivilege } from "@frontend/kitui"; import makeRequest from "@root/api/makeRequest"; import { parseAxiosError } from "@root/utils/parse-error"; import { Privilege } from "@frontend/kitui"; import type { TMockData } from "./roles"; type SeverPrivilegesResponse = { templategen: CustomPrivilege[]; squiz: CustomPrivilege[]; }; const baseUrl = process.env.REACT_APP_DOMAIN + "/strator"; export const getRoles = async (): Promise<[TMockData | null, string?]> => { try { const rolesResponse = await makeRequest({ method: "get", url: baseUrl + "/role", }); return [rolesResponse]; } catch (nativeError) { const [error] = parseAxiosError(nativeError); return [null, `Ошибка запроса ролей. ${error}`]; } }; export const putPrivilege = async (body: Omit): Promise<[unknown, string?]> => { try { const putedPrivilege = await makeRequest, unknown>({ url: baseUrl + "/privilege", method: "put", body, }); return [putedPrivilege]; } catch (nativeError) { const [error] = parseAxiosError(nativeError); return [null, `Ошибка изменения привилегии. ${error}`]; } }; export const requestServicePrivileges = async (): Promise<[SeverPrivilegesResponse | null, string?]> => { try { const privilegesResponse = await makeRequest({ url: baseUrl + "/privilege/service", method: "get", }); return [privilegesResponse]; } catch (nativeError) { const [error] = parseAxiosError(nativeError); return [null, `Ошибка запроса привилегий. ${error}`]; } }; export const requestPrivileges = async (signal: AbortSignal | undefined): Promise<[CustomPrivilege[], string?]> => { try { const privilegesResponse = await makeRequest({ url: baseUrl + "/privilege", method: "get", useToken: true, signal, }); return [privilegesResponse]; } catch (nativeError) { const [error] = parseAxiosError(nativeError); return [[], `Ошибка запроса привилегий. ${error}`]; } };