import {Injectable} from '@angular/core'; import {HttpClient, HttpParams} from '@angular/common/http'; import {AuthService} from './auth.service'; import {Observable} from 'rxjs'; import {PeopleModel} from '../models/people.model'; import {BrokerModel} from '../models/broker.model'; import {LoanModel} from '../models/loan.model'; import {ChangePassword} from '../models/change-password.model'; @Injectable({providedIn: 'root'}) export class PeopleService { constructor(private http: HttpClient, private auth: AuthService ){ } public getPeopleById(id: string): Observable { return this.http.get(this.auth.getUrl('people/' + id)); } public getPeopleList(filter: string): Observable<{Count: number, List: PeopleModel[]}> { const params = new HttpParams().set('filter', filter); return this.http.get<{Count: number, List: PeopleModel[]}>(this.auth.getUrl( 'people-list/'), { params}); } public getBrokerList(filter: string): Observable<{Count: number, List: BrokerModel[]}> { const params = new HttpParams().set('filter', filter); return this.http.get<{Count: number, List: BrokerModel[]}>(this.auth.getUrl( 'broker-list/'), { params}); } public syncPeople(loan: LoanModel): Observable { return this.http.post(this.auth.getUrl('sync-people/'), loan); } public updateAvatar(avatar: string, id: string ): Observable { return this.http.post(this.auth.getUrl('avatar/' + id), avatar); } public savePassword(id: string, change: ChangePassword): Observable{ return this.http.post(this.auth.getUrl('change-pass/' + id), change); } public saveBroker(broker: BrokerModel): Observable{ return this.http.post(this.auth.getUrl('broker/' + broker.Id), broker); } public saveUser(people: PeopleModel): Observable{ return this.http.post(this.auth.getUrl('people/' + people.Id), people); } }