feat(api): admin set flexible fields + field-definition listing
- GET /api/admin/field-definitions (ViewInternal) — lists all registered
field definitions with key, data_type, vocabulary_id, authority_kind,
required, group, and localized labels
- PUT /api/admin/objects/{id}/fields (EditCatalogue) — replaces an
object's flexible-field values with replace semantics; validates every
key against the registry (UnknownField → 422, TypeMismatch → 422,
Unresolved → 422, ObjectNotFound → 404, Db → 500)
- FieldDefinitionView DTO added; both handlers registered in OpenAPI
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -19,7 +19,9 @@ use crate::{AppState, admin, admin_objects, health, public};
|
||||
admin_objects::get_object,
|
||||
admin_objects::create_object,
|
||||
admin_objects::update_object,
|
||||
admin_objects::delete_object
|
||||
admin_objects::delete_object,
|
||||
admin_objects::list_field_definitions,
|
||||
admin_objects::set_fields
|
||||
),
|
||||
components(schemas(
|
||||
health::Live,
|
||||
@@ -34,7 +36,8 @@ use crate::{AppState, admin, admin_objects, health, public};
|
||||
admin_objects::LabelView,
|
||||
admin_objects::ObjectCreateRequest,
|
||||
admin_objects::ObjectUpdateRequest,
|
||||
admin_objects::CreatedObject
|
||||
admin_objects::CreatedObject,
|
||||
admin_objects::FieldDefinitionView
|
||||
)),
|
||||
info(title = "Collection Management System", version = "0.0.0")
|
||||
)]
|
||||
|
||||
Reference in New Issue
Block a user