aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs49
1 files changed, 46 insertions, 3 deletions
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
index fc2a6de24..893d6ea62 100644
--- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
+++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Persistence;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
@@ -56,6 +57,8 @@ namespace MediaBrowser.Server.Implementations.Persistence
private readonly string _criticReviewsPath;
private SqliteChapterRepository _chapterRepository;
+ private SqliteMediaStreamsRepository _mediaStreamsRepository;
+ private SqliteProviderInfoRepository _providerInfoRepository;
private IDbCommand _deleteChildrenCommand;
private IDbCommand _saveChildrenCommand;
@@ -90,10 +93,16 @@ namespace MediaBrowser.Server.Implementations.Persistence
_logger = logManager.GetLogger(GetType().Name);
var chapterDbFile = Path.Combine(_appPaths.DataPath, "chapters.db");
-
var chapterConnection = SqliteExtensions.ConnectToDb(chapterDbFile, _logger).Result;
-
_chapterRepository = new SqliteChapterRepository(chapterConnection, logManager);
+
+ var mediaStreamsDbFile = Path.Combine(_appPaths.DataPath, "mediainfo.db");
+ var mediaStreamsConnection = SqliteExtensions.ConnectToDb(mediaStreamsDbFile, _logger).Result;
+ _mediaStreamsRepository = new SqliteMediaStreamsRepository(mediaStreamsConnection, logManager);
+
+ var providerInfosDbFile = Path.Combine(_appPaths.DataPath, "providerinfo.db");
+ var providerInfoConnection = SqliteExtensions.ConnectToDb(providerInfosDbFile, _logger).Result;
+ _providerInfoRepository = new SqliteProviderInfoRepository(providerInfoConnection, logManager);
}
/// <summary>
@@ -121,7 +130,9 @@ namespace MediaBrowser.Server.Implementations.Persistence
_connection.RunQueries(queries, _logger);
PrepareStatements();
-
+
+ _mediaStreamsRepository.Initialize();
+ _providerInfoRepository.Initialize();
_chapterRepository.Initialize();
}
@@ -413,6 +424,18 @@ namespace MediaBrowser.Server.Implementations.Persistence
_chapterRepository.Dispose();
_chapterRepository = null;
}
+
+ if (_mediaStreamsRepository != null)
+ {
+ _mediaStreamsRepository.Dispose();
+ _mediaStreamsRepository = null;
+ }
+
+ if (_providerInfoRepository != null)
+ {
+ _providerInfoRepository.Dispose();
+ _providerInfoRepository = null;
+ }
}
}
@@ -511,5 +534,25 @@ namespace MediaBrowser.Server.Implementations.Persistence
_writeLock.Release();
}
}
+
+ public IEnumerable<MediaStream> GetMediaStreams(MediaStreamQuery query)
+ {
+ return _mediaStreamsRepository.GetMediaStreams(query);
+ }
+
+ public Task SaveMediaStreams(Guid id, IEnumerable<MediaStream> streams, CancellationToken cancellationToken)
+ {
+ return _mediaStreamsRepository.SaveMediaStreams(id, streams, cancellationToken);
+ }
+
+ public IEnumerable<BaseProviderInfo> GetProviderHistory(Guid itemId)
+ {
+ return _providerInfoRepository.GetBaseProviderInfos(itemId);
+ }
+
+ public Task SaveProviderHistory(Guid id, IEnumerable<BaseProviderInfo> history, CancellationToken cancellationToken)
+ {
+ return _providerInfoRepository.SaveProviderInfos(id, history, cancellationToken);
+ }
}
} \ No newline at end of file