Skip to content
Snippets Groups Projects
dataset.service.ts 1.02 KiB
Newer Older
François Agneray's avatar
François Agneray committed
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
François Agneray's avatar
François Agneray committed
import { forkJoin } from 'rxjs';
François Agneray's avatar
François Agneray committed

import { Project, Dataset, Family } from '../model';
François Agneray's avatar
François Agneray committed
import { environment } from '../../../environments/environment';

@Injectable()
export class DatasetService {
François Agneray's avatar
François Agneray committed
    private API_PATH: string = environment.apiUrl + '/metadata/' + environment.instanceName;
François Agneray's avatar
François Agneray committed

    constructor(private http: HttpClient) { }

François Agneray's avatar
François Agneray committed
    retrieveDatasetSearchMeta() {
        let projectList = this.retrieveProjectList();
        let datasetList = this.retrieveDatasetList();
        let datasetFamilyList = this.retrieveDatasetFamilyList();

        return forkJoin([projectList, datasetList, datasetFamilyList]);
    }

François Agneray's avatar
François Agneray committed
    retrieveProjectList() {
François Agneray's avatar
François Agneray committed
        return this.http.get<Project[]>(this.API_PATH + '/project');
François Agneray's avatar
François Agneray committed
    }

    retrieveDatasetList() {
        return this.http.get<Dataset[]>(this.API_PATH + '/dataset');
    }

    retrieveDatasetFamilyList() {
        return this.http.get<Family[]>(this.API_PATH + '/family/dataset');
François Agneray's avatar
François Agneray committed
    }
}