]>
Commit | Line | Data |
---|---|---|
df98563e | 1 | import { Injectable } from '@angular/core' |
d592e0a9 | 2 | import { HttpClient } from '@angular/common/http' |
df98563e C |
3 | import 'rxjs/add/operator/catch' |
4 | import 'rxjs/add/operator/map' | |
629d8d6f | 5 | |
df98563e | 6 | import { RestExtractor } from '../rest' |
8094a898 | 7 | import { UserCreate, UserUpdateMe } from '../../../../../shared' |
629d8d6f C |
8 | |
9 | @Injectable() | |
e2a2d6c8 | 10 | export class UserService { |
df98563e | 11 | static BASE_USERS_URL = API_URL + '/api/v1/users/' |
629d8d6f | 12 | |
df98563e | 13 | constructor ( |
d592e0a9 | 14 | private authHttp: HttpClient, |
de59c48f C |
15 | private restExtractor: RestExtractor |
16 | ) {} | |
629d8d6f | 17 | |
df98563e | 18 | changePassword (newPassword: string) { |
8094a898 C |
19 | const url = UserService.BASE_USERS_URL + 'me' |
20 | const body: UserUpdateMe = { | |
629d8d6f | 21 | password: newPassword |
df98563e | 22 | } |
629d8d6f | 23 | |
de59c48f C |
24 | return this.authHttp.put(url, body) |
25 | .map(this.restExtractor.extractDataBool) | |
d592e0a9 | 26 | .catch(res => this.restExtractor.handleError(res)) |
629d8d6f | 27 | } |
af5e743b | 28 | |
8094a898 C |
29 | updateMyDetails (details: UserUpdateMe) { |
30 | const url = UserService.BASE_USERS_URL + 'me' | |
af5e743b C |
31 | |
32 | return this.authHttp.put(url, details) | |
33 | .map(this.restExtractor.extractDataBool) | |
d592e0a9 | 34 | .catch(res => this.restExtractor.handleError(res)) |
af5e743b | 35 | } |
a184c71b | 36 | |
4771e000 | 37 | signup (userCreate: UserCreate) { |
d592e0a9 | 38 | return this.authHttp.post(UserService.BASE_USERS_URL + 'register', userCreate) |
a184c71b | 39 | .map(this.restExtractor.extractDataBool) |
d592e0a9 | 40 | .catch(res => this.restExtractor.handleError(res)) |
a184c71b | 41 | } |
629d8d6f | 42 | } |