monitor-dashboard/src/app/services/stakeholder.service.ts

34 lines
1002 B
TypeScript

import {Injectable} from "@angular/core";
import {HttpClient} from "@angular/common/http";
import {BehaviorSubject, Observable} from "rxjs";
import {Stakeholder} from "../utils/entities/stakeholder";
@Injectable({
providedIn: "root"
})
export class StakeholderService {
private stakeholderSubject: BehaviorSubject<Stakeholder> = null;
constructor(private http: HttpClient) {
this.stakeholderSubject = new BehaviorSubject<Stakeholder>(null);
}
getStakeholder(url: string, alias:string): Observable<Stakeholder> {
// return new BehaviorSubject<Stakeholder>(Stakeholder.createECStakeholder()).asObservable();
return this.http.get<Stakeholder>(url + '/stakeholder/' + alias);
}
getStakeholderAsObservable(): Observable<Stakeholder> {
return this.stakeholderSubject.asObservable();
}
get stakeholder(): Stakeholder {
return this.stakeholderSubject.getValue();
}
setStakeholder(stakeholder: Stakeholder) {
this.stakeholderSubject.next(stakeholder);
}
}