человекопонятная ошибка при не существующей почте при восстановлении пароля

This commit is contained in:
Tamara 2024-01-20 23:47:09 +03:00
parent c4ff3633a2
commit 5a59f4baa8
3 changed files with 23 additions and 11 deletions

@ -68,9 +68,10 @@ export async function recover(
useToken: false,
withCredentials: true,
});
console.log(recoverResponse)
return [recoverResponse];
} catch (nativeError) {
console.log(nativeError)
const [error] = parseAxiosError(nativeError);
return [null, `Не удалось восстановить пароль. ${error}`];

@ -54,8 +54,8 @@ export default function RecoverDialog() {
formikHelpers.setSubmitting(false);
if (recoverError) {
return enqueueSnackbar(recoverError); console.log(recoverError);
enqueueSnackbar(recoverError);
return
}
navigate("/")
enqueueSnackbar("Письмо прийдёт Вам на почту")

@ -18,19 +18,30 @@ const translateMessage: Record<string, string> = {
}
export const parseAxiosError = (nativeError: unknown): [string, number?] => {
console.log(nativeError)
const error = nativeError as AxiosError
console.log(error)
console.log(error.response?.data)
if (
error.response?.data &&
"statusCode" in (error.response.data as ServerError)
error.response?.data
) {
const serverError = error.response.data as ServerError
const translatedMessage = translateMessage[serverError.message]
if (translatedMessage !== undefined) serverError.message = translatedMessage
return [serverError.message, serverError.statusCode]
}
let SEMessage
if("statusCode" in (error.response?.data as ServerError)){
SEMessage = serverError?.message.toLowerCase() || ""
switch (error.status) {
}
if("error" in (error.response?.data as ServerError)){
SEMessage = serverError?.error.toLowerCase() || ""
}
console.log(serverError)
const translatedMessage = translateMessage[SEMessage || ""]
if (translatedMessage !== undefined) SEMessage = translatedMessage
return [SEMessage || "", serverError.statusCode]
}
console.log(error?.status)
switch (error?.status || error.response?.status) {
case 404:
return ["Не найдено.", error.status]