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

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

  constructor(private http: HttpClient, 
    private authService: AuthServiceService,
    private spinner: NgxSpinnerService, 
    private toastr: ToastrService) { }

    //get achievements list 
    getAchievementsList(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 user 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 user 
    deleteAchievement(achievementsIds) {
      console.log(achievementsIds);
      return this.http.post(this.authService.pathApi + '/delete_achievements' , {'achievements_id' : achievementsIds});
    };

    //add
    addAchievements(dataAchievements) {
      console.log(dataAchievements);
      return this.http.post(this.authService.pathApi + '/add_achievement', dataAchievements);
    };

    //edit
    editAchievement( dataAchievementEdit, EditAchievementId){
      const editData = dataAchievementEdit;
      editData.id = EditAchievementId;
      console.log(editData);
      return this.http.post(this.authService.pathApi + '/edit_achievement', editData);
    };

    //get data of one element
    getAchievementData(achievId: number) {
      return this.http.get(this.authService.pathApi + '/get_achievement/' + achievId);
    };


}
