import {Injectable} from '@angular/core'; import {HttpClient, HttpHeaders} from "@angular/common/http"; import {ConfigurationService} from "../env/configuration.service"; import {Observable} from "rxjs"; import {map} from "rxjs/operators"; import {Schedblock} from "../model/schedblock"; @Injectable({ providedIn: 'root' }) export class SchedblocksService { endPoint: string = '/services/schedblocks/'; constructor(private http: HttpClient, private configService: ConfigurationService) { } public getSchedblocks(): Observable<Array<Schedblock>> { return this.http.get<Array<Schedblock>>(this.configService.config.url + this.endPoint, {observe: 'response'}).pipe( map(response => { return response.body; })); } public createSchedblock(epoch: string, sbname: string, sbid: number, minitiles: string): Observable<Schedblock> { const paramObj = { epoch: Number(epoch), sbname: sbname, sbid: sbid, minitiles: minitiles } let headers = new HttpHeaders(); headers = headers.append('content-type', 'application/json'); return this.http.post<Schedblock>(this.configService.config.url + this.endPoint + 'generateEverything', paramObj, {headers: headers, observe: "response"}).pipe( map(response => { return response.body; }) ); } }