1 import { Injectable } from '@angular/core';
2 import { Observable } from 'rxjs/Observable';
4 import { Friend } from './friend.model';
5 import { AuthHttp, RestExtractor, ResultList } from '../../../shared';
8 export class FriendService {
9 private static BASE_FRIEND_URL: string = '/api/v1/pods/';
12 private authHttp: AuthHttp,
13 private restExtractor: RestExtractor
17 return this.authHttp.get(FriendService.BASE_FRIEND_URL)
18 .map(this.restExtractor.extractDataList)
19 .map(this.extractFriends)
20 .catch((res) => this.restExtractor.handleError(res));
23 makeFriends(notEmptyHosts) {
28 return this.authHttp.post(FriendService.BASE_FRIEND_URL + 'makefriends', body)
29 .map(this.restExtractor.extractDataBool)
30 .catch((res) => this.restExtractor.handleError(res));
34 return this.authHttp.get(FriendService.BASE_FRIEND_URL + 'quitfriends')
35 .map(res => res.status)
36 .catch((res) => this.restExtractor.handleError(res));
39 private extractFriends(result: ResultList) {
40 const friends: Friend[] = result.data;
41 const totalFriends = result.total;
43 return { friends, totalFriends };