From d475fba1a87c92693826c1ad644093a009aa2575 Mon Sep 17 00:00:00 2001 From: "hugo.pradier2" Date: Wed, 29 May 2024 15:16:35 +0200 Subject: [PATCH] gerer le succes/echec incription si user avec login existant --- .../components/register/register.component.css | 10 ++++++++++ .../components/register/register.component.html | 8 ++++++++ .../components/register/register.component.ts | 16 +++++++++++++++- src/app/services/user.service.ts | 11 ++++++++--- 4 files changed, 41 insertions(+), 4 deletions(-) diff --git a/src/app/components/register/register.component.css b/src/app/components/register/register.component.css index 239efc4..5eb5cdd 100644 --- a/src/app/components/register/register.component.css +++ b/src/app/components/register/register.component.css @@ -6,3 +6,13 @@ .form-field { width: 100%; } + +.success-message { + color: green; + margin-top: 20px; +} + +.error-message { + color: red; + margin-top: 20px; +} diff --git a/src/app/components/register/register.component.html b/src/app/components/register/register.component.html index be44cc8..f76e7e7 100644 --- a/src/app/components/register/register.component.html +++ b/src/app/components/register/register.component.html @@ -49,4 +49,12 @@ [disabled]="email.invalid || login.invalid || password.invalid"> Créer un compte + + +
+ {{ successRegister }} +
+
+ {{ errorRegister }} +
diff --git a/src/app/components/register/register.component.ts b/src/app/components/register/register.component.ts index f64f635..c4950e4 100644 --- a/src/app/components/register/register.component.ts +++ b/src/app/components/register/register.component.ts @@ -42,6 +42,9 @@ export class RegisterComponent { errorMessage = ''; + successRegister = ''; + errorRegister = ''; + constructor(private userService: UserService) { merge(this.email.statusChanges, this.email.valueChanges) .pipe(takeUntilDestroyed()) @@ -69,6 +72,17 @@ export class RegisterComponent { password: this.password.value, }, }; - this.userService.postUser(form); + // this.userService.postUser(form); + this.userService.postUser(form).subscribe((response) => { + console.log('response :', response); + if ((response as any).success) { + this.successRegister = 'Votre compte a été créé avec succès.'; + this.errorRegister = ''; + } else { + this.errorRegister = + "L'inscription a échoué : un compte avec ce login existe déjà."; + this.successRegister = ''; + } + }); } } diff --git a/src/app/services/user.service.ts b/src/app/services/user.service.ts index 975dd7b..5a24dde 100644 --- a/src/app/services/user.service.ts +++ b/src/app/services/user.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@angular/core'; import { User } from '../models/user.model'; -import { HttpClient } from '@angular/common/http'; +import { HttpClient, HttpResponse } from '@angular/common/http'; import { Observable } from 'rxjs'; import { NgForm } from '@angular/forms'; @@ -18,12 +18,17 @@ export class UserService { return this.http.get(`${this.API_URL}/Users`); } - postUser(form: NgForm): void { + postUser(form: NgForm): Observable> { let body = { login: form.value.login, password: form.value.password, permissions: 0, }; - this.http.post(`${this.API_URL}/users`, body).subscribe(); + + return this.http.post(`${this.API_URL}/users`, body); } } + +type Response = { + success: boolean; +};