]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+admin/users/shared/user.service.ts
Add email to users
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / users / shared / user.service.ts
index d9005b213e510a75ce1aa8e886eef0006ae58baa..a92f9c23170e058f09e1e45951e980be6eca2b2a 100644 (file)
@@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
 import 'rxjs/add/operator/catch';
 import 'rxjs/add/operator/map';
 
-import { AuthHttp, RestExtractor, ResultList, User } from '../../../shared';
+import { AuthHttp, RestExtractor, RestDataSource, User } from '../../../shared';
 
 @Injectable()
 export class UserService {
@@ -14,9 +14,10 @@ export class UserService {
     private restExtractor: RestExtractor
   ) {}
 
-  addUser(username: string, password: string) {
+  addUser(username: string, password: string, email: string) {
     const body = {
       username,
+      email,
       password
     };
 
@@ -25,25 +26,11 @@ export class UserService {
                         .catch(this.restExtractor.handleError);
   }
 
-  getUsers() {
-    return this.authHttp.get(UserService.BASE_USERS_URL)
-                 .map(this.restExtractor.extractDataList)
-                 .map(this.extractUsers)
-                 .catch((res) => this.restExtractor.handleError(res));
+  getDataSource() {
+    return new RestDataSource(this.authHttp, UserService.BASE_USERS_URL);
   }
 
   removeUser(user: User) {
     return this.authHttp.delete(UserService.BASE_USERS_URL + user.id);
   }
-
-  private extractUsers(result: ResultList) {
-    const usersJson = result.data;
-    const totalUsers = result.total;
-    const users = [];
-    for (const userJson of usersJson) {
-      users.push(new User(userJson));
-    }
-
-    return { users, totalUsers };
-  }
 }