adminFront/src/services/discounts.service.ts

33 lines
888 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
import { authStore } from "@root/stores/auth";
import type { GetDiscountResponse, Discount } from "@root/model/discount";
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 { makeRequest } = authStore.getState();
const filterDiscounts = (discounts: Discount[]) => {
const activeDiscounts = discounts.filter((discount) => !discount.Deprecated);
setDiscounts(activeDiscounts);
};
2023-07-12 13:31:35 +00:00
2023-07-13 09:56:52 +00:00
export const requestDiscounts = async (): Promise<void> => {
try {
const { Discounts } = await makeRequest<never, GetDiscountResponse>({
url: baseUrl + "/discounts",
method: "get",
useToken: true,
bearer: true,
2023-07-12 13:31:35 +00:00
});
2023-07-13 09:56:52 +00:00
filterDiscounts(Discounts);
} catch {
throw new Error("Ошибка при получении скидок");
}
2023-07-12 13:31:35 +00:00
};