@ -12,13 +12,6 @@ public class SearchRepository : ISearchRepository
@@ -12,13 +12,6 @@ public class SearchRepository : ISearchRepository
public SearchRepository ( IDbContextFactory < TvContext > dbContextFactory ) = > _d bContextFactory = dbContextFactory ;
public async Task < List < int > > GetItemIdsToIndex ( )
{
await using TvContext dbContext = await _d bContextFactory . CreateDbContextAsync ( ) ;
return await dbContext . Connection . QueryAsync < int > ( @"SELECT Id FROM MediaItem" )
. Map ( result = > result . ToList ( ) ) ;
}
public async Task < Option < MediaItem > > GetItemToIndex ( int id )
{
await using TvContext dbContext = await _d bContextFactory . CreateDbContextAsync ( ) ;
@ -103,9 +96,7 @@ public class SearchRepository : ISearchRepository
@@ -103,9 +96,7 @@ public class SearchRepository : ISearchRepository
. ThenInclude ( mm = > mm . Streams )
. Include ( mi = > mi . TraktListItems )
. ThenInclude ( tli = > tli . TraktList )
. OrderBy ( mi = > mi . Id )
. SingleOrDefaultAsync ( mi = > mi . Id = = id )
. Map ( Optional ) ;
. SelectOneAsync ( mi = > mi . Id , mi = > mi . Id = = id ) ;
}
public async Task < List < string > > GetLanguagesForShow ( Show show )
@ -151,4 +142,91 @@ public class SearchRepository : ISearchRepository
@@ -151,4 +142,91 @@ public class SearchRepository : ISearchRepository
await using TvContext dbContext = await _d bContextFactory . CreateDbContextAsync ( ) ;
return await dbContext . LanguageCodes . GetAllLanguageCodes ( mediaCodes ) ;
}
public IAsyncEnumerable < MediaItem > GetAllMediaItems ( )
{
TvContext dbContext = _d bContextFactory . CreateDbContext ( ) ;
return dbContext . MediaItems
. AsNoTracking ( )
. Include ( mi = > mi . LibraryPath )
. ThenInclude ( lp = > lp . Library )
. Include ( mi = > ( mi as Movie ) . MovieMetadata )
. ThenInclude ( mm = > mm . Genres )
. Include ( mi = > ( mi as Movie ) . MovieMetadata )
. ThenInclude ( mm = > mm . Tags )
. Include ( mi = > ( mi as Movie ) . MovieMetadata )
. ThenInclude ( mm = > mm . Studios )
. Include ( mi = > ( mi as Movie ) . MovieMetadata )
. ThenInclude ( mm = > mm . Actors )
. Include ( mi = > ( mi as Movie ) . MovieMetadata )
. ThenInclude ( mm = > mm . Directors )
. Include ( mi = > ( mi as Movie ) . MovieMetadata )
. ThenInclude ( mm = > mm . Writers )
. Include ( mi = > ( mi as Movie ) . MediaVersions )
. ThenInclude ( mm = > mm . Streams )
. Include ( mi = > ( mi as Episode ) . EpisodeMetadata )
. ThenInclude ( em = > em . Genres )
. Include ( mi = > ( mi as Episode ) . EpisodeMetadata )
. ThenInclude ( em = > em . Tags )
. Include ( mi = > ( mi as Episode ) . EpisodeMetadata )
. ThenInclude ( em = > em . Studios )
. Include ( mi = > ( mi as Episode ) . EpisodeMetadata )
. ThenInclude ( em = > em . Actors )
. Include ( mi = > ( mi as Episode ) . EpisodeMetadata )
. ThenInclude ( em = > em . Directors )
. Include ( mi = > ( mi as Episode ) . EpisodeMetadata )
. ThenInclude ( em = > em . Writers )
. Include ( mi = > ( mi as Episode ) . EpisodeMetadata )
. ThenInclude ( em = > em . Guids )
. Include ( mi = > ( mi as Episode ) . MediaVersions )
. ThenInclude ( em = > em . Streams )
. Include ( mi = > ( mi as Episode ) . Season )
. Include ( mi = > ( mi as Season ) . SeasonMetadata )
. ThenInclude ( sm = > sm . Genres )
. Include ( mi = > ( mi as Season ) . SeasonMetadata )
. ThenInclude ( sm = > sm . Tags )
. Include ( mi = > ( mi as Season ) . SeasonMetadata )
. ThenInclude ( sm = > sm . Studios )
. Include ( mi = > ( mi as Season ) . SeasonMetadata )
. ThenInclude ( sm = > sm . Actors )
. Include ( mi = > ( mi as Season ) . Show )
. ThenInclude ( sm = > sm . ShowMetadata )
. Include ( mi = > ( mi as Show ) . ShowMetadata )
. ThenInclude ( mm = > mm . Genres )
. Include ( mi = > ( mi as Show ) . ShowMetadata )
. ThenInclude ( mm = > mm . Tags )
. Include ( mi = > ( mi as Show ) . ShowMetadata )
. ThenInclude ( mm = > mm . Studios )
. Include ( mi = > ( mi as Show ) . ShowMetadata )
. ThenInclude ( mm = > mm . Actors )
. Include ( mi = > ( mi as MusicVideo ) . Artist )
. ThenInclude ( mm = > mm . ArtistMetadata )
. Include ( mi = > ( mi as MusicVideo ) . MusicVideoMetadata )
. ThenInclude ( mm = > mm . Genres )
. Include ( mi = > ( mi as MusicVideo ) . MusicVideoMetadata )
. ThenInclude ( mm = > mm . Tags )
. Include ( mi = > ( mi as MusicVideo ) . MusicVideoMetadata )
. ThenInclude ( mm = > mm . Studios )
. Include ( mi = > ( mi as MusicVideo ) . MediaVersions )
. ThenInclude ( mm = > mm . Streams )
. Include ( mi = > ( mi as Artist ) . ArtistMetadata )
. ThenInclude ( mm = > mm . Genres )
. Include ( mi = > ( mi as Artist ) . ArtistMetadata )
. ThenInclude ( mm = > mm . Styles )
. Include ( mi = > ( mi as Artist ) . ArtistMetadata )
. ThenInclude ( mm = > mm . Moods )
. Include ( mi = > ( mi as OtherVideo ) . OtherVideoMetadata )
. ThenInclude ( mm = > mm . Tags )
. Include ( mi = > ( mi as OtherVideo ) . MediaVersions )
. ThenInclude ( mm = > mm . Streams )
. Include ( mi = > ( mi as Song ) . SongMetadata )
. ThenInclude ( mm = > mm . Tags )
. Include ( mi = > ( mi as Song ) . SongMetadata )
. ThenInclude ( mm = > mm . Genres )
. Include ( mi = > ( mi as Song ) . MediaVersions )
. ThenInclude ( mm = > mm . Streams )
. Include ( mi = > mi . TraktListItems )
. ThenInclude ( tli = > tli . TraktList )
. AsAsyncEnumerable ( ) ;
}
}