import { Injectable } from '@angular/core';
import { AuthServiceService } from './auth-service.service';
import { HttpClient } from '@angular/common/http';
import { NgxSpinnerService } from 'ngx-spinner';
import { ToastrService } from 'ngx-toastr';

@Injectable({
  providedIn: 'root'
})
export class MainMenuService {
  constructor(private http: HttpClient, 
    private spinner: NgxSpinnerService, 
    private toastr: ToastrService, 
    private authService: AuthServiceService) { }

      //get externals list 
  getMainList(pageId: number, currentPage: number, dataTableNumber: number){
    this.spinner.show();
    console.log(this.authService.pathApi +'/page_list/' + pageId + '/' + currentPage + '/' + dataTableNumber + '/all');
    return this.http.get(this.authService.pathApi +'/page_list/' + pageId + '/' + currentPage + '/' + dataTableNumber + '/all');
  }

   //get data data from searchBar 
   getDataUSerSearchBar(data, pageId, pagenationNumber, dataTableNumber) {
    console.log('url', this.authService.pathApi + '/page_list' + '/' + pageId + '/' + pagenationNumber + '/' + dataTableNumber + '/all/' + data);
     return this.http.get(this.authService.pathApi + '/page_list' + '/' + pageId + '/' + pagenationNumber + '/' + dataTableNumber + '/all/' + data);
  }

  //delete data 
  deleteMain(mainsIds) {
    return this.http.post(this.authService.pathApi + '/delete_menus' , {'menus_id' : mainsIds});
  };

  //add external 
  addMain(dataMains) {
    console.log(dataMains);
    return this.http.post(this.authService.pathApi + '/add_menu', dataMains);
  }

  //get external data
  getMenuData(menuId: number) {
    return this.http.get(this.authService.pathApi + '/get_menu/' + menuId);
  };

  //edit extrnal
  editMenu( dataMenuEdit,EditMenuId){
    const editData = dataMenuEdit;
    editData.id = EditMenuId;
    console.log(editData);
    return this.http.post(this.authService.pathApi + '/edit_menu', editData);
  }

  //get parent list 
  getParentList() {
    return this.http.get(this.authService.pathApi + '/parents_list');
  }

}
