import {Injectable} from '@angular/core'; import {HttpClient, HttpParams} from "@angular/common/http"; import {Observable} from "rxjs"; import {ConfigurationService} from "../env/configuration.service"; import {map} from "rxjs/operators"; import {Tile, TileDefinition} from "../model/tile"; @Injectable({ providedIn: 'root' }) export class TilesService { endPoint: string = '/services/minitiles/'; constructor(private configService: ConfigurationService, private http: HttpClient) { } public getTilesForEpoch(pattern: string, epoch: number): Observable<Array<Tile>> { let params = new HttpParams(); params = params.append('pattern', pattern); return this.http.get<Array<Tile>>(this.configService.config.url + this.endPoint + 'summary/epoch/' + epoch.toString(), { observe: 'response', params: params }).pipe(map(response => { return response.body; })); } public getTileDefinition(id: number): Observable<TileDefinition> { return this.http.get<TileDefinition>(this.configService.config.url + this.endPoint + id + '/definitions', {observe: 'response'}).pipe(map(response => { return response.body; })); } }