Skip to content
Snippets Groups Projects
dataset.service.ts 1.11 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 {
    private API_PATH: string = environment.apiUrl;
Tifenn Guillas's avatar
Tifenn Guillas committed
    private instanceName: string = 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() {
Tifenn Guillas's avatar
Tifenn Guillas committed
        const projectList = this.retrieveProjectList();
        const datasetList = this.retrieveDatasetList();
        const datasetFamilyList = this.retrieveDatasetFamilyList();
François Agneray's avatar
François Agneray committed

        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() {
Tifenn Guillas's avatar
Tifenn Guillas committed
        return this.http.get<Dataset[]>(this.API_PATH + '/instance/' + this.instanceName + '/dataset');
François Agneray's avatar
François Agneray committed
    }

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