Project

General

Profile

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

    
6
@Injectable({
7
  providedIn: "root"
8
})
9
export class StakeholderService {
10

    
11
  private stakeholderSubject: BehaviorSubject<Stakeholder> = null;
12

    
13
  constructor(private http: HttpClient) {
14
    this.stakeholderSubject = new BehaviorSubject<Stakeholder>(null);
15
  }
16

    
17
  getStakeholder(url: string, alias:string): Observable<Stakeholder> {
18
    // return new BehaviorSubject<Stakeholder>(Stakeholder.createECStakeholder()).asObservable();
19
    return this.http.get<Stakeholder>(url + '/stakeholder/' + alias);
20
  }
21

    
22
  getStakeholderAsObservable(): Observable<Stakeholder> {
23
    return this.stakeholderSubject.asObservable();
24
  }
25

    
26
  get stakeholder(): Stakeholder {
27
    return this.stakeholderSubject.getValue();
28
  }
29

    
30
  setStakeholder(stakeholder: Stakeholder) {
31
    this.stakeholderSubject.next(stakeholder);
32
  }
33
}
    (1-1/1)