users.service.ts 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import { Ticket } from './../models/ticket';
  2. import { UserResponse , User } from './../models/userResponse';
  3. import { Injectable } from '@angular/core';
  4. import { HttpClient } from '@angular/common/http';
  5. import { Observable } from 'rxjs';
  6. import { environment } from 'src/environments/environment';
  7. @Injectable({
  8. providedIn: 'root'
  9. })
  10. export class UsersService {
  11. constructor(private http : HttpClient) { }
  12. //url api
  13. private apiUrl = environment.apiUrl
  14. // get all users
  15. getUsers(page: number, limit:number, lastname:string, firstname:string, email:string, adress:string, startregister, endregister): Observable <UserResponse> {
  16. if(lastname === null){lastname = ''}
  17. if(firstname === null){firstname = ''}
  18. if(email === null){email = ''}
  19. if(adress === null){adress = ''}
  20. if(startregister === null){startregister = ''}
  21. if(endregister === null){endregister = ''}
  22. return this.http.get<UserResponse>(`${this.apiUrl}/api/users/?page=${page}&limit=${limit}
  23. &lastname=${lastname}&firstname=${firstname}&email=${email}&adress=${adress}&startregister=${startregister}&endregister=${endregister}`);
  24. }
  25. // get user
  26. getOneUser(id: string): Observable <User> {
  27. return this.http.get<User>(`${this.apiUrl}/${id}`);
  28. }
  29. // edit user
  30. editOneUser(id: string, body: { isActive: boolean; }): Observable <User> {
  31. debugger;
  32. console.log("url ========",this.apiUrl);
  33. return this.http.patch<User>(`${this.apiUrl}/api/users/${id}`, body);
  34. }
  35. // delete user
  36. deleteOneUser(id: string): Observable <User> {
  37. return this.http.delete<User>(`${this.apiUrl}/api/users/${id}`);
  38. }
  39. // verifier gain user
  40. verifyLotUser(id:string, code: Ticket): Observable <Ticket> {
  41. console.log('toto')
  42. return this.http.post<Ticket>(`${this.apiUrl}/api/users/gain?id=${id}`,code);
  43. }
  44. }