From e7e43839eb3de8ffb29b63472dbe17fc83643519 Mon Sep 17 00:00:00 2001 From: Phan Huy Tran Date: Wed, 14 May 2025 10:37:08 +0200 Subject: [PATCH] refactor: fix linter, adjust errorhandling --- .../auth/register/register.component.ts | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/frontend/src/app/feature/auth/register/register.component.ts b/frontend/src/app/feature/auth/register/register.component.ts index a916388..4b240f5 100644 --- a/frontend/src/app/feature/auth/register/register.component.ts +++ b/frontend/src/app/feature/auth/register/register.component.ts @@ -16,7 +16,7 @@ export class RegisterComponent { registerForm: FormGroup; errorMessage = signal(''); isLoading = signal(false); - fieldErrors = signal<{ [key: string]: string }>({}); + fieldErrors = signal>({}); constructor( private fb: FormBuilder, @@ -51,7 +51,6 @@ export class RegisterComponent { this.authService.register(registerRequest).subscribe({ next: () => { - // After registration, log in the user this.authService .login({ usernameOrEmail: registerRequest.email, @@ -73,18 +72,20 @@ export class RegisterComponent { this.isLoading.set(false); if (err.status === 409) { - const errorResponse = err.error; - - if (errorResponse?.message === 'Email is already in use') { - this.fieldErrors.update((errors) => ({ - ...errors, - email: 'Diese E-Mail-Adresse wird bereits verwendet.', - })); - } else if (errorResponse?.message === 'Username is already taken') { - this.fieldErrors.update((errors) => ({ - ...errors, - username: 'Dieser Benutzername ist bereits vergeben.', - })); + const message = err.error?.message; + switch (message) { + case 'Email is already in use': + this.fieldErrors.update(errors => ({ + ...errors, + email: 'Diese E-Mail-Adresse wird bereits verwendet.' + })); + break; + case 'Username is already taken': + this.fieldErrors.update(errors => ({ + ...errors, + username: 'Dieser Benutzername ist bereits vergeben.' + })); + break; } } else { this.errorMessage.set(err.error?.message || 'Failed to register. Please try again.');