1 |
4bd9d9f6
|
Hung Hoang
|
import {Injectable} from '@angular/core';
|
2 |
|
|
import {UserService} from '../api/user.service';
|
3 |
|
|
import {UserProfile} from '../../models/user.model';
|
4 |
|
|
import {MenuItem} from '../../models/menu-item.model';
|
5 |
|
|
import {UserType} from '../../enums/common.enum';
|
6 |
1b7df50a
|
Hung Hoang
|
import {Observable} from 'rxjs';
|
7 |
4bd9d9f6
|
Hung Hoang
|
|
8 |
|
|
@Injectable({
|
9 |
|
|
providedIn: 'root'
|
10 |
|
|
})
|
11 |
|
|
export class MenuService {
|
12 |
|
|
|
13 |
1c220966
|
Hung Hoang
|
constructor(private userService: UserService) {
|
14 |
|
|
}
|
15 |
4bd9d9f6
|
Hung Hoang
|
|
16 |
|
|
getMenuItems() {
|
17 |
|
|
const menuItems: MenuItem[] = [];
|
18 |
|
|
|
19 |
|
|
return new Observable((observer) => {
|
20 |
|
|
this.userService.getLoggedUserProfile()
|
21 |
|
|
.subscribe((profile: UserProfile) => {
|
22 |
1c220966
|
Hung Hoang
|
menuItems.push({name: 'Dashboard', routePath: 'dashboard'});
|
23 |
|
|
if (profile.role === UserType.EMPLOYER) {
|
24 |
|
|
menuItems.push({name: 'Zaměstnanci', routePath: 'employees'});
|
25 |
|
|
}
|
26 |
4bd9d9f6
|
Hung Hoang
|
|
27 |
1c220966
|
Hung Hoang
|
observer.next(menuItems);
|
28 |
|
|
observer.complete();
|
29 |
|
|
},
|
30 |
|
|
() => {
|
31 |
|
|
observer.next(menuItems);
|
32 |
|
|
observer.complete();
|
33 |
|
|
});
|
34 |
4bd9d9f6
|
Hung Hoang
|
});
|
35 |
|
|
}
|
36 |
|
|
}
|