Catch rejected promises from AuthFlow's actions

This commit is contained in:
ErickSkrauch 2025-01-08 12:57:20 +01:00
parent 8851c8a665
commit fdef4a33bf
No known key found for this signature in database
GPG Key ID: 669339FCBB30EE0E
6 changed files with 37 additions and 9 deletions

View File

@ -1,3 +1,5 @@
import logger from 'app/services/logger';
import AbstractState from './AbstractState';
import { AuthContext } from './AuthFlow';
import CompleteState from './CompleteState';
@ -14,7 +16,10 @@ export default class AcceptRulesState extends AbstractState {
}
resolve(context: AuthContext): Promise<void> | void {
return context.run('acceptRules').then(() => context.setState(new CompleteState()));
return context
.run('acceptRules')
.then(() => context.setState(new CompleteState()))
.catch((err = {}) => err.errors || logger.warn('Error accepting rules', err));
}
reject(context: AuthContext, payload: Record<string, any>): void {

View File

@ -1,4 +1,5 @@
import { AuthContext } from 'app/services/authFlow';
import logger from 'app/services/logger';
import AbstractState from './AbstractState';
import CompleteState from './CompleteState';
@ -11,7 +12,10 @@ export default class ActivationState extends AbstractState {
}
resolve(context: AuthContext, payload: { key: string }): Promise<void> | void {
return context.run('activate', payload.key).then(() => context.setState(new CompleteState()));
return context
.run('activate', payload.key)
.then(() => context.setState(new CompleteState()))
.catch((err = {}) => err.errors || logger.warn('Error activating account', err));
}
reject(context: AuthContext): void {

View File

@ -1,3 +1,5 @@
import logger from 'app/services/logger';
import AbstractState from './AbstractState';
import { AuthContext } from './AuthFlow';
import LoginState from './LoginState';
@ -9,10 +11,13 @@ export default class ForgotPasswordState extends AbstractState {
}
resolve(context: AuthContext, payload: { login: string; captcha: string }): Promise<void> | void {
return context.run('forgotPassword', payload).then(() => {
context.run('setLogin', payload.login);
context.setState(new RecoverPasswordState());
});
return context
.run('forgotPassword', payload)
.then(() => {
context.run('setLogin', payload.login);
context.setState(new RecoverPasswordState());
})
.catch((err) => err.errors || logger.warn('Error requesting password recoverage', err));
}
goBack(context: AuthContext): void {

View File

@ -1,3 +1,5 @@
import logger from 'app/services/logger';
import AbstractState from './AbstractState';
import { AuthContext } from './AuthFlow';
import LoginState from './LoginState';
@ -15,7 +17,10 @@ export default class RecoverPasswordState extends AbstractState {
context: AuthContext,
payload: { key: string; newPassword: string; newRePassword: string },
): Promise<void> | void {
return context.run('recoverPassword', payload).then(() => context.setState(new CompleteState()));
return context
.run('recoverPassword', payload)
.then(() => context.setState(new CompleteState()))
.catch((err = {}) => err.errors || logger.warn('Error recovering password', err));
}
goBack(context: AuthContext): void {

View File

@ -1,3 +1,5 @@
import logger from 'app/services/logger';
import AbstractState from './AbstractState';
import { AuthContext } from './AuthFlow';
import CompleteState from './CompleteState';
@ -20,7 +22,10 @@ export default class RegisterState extends AbstractState {
rulesAgreement: boolean;
},
): Promise<void> | void {
return context.run('register', payload).then(() => context.setState(new CompleteState()));
return context
.run('register', payload)
.then(() => context.setState(new CompleteState()))
.catch((err) => err.errors || logger.warn('Error registering', err));
}
reject(context: AuthContext, payload: Record<string, any>): void {

View File

@ -1,4 +1,5 @@
import { AuthContext } from 'app/services/authFlow';
import logger from 'app/services/logger';
import AbstractState from './AbstractState';
import ActivationState from './ActivationState';
@ -10,7 +11,10 @@ export default class ResendActivationState extends AbstractState {
}
resolve(context: AuthContext, payload: { email: string; captcha: string }): Promise<void> | void {
return context.run('resendActivation', payload).then(() => context.setState(new ActivationState()));
return context
.run('resendActivation', payload)
.then(() => context.setState(new ActivationState()))
.catch((err) => err.errors || logger.warn('Error resending activation', err));
}
reject(context: AuthContext): void {