diff options
Diffstat (limited to 'client/src/app/shared/video-block')
-rw-r--r-- | client/src/app/shared/video-block/index.ts | 1 | ||||
-rw-r--r-- | client/src/app/shared/video-block/video-block.service.ts | 78 |
2 files changed, 0 insertions, 79 deletions
diff --git a/client/src/app/shared/video-block/index.ts b/client/src/app/shared/video-block/index.ts deleted file mode 100644 index a99551a38..000000000 --- a/client/src/app/shared/video-block/index.ts +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | export * from './video-block.service' | ||
diff --git a/client/src/app/shared/video-block/video-block.service.ts b/client/src/app/shared/video-block/video-block.service.ts deleted file mode 100644 index d0673ddba..000000000 --- a/client/src/app/shared/video-block/video-block.service.ts +++ /dev/null | |||
@@ -1,78 +0,0 @@ | |||
1 | import { catchError, map, concatMap, toArray } from 'rxjs/operators' | ||
2 | import { HttpClient, HttpParams } from '@angular/common/http' | ||
3 | import { Injectable } from '@angular/core' | ||
4 | import { SortMeta } from 'primeng/api' | ||
5 | import { from as observableFrom, Observable } from 'rxjs' | ||
6 | import { VideoBlacklist, VideoBlacklistType, ResultList } from '../../../../../shared' | ||
7 | import { environment } from '../../../environments/environment' | ||
8 | import { RestExtractor, RestPagination, RestService } from '../rest' | ||
9 | |||
10 | @Injectable() | ||
11 | export class VideoBlockService { | ||
12 | private static BASE_VIDEOS_URL = environment.apiUrl + '/api/v1/videos/' | ||
13 | |||
14 | constructor ( | ||
15 | private authHttp: HttpClient, | ||
16 | private restService: RestService, | ||
17 | private restExtractor: RestExtractor | ||
18 | ) {} | ||
19 | |||
20 | listBlocks (options: { | ||
21 | pagination: RestPagination | ||
22 | sort: SortMeta | ||
23 | search?: string | ||
24 | type?: VideoBlacklistType | ||
25 | }): Observable<ResultList<VideoBlacklist>> { | ||
26 | const { pagination, sort, search, type } = options | ||
27 | |||
28 | let params = new HttpParams() | ||
29 | params = this.restService.addRestGetParams(params, pagination, sort) | ||
30 | |||
31 | if (search) { | ||
32 | const filters = this.restService.parseQueryStringFilter(search, { | ||
33 | type: { | ||
34 | prefix: 'type:', | ||
35 | handler: v => { | ||
36 | if (v === 'manual') return VideoBlacklistType.MANUAL | ||
37 | if (v === 'auto') return VideoBlacklistType.AUTO_BEFORE_PUBLISHED | ||
38 | |||
39 | return undefined | ||
40 | } | ||
41 | } | ||
42 | }) | ||
43 | |||
44 | params = this.restService.addObjectParams(params, filters) | ||
45 | } | ||
46 | if (type) params = params.append('type', type.toString()) | ||
47 | |||
48 | return this.authHttp.get<ResultList<VideoBlacklist>>(VideoBlockService.BASE_VIDEOS_URL + 'blacklist', { params }) | ||
49 | .pipe( | ||
50 | map(res => this.restExtractor.convertResultListDateToHuman(res)), | ||
51 | catchError(res => this.restExtractor.handleError(res)) | ||
52 | ) | ||
53 | } | ||
54 | |||
55 | unblockVideo (videoIdArgs: number | number[]) { | ||
56 | const videoIds = Array.isArray(videoIdArgs) ? videoIdArgs : [ videoIdArgs ] | ||
57 | |||
58 | return observableFrom(videoIds) | ||
59 | .pipe( | ||
60 | concatMap(id => this.authHttp.delete(VideoBlockService.BASE_VIDEOS_URL + id + '/blacklist')), | ||
61 | toArray(), | ||
62 | catchError(err => this.restExtractor.handleError(err)) | ||
63 | ) | ||
64 | } | ||
65 | |||
66 | blockVideo (videoId: number, reason: string, unfederate: boolean) { | ||
67 | const body = { | ||
68 | unfederate, | ||
69 | reason | ||
70 | } | ||
71 | |||
72 | return this.authHttp.post(VideoBlockService.BASE_VIDEOS_URL + videoId + '/blacklist', body) | ||
73 | .pipe( | ||
74 | map(this.restExtractor.extractDataBool), | ||
75 | catchError(res => this.restExtractor.handleError(res)) | ||
76 | ) | ||
77 | } | ||
78 | } | ||