feat(api): add POST /api/items/{partNumber}/bom/merge endpoint #51
Reference in New Issue
Block a user
Delete Branch "issue-45-bom-merge"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #45, closes #46
Adds the BOM merge endpoint used by FreeCAD's silo-mod plugin to sync assembly-derived BOM entries with the server.
Merge Rules
source='assembly'Response Format
Also emits SSE
bom.mergedevent on successful merge (#46).Depends on: #50 (source column)
Promote BOM source from metadata JSONB to a dedicated VARCHAR(20) column with CHECK constraint ('manual' or 'assembly'). - Add migration 012_bom_source.sql (column, data migration, cleanup) - Add Source field to Relationship and BOMEntry structs - Update all SQL queries (GetBOM, GetWhereUsed, GetExpandedBOM, Create) - Update API response/request types with source field - Update CSV/ODS export to read e.Source instead of metadata - Update CSV import to set source on relationship directly - Update frontend types and BOMTab to use top-level source field