]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/search/search.service.ts
Add ability to override search endpoint
[github/Chocobozzz/PeerTube.git] / client / src / app / search / search.service.ts
index 8f137a321b222dd7af0f84f64821e3b4d8282ea5..3cad5aaa795f538139e1c7f897785d85bd8c227c 100644 (file)
@@ -2,15 +2,16 @@ import { catchError, map, switchMap } from 'rxjs/operators'
 import { HttpClient, HttpParams } from '@angular/common/http'
 import { Injectable } from '@angular/core'
 import { Observable } from 'rxjs'
-import { ComponentPagination } from '@app/shared/rest/component-pagination.model'
+import { ComponentPaginationLight } from '@app/shared/rest/component-pagination.model'
 import { VideoService } from '@app/shared/video/video.service'
 import { RestExtractor, RestService } from '@app/shared'
-import { environment } from 'environments/environment'
+import { environment } from '../../environments/environment'
 import { ResultList, Video as VideoServerModel, VideoChannel as VideoChannelServerModel } from '../../../../shared'
 import { Video } from '@app/shared/video/video.model'
 import { AdvancedSearch } from '@app/search/advanced-search.model'
 import { VideoChannel } from '@app/shared/video-channel/video-channel.model'
 import { VideoChannelService } from '@app/shared/video-channel/video-channel.service'
+import { peertubeLocalStorage } from '@app/shared/misc/peertube-web-storage'
 
 @Injectable()
 export class SearchService {
@@ -21,11 +22,15 @@ export class SearchService {
     private restExtractor: RestExtractor,
     private restService: RestService,
     private videoService: VideoService
-  ) {}
+  ) {
+    // Add ability to override search endpoint if the user updated this local storage key
+    const searchUrl = peertubeLocalStorage.getItem('search-url')
+    if (searchUrl) SearchService.BASE_SEARCH_URL = searchUrl
+  }
 
   searchVideos (parameters: {
     search: string,
-    componentPagination: ComponentPagination,
+    componentPagination: ComponentPaginationLight,
     advancedSearch: AdvancedSearch
   }): Observable<ResultList<Video>> {
     const { search, componentPagination, advancedSearch } = parameters
@@ -51,7 +56,7 @@ export class SearchService {
 
   searchVideoChannels (parameters: {
     search: string,
-    componentPagination: ComponentPagination
+    componentPagination: ComponentPaginationLight
   }): Observable<ResultList<VideoChannel>> {
     const { search, componentPagination } = parameters