// Angular Core
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';

// Services
import { ApiService } from '../api/api.service';

@Injectable({
  providedIn: 'root'
})
export class ManageCreditsService {

  constructor(private http: HttpClient, public api: ApiService) { }

  /**
        * sends respose to api service for handling
        * @param {object} response object
        * @returns {undefined}
        */
  errorCallBack(response: any) {
    this.api.errorCallback(response);
  };

  /**
   * Gets suppliers to block dropdown
   * @returns {object} promise
   */
  updateCreditInfo(data: any) {
    return this.api.create('/Credits', data);
  }

  /**
   * Gets suppliers to block dropdown
   * @returns {object} promise
   */
  listingsInfo(data: any) {
    return this.api.create('/Credits/listingsInfo', data);
  }

  /**
   * Gets suppliers to block dropdown
   * @returns {object} promise
   */
  getSuppliersToBlock() {
    return this.api.read('/Credits/getSuppliers');
  }

  /**
   * Removes credit for auction
   * @returns {object} promise
   */
  deleteCredit(creditId: number) {
    var data = {
      'credit_id': creditId
    }
    return this.api.create('/Credits', data);
  }
}
