feat(server): restore historical nest as new revision

This commit is contained in:
aj committed 2026-10-11 16:49:12 -04:00
1 parent 5598804942
commit 914c197181
8 files changed
+242 -17

No files matched your search

+13
View File
@@ -118,6 +118,19 @@ app.MapGet("/api/nests/deleted/{id:guid}/revisions/{revision:int}/file", (Guid i
revision < 1 ? Results.BadRequest("Invalid revision.") :
db.GetRevisionFile(id, revision, deleted: true) is { } file ? Results.File(file, "application/zip") : Results.NotFound());
app.MapPost("/api/nests/{id:guid}/revisions/{revision:int}/restore", (Guid id, int revision, HttpRequest request, NestDatabase db) =>
{
var error = ReadPrecondition(request, out var expected);
if (error is not null) return error;
if (revision < 1) return Results.BadRequest("Invalid revision.");
try
{
var restored = db.Restore(id, revision, expected);
return restored is null ? Results.NotFound() : Results.Ok(restored);
}
catch (RevisionConflictException conflict) { return Results.Json(conflict.Current, statusCode: 409); }
});
app.Run();
static IResult? ReadPrecondition(HttpRequest request, out int revision)