feat: implement database backup and restore functionality with JSON support
All checks were successful
Publish Container / publish (push) Successful in 3m53s

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
Marco 2026-04-24 11:13:32 +02:00
commit e8bbae0496
8 changed files with 657 additions and 0 deletions

View file

@ -0,0 +1,38 @@
using System.Text.Json;
namespace WorkTracker.Services.Storage;
public sealed class DatabaseBackupFile
{
public required byte[] Content { get; init; }
public required string ContentType { get; init; }
public required string FileName { get; init; }
}
public sealed class DatabaseBackupPayload
{
public int BackupFormatVersion { get; init; }
public int DatabaseSchemaVersion { get; init; }
public DateTimeOffset ExportedAtUtc { get; init; }
public Dictionary<string, List<DatabaseBackupDocumentPayload>> Collections { get; init; } = [];
}
public sealed class DatabaseBackupDocumentPayload
{
public string Id { get; init; } = string.Empty;
public JsonElement Data { get; init; }
}
public sealed class DatabaseBackupException : Exception
{
public DatabaseBackupException(string message)
: base(message)
{
}
}