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 {
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) {
.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 };
- }
}