feat: implement database backup and restore functionality with JSON support
All checks were successful
Publish Container / publish (push) Successful in 3m53s
All checks were successful
Publish Container / publish (push) Successful in 3m53s
Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
parent
e872fe200b
commit
e8bbae0496
8 changed files with 657 additions and 0 deletions
38
Services/Storage/DatabaseBackupModels.cs
Normal file
38
Services/Storage/DatabaseBackupModels.cs
Normal 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)
|
||||
{
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue