feat(api): add GET /api/items/by-uuid/{uuid} endpoint #49

Merged
forbes merged 2 commits from issue-43-uuid-lookup into main 2026-02-09 01:21:08 +00:00
Owner

Closes #43

Adds a read-only endpoint to resolve a Silo item UUID to its full ItemResponse. Used by silo-mod to resolve FreeCAD document SiloUUID properties to part numbers during BOM sync.

Changes

  • internal/api/handlers.go — new HandleGetItemByUUID handler. Calls existing GetByID(), returns 404 for archived items.
  • internal/api/routes.go — register GET /api/items/by-uuid/{uuid} in viewer-accessible group.

No new DB queries needed — ItemRepository.GetByID() already queries by the UUID primary key.

Closes #43 Adds a read-only endpoint to resolve a Silo item UUID to its full `ItemResponse`. Used by silo-mod to resolve FreeCAD document `SiloUUID` properties to part numbers during BOM sync. ## Changes - **`internal/api/handlers.go`** — new `HandleGetItemByUUID` handler. Calls existing `GetByID()`, returns 404 for archived items. - **`internal/api/routes.go`** — register `GET /api/items/by-uuid/{uuid}` in viewer-accessible group. No new DB queries needed — `ItemRepository.GetByID()` already queries by the UUID primary key.
forbes added 1 commit 2026-02-09 00:37:42 +00:00
Closes #43

Adds a new read-only endpoint to resolve a Silo item UUID to its full
ItemResponse. Used by silo-mod to resolve FreeCAD document SiloUUID
properties to part numbers during BOM sync.

- Reuses existing ItemRepository.GetByID() (items.id is the stable UUID)
- Returns 404 for archived items
- Registered in viewer-accessible route group (no editor role required)
forbes added 1 commit 2026-02-09 01:21:02 +00:00
forbes merged commit 2dad658e91 into main 2026-02-09 01:21:08 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/silo#49