Uploaded image for project: 'Metadata'
  1. Metadata
  2. METADATA-57

Use UUID for Refering to Material Types

    XMLWordPrintable

Details

    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

            Activity

              People

                shale99 shale99
                marcjohnson Marc Johnson
                Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases