]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/shared/video-blacklist/video-blacklist.service.ts
Update credits
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / video-blacklist / video-blacklist.service.ts
CommitLineData
db400f44 1import { catchError, map } from 'rxjs/operators'
792dbaf0 2import { HttpClient, HttpParams } from '@angular/common/http'
63c4db6d
C
3import { Injectable } from '@angular/core'
4import { SortMeta } from 'primeng/components/common/sortmeta'
db400f44 5import { Observable } from 'rxjs'
191764f3 6import { VideoBlacklist, ResultList } from '../../../../../shared'
63c4db6d 7import { environment } from '../../../environments/environment'
35bf0c83 8import { RestExtractor, RestPagination, RestService } from '../rest'
792dbaf0
GS
9
10@Injectable()
35bf0c83 11export class VideoBlacklistService {
63c4db6d 12 private static BASE_VIDEOS_URL = environment.apiUrl + '/api/v1/videos/'
792dbaf0
GS
13
14 constructor (
15 private authHttp: HttpClient,
16 private restService: RestService,
17 private restExtractor: RestExtractor
18 ) {}
19
191764f3 20 listBlacklist (pagination: RestPagination, sort: SortMeta): Observable<ResultList<VideoBlacklist>> {
792dbaf0
GS
21 let params = new HttpParams()
22 params = this.restService.addRestGetParams(params, pagination, sort)
23
191764f3 24 return this.authHttp.get<ResultList<VideoBlacklist>>(VideoBlacklistService.BASE_VIDEOS_URL + 'blacklist', { params })
db400f44
C
25 .pipe(
26 map(res => this.restExtractor.convertResultListDateToHuman(res)),
27 catchError(res => this.restExtractor.handleError(res))
28 )
792dbaf0
GS
29 }
30
35bf0c83
C
31 removeVideoFromBlacklist (videoId: number) {
32 return this.authHttp.delete(VideoBlacklistService.BASE_VIDEOS_URL + videoId + '/blacklist')
db400f44
C
33 .pipe(
34 map(this.restExtractor.extractDataBool),
35 catchError(res => this.restExtractor.handleError(res))
36 )
792dbaf0
GS
37 }
38
26b7305a
C
39 blacklistVideo (videoId: number, reason?: string) {
40 const body = reason ? { reason } : {}
41
42 return this.authHttp.post(VideoBlacklistService.BASE_VIDEOS_URL + videoId + '/blacklist', body)
db400f44
C
43 .pipe(
44 map(this.restExtractor.extractDataBool),
45 catchError(res => this.restExtractor.handleError(res))
46 )
35bf0c83 47 }
792dbaf0 48}