From 30397b994c096625e3462d26f08301fdce881591 Mon Sep 17 00:00:00 2001 From: "hugo.pradier2" Date: Fri, 31 May 2024 11:48:02 +0200 Subject: [PATCH] ajout login fonctionnel --- src/app/components/login/login.component.css | 10 +++++ src/app/components/login/login.component.html | 8 ++++ src/app/components/login/login.component.ts | 44 ++++++++++++++++++- .../components/register/register.component.ts | 1 - src/app/services/user.service.ts | 9 ++++ 5 files changed, 70 insertions(+), 2 deletions(-) diff --git a/src/app/components/login/login.component.css b/src/app/components/login/login.component.css index 239efc4..5eb5cdd 100644 --- a/src/app/components/login/login.component.css +++ b/src/app/components/login/login.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/login/login.component.html b/src/app/components/login/login.component.html index 4b92130..8f9e3cc 100644 --- a/src/app/components/login/login.component.html +++ b/src/app/components/login/login.component.html @@ -38,4 +38,12 @@ [disabled]="login.invalid || password.invalid"> Se connecter + + +
+ {{ successLogin }} +
+
+ {{ errorLogin }} +
diff --git a/src/app/components/login/login.component.ts b/src/app/components/login/login.component.ts index 3fb5fdf..ceb0ae4 100644 --- a/src/app/components/login/login.component.ts +++ b/src/app/components/login/login.component.ts @@ -42,6 +42,9 @@ export class LoginComponent { errorMessage = ''; + successLogin = ''; + errorLogin = ''; + constructor(private userService: UserService) { merge(this.email.statusChanges, this.email.valueChanges) .pipe(takeUntilDestroyed()) @@ -58,7 +61,46 @@ export class LoginComponent { } } + // register() { + // console.log('registering user :', this.login.value); + + // const form: any = { + // value: { + // login: this.login.value, + // password: this.password.value, + // }, + // }; + // 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 = ''; + // } + // }); + // } + loginAction() { - console.log('logining user :', this.login.value); + console.log('login user :', this.login.value); + + const form: any = { + value: { + login: this.login.value, + password: this.password.value, + }, + }; + this.userService.loginUser(form).subscribe((response) => { + console.log('response :', response); + if ((response as any).success) { + this.successLogin = 'Vous êtes connecté.'; + this.errorLogin = ''; + } else { + this.errorLogin = "L'authentification a échoué."; + this.successLogin = ''; + } + }); } } diff --git a/src/app/components/register/register.component.ts b/src/app/components/register/register.component.ts index c4950e4..4ccf2dc 100644 --- a/src/app/components/register/register.component.ts +++ b/src/app/components/register/register.component.ts @@ -72,7 +72,6 @@ export class RegisterComponent { password: this.password.value, }, }; - // this.userService.postUser(form); this.userService.postUser(form).subscribe((response) => { console.log('response :', response); if ((response as any).success) { diff --git a/src/app/services/user.service.ts b/src/app/services/user.service.ts index 5a24dde..e545d12 100644 --- a/src/app/services/user.service.ts +++ b/src/app/services/user.service.ts @@ -27,6 +27,15 @@ export class UserService { return this.http.post(`${this.API_URL}/users`, body); } + + loginUser(form: NgForm): Observable> { + let body = { + login: form.value.login, + password: form.value.password, + }; + + return this.http.post(`${this.API_URL}/users/login`, body); + } } type Response = {