import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import { Observable } from 'rxjs/Observable';
+import 'rxjs/add/operator/catch';
+import 'rxjs/add/operator/map';
import { Search } from '../../shared';
import { SortField } from './sort-field.type';
-import { AuthHttp, AuthService, RestExtractor, RestPagination, RestService, ResultList } from '../../shared';
+import { AuthService } from '../../core';
+import { AuthHttp, RestExtractor, RestPagination, RestService, ResultList } from '../../shared';
import { Video } from './video.model';
@Injectable()
getVideo(id: string): Observable<Video> {
return this.http.get(VideoService.BASE_VIDEO_URL + id)
.map(this.restExtractor.extractDataGet)
+ .map(video_hash => new Video(video_hash))
.catch((res) => this.restExtractor.handleError(res));
}
.catch((res) => this.restExtractor.handleError(res));
}
+ reportVideo(id: string, reason: string) {
+ const body = {
+ reason
+ };
+ const url = VideoService.BASE_VIDEO_URL + id + '/abuse';
+
+ return this.authHttp.post(url, body)
+ .map(this.restExtractor.extractDataBool)
+ .catch((res) => this.restExtractor.handleError(res));
+ }
+
private extractVideos(result: ResultList) {
const videosJson = result.data;
const totalVideos = result.total;