2023-07-12 13:31:35 +00:00
|
|
|
import { setDiscounts } from "@root/stores/discounts";
|
2023-07-13 09:56:52 +00:00
|
|
|
|
2023-08-02 11:36:50 +00:00
|
|
|
import type { GetDiscountResponse } from "@root/model/discount";
|
|
|
|
import { Discount, makeRequest } from "@frontend/kitui";
|
2023-07-12 13:31:35 +00:00
|
|
|
|
2023-07-13 09:56:52 +00:00
|
|
|
const baseUrl =
|
|
|
|
process.env.NODE_ENV === "production"
|
|
|
|
? "/price"
|
|
|
|
: "https://admin.pena.digital/price";
|
2023-07-12 13:31:35 +00:00
|
|
|
|
2023-07-13 09:56:52 +00:00
|
|
|
const filterDiscounts = (discounts: Discount[]) => {
|
|
|
|
const activeDiscounts = discounts.filter((discount) => !discount.Deprecated);
|
|
|
|
|
|
|
|
setDiscounts(activeDiscounts);
|
|
|
|
};
|
2023-07-12 13:31:35 +00:00
|
|
|
|
2023-08-02 11:36:50 +00:00
|
|
|
export const requestDiscounts = async (): Promise<Discount[]> => {
|
2023-07-13 09:56:52 +00:00
|
|
|
try {
|
|
|
|
const { Discounts } = await makeRequest<never, GetDiscountResponse>({
|
|
|
|
url: baseUrl + "/discounts",
|
|
|
|
method: "get",
|
|
|
|
useToken: true,
|
2023-07-12 13:31:35 +00:00
|
|
|
});
|
|
|
|
|
2023-07-13 09:56:52 +00:00
|
|
|
filterDiscounts(Discounts);
|
2023-08-02 11:36:50 +00:00
|
|
|
|
|
|
|
return Discounts
|
2023-07-13 09:56:52 +00:00
|
|
|
} catch {
|
|
|
|
throw new Error("Ошибка при получении скидок");
|
|
|
|
}
|
2023-07-12 13:31:35 +00:00
|
|
|
};
|