feat: add missing revision and file attachment endpoints #8

Open
opened 2026-02-16 15:55:25 +00:00 by forbes · 0 comments
Owner

Summary

Several revision and file management endpoints are missing from the client.

Missing Revision Method

Server Endpoint Proposed Method
POST /api/items/{pn}/revisions create_revision(part_number, properties, comment)

The client has methods to get, compare, rollback, and update revisions, but cannot create one. This is needed for programmatic revision creation (silo-mod commit workflow, bulk operations).

Missing File/Attachment Methods

Server Endpoint Proposed Method
POST /api/uploads/presign get_presigned_upload_url(filename, content_type)
GET /api/items/{pn}/files list_item_files(part_number)
POST /api/items/{pn}/files associate_file(part_number, file_key, filename)
DELETE /api/items/{pn}/files/{fileId} delete_item_file(part_number, file_id)
PUT /api/items/{pn}/thumbnail set_thumbnail(part_number, image_bytes)

Context

The server supports a presigned upload flow (upload directly to MinIO, then associate with item) in addition to the existing multipart upload. The file attachments system (migration 011) allows multiple files per item beyond the primary revision file.

References

  • SPECIFICATION.md Section 11.1 (Revision and File endpoints)
  • GAP_ANALYSIS.md Section 2.3
## Summary Several revision and file management endpoints are missing from the client. ## Missing Revision Method | Server Endpoint | Proposed Method | |---|---| | `POST /api/items/{pn}/revisions` | `create_revision(part_number, properties, comment)` | The client has methods to get, compare, rollback, and update revisions, but cannot **create** one. This is needed for programmatic revision creation (silo-mod commit workflow, bulk operations). ## Missing File/Attachment Methods | Server Endpoint | Proposed Method | |---|---| | `POST /api/uploads/presign` | `get_presigned_upload_url(filename, content_type)` | | `GET /api/items/{pn}/files` | `list_item_files(part_number)` | | `POST /api/items/{pn}/files` | `associate_file(part_number, file_key, filename)` | | `DELETE /api/items/{pn}/files/{fileId}` | `delete_item_file(part_number, file_id)` | | `PUT /api/items/{pn}/thumbnail` | `set_thumbnail(part_number, image_bytes)` | ## Context The server supports a presigned upload flow (upload directly to MinIO, then associate with item) in addition to the existing multipart upload. The file attachments system (migration 011) allows multiple files per item beyond the primary revision file. ## References - SPECIFICATION.md Section 11.1 (Revision and File endpoints) - GAP_ANALYSIS.md Section 2.3
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/silo-client#8