diff options
Diffstat (limited to 'client/src/app/shared/shared-main')
-rw-r--r-- | client/src/app/shared/shared-main/video/video.model.ts | 11 | ||||
-rw-r--r-- | client/src/app/shared/shared-main/video/video.service.ts | 34 |
2 files changed, 26 insertions, 19 deletions
diff --git a/client/src/app/shared/shared-main/video/video.model.ts b/client/src/app/shared/shared-main/video/video.model.ts index 10caec014..699eac7f1 100644 --- a/client/src/app/shared/shared-main/video/video.model.ts +++ b/client/src/app/shared/shared-main/video/video.model.ts | |||
@@ -65,8 +65,12 @@ export class Video implements VideoServerModel { | |||
65 | waitTranscoding?: boolean | 65 | waitTranscoding?: boolean |
66 | state?: VideoConstant<VideoState> | 66 | state?: VideoConstant<VideoState> |
67 | scheduledUpdate?: VideoScheduleUpdate | 67 | scheduledUpdate?: VideoScheduleUpdate |
68 | |||
68 | blacklisted?: boolean | 69 | blacklisted?: boolean |
69 | blockedReason?: string | 70 | blacklistedReason?: string |
71 | |||
72 | blockedOwner?: boolean | ||
73 | blockedServer?: boolean | ||
70 | 74 | ||
71 | account: { | 75 | account: { |
72 | id: number | 76 | id: number |
@@ -163,7 +167,10 @@ export class Video implements VideoServerModel { | |||
163 | if (this.state) this.state.label = peertubeTranslate(this.state.label, translations) | 167 | if (this.state) this.state.label = peertubeTranslate(this.state.label, translations) |
164 | 168 | ||
165 | this.blacklisted = hash.blacklisted | 169 | this.blacklisted = hash.blacklisted |
166 | this.blockedReason = hash.blacklistedReason | 170 | this.blacklistedReason = hash.blacklistedReason |
171 | |||
172 | this.blockedOwner = hash.blockedOwner | ||
173 | this.blockedServer = hash.blockedServer | ||
167 | 174 | ||
168 | this.userHistory = hash.userHistory | 175 | this.userHistory = hash.userHistory |
169 | 176 | ||
diff --git a/client/src/app/shared/shared-main/video/video.service.ts b/client/src/app/shared/shared-main/video/video.service.ts index 9e3aa1e6a..0a3a51b0c 100644 --- a/client/src/app/shared/shared-main/video/video.service.ts +++ b/client/src/app/shared/shared-main/video/video.service.ts | |||
@@ -18,7 +18,7 @@ import { | |||
18 | VideoConstant, | 18 | VideoConstant, |
19 | VideoDetails as VideoDetailsServerModel, | 19 | VideoDetails as VideoDetailsServerModel, |
20 | VideoFileMetadata, | 20 | VideoFileMetadata, |
21 | VideoFilter, | 21 | VideoInclude, |
22 | VideoPrivacy, | 22 | VideoPrivacy, |
23 | VideoSortField, | 23 | VideoSortField, |
24 | VideoUpdate | 24 | VideoUpdate |
@@ -34,11 +34,13 @@ import { Video } from './video.model' | |||
34 | export type CommonVideoParams = { | 34 | export type CommonVideoParams = { |
35 | videoPagination?: ComponentPaginationLight | 35 | videoPagination?: ComponentPaginationLight |
36 | sort: VideoSortField | SortMeta | 36 | sort: VideoSortField | SortMeta |
37 | filter?: VideoFilter | 37 | include?: VideoInclude |
38 | isLocal?: boolean | ||
38 | categoryOneOf?: number[] | 39 | categoryOneOf?: number[] |
39 | languageOneOf?: string[] | 40 | languageOneOf?: string[] |
40 | isLive?: boolean | 41 | isLive?: boolean |
41 | skipCount?: boolean | 42 | skipCount?: boolean |
43 | |||
42 | // FIXME: remove? | 44 | // FIXME: remove? |
43 | nsfwPolicy?: NSFWPolicyType | 45 | nsfwPolicy?: NSFWPolicyType |
44 | nsfw?: BooleanBothQuery | 46 | nsfw?: BooleanBothQuery |
@@ -202,12 +204,14 @@ export class VideoService { | |||
202 | } | 204 | } |
203 | 205 | ||
204 | getAdminVideos ( | 206 | getAdminVideos ( |
205 | parameters: Omit<CommonVideoParams, 'filter'> & { pagination: RestPagination, search?: string } | 207 | parameters: CommonVideoParams & { pagination: RestPagination, search?: string } |
206 | ): Observable<ResultList<Video>> { | 208 | ): Observable<ResultList<Video>> { |
207 | const { pagination, search } = parameters | 209 | const { pagination, search } = parameters |
208 | 210 | ||
211 | const include = VideoInclude.BLACKLISTED | VideoInclude.BLOCKED_OWNER | VideoInclude.HIDDEN_PRIVACY | VideoInclude.NOT_PUBLISHED_STATE | ||
212 | |||
209 | let params = new HttpParams() | 213 | let params = new HttpParams() |
210 | params = this.buildCommonVideosParams({ params, ...parameters }) | 214 | params = this.buildCommonVideosParams({ params, include, ...parameters }) |
211 | 215 | ||
212 | params = params.set('start', pagination.start.toString()) | 216 | params = params.set('start', pagination.start.toString()) |
213 | .set('count', pagination.count.toString()) | 217 | .set('count', pagination.count.toString()) |
@@ -216,8 +220,6 @@ export class VideoService { | |||
216 | params = this.buildAdminParamsFromSearch(search, params) | 220 | params = this.buildAdminParamsFromSearch(search, params) |
217 | } | 221 | } |
218 | 222 | ||
219 | if (!params.has('filter')) params = params.set('filter', 'all') | ||
220 | |||
221 | return this.authHttp | 223 | return this.authHttp |
222 | .get<ResultList<Video>>(VideoService.BASE_VIDEO_URL, { params }) | 224 | .get<ResultList<Video>>(VideoService.BASE_VIDEO_URL, { params }) |
223 | .pipe( | 225 | .pipe( |
@@ -266,10 +268,10 @@ export class VideoService { | |||
266 | return feeds | 268 | return feeds |
267 | } | 269 | } |
268 | 270 | ||
269 | getVideoFeedUrls (sort: VideoSortField, filter?: VideoFilter, categoryOneOf?: number[]) { | 271 | getVideoFeedUrls (sort: VideoSortField, isLocal: boolean, categoryOneOf?: number[]) { |
270 | let params = this.restService.addRestGetParams(new HttpParams(), undefined, sort) | 272 | let params = this.restService.addRestGetParams(new HttpParams(), undefined, sort) |
271 | 273 | ||
272 | if (filter) params = params.set('filter', filter) | 274 | if (isLocal) params = params.set('isLocal', isLocal) |
273 | 275 | ||
274 | if (categoryOneOf) { | 276 | if (categoryOneOf) { |
275 | for (const c of categoryOneOf) { | 277 | for (const c of categoryOneOf) { |
@@ -425,7 +427,8 @@ export class VideoService { | |||
425 | params, | 427 | params, |
426 | videoPagination, | 428 | videoPagination, |
427 | sort, | 429 | sort, |
428 | filter, | 430 | isLocal, |
431 | include, | ||
429 | categoryOneOf, | 432 | categoryOneOf, |
430 | languageOneOf, | 433 | languageOneOf, |
431 | skipCount, | 434 | skipCount, |
@@ -440,9 +443,10 @@ export class VideoService { | |||
440 | 443 | ||
441 | let newParams = this.restService.addRestGetParams(params, pagination, sort) | 444 | let newParams = this.restService.addRestGetParams(params, pagination, sort) |
442 | 445 | ||
443 | if (filter) newParams = newParams.set('filter', filter) | ||
444 | if (skipCount) newParams = newParams.set('skipCount', skipCount + '') | 446 | if (skipCount) newParams = newParams.set('skipCount', skipCount + '') |
445 | 447 | ||
448 | if (isLocal) newParams = newParams.set('isLocal', isLocal) | ||
449 | if (include) newParams = newParams.set('include', include) | ||
446 | if (isLive) newParams = newParams.set('isLive', isLive) | 450 | if (isLive) newParams = newParams.set('isLive', isLive) |
447 | if (nsfw) newParams = newParams.set('nsfw', nsfw) | 451 | if (nsfw) newParams = newParams.set('nsfw', nsfw) |
448 | if (nsfwPolicy) newParams = newParams.set('nsfw', this.nsfwPolicyToParam(nsfwPolicy)) | 452 | if (nsfwPolicy) newParams = newParams.set('nsfw', this.nsfwPolicyToParam(nsfwPolicy)) |
@@ -454,13 +458,9 @@ export class VideoService { | |||
454 | 458 | ||
455 | private buildAdminParamsFromSearch (search: string, params: HttpParams) { | 459 | private buildAdminParamsFromSearch (search: string, params: HttpParams) { |
456 | const filters = this.restService.parseQueryStringFilter(search, { | 460 | const filters = this.restService.parseQueryStringFilter(search, { |
457 | filter: { | 461 | isLocal: { |
458 | prefix: 'local:', | 462 | prefix: 'isLocal:', |
459 | handler: v => { | 463 | isBoolean: true |
460 | if (v === 'true') return 'all-local' | ||
461 | |||
462 | return 'all' | ||
463 | } | ||
464 | } | 464 | } |
465 | }) | 465 | }) |
466 | 466 | ||