diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs index c96ed970a..1aa0e8395 100644 --- a/MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs +++ b/MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs @@ -1,10 +1,12 @@ -using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Persistence; using MediaBrowser.Model.Logging; using MediaBrowser.Model.Serialization; using System; using System.Collections.Generic; using System.Data; +using System.IO; using System.Threading; using System.Threading.Tasks; @@ -20,6 +22,7 @@ namespace MediaBrowser.Server.Implementations.Persistence private readonly SemaphoreSlim _writeLock = new SemaphoreSlim(1, 1); private IDbConnection _connection; + private readonly IServerApplicationPaths _appPaths; /// <summary> /// Gets the name of the repository @@ -42,19 +45,19 @@ namespace MediaBrowser.Server.Implementations.Persistence /// <summary> /// Initializes a new instance of the <see cref="SqliteUserRepository" /> class. /// </summary> - /// <param name="connection">The connection.</param> /// <param name="jsonSerializer">The json serializer.</param> /// <param name="logManager">The log manager.</param> + /// <param name="appPaths">The app paths.</param> /// <exception cref="System.ArgumentNullException">appPaths</exception> - public SqliteUserRepository(IDbConnection connection, IJsonSerializer jsonSerializer, ILogManager logManager) + public SqliteUserRepository(IJsonSerializer jsonSerializer, ILogManager logManager, IServerApplicationPaths appPaths) { if (jsonSerializer == null) { throw new ArgumentNullException("jsonSerializer"); } - _connection = connection; _jsonSerializer = jsonSerializer; + _appPaths = appPaths; _logger = logManager.GetLogger(GetType().Name); } @@ -63,8 +66,12 @@ namespace MediaBrowser.Server.Implementations.Persistence /// Opens the connection to the database /// </summary> /// <returns>Task.</returns> - public void Initialize() + public async Task Initialize() { + var dbFile = Path.Combine(_appPaths.DataPath, "users.db"); + + _connection = await SqliteExtensions.ConnectToDb(dbFile).ConfigureAwait(false); + string[] queries = { "create table if not exists users (guid GUID primary key, data BLOB)", |
