- Move standalone fragment storage from unencrypted SQLite to the existing encrypted SQLCipher database (journal_cache.db) - Add IDatabaseSessionService/DatabaseSessionService for shared encrypted connection management after authentication - Update fragments table schema: nullable entry_id, add guid column - Reorganize flat Services/ directory (28 files) into 9 domain modules: Ai, Config, Database, Entries, Fragments, Logging, Sidecar, Speech, Vault - Update all namespace declarations and using statements across all projects - Update REFACTORING_SUMMARY.md with all changes Co-Authored-By: Warp <agent@warp.dev>
15 lines
582 B
C#
15 lines
582 B
C#
using Journal.Core.Dtos;
|
|
|
|
namespace Journal.Core.Services.Database;
|
|
|
|
public interface IJournalDatabaseService
|
|
{
|
|
string GetDatabasePath(string? dataDirectory = null);
|
|
byte[] DeriveDatabaseKey(string password);
|
|
string BuildPragmaKeyStatement(string password);
|
|
IReadOnlyDictionary<string, string> GetSchemaStatements();
|
|
string WriteSchemaBootstrap(string? dataDirectory = null);
|
|
JournalDatabaseStatus GetStatus(string password, string? dataDirectory = null);
|
|
JournalDatabaseHydrationResult HydrateWorkspace(string password, string? dataDirectory = null);
|
|
}
|