]>
Commit | Line | Data |
---|---|---|
11fdf7f2 TL |
1 | import { Injectable } from '@angular/core'; |
2 | ||
3 | import { Permissions } from '../models/permissions'; | |
11fdf7f2 TL |
4 | |
5 | @Injectable({ | |
81eedcae | 6 | providedIn: 'root' |
11fdf7f2 TL |
7 | }) |
8 | export class AuthStorageService { | |
9 | constructor() {} | |
10 | ||
11 | set(username: string, token: string, permissions: object = {}) { | |
12 | localStorage.setItem('dashboard_username', username); | |
13 | localStorage.setItem('access_token', token); | |
14 | localStorage.setItem('dashboard_permissions', JSON.stringify(new Permissions(permissions))); | |
15 | } | |
16 | ||
17 | remove() { | |
18 | localStorage.removeItem('access_token'); | |
19 | localStorage.removeItem('dashboard_username'); | |
20 | } | |
21 | ||
22 | getToken(): string { | |
23 | return localStorage.getItem('access_token'); | |
24 | } | |
25 | ||
26 | isLoggedIn() { | |
27 | return localStorage.getItem('dashboard_username') !== null; | |
28 | } | |
29 | ||
30 | getUsername() { | |
31 | return localStorage.getItem('dashboard_username'); | |
32 | } | |
33 | ||
34 | getPermissions(): Permissions { | |
35 | return JSON.parse( | |
36 | localStorage.getItem('dashboard_permissions') || JSON.stringify(new Permissions({})) | |
37 | ); | |
38 | } | |
39 | } |