Projekt

Obecné

Profil

Stáhnout (1018 Bajtů) Statistiky
| Větev: | Tag: | Revize:
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
}
(3-3/4)