import { UserAccount, makeRequest } from "@frontend/kitui"; import { parseAxiosError } from "@root/utils/parse-error"; const apiUrl = process.env.NODE_ENV === "production" ? "/customer" : "https://hub.pena.digital/customer"; export async function patchCart( tariffId: string ): Promise<[string[], string?]> { try { const patchCartResponse = await makeRequest({ url: apiUrl + `/cart?id=${tariffId}`, method: "PATCH", useToken: true, }); return [patchCartResponse.cart]; } catch (nativeError) { const [error] = parseAxiosError(nativeError); return [[], `Не удалось добавить товар в корзину. ${error}`]; } } export async function deleteCart( tariffId: string ): Promise<[string[], string?]> { try { const deleteCartResponse = await makeRequest({ url: apiUrl + `/cart?id=${tariffId}`, method: "DELETE", useToken: true, }); return [deleteCartResponse.cart]; } catch (nativeError) { const [error] = parseAxiosError(nativeError); return [[], `Не удалось удалить товар из корзины. ${error}`]; } } export async function payCart(): Promise<[UserAccount | null, string?]> { try { const payCartResponse = await makeRequest({ url: apiUrl + "/cart/pay", method: "POST", useToken: true, }); return [payCartResponse]; } catch (nativeError) { const [error] = parseAxiosError(nativeError); return [null, `Не удалось оплатить товар из корзины. ${error}`]; } } export async function patchCurrency( currency: string ): Promise<[UserAccount | null, string?]> { try { const patchCurrencyResponse = await makeRequest< { currency: string }, UserAccount >({ url: apiUrl + "/wallet", method: "PATCH", useToken: true, body: { currency, }, }); return [patchCurrencyResponse]; } catch (nativeError) { const [error] = parseAxiosError(nativeError); return [null, `Не удалось изменить валюту. ${error}`]; } }