30 lines
801 B
TypeScript
30 lines
801 B
TypeScript
import {Injectable} from "@angular/core";
|
|
import {HttpClient, HttpErrorResponse} from "@angular/common/http";
|
|
import {Observable} from "rxjs";
|
|
import {Stakeholder} from "../stakeholder";
|
|
import {map} from "rxjs/operators";
|
|
|
|
@Injectable()
|
|
export class StakeholderService {
|
|
|
|
|
|
constructor(private http: HttpClient) {
|
|
}
|
|
|
|
getStakeholder(id: string): Observable<Stakeholder> {
|
|
return this.http.get<any>('./assets/stakeholders.json').pipe(map(json => {
|
|
let stakeholder = json.stakeholders.filter(stakeholder => stakeholder.index_id === id)[0];
|
|
if(stakeholder) {
|
|
return stakeholder;
|
|
} else {
|
|
throw new HttpErrorResponse({
|
|
error: {
|
|
message: 'No Stakeholder has been found',
|
|
status: 404
|
|
}
|
|
})
|
|
}
|
|
}));
|
|
}
|
|
}
|