28 lines
975 B
TypeScript
28 lines
975 B
TypeScript
import { resetPrivilegeArray } from "@root/stores/privilegesStore";
|
||
import { requestServicePrivileges } from "@root/api/privilegies";
|
||
|
||
import type { CustomPrivilege } from "@frontend/kitui";
|
||
|
||
const mutatePrivileges = (privileges: CustomPrivilege[]) => {
|
||
let extracted: CustomPrivilege[] = [];
|
||
for (let serviceKey in privileges) {
|
||
//Приходит объект. В его значениях массивы привилегий для разных сервисов. Высыпаем в общую кучу и обновляем стор
|
||
extracted = extracted.concat(privileges[serviceKey]);
|
||
}
|
||
|
||
resetPrivilegeArray(extracted);
|
||
};
|
||
|
||
export const requestPrivileges = async () => {
|
||
const [privilegesResponse, privilegesError] =
|
||
await requestServicePrivileges();
|
||
|
||
if (privilegesError) {
|
||
return console.error(privilegesError);
|
||
}
|
||
|
||
if (privilegesResponse) {
|
||
mutatePrivileges(privilegesResponse.templategen.concat(privilegesResponse.squiz));
|
||
}
|
||
};
|