diff options
Diffstat (limited to 'client/src/app/account/account.service.ts')
-rw-r--r-- | client/src/app/account/account.service.ts | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/client/src/app/account/account.service.ts b/client/src/app/account/account.service.ts new file mode 100644 index 000000000..355bcef74 --- /dev/null +++ b/client/src/app/account/account.service.ts | |||
@@ -0,0 +1,25 @@ | |||
1 | import { Injectable } from '@angular/core'; | ||
2 | |||
3 | import { AuthHttp, AuthService, RestExtractor } from '../shared'; | ||
4 | |||
5 | @Injectable() | ||
6 | export class AccountService { | ||
7 | private static BASE_USERS_URL = '/api/v1/users/'; | ||
8 | |||
9 | constructor( | ||
10 | private authHttp: AuthHttp, | ||
11 | private authService: AuthService, | ||
12 | private restExtractor: RestExtractor | ||
13 | ) {} | ||
14 | |||
15 | changePassword(newPassword: string) { | ||
16 | const url = AccountService.BASE_USERS_URL + this.authService.getUser().id; | ||
17 | const body = { | ||
18 | password: newPassword | ||
19 | }; | ||
20 | |||
21 | return this.authHttp.put(url, body) | ||
22 | .map(this.restExtractor.extractDataBool) | ||
23 | .catch((res) => this.restExtractor.handleError(res)); | ||
24 | } | ||
25 | } | ||