journal/Journal.Core/Services/Database/IJournalDatabaseService.cs

17 lines
575 B
C#

using Journal.Core.Dtos;
using Microsoft.Data.Sqlite;
namespace Journal.Core.Services.Database;
public interface IJournalDatabaseService
{
string GetDatabasePath();
byte[] DeriveDatabaseKey(string password);
string BuildPragmaKeyStatement(string password);
IReadOnlyDictionary<string, string> GetSchemaStatements();
SqliteConnection OpenEncryptedConnection(string password);
void EnsureSchema(SqliteConnection connection);
JournalDatabaseStatus GetStatus(string password);
JournalDatabaseHydrationResult HydrateWorkspace(string password);
}