2023-07-12 13:31:35 +00:00
|
|
|
|
import { resetPrivilegeArray } from "@root/stores/privilegesStore";
|
|
|
|
|
import { exampleCartValues } from "@stores/mocks/exampleCartValues";
|
2023-09-01 13:17:24 +00:00
|
|
|
|
import { requestServicePrivilegies } 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-08-02 11:36:50 +00:00
|
|
|
|
const mutatePrivilegies = (privilegies: PrivilegeWithAmount[]) => {
|
|
|
|
|
let extracted: PrivilegeWithAmount[] = [];
|
2023-07-12 13:31:35 +00:00
|
|
|
|
for (let serviceKey in privilegies) {
|
|
|
|
|
//Приходит объект. В его значениях массивы привилегий для разных сервисов. Высыпаем в общую кучу и обновляем стор
|
|
|
|
|
extracted = extracted.concat(privilegies[serviceKey]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let readyArray = extracted.map((privilege) => ({
|
|
|
|
|
serviceKey: privilege.serviceKey,
|
|
|
|
|
privilegeId: privilege.privilegeId,
|
|
|
|
|
name: privilege.name,
|
|
|
|
|
description: privilege.description,
|
|
|
|
|
type: privilege.type,
|
|
|
|
|
price: privilege.price,
|
|
|
|
|
value: privilege.value,
|
2023-08-02 11:36:50 +00:00
|
|
|
|
_id: privilege._id,
|
2023-07-12 13:31:35 +00:00
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
resetPrivilegeArray([...readyArray, ...exampleCartValues.privileges]);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const requestPrivilegies = async () => {
|
2023-09-01 13:17:24 +00:00
|
|
|
|
const [privilegiesResponse, privilegiesError] =
|
|
|
|
|
await requestServicePrivilegies();
|
|
|
|
|
|
|
|
|
|
if (privilegiesError) {
|
|
|
|
|
return console.error(privilegiesError);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (privilegiesResponse) {
|
|
|
|
|
mutatePrivilegies(privilegiesResponse.templategen);
|
|
|
|
|
}
|
2023-07-12 13:31:35 +00:00
|
|
|
|
};
|