Project

General

Profile

1
import {Injectable} from "@angular/core";
2
import {HttpClient, HttpErrorResponse} from "@angular/common/http";
3
import {Observable} from "rxjs";
4
import {Stakeholder} from "../utils/entities/stakeholder";
5
import {map} from "rxjs/operators";
6

    
7
@Injectable()
8
export class StakeholderService {
9

    
10
  constructor(private http: HttpClient) {
11
  }
12

    
13
  getStakeholder(alias: string): Observable<Stakeholder> {
14
    return this.http.get<any>('./assets/stakeholders.json').pipe(map(json => {
15
      let stakeholder = json.stakeholders.filter(stakeholder => stakeholder.alias === alias)[0];
16
      if (stakeholder) {
17
        stakeholder.topics = stakeholder.topics.filter(topic => topic.isActive && topic.isPublic);
18
        return stakeholder;
19
      } else {
20
        throw new HttpErrorResponse({
21
          error: {
22
            message: 'No Stakeholder has been found',
23
            status: 404
24
          }
25
        })
26
      }
27
    }));
28
  }
29
}
    (1-1/1)