]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/account/account.service.ts
Server: assert remoteId and host pair is unique
[github/Chocobozzz/PeerTube.git] / client / src / app / account / account.service.ts
index 19b4e06244680f0dda73827c3c6e5d65af9126ec..046690347482e3a6089033c67e838734279094c2 100644 (file)
@@ -1,12 +1,19 @@
 import { Injectable } from '@angular/core';
+import 'rxjs/add/operator/catch';
+import 'rxjs/add/operator/map';
 
-import { AuthHttp, AuthService } from '../shared';
+import { AuthService } from '../core';
+import { AuthHttp, RestExtractor } from '../shared';
 
 @Injectable()
 export class AccountService {
   private static BASE_USERS_URL = '/api/v1/users/';
 
-  constructor(private authHttp: AuthHttp, private authService: AuthService) {  }
+  constructor(
+    private authHttp: AuthHttp,
+    private authService: AuthService,
+    private restExtractor: RestExtractor
+  ) {}
 
   changePassword(newPassword: string) {
     const url = AccountService.BASE_USERS_URL + this.authService.getUser().id;
@@ -14,6 +21,8 @@ export class AccountService {
       password: newPassword
     };
 
-    return this.authHttp.put(url, body);
+    return this.authHttp.put(url, body)
+                        .map(this.restExtractor.extractDataBool)
+                        .catch((res) => this.restExtractor.handleError(res));
   }
 }