mirror of
https://github.com/ajisaacs/OpenNest.git
synced 2026-11-04 02:21:35 -05:00
feat(data): add the drawing set client and release session
The desktop needs a cross-platform way to read and save sets and to turn one into nests before any UI is built on it. RemoteDrawingSetStore covers every /api/sets route with the library client's checks and conflict handling. SetReleasePlan groups a set by material, grade, thickness, units and cut type without I/O, so the release dialog can preview refusals (duplicate names, drawings without material) before anything is created. SetReleaseSession builds every group's nest through LibraryDrawingInsert before uploading any, so a refusal leaves nothing on the server; uploads then never cancel mid-flight, a lost reply is reconciled by the nest's client-allocated id, and the release is posted only when every chosen nest exists, with a same-id retry when that post fails. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
44666b289d
commit
af6975b9f1
11 files changed
+2104
-2
No files matched your search
@@ -329,11 +329,17 @@ public sealed class RemoteDrawingLibrary : IDrawingLibraryStore, IDisposable
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>The nest server predates the drawing library (it answered HTTP 404).</summary>
|
||||
/// <summary>The nest server predates the drawing library or another feature (it answered HTTP 404).</summary>
|
||||
public sealed class ServerTooOldException : IOException
|
||||
{
|
||||
public ServerTooOldException()
|
||||
: base("This nest server does not support the drawing library (HTTP 404). Update the nest server to this OpenNest version.")
|
||||
: this("the drawing library")
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary><paramref name="feature"/> names what is missing, for example "drawing sets".</summary>
|
||||
public ServerTooOldException(string feature)
|
||||
: base($"This nest server does not support {feature} (HTTP 404). Update the nest server to this OpenNest version.")
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user