Py-detect / src /app /auth.service.ts
Oviya
record page updated
0dcd2ca
// src/app/auth.service.ts
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root' // This makes the service available globally in the app
})
export class AuthService {
constructor() { }
// Sign-up method to handle user registration
signUp(name: string, role: string, email: string, password: string): Promise<any> {
return new Promise((resolve) => {
// Simulating storing user data in localStorage
const user = { name, role, email, password };
localStorage.setItem('user', JSON.stringify(user)); // Save user data in localStorage
localStorage.setItem('userRole', role); // Save only the role in localStorage (for later use)
resolve('User signed up');
});
}
// Sign-in method to handle user login
signIn(email: string, password: string): Promise<any> {
return new Promise((resolve, reject) => {
const user = JSON.parse(localStorage.getItem('user') || '{}');
// Check if email and password match the stored data
if (user.email === email && user.password === password) {
resolve('User signed in');
} else {
reject('Invalid credentials');
}
});
}
// Helper methods to manage user session and check if the user is logged in
isLoggedIn(): boolean {
return !!localStorage.getItem('user');
}
// Get the user's role from localStorage
getUserRole(): string | null {
return localStorage.getItem('userRole');
}
// Logout function to clear the session
logout(): void {
localStorage.removeItem('user');
localStorage.removeItem('userRole');
}
}