Project

General

Profile

1
import { environment } from 'src/environments/environment';
2
import {GenericRestService} from '../generic-rest.service';
3
import { Injectable } from '@angular/core';
4
import { HttpClient } from '@angular/common/http';
5
import { Observable } from 'rxjs';
6
import { RtaUser } from '../../models/rta-user.interface';
7
import { UserAccess } from '../../models/user-access.interface';
8
import { AssignUpdateRole } from '../../models/request/assign-update-role.interface';
9
import { UserAutoComplete } from '../../models/response/user-autocomplete.interface';
10
import { IPowerClient } from '../../models/ipower-client.interface';
11

    
12
@Injectable({
13
  providedIn: 'root'
14
})
15
export class UsersService extends GenericRestService<RtaUser> {
16

    
17
  constructor(private http: HttpClient) {
18
    super(`${environment.baseApiUrl}${environment.apiUrl.usersWs}/users`, http); // TODO: Change this when GenericRestService<> changes.
19
  }
20

    
21
  assignNewRole(assignUpdateRole: AssignUpdateRole): Observable<UserAccess> {
22
    return this.http.post<UserAccess>(this.baseUrl + '/assignRoleToUser',assignUpdateRole);
23
  }
24

    
25
  disableUserRole(id:number): Observable<UserAccess> {
26
    return this.http.put<UserAccess>(this.baseUrl + '/disableUserRole/' + id, { responseType: 'text' });
27
  }
28

    
29
  getUserCodeAutoComplete(code: string): Observable<UserAutoComplete[]> {
30
    return this.http.get<UserAutoComplete[]>(this.baseUrl + '/autocomplete/code' , {params: {code}});
31
  }
32

    
33
  getUserNameAutocomplete(name: string): Observable<UserAutoComplete[]> {
34
    return this.http.get<UserAutoComplete[]>(this.baseUrl + '/autocomplete/name' , {params: {name}});
35
  }
36

    
37
  getUserSurnameAutoComplete(surname: string): Observable<UserAutoComplete[]> {
38
    return this.http.get<UserAutoComplete[]>(this.baseUrl + '/autocomplete/surname' , {params: {surname}});
39
  }
40

    
41
  getUserEmailAutoComplete(email: string): Observable<UserAutoComplete[]> {
42
    return this.http.get<UserAutoComplete[]>(this.baseUrl + '/autocomplete/email' , {params: {email}});
43
  }
44

    
45
  getClientsByCode(code: string): Observable<IPowerClient[]> {
46
    return this.http.get<IPowerClient[]>(this.baseUrl + '/clientsByCodeOnly' , {params: {code}});
47
  }
48
}
(4-4/4)