import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { forkJoin } from 'rxjs'; import { Project, Dataset, Family } from '../model'; import { environment } from '../../../environments/environment'; @Injectable() export class DatasetService { private API_PATH: string = environment.apiUrl; private instanceName: string = environment.instanceName; constructor(private http: HttpClient) { } retrieveDatasetSearchMeta() { const projectList = this.retrieveProjectList(); const datasetList = this.retrieveDatasetList(); const datasetFamilyList = this.retrieveDatasetFamilyList(); return forkJoin([projectList, datasetList, datasetFamilyList]); } retrieveProjectList() { return this.http.get<Project[]>(this.API_PATH + '/project'); } retrieveDatasetList() { return this.http.get<Dataset[]>(this.API_PATH + '/instance/' + this.instanceName + '/dataset'); } retrieveDatasetFamilyList() { return this.http.get<Family[]>(this.API_PATH + '/instance/' + this.instanceName + '/dataset-family'); } }