import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { forkJoin } from 'rxjs';

import { Family, Category } from '../model';
import { environment } from '../../../environments/environment';

@Injectable()
export class OutputService {
    private API_PATH: string = environment.apiUrl;

    constructor(private http: HttpClient) { }

    retrieveOutputSearchMeta() {
        const outputFamilyList = this.retrieveOutputFamilyList();
        const categoryList = this.retrieveCategoryList();

        return forkJoin([outputFamilyList, categoryList]);
    }

    retrieveOutputFamilyList() {
        return this.http.get<Family[]>(this.API_PATH + '/family/output');
    }

    retrieveCategoryList() {
        return this.http.get<Category[]>(this.API_PATH + '/output-category');
    }
}