1
|
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
|
import {Observable} from 'rxjs';
|
7
|
|
8
|
@Injectable({
|
9
|
providedIn: 'root'
|
10
|
})
|
11
|
export class MenuService {
|
12
|
|
13
|
constructor(private userService: UserService) {
|
14
|
}
|
15
|
|
16
|
getMenuItems() {
|
17
|
const menuItems: MenuItem[] = [];
|
18
|
|
19
|
return new Observable((observer) => {
|
20
|
this.userService.getLoggedUserProfile()
|
21
|
.subscribe((profile: UserProfile) => {
|
22
|
menuItems.push({name: 'Dashboard', routePath: 'dashboard'});
|
23
|
if (profile.role === UserType.EMPLOYER) {
|
24
|
menuItems.push({name: 'Zaměstnanci', routePath: 'employees'});
|
25
|
}
|
26
|
|
27
|
observer.next(menuItems);
|
28
|
observer.complete();
|
29
|
},
|
30
|
() => {
|
31
|
observer.next(menuItems);
|
32
|
observer.complete();
|
33
|
});
|
34
|
});
|
35
|
}
|
36
|
}
|