человекопонятный перевод ошибок
This commit is contained in:
parent
bc29641288
commit
c4c15df366
@ -26,8 +26,9 @@ export const signin = async (
|
||||
|
||||
return [signinResponse];
|
||||
} catch (nativeError) {
|
||||
console.log(nativeError)
|
||||
const [error] = parseAxiosError(nativeError);
|
||||
|
||||
console.log(error)
|
||||
return [null, `Ошибка авторизации. ${error}`];
|
||||
}
|
||||
};
|
||||
|
||||
@ -1,9 +1,36 @@
|
||||
import { AxiosError } from "axios";
|
||||
|
||||
export type ServerError = {
|
||||
statusCode: number;
|
||||
error: string;
|
||||
message: string;
|
||||
};
|
||||
|
||||
const translateMessage: 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": "Пользователь уже существует",
|
||||
"user with this login is exist": "Пользователь с таким логином уже существует"
|
||||
}
|
||||
|
||||
export const parseAxiosError = (nativeError: unknown): [string, number?] => {
|
||||
const error = nativeError as AxiosError;
|
||||
|
||||
switch (error.status) {
|
||||
if (
|
||||
error.response?.data &&
|
||||
"statusCode" in (error.response.data as ServerError)
|
||||
) {
|
||||
const serverError = error.response.data as ServerError
|
||||
const translatedMessage = translateMessage[serverError.message]
|
||||
if (translatedMessage !== undefined) serverError.message = translatedMessage
|
||||
return [serverError.message, serverError.statusCode]
|
||||
}
|
||||
|
||||
switch (error.response?.status) {
|
||||
case 404:
|
||||
return ["Не найдено.", error.status];
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user