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
|
}
|