UIKit/src/utils/backendMessageHandler.ts

29 lines
1.2 KiB
TypeScript
Raw Normal View History

2023-06-06 10:02:17 +00:00
import { isAxiosError } from "axios";
import { devlog } from "./devlog";
const backendErrorMessage: Record<string, string> = {
"user not found": "Пользователь не найден",
"invalid password": "Неправильный пароль",
"field <password> is empty": "Поле \"Пароль\" не заполнено",
"field <login> is empty": "Поле \"Логин\" не заполнено",
"field <email> is empty": "Поле \"E-mail\" не заполнено",
"field <phoneNumber> is empty": "Поле \"Номер телефона\" не заполнено",
"user with this email or login is exist": "Пользователь уже существует",
};
export function getMessageFromFetchError(error: any, defaultMessage?: string): string | null {
devlog(error);
const message = backendErrorMessage[error.response?.data?.message];
if (message) return message;
if (isAxiosError(error)) {
switch (error.code) {
case "ERR_NETWORK": return "Ошибка сети";
case "ERR_CANCELED": return null;
}
}
return defaultMessage ?? "Что-то пошло не так. Повторите попытку позже";
}