]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/shared/video-abuse/video-abuse.service.ts
Fix client compilation
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / video-abuse / video-abuse.service.ts
CommitLineData
df98563e
C
1import { Injectable } from '@angular/core'
2import { Http } from '@angular/http'
3import { Observable } from 'rxjs/Observable'
4import 'rxjs/add/operator/catch'
5import 'rxjs/add/operator/map'
11ac88de 6
df98563e
C
7import { AuthService } from '../core'
8import { AuthHttp } from '../auth'
9import { RestDataSource, RestExtractor, ResultList } from '../rest'
154898b0 10import { VideoAbuse } from '../../../../../shared'
11ac88de
C
11
12@Injectable()
13export class VideoAbuseService {
df98563e 14 private static BASE_VIDEO_ABUSE_URL = API_URL + '/api/v1/videos/'
11ac88de 15
df98563e 16 constructor (
11ac88de
C
17 private authHttp: AuthHttp,
18 private restExtractor: RestExtractor
19 ) {}
20
df98563e
C
21 getDataSource () {
22 return new RestDataSource(this.authHttp, VideoAbuseService.BASE_VIDEO_ABUSE_URL + 'abuse')
11ac88de
C
23 }
24
df98563e 25 reportVideo (id: string, reason: string) {
11ac88de
C
26 const body = {
27 reason
df98563e
C
28 }
29 const url = VideoAbuseService.BASE_VIDEO_ABUSE_URL + id + '/abuse'
11ac88de
C
30
31 return this.authHttp.post(url, body)
32 .map(this.restExtractor.extractDataBool)
df98563e 33 .catch((res) => this.restExtractor.handleError(res))
11ac88de
C
34 }
35
df98563e
C
36 private extractVideoAbuses (result: ResultList) {
37 const videoAbuses: VideoAbuse[] = result.data
38 const totalVideoAbuses = result.total
11ac88de 39
df98563e 40 return { videoAbuses, totalVideoAbuses }
11ac88de
C
41 }
42}