| |
| import { Injectable } from '@angular/core'; |
|
|
| @Injectable({ |
| providedIn: 'root' |
| }) |
| export class AuthService { |
|
|
| constructor() { } |
|
|
| |
| signUp(name: string, role: string, email: string, password: string): Promise<any> { |
| return new Promise((resolve) => { |
| |
| const user = { name, role, email, password }; |
| localStorage.setItem('user', JSON.stringify(user)); |
| localStorage.setItem('userRole', role); |
| resolve('User signed up'); |
| }); |
| } |
|
|
| |
| signIn(email: string, password: string): Promise<any> { |
| return new Promise((resolve, reject) => { |
| const user = JSON.parse(localStorage.getItem('user') || '{}'); |
| |
| if (user.email === email && user.password === password) { |
| resolve('User signed in'); |
| } else { |
| reject('Invalid credentials'); |
| } |
| }); |
| } |
|
|
| |
| isLoggedIn(): boolean { |
| return !!localStorage.getItem('user'); |
| } |
|
|
| |
| getUserRole(): string | null { |
| return localStorage.getItem('userRole'); |
| } |
|
|
| |
| logout(): void { |
| localStorage.removeItem('user'); |
| localStorage.removeItem('userRole'); |
| } |
| } |
|
|