import { Injectable } from '@angular/core'; import { Store} from '@ngrx/store'; import * as appCommonReducer from '../reducers/app-common.reducer' import { IPackages } 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$:IPackages = {}; constructor(private store$: Store, public httpClient: HttpClient, public appConfig: AppConfig) { store$.select(appCommonReducer.SelectGetUserPackages).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); } }