+
+ searchVideoPlaylists (parameters: {
+ search?: string
+ advancedSearch?: AdvancedSearch
+ componentPagination?: ComponentPaginationLight
+ uuids?: string[]
+ }): Observable<ResultList<VideoPlaylist>> {
+ const { search, advancedSearch, componentPagination, uuids } = parameters
+
+ const url = SearchService.BASE_SEARCH_URL + 'video-playlists'
+
+ let pagination: RestPagination
+ if (componentPagination) {
+ pagination = this.restService.componentPaginationToRestPagination(componentPagination)
+ }
+
+ let params = new HttpParams()
+ params = this.restService.addRestGetParams(params, pagination)
+
+ if (search) params = params.append('search', search)
+ if (uuids) params = this.restService.addArrayParams(params, 'uuids', uuids)
+
+ if (advancedSearch) {
+ const advancedSearchObject = advancedSearch.toPlaylistAPIObject()
+ params = this.restService.addObjectParams(params, advancedSearchObject)
+ }
+
+ return this.authHttp
+ .get<ResultList<VideoPlaylistServerModel>>(url, { params })
+ .pipe(
+ switchMap(res => this.playlistService.extractPlaylists(res)),
+ catchError(err => this.restExtractor.handleError(err))
+ )
+ }