import {Injectable} from '@angular/core'; import {Store} from '@ngrx/store'; import * as appCommonReducer from '../reducers/app-common.reducer'; import {IPackage} from '../models/package'; import {IItem} from '../models/item'; import {IItemTask} from '../models/itemTask'; import {HttpClient} from '@angular/common/http'; import {AppConfig} from '../shared/app.config'; import {Observable} from 'rxjs'; @Injectable({ providedIn: 'root', }) export class PackageService { private packages: {[key: string]: IPackage} = {}; constructor(private store$: Store, public httpClient: HttpClient, public appConfig: AppConfig) { store$.select(appCommonReducer.SelectGetValidUserPackages).subscribe((packages) => { this.packages = packages; }); } ApiEndpoint() { return this.appConfig.getConfig("apiEndPoint"); } hasPackage(id:string):boolean { if(!this.packages[id]) return false; return this.packages[id].enabled ? this.packages[id].enabled === true : true; } postItemPackageTask(item: IItem, task: IItemTask): Observable { return this.httpClient.post(`${this.ApiEndpoint()}/api/v1/items/${item.code}/packagetasks`, task); } }