import { Injectable } from '@angular/core'
import { HttpClient } from '@angular/common/http'
import 'rxjs/add/operator/toPromise'

import { HelperService } from './svc.helper'

@Injectable()
export class FacetService {

    constructor(
        private http: HttpClient,
        private helper: HelperService
    ) { }

    api = this.helper.server+'feed/get/faceted-search'
    search = this.helper.server+'feed/get/search'
    key = this.helper.credentials

    private handleError(error: any): Promise<any> {
        console.error('An error occurred', error); // for demo purposes only
        return Promise.reject(error.message || error);
    }


    getFacetFilter(): Promise<any> {
        return this.http.get(this.api + this.key + '&force').toPromise()
        .then((response: any) => {
            return response.data
        }).catch(this.handleError)
    }

    getProductsResult(): Promise<any> {
        return this.http.get(this.search + this.key + '&force&extend').toPromise()
        .then((response: any) => {
            return response.data
        }).catch(this.handleError)
    }

    /*
        getDesignersByUrlKey(designer: string): Promise<any> {
        return this.http.get(this.singleDesignerByUrlKey+designer+'&wrapContent')
            .toPromise()
            .then(response => response.json().data)
            .catch(this.handleError)
    }
    */

}