From e8a7200b5fc36c2b85ad91a75c8bf06f459f4d95 Mon Sep 17 00:00:00 2001 From: Arun Jadhav Date: Thu, 26 Sep 2024 17:07:19 +0530 Subject: [PATCH] New changes --- src/app/_services/auth.service.ts | 22 ++++++++++++++++++++ src/app/_shared/login/login.component.ts | 19 ++++++++++++++++- src/app/_shared/sign-up/sign-up.component.ts | 19 +++++++++++++++-- 3 files changed, 57 insertions(+), 3 deletions(-) diff --git a/src/app/_services/auth.service.ts b/src/app/_services/auth.service.ts index a0ce629..53c83a2 100644 --- a/src/app/_services/auth.service.ts +++ b/src/app/_services/auth.service.ts @@ -3,6 +3,8 @@ import { BehaviorSubject, Observable } from 'rxjs'; import { User } from '../_models'; import { Router } from '@angular/router'; import { HttpClient } from '@angular/common/http'; +import { map } from 'rxjs/operators'; +import { environment } from 'src/environments/environment'; @Injectable({ providedIn: 'root' @@ -22,4 +24,24 @@ export class AuthService { public get userValue(): User { return this.userSubject.value; } + + + + // API's + + login(adminData: any) { + return this.http + .post(`${environment.apiUrl}authorize/web-login/`, adminData) + .pipe( + map((user) => { + localStorage.removeItem('currentUser'); + if (user && user.token) { + localStorage.setItem('currentUser', JSON.stringify(user)); + localStorage.setItem('token', user.token.access); + this.userSubject.next(user); + } + return user; + }) + ); + } } diff --git a/src/app/_shared/login/login.component.ts b/src/app/_shared/login/login.component.ts index 47aab98..232e96c 100644 --- a/src/app/_shared/login/login.component.ts +++ b/src/app/_shared/login/login.component.ts @@ -1,5 +1,7 @@ import { Component, OnInit } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { Router } from '@angular/router'; +import { AuthService } from 'src/app/_services'; @Component({ selector: 'app-login', @@ -10,7 +12,7 @@ export class LoginComponent implements OnInit { public loginForm!: FormGroup public submited: boolean = false - constructor(private formBuilder: FormBuilder) { } + constructor(private formBuilder: FormBuilder,private auth:AuthService, private router: Router) { } ngOnInit(): void { this.loginForm = this.formBuilder.group( @@ -35,7 +37,22 @@ export class LoginComponent implements OnInit { this.submited = true; return; } + const reqObj = { + userName: this.loginForm.value.username, + password: this.loginForm.value.password, + }; + + this.auth.login(reqObj).subscribe( + (data: any) => { + this.router.navigateByUrl('/admin/dashboard'); + }, + (error) => { + localStorage.clear(); + } + ); } + + } diff --git a/src/app/_shared/sign-up/sign-up.component.ts b/src/app/_shared/sign-up/sign-up.component.ts index 668291e..180b1d8 100644 --- a/src/app/_shared/sign-up/sign-up.component.ts +++ b/src/app/_shared/sign-up/sign-up.component.ts @@ -1,6 +1,8 @@ import { Component, OnInit } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { Router } from '@angular/router'; import { ConfirmPasswordValidator } from 'src/app/_helper/matchpassword.validators'; +import { AuthService } from 'src/app/_services'; @Component({ selector: 'app-sign-up', templateUrl: './sign-up.component.html', @@ -9,14 +11,13 @@ import { ConfirmPasswordValidator } from 'src/app/_helper/matchpassword.validato export class SignUpComponent implements OnInit { public signupForm!: FormGroup; public submitted: boolean = false; - constructor(private formBuilder: FormBuilder) {} + constructor(private formBuilder: FormBuilder, private router: Router, private auth: AuthService) {} ngOnInit(): void { this.signupForm = this.formBuilder.group( { fullname: ['', Validators.required], imei: ['', Validators.required], - email: ['', [Validators.required, Validators.email]], password: [ '', [ @@ -42,5 +43,19 @@ export class SignUpComponent implements OnInit { this.submitted = true; return; } + const reqObj = { + fullName: this.signupForm.value.fullname, + imei: this.signupForm.value.imei, + password: this.signupForm.value.password, + confirmPassword : this.signupForm.value.confirmPassword, + }; + this.auth.login(reqObj).subscribe( + (data: any) => { + this.router.navigateByUrl('/login'); + }, + (error) => { + localStorage.clear(); + } + ); } }