| 1234567891011121314151617181920212223242526272829303132333435363738 |
- import { Injectable } from '@angular/core';
- import { BehaviorSubject, Observable } from 'rxjs';
- export interface User {
- id: string;
- name: string;
- department: string;
- medical_allowance: number;
- }
- @Injectable({
- providedIn: 'root'
- })
- export class SessionService {
- private currentUserSubject = new BehaviorSubject<User | null>(null);
- currentUser$: Observable<User | null> = this.currentUserSubject.asObservable();
- constructor() {
- const savedUser = localStorage.getItem('currentUser');
- if (savedUser) {
- this.currentUserSubject.next(JSON.parse(savedUser));
- }
- }
- setCurrentUser(user: User): void {
- localStorage.setItem('currentUser', JSON.stringify(user));
- this.currentUserSubject.next(user);
- }
- getCurrentUser(): User | null {
- return this.currentUserSubject.value;
- }
- logout(): void {
- localStorage.removeItem('currentUser');
- this.currentUserSubject.next(null);
- }
- }
|