]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Limit scope to local when finding in bulk
authorChocobozzz <me@florianbigard.com>
Mon, 31 Jan 2022 10:15:44 +0000 (11:15 +0100)
committerChocobozzz <me@florianbigard.com>
Mon, 31 Jan 2022 10:15:44 +0000 (11:15 +0100)
client/src/app/shared/shared-search/find-in-bulk.service.ts

index 8ca64c37e20ea4e74c248c6bb7905f1fbad8c9c1..117685cc64424f34c78ec4c6235873596e95f81c 100644 (file)
@@ -7,6 +7,7 @@ import { ResultList } from '@shared/models/common'
 import { Video, VideoChannel } from '../shared-main'
 import { VideoPlaylist } from '../shared-video-playlist'
 import { SearchService } from './search.service'
+import { AdvancedSearch } from './advanced-search.model'
 
 const logger = debug('peertube:search:FindInBulkService')
 
@@ -18,6 +19,8 @@ type BulkObservables <P extends number | string, R> = {
 @Injectable()
 export class FindInBulkService {
 
+  private advancedSearchForBulk: AdvancedSearch
+
   private getVideoInBulk: BulkObservables<string, ResultList<Video>>
   private getChannelInBulk: BulkObservables<string, ResultList<VideoChannel>>
   private getPlaylistInBulk: BulkObservables<string, ResultList<VideoPlaylist>>
@@ -28,6 +31,8 @@ export class FindInBulkService {
     this.getVideoInBulk = this.buildBulkObservableObject(this.getVideosInBulk.bind(this))
     this.getChannelInBulk = this.buildBulkObservableObject(this.getChannelsInBulk.bind(this))
     this.getPlaylistInBulk = this.buildBulkObservableObject(this.getPlaylistsInBulk.bind(this))
+
+    this.advancedSearchForBulk = new AdvancedSearch({ searchTarget: 'local' })
   }
 
   getVideo (uuid: string): Observable<Video> {
@@ -91,19 +96,31 @@ export class FindInBulkService {
   private getVideosInBulk (uuids: string[]) {
     logger('Fetching videos %s.', uuids.join(', '))
 
-    return this.searchService.searchVideos({ uuids, componentPagination: { itemsPerPage: uuids.length, currentPage: 1 } })
+    return this.searchService.searchVideos({
+      uuids,
+      componentPagination: { itemsPerPage: uuids.length, currentPage: 1 },
+      advancedSearch: this.advancedSearchForBulk
+    })
   }
 
   private getChannelsInBulk (handles: string[]) {
     logger('Fetching channels %s.', handles.join(', '))
 
-    return this.searchService.searchVideoChannels({ handles, componentPagination: { itemsPerPage: handles.length, currentPage: 1 } })
+    return this.searchService.searchVideoChannels({
+      handles,
+      componentPagination: { itemsPerPage: handles.length, currentPage: 1 },
+      advancedSearch: this.advancedSearchForBulk
+    })
   }
 
   private getPlaylistsInBulk (uuids: string[]) {
     logger('Fetching playlists %s.', uuids.join(', '))
 
-    return this.searchService.searchVideoPlaylists({ uuids, componentPagination: { itemsPerPage: uuids.length, currentPage: 1 } })
+    return this.searchService.searchVideoPlaylists({
+      uuids,
+      componentPagination: { itemsPerPage: uuids.length, currentPage: 1 },
+      advancedSearch: this.advancedSearchForBulk
+    })
   }
 
   private buildBulkObservableObject <P extends number | string, R> (bulkGet: (params: P[]) => Observable<R>) {