mirror of
https://github.com/ajisaacs/OpenNest.git
synced 2026-10-27 13:51:06 -04:00
A drawing set is a named list of library drawings with quantities (a kit,
an assembly, a recurring order) that will later be released into one nest
per material. This is the server half: sets get the same revision,
If-Match and archive contract as /api/drawings so the client and tests
follow a known shape.
Schema v7 adds drawing_sets, drawing_set_revisions and
drawing_set_members. Members reference drawings by id and mean each
drawing's current revision, so reads join the current drawing record:
the client can group members by material without one request per drawing,
and the joined record is ignored on save so a read record can be sent
back unchanged. Every change keeps its own member list, and
/api/drawings/{id}/sets answers "used in" from current revisions only.
The drawing query's enum, integer and history-paging parsing is now shared
so both APIs refuse bad input identically.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
16 lines
444 B
C#
16 lines
444 B
C#
namespace OpenNest.Data;
|
|
|
|
/// <summary>One drawing of a set and how many of it the set needs.</summary>
|
|
public sealed class DrawingSetMember
|
|
{
|
|
public Guid DrawingId { get; set; }
|
|
|
|
public int Quantity { get; set; } = 1;
|
|
|
|
/// <summary>
|
|
/// The drawing's current record, archived or not, joined by the server when it reads
|
|
/// a set. Ignored on save.
|
|
/// </summary>
|
|
public DrawingLibraryRecord? Drawing { get; set; }
|
|
}
|