Details
-
New Feature
-
Status: Closed (View Workflow)
-
P3
-
Resolution: Done
-
None
Description
As decided in FOLIO-535, any kind of "controlled vocabulary" endpoint should follow a similar scheme.
CRUDing
GET|POST /cv-items/ GET|PUT|DELETE /cv-items/:uuid
Associations
In the "parent" record (like User or Item) we would include raw UUID/s directly in the associated record, using a scalar UUID field for many-to-one relations (e.g MT) or an array of UUIDs for the many-to-many relations (e.g PG):
{ "username": "shale99", "patron_groups": ["123-456-789-123", "345-678-910-111"] }
The PUT/POST on the record with proper UUID value should allow for updating associations. To get all users/items/etc with a given PG/MT/etc association we will use sarching/filtering.
Searching with CQL
Search/filter for items with a CV-item should be supported directly on the resource:
lastName="Doe" AND (patron_group == "123-456-789" OR patron_group == "112-113-114")
when constructing facet-like clickable filters on the left-hand side the UI will lookup all CV values (the assumption is that the list is short) and create name-to-uuid map for handling filtering.
The above sheme should be used for all newly constructed CV-like endpoints.
TestRail: Results
Attachments
Issue Links
- blocks
-
CIRC-3 Depend upon item-storage v2.0 interface
-
- Closed
-
-
FOLIO-569 Update bb with mod-metadata > 3.1.0
-
- Closed
-
-
METADATA-58 Use Material Types Referred to by UUID in Inventory Module
-
- Closed
-
-
STRIPES-287 "item types" should be "material types" and use values from the mt endpoint
-
- Closed
-
- clones
-
FOLIO-556 align PG and mattype endpoints by using UUIDs
-
- Closed
-
- relates to
-
FOLIO-535 agree on the approach for joining/filtering (single module) associations
-
- Open
-