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

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, useToken: false,
withCredentials: true, withCredentials: true,
}); });
console.log(recoverResponse)
return [recoverResponse]; return [recoverResponse];
} catch (nativeError) { } catch (nativeError) {
console.log(nativeError)
const [error] = parseAxiosError(nativeError); const [error] = parseAxiosError(nativeError);
return [null, `Не удалось восстановить пароль. ${error}`]; return [null, `Не удалось восстановить пароль. ${error}`];

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

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