1+ import type { TvShowIndexer } from '@server/api/indexer' ;
12import type { JellyfinLibraryItem } from '@server/api/jellyfin' ;
23import JellyfinAPI from '@server/api/jellyfin' ;
34import TheMovieDb from '@server/api/themoviedb' ;
@@ -9,7 +10,7 @@ import Media from '@server/entity/Media';
910import Season from '@server/entity/Season' ;
1011import { User } from '@server/entity/User' ;
1112import type { Library } from '@server/lib/settings' ;
12- import { getSettings } from '@server/lib/settings' ;
13+ import { getIndexer , getSettings } from '@server/lib/settings' ;
1314import logger from '@server/logger' ;
1415import AsyncLock from '@server/utils/asyncLock' ;
1516import { getHostname } from '@server/utils/getHostname' ;
@@ -30,6 +31,7 @@ interface SyncStatus {
3031class JellyfinScanner {
3132 private sessionId : string ;
3233 private tmdb : TheMovieDb ;
34+ private tvShowIndexer : TvShowIndexer ;
3335 private jfClient : JellyfinAPI ;
3436 private items : JellyfinLibraryItem [ ] = [ ] ;
3537 private progress = 0 ;
@@ -43,6 +45,8 @@ class JellyfinScanner {
4345
4446 constructor ( { isRecentOnly } : { isRecentOnly ?: boolean } = { } ) {
4547 this . tmdb = new TheMovieDb ( ) ;
48+ this . tvShowIndexer = getIndexer ( ) ;
49+
4650 this . isRecentOnly = isRecentOnly ?? false ;
4751 }
4852
@@ -212,7 +216,7 @@ class JellyfinScanner {
212216
213217 if ( metadata . ProviderIds . Tmdb ) {
214218 try {
215- tvShow = await this . tmdb . getTvShow ( {
219+ tvShow = await this . tvShowIndexer . getTvShow ( {
216220 tvId : Number ( metadata . ProviderIds . Tmdb ) ,
217221 } ) ;
218222 } catch {
@@ -223,7 +227,7 @@ class JellyfinScanner {
223227 }
224228 if ( ! tvShow && metadata . ProviderIds . Tvdb ) {
225229 try {
226- tvShow = await this . tmdb . getShowByTvdbId ( {
230+ tvShow = await this . tvShowIndexer . getShowByTvdbId ( {
227231 tvdbId : Number ( metadata . ProviderIds . Tvdb ) ,
228232 } ) ;
229233 } catch {
0 commit comments