fix: custom errors
This commit is contained in:
parent
01f1e50c4a
commit
4e4565813a
@ -3,7 +3,7 @@ import { makeRequest } from "@api/makeRequest";
|
||||
|
||||
import { parseAxiosError } from "@utils/parse-error";
|
||||
|
||||
const API_URL = `${process.env.REACT_APP_DOMAIN}/customer/cart/`;
|
||||
const API_URL = `${process.env.REACT_APP_DOMAIN}/customer/cart`;
|
||||
|
||||
const payCart = async (): Promise<[UserAccount | null, string?]> => {
|
||||
try {
|
||||
|
@ -155,7 +155,7 @@ export const addQuizImages = async (
|
||||
} catch (nativeError) {
|
||||
const [error] = parseAxiosError(nativeError);
|
||||
|
||||
return [null, `Не удалось добавить картинку. ${error}`];
|
||||
return [null, `Не удалось добавить изображение. ${error}`];
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -62,7 +62,9 @@ export const CardAnswer: FC<CardAnswerProps> = ({
|
||||
const [resAnswer, answerError] = await resultApi.getAnswerList(idResult);
|
||||
|
||||
if (answerError || !resAnswer) {
|
||||
if (answerError?.includes("Payment Required")) {
|
||||
openPrePaymentModal();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -137,14 +137,15 @@ function TariffPage() {
|
||||
|
||||
if (payError || !data) {
|
||||
//если денег не хватило
|
||||
if (addError) {
|
||||
let cashDif = Number(addError.split(":")[1]);
|
||||
if (payError?.includes("insufficient funds")) {
|
||||
let cashDif = Number(payError.split(":")[1]);
|
||||
var link = document.createElement("a");
|
||||
link.href = `https://${isTestServer ? "s" : ""}hub.pena.digital/quizpayment?action=squizpay&dif=${cashDif}&data=${token}&userid=${userId}`;
|
||||
document.body.appendChild(link);
|
||||
link.click();
|
||||
return;
|
||||
}
|
||||
|
||||
//другая ошибка
|
||||
enqueueSnackbar("Произошла ошибка. Попробуйте позже");
|
||||
|
||||
|
@ -104,8 +104,9 @@ export const ExportResults = async (
|
||||
);
|
||||
|
||||
if (resultError) {
|
||||
if (resultError?.includes("Payment Required")) {
|
||||
openPrePaymentModal();
|
||||
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -32,14 +32,19 @@ export const parseAxiosError = (nativeError: unknown): [string, number?] => {
|
||||
if (error.response?.data) {
|
||||
const serverError = error.response.data as ServerError;
|
||||
let SEMessage;
|
||||
if ("statusCode" in (error.response?.data as ServerError)) {
|
||||
|
||||
if (error.response.statusText) {
|
||||
return [error.response.statusText];
|
||||
}
|
||||
|
||||
if ("statusCode" in serverError) {
|
||||
SEMessage = serverError?.message.toLowerCase() || "";
|
||||
}
|
||||
if (
|
||||
"error" in (error.response?.data as ServerError) &&
|
||||
!("statusCode" in (error.response?.data as ServerError))
|
||||
"error" in serverError &&
|
||||
!("statusCode" in (error.response.data as ServerError))
|
||||
) {
|
||||
SEMessage = serverError?.error.toLowerCase() || "";
|
||||
SEMessage = serverError.error.toLowerCase() || "";
|
||||
}
|
||||
const translatedMessage = translateMessage[SEMessage || ""]?.toLowerCase();
|
||||
if (translatedMessage !== undefined) SEMessage = translatedMessage;
|
||||
|
Loading…
Reference in New Issue
Block a user