aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs17
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)",