]>
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 C |
18 | checkTokenValidity () { |
19 | const url = UserService.BASE_USERS_URL + 'me' | |
e2a2d6c8 | 20 | |
8094a898 | 21 | // AuthHttp will redirect us to the login page if the token is not valid anymore |
df98563e | 22 | this.authHttp.get(url).subscribe() |
e2a2d6c8 C |
23 | } |
24 | ||
df98563e | 25 | changePassword (newPassword: string) { |
8094a898 C |
26 | const url = UserService.BASE_USERS_URL + 'me' |
27 | const body: UserUpdateMe = { | |
629d8d6f | 28 | password: newPassword |
df98563e | 29 | } |
629d8d6f | 30 | |
de59c48f C |
31 | return this.authHttp.put(url, body) |
32 | .map(this.restExtractor.extractDataBool) | |
d592e0a9 | 33 | .catch(res => this.restExtractor.handleError(res)) |
629d8d6f | 34 | } |
af5e743b | 35 | |
8094a898 C |
36 | updateMyDetails (details: UserUpdateMe) { |
37 | const url = UserService.BASE_USERS_URL + 'me' | |
af5e743b C |
38 | |
39 | return this.authHttp.put(url, details) | |
40 | .map(this.restExtractor.extractDataBool) | |
d592e0a9 | 41 | .catch(res => this.restExtractor.handleError(res)) |
af5e743b | 42 | } |
a184c71b | 43 | |
4771e000 | 44 | signup (userCreate: UserCreate) { |
d592e0a9 | 45 | return this.authHttp.post(UserService.BASE_USERS_URL + 'register', userCreate) |
a184c71b | 46 | .map(this.restExtractor.extractDataBool) |
d592e0a9 | 47 | .catch(res => this.restExtractor.handleError(res)) |
a184c71b | 48 | } |
629d8d6f | 49 | } |