Skip to content
Snippets Groups Projects
tiles.service.ts 1.16 KiB
Newer Older
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;
    }));
  }
}