adminFront/src/services/privilegies.service.ts

28 lines
987 B
TypeScript
Raw Normal View History

2023-07-12 13:31:35 +00:00
import { resetPrivilegeArray } from "@root/stores/privilegesStore";
2023-09-16 18:02:01 +00:00
import { requestServicePrivileges } from "@root/api/privilegies";
2023-07-12 13:31:35 +00:00
2023-09-01 13:17:24 +00:00
import type { PrivilegeWithAmount } from "@frontend/kitui";
2023-07-12 13:31:35 +00:00
2023-09-16 18:02:01 +00:00
const mutatePrivileges = (privileges: PrivilegeWithAmount[]) => {
2023-08-02 11:36:50 +00:00
let extracted: PrivilegeWithAmount[] = [];
2023-09-16 18:02:01 +00:00
for (let serviceKey in privileges) {
2023-07-12 13:31:35 +00:00
//Приходит объект. В его значениях массивы привилегий для разных сервисов. Высыпаем в общую кучу и обновляем стор
2023-09-16 18:02:01 +00:00
extracted = extracted.concat(privileges[serviceKey]);
2023-07-12 13:31:35 +00:00
}
resetPrivilegeArray(extracted);
2023-07-12 13:31:35 +00:00
};
2023-09-16 18:02:01 +00:00
export const requestPrivileges = async () => {
const [privilegesResponse, privilegesError] =
await requestServicePrivileges();
2023-09-01 13:17:24 +00:00
2023-09-16 18:02:01 +00:00
if (privilegesError) {
return console.error(privilegesError);
2023-09-01 13:17:24 +00:00
}
2023-09-16 18:02:01 +00:00
if (privilegesResponse) {
2023-12-14 00:17:28 +00:00
mutatePrivileges(privilegesResponse.templategen.concat(privilegesResponse.squiz));
2023-09-01 13:17:24 +00:00
}
2023-07-12 13:31:35 +00:00
};