adminFront/src/services/discounts.service.ts

32 lines
849 B
TypeScript
Raw Normal View History

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
};