+ getVideos (parameters: {
+ videoPagination: ComponentPaginationLight,
+ sort: VideoSortField,
+ filter?: VideoFilter,
+ categoryOneOf?: number,
+ languageOneOf?: string[],
+ skipCount?: boolean,
+ nsfw?: boolean
+ }): Observable<ResultList<Video>> {
+ const { videoPagination, sort, filter, categoryOneOf, languageOneOf, skipCount, nsfw } = parameters
+
+ const pagination = this.restService.componentPaginationToRestPagination(videoPagination)
+
+ let params = new HttpParams()
+ params = this.restService.addRestGetParams(params, pagination, sort)
+
+ if (filter) params = params.set('filter', filter)
+ if (categoryOneOf) params = params.set('categoryOneOf', categoryOneOf + '')
+ if (skipCount) params = params.set('skipCount', skipCount + '')
+
+ if (nsfw) {
+ params = params.set('nsfw', nsfw + '')
+ } else {
+ const nsfwPolicy = this.authService.isLoggedIn()
+ ? this.authService.getUser().nsfwPolicy
+ : this.userService.getAnonymousUser().nsfwPolicy
+ if (this.nsfwPolicyToFilter(nsfwPolicy)) params.set('nsfw', 'false')
+ }