diff --git a/frontend/app/components/ForgotPassword/ResetPasswordRequest.tsx b/frontend/app/components/ForgotPassword/ResetPasswordRequest.tsx index bdc170b33..f8093e1f4 100644 --- a/frontend/app/components/ForgotPassword/ResetPasswordRequest.tsx +++ b/frontend/app/components/ForgotPassword/ResetPasswordRequest.tsx @@ -38,7 +38,6 @@ function ResetPasswordRequest() { setRequested(true); if (response && response.errors && response.errors.length > 0) { setError(response.errors[0]); - } else { } }); }; diff --git a/frontend/app/mstore/userStore.ts b/frontend/app/mstore/userStore.ts index 3fb7db13e..fb0906d7f 100644 --- a/frontend/app/mstore/userStore.ts +++ b/frontend/app/mstore/userStore.ts @@ -411,10 +411,13 @@ class UserStore { this.loading = true; }); try { - await userService.requestResetPassword(params); + const response = await userService.requestResetPassword(params); + if (response.errors) { + toast.error(response.errors[0] || 'Error resetting your password, please try again'); + return response; + } } catch (error) { - toast.error('Error resetting your password; please try again'); - return error.response; + toast.error('Unexpected error resetting your password; please try again'); } finally { runInAction(() => { this.loading = false; diff --git a/frontend/app/services/UserService.ts b/frontend/app/services/UserService.ts index fec414589..b6d9749f6 100644 --- a/frontend/app/services/UserService.ts +++ b/frontend/app/services/UserService.ts @@ -143,11 +143,18 @@ export default class UserService { .then((response: { data: any }) => response.data || {}); } - requestResetPassword(data: any) { - return this.client - .post('/password/reset-link', data) - .then((response: { json: () => any }) => response.json()) - .then((response: { data: any }) => response.data || {}); + async requestResetPassword(data: any) { + try { + const response = await this.client.post('/password/reset-link', data); + const responseData = await response.json(); + return responseData.data || {}; + } catch (error: any) { + if (error.response) { + const errorData = await error.response.json(); + return { errors: errorData.errors }; + } + return { errors: ["An unexpected error occurred."] }; + } } updatePassword(data: any) {