]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/shared/video-blacklist/video-blacklist.service.ts
Add ability to delete and update abuse on client
[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'
63c4db6d
C
6import { BlacklistedVideo, ResultList } from '../../../../../shared'
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
35bf0c83 20 listBlacklist (pagination: RestPagination, sort: SortMeta): Observable<ResultList<BlacklistedVideo>> {
792dbaf0
GS
21 let params = new HttpParams()
22 params = this.restService.addRestGetParams(params, pagination, sort)
23
35bf0c83 24 return this.authHttp.get<ResultList<BlacklistedVideo>>(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
35bf0c83
C
39 blacklistVideo (videoId: number) {
40 return this.authHttp.post(VideoBlacklistService.BASE_VIDEOS_URL + videoId + '/blacklist', {})
db400f44
C
41 .pipe(
42 map(this.restExtractor.extractDataBool),
43 catchError(res => this.restExtractor.handleError(res))
44 )
35bf0c83 45 }
792dbaf0 46}