]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+admin/friends/shared/friend.service.ts
Client: replace simple tables by ng2 smart table component
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / friends / shared / friend.service.ts
index e97459385dd4aa9e842cf2beb67fbcdfb28a1449..6cb84f5cde09ca41aaeadde480979de3e08bd642 100644 (file)
@@ -3,8 +3,10 @@ import { Observable } from 'rxjs/Observable';
 import 'rxjs/add/operator/catch';
 import 'rxjs/add/operator/map';
 
+import { ServerDataSource } from 'ng2-smart-table';
+
 import { Friend } from './friend.model';
-import { AuthHttp, RestExtractor, ResultList } from '../../../shared';
+import { AuthHttp, RestExtractor, RestDataSource, ResultList } from '../../../shared';
 
 @Injectable()
 export class FriendService {
@@ -15,11 +17,8 @@ export class FriendService {
     private restExtractor: RestExtractor
   ) {}
 
-  getFriends() {
-    return this.authHttp.get(FriendService.BASE_FRIEND_URL)
-                        .map(this.restExtractor.extractDataList)
-                        .map(this.extractFriends)
-                        .catch((res) => this.restExtractor.handleError(res));
+  getDataSource() {
+    return new RestDataSource(this.authHttp, FriendService.BASE_FRIEND_URL);
   }
 
   makeFriends(notEmptyHosts) {
@@ -37,11 +36,4 @@ export class FriendService {
                         .map(res => res.status)
                         .catch((res) => this.restExtractor.handleError(res));
   }
-
-  private extractFriends(result: ResultList) {
-    const friends: Friend[] = result.data;
-    const totalFriends = result.total;
-
-    return { friends, totalFriends };
-  }
 }