From 0c2fa30ba6608e5c5c8fae3421e9cad6b59926b1 Mon Sep 17 00:00:00 2001 From: "Adam J. Arling" Date: Fri, 23 Jun 2023 13:21:44 +0000 Subject: [PATCH 1/2] Add support for the license metadata field in IIIF Manifest response --- README.md | 46 +++ .../iiif/presentation-api/metadata.js | 4 + test/fixtures/mocks/work-1234.json | 368 +++++++++--------- test/fixtures/mocks/work-video-5678.json | 122 +++--- test/unit/api/response/iiif/manifest.test.js | 3 + .../iiif/presentation-api/metadata.test.js | 2 +- 6 files changed, 299 insertions(+), 246 deletions(-) diff --git a/README.md b/README.md index 464f79c2..3069531e 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,13 @@ The API will be available at: - `http://USER_PREFIX.dev.library.northwestern.edu:3000` (from elsewhere) - Don't forget to [open port 3000](https://github.com/nulib/aws-developer-environment#convenience-scripts) if you want to access it remotely +⚠️ Note the above URLs (which point to your local OpenSearch instance) need _full endpoints_ to resolve. For example: + +- `http://USER_PREFIX.dev.library.northwestern.edu:3000/search` +- `http://USER_PREFIX.dev.library.northwestern.edu:3000/collections` + +[View supported endpoints](https://api.dc.library.northwestern.edu/docs/v2/spec/openapi.html) Questions? [View the production API documention](https://api.dc.library.northwestern.edu/) + ## Running the API locally via our AWS dev domain Use the [https-proxy](https://github.com/nulib/aws-developer-environment#convenience-scripts) script to make the local environment live at: https://[DEV_PREFIX].dev.rdc.library.northwestern.edu:3002/search @@ -69,6 +76,45 @@ Use the [https-proxy](https://github.com/nulib/aws-developer-environment#conveni https-proxy start 3002 3000 ``` +## Example workflows + +### Meadow + +View and edit information about a specific Work in the Index. + +1. Open a local Meadow instance. +2. Find an `id` of a Work you'd like to inspect in the API. +3. View JSON response at `http://USER_PREFIX.dev.library.northwestern.edu:3000/works/[WORK_ID]` +4. View IIIF Manifest JSON response at `http://USER_PREFIX.dev.library.northwestern.edu:3000/works/[WORK_ID]?as=iiif` + +For help debugging/inspecting, JavaScript `console` messages are written to: `dc-api-v2/dc-api.log` + +### DC + +Develop against changes to the API. + +1. Before starting the DC app, temporarily change the port number in `dc-nextjs/server.js` from default `3000` to something like `3003`. +2. Open the port so it can be accessed in the browser. + +``` +sg open all 3003 +``` + +3. Start the proxy for the API + +``` +https-proxy start 3002 3000 +``` + +4. Point to the proxy URL and start DC app (in your `/environment/dc-nextjs` shell) + +``` +export NEXT_PUBLIC_DCAPI_ENDPOINT=https://USER_PREFIX.dev.rdc.library.northwestern.edu:3002 +npm run dev +``` + +Access the app in a browser at: https://USER_PREFIX.dev.rdc.library.northwestern.edu:3003/ + ## Deploying the API manually - Symlink the `*.parameters` file you need from `tfvars/dc-api/` to the application root diff --git a/src/api/response/iiif/presentation-api/metadata.js b/src/api/response/iiif/presentation-api/metadata.js index 1f6a072e..ad88b4a7 100644 --- a/src/api/response/iiif/presentation-api/metadata.js +++ b/src/api/response/iiif/presentation-api/metadata.js @@ -53,6 +53,10 @@ function metadataLabelFields(source) { label: "Language", value: source.language.map((item) => item.label), }, + { + label: "License", + value: formatSingleValuedField(source.license?.label), + }, { label: "Location", value: source.location?.map((item) => item.label), diff --git a/test/fixtures/mocks/work-1234.json b/test/fixtures/mocks/work-1234.json index 30ce940e..d2d61b03 100644 --- a/test/fixtures/mocks/work-1234.json +++ b/test/fixtures/mocks/work-1234.json @@ -7,9 +7,29 @@ "_primary_term": 1, "found": true, "_source": { - "provenance": [ - "Artist; sold to Mr. Blank in 1955; sold to Lancelot in 2017; gifted to Northwestern University in 2019" + "abstract": [], + "accession_number": "Canary_002", + "alternate_title": ["This is an alternative title"], + "api_link": "https://dcapi.rdc-staging.library.northwestern.edu/api/v2/works/1234", + "api_model": "Work", + "ark": "ark:/99999/fk47h32p0m", + "batch_ids": [ + "a846a5f2-da57-49e6-a138-f5462d113a55", + "97aac3e3-389a-47ac-a7b3-5dd6ffffd558", + "e2529123-6a8c-4f6d-89d5-0257a1b947d4", + "b3d3462d-c03e-4cae-9219-4e38335a25fc", + "1591cc1e-009d-4b39-97a2-7d8743fb957b", + "80a15dc2-92d5-48a4-9aa4-73ecdcb1d130" ], + "box_name": ["The name of a box"], + "box_number": ["88"], + "caption": ["Beebo"], + "catalog_key": ["MS-1984-1982-1989"], + "collection": { + "description": "This is the description of the collection", + "id": "7c50096c-89eb-43e8-b357-5836a788ddeb", + "title": "TEST Canary Records" + }, "contributor": [ { "facet": "http://id.loc.gov/authorities/names/n91114928|ctg|Metallica (Musical group) (Cartographer)", @@ -36,123 +56,7 @@ "variants": [] } ], - "batch_ids": [ - "a846a5f2-da57-49e6-a138-f5462d113a55", - "97aac3e3-389a-47ac-a7b3-5dd6ffffd558", - "e2529123-6a8c-4f6d-89d5-0257a1b947d4", - "b3d3462d-c03e-4cae-9219-4e38335a25fc", - "1591cc1e-009d-4b39-97a2-7d8743fb957b", - "80a15dc2-92d5-48a4-9aa4-73ecdcb1d130" - ], - "publisher": ["Northwestern University Press"], - "subject": [ - { - "facet": "http://id.worldcat.org/fast/1902713|TOPICAL|Cats on postage stamps (Topical)", - "id": "http://id.worldcat.org/fast/1902713", - "label": "Cats on postage stamps", - "label_with_role": "Cats on postage stamps (Topical)", - "role": "Topical", - "variants": [] - }, - { - "facet": "info:nul/6cba23b5-a91a-4c13-8398-54967b329d48|TOPICAL|Test Record Canary (Topical)", - "id": "info:nul/6cba23b5-a91a-4c13-8398-54967b329d48", - "label": "Test Record Canary", - "label_with_role": "Test Record Canary (Topical)", - "role": "Topical", - "variants": [] - }, - { - "facet": "http://vocab.getty.edu/tgn/2000971|GEOGRAPHICAL|Leelanau (Geographical)", - "id": "http://vocab.getty.edu/tgn/2000971", - "label": "Leelanau", - "label_with_role": "Leelanau (Geographical)", - "role": "Geographical", - "variants": [] - }, - { - "facet": "http://id.worldcat.org/fast/1204587|GEOGRAPHICAL|Michigan--Ann Arbor (Geographical)", - "id": "http://id.worldcat.org/fast/1204587", - "label": "Michigan--Ann Arbor", - "label_with_role": "Michigan--Ann Arbor (Geographical)", - "role": "Geographical", - "variants": [] - } - ], - "scope_and_contents": ["I promise there is scope and content"], - "notes": [ - { - "note": "Here are some notes", - "type": "General Note" - }, - { - "note": "Awards type", - "type": "Awards" - }, - { - "note": "Biographical note", - "type": "Biographical/Historical Note" - }, - { - "note": "creation production credits", - "type": "Creation/Production Credits" - }, - { - "note": "Language note", - "type": "Language Note" - }, - { - "note": "Local Note", - "type": "Local Note" - }, - { - "note": "Performers", - "type": "Performers" - }, - { - "note": "Statement of Responsibility", - "type": "Statement of Responsibility" - }, - { - "note": "Venue/event date", - "type": "Venue/Event Date" - }, - { - "note": "massive add to all pages/check", - "type": "General Note" - } - ], - "related_material": ["See Also: related material"], - "accession_number": "Canary_002", - "modified_date": "2022-10-13T20:56:31.249155Z", - "folder_names": ["Blue folder"], - "series": ["Canaries and How to Care for Them"], - "cultural_context": ["Test Context"], - "language": [ - { - "facet": "http://id.loc.gov/vocabulary/languages/crh||Crimean Tatar", - "id": "http://id.loc.gov/vocabulary/languages/crh", - "label": "Crimean Tatar", - "variants": [] - } - ], - "location": [ - { - "facet": "https://sws.geonames.org/4999069/||Leland Township", - "id": "https://sws.geonames.org/4999069/", - "label": "Leland Township", - "variants": [] - } - ], "create_date": "2022-03-02T20:38:29.813494Z", - "thumbnail": "https://index.test.library.northwestern.edu/iiif/2/mbk-dev/5678/square/!300,300/0/default.jpg", - "id": "1234", - "collection": { - "id": "7c50096c-89eb-43e8-b357-5836a788ddeb", - "title": "TEST Canary Records", - "description": "This is the description of the collection" - }, - "abstract": [], "creator": [ { "facet": "http://id.loc.gov/authorities/names/no2011059409||Dessa (Vocalist)", @@ -184,55 +88,17 @@ "variants": [] } ], - "rights_holder": ["Artist"], - "box_number": ["88"], - "physical_description_size": ["16 x 24 inches"], - "description": [ - "This is a private record for RepoDev testing on production" - ], - "keywords": ["leaves"], - "indexed_at": "2022-10-14T14:19:42.844994", - "folder_numbers": ["88"], - "genre": [ - { - "facet": "http://id.worldcat.org/fast/1919896||Biographies", - "id": "http://id.worldcat.org/fast/1919896", - "label": "Biographies", - "variants": [] - }, - { - "facet": "http://id.worldcat.org/fast/1019337||Mice", - "id": "http://id.worldcat.org/fast/1019337", - "label": "Mice", - "variants": [] - } - ], - "date_created": ["August 1906 to December 1910", "1958"], - "title": "Canary Record TEST 1", - "physical_description_material": ["Acrylic paint on cement block"], "csv_metadata_update_jobs": [ "5753101a-42fa-4838-9b71-f1594a5b1d5f", "6b46db60-6f6a-45e8-8b8d-ab0029a1e8fe", "38988b3e-5778-41da-85a5-e16d13cb098a", "21838181-8d12-4015-8b98-0874061adb98" ], - "ark": "ark:/99999/fk47h32p0m", - "caption": ["Beebo"], - "status": "Done", - "style_period": [ - { - "facet": "http://vocab.getty.edu/aat/300018478||Qing (dynastic styles and periods)", - "id": "http://vocab.getty.edu/aat/300018478", - "label": "Qing (dynastic styles and periods)", - "variants": [] - } + "cultural_context": ["Test Context"], + "date_created": ["August 1906 to December 1910", "1958"], + "description": [ + "This is a private record for RepoDev testing on production" ], - "api_model": "Work", - "catalog_key": ["MS-1984-1982-1989"], - "rights_statement": { - "id": "http://rightsstatements.org/vocab/InC-EDU/1.0/", - "label": "In Copyright - Educational Use Permitted" - }, "file_sets": [ { "duration": null, @@ -325,20 +191,102 @@ "width": null } ], - "library_unit": "Charles Deering McCormick Library of Special Collections", - "technique": [ + "folder_names": ["Blue folder"], + "folder_numbers": ["88"], + "genre": [ { - "facet": "http://vocab.getty.edu/aat/300053228||drypoint (printing process)", - "id": "http://vocab.getty.edu/aat/300053228", - "label": "drypoint (printing process)", + "facet": "http://id.worldcat.org/fast/1919896||Biographies", + "id": "http://id.worldcat.org/fast/1919896", + "label": "Biographies", + "variants": [] + }, + { + "facet": "http://id.worldcat.org/fast/1019337||Mice", + "id": "http://id.worldcat.org/fast/1019337", + "label": "Mice", "variants": [] } ], - "table_of_contents": ["1. cats; 2. dogs"], - "representative_file_set": { - "fileSetId": "5678", - "url": "https://index.test.library.northwestern.edu/iiif/2/mbk-dev/5678" + "id": "1234", + "identifier": ["555"], + "iiif_manifest": "https://iiif.stack.rdc-staging.library.northwestern.edu/public/15/6a/8f/8e/-5/49/b-/49/82/-8/6c/c-/37/5b/f0/41/04/ff-manifest.json", + "indexed_at": "2022-10-14T14:19:42.844994", + "keywords": ["leaves"], + "language": [ + { + "facet": "http://id.loc.gov/vocabulary/languages/crh||Crimean Tatar", + "id": "http://id.loc.gov/vocabulary/languages/crh", + "label": "Crimean Tatar", + "variants": [] + } + ], + "legacy_identifier": ["555"], + "library_unit": "Charles Deering McCormick Library of Special Collections", + "license": { + "id": "http://www.europeana.eu/portal/rights/rr-r.html", + "label": "All rights reserved", + "scheme": "license" }, + "location": [ + { + "facet": "https://sws.geonames.org/4999069/||Leland Township", + "id": "https://sws.geonames.org/4999069/", + "label": "Leland Township", + "variants": [] + } + ], + "modified_date": "2022-10-13T20:56:31.249155Z", + "notes": [ + { + "note": "Here are some notes", + "type": "General Note" + }, + { + "note": "Awards type", + "type": "Awards" + }, + { + "note": "Biographical note", + "type": "Biographical/Historical Note" + }, + { + "note": "creation production credits", + "type": "Creation/Production Credits" + }, + { + "note": "Language note", + "type": "Language Note" + }, + { + "note": "Local Note", + "type": "Local Note" + }, + { + "note": "Performers", + "type": "Performers" + }, + { + "note": "Statement of Responsibility", + "type": "Statement of Responsibility" + }, + { + "note": "Venue/event date", + "type": "Venue/Event Date" + }, + { + "note": "massive add to all pages/check", + "type": "General Note" + } + ], + "physical_description_material": ["Acrylic paint on cement block"], + "physical_description_size": ["16 x 24 inches"], + "preservation_level": "Level 1", + "provenance": [ + "Artist; sold to Mr. Blank in 1955; sold to Lancelot in 2017; gifted to Northwestern University in 2019" + ], + "published": true, + "publisher": ["Northwestern University Press"], + "related_material": ["See Also: related material"], "related_url": [ { "label": "Finding Aid", @@ -357,22 +305,74 @@ "url": "https://www.hathitrust.org/" } ], - "terms_of_use": "Terms ", - "visibility": "Public", - "license": { - "id": "http://www.europeana.eu/portal/rights/rr-r.html", - "label": "All rights reserved", - "scheme": "license" + "representative_file_set": { + "fileSetId": "5678", + "url": "https://index.test.library.northwestern.edu/iiif/2/mbk-dev/5678" }, - "api_link": "https://dcapi.rdc-staging.library.northwestern.edu/api/v2/works/1234", - "alternate_title": ["This is an alternative title"], - "preservation_level": "Level 1", - "published": true, + "rights_holder": ["Artist"], + "rights_statement": { + "id": "http://rightsstatements.org/vocab/InC-EDU/1.0/", + "label": "In Copyright - Educational Use Permitted" + }, + "scope_and_contents": ["I promise there is scope and content"], + "series": ["Canaries and How to Care for Them"], "source": ["Mars"], - "iiif_manifest": "https://iiif.stack.rdc-staging.library.northwestern.edu/public/15/6a/8f/8e/-5/49/b-/49/82/-8/6c/c-/37/5b/f0/41/04/ff-manifest.json", - "legacy_identifier": ["555"], - "work_type": "Image", - "identifier": ["555"], - "box_name": ["The name of a box"] + "status": "Done", + "style_period": [ + { + "facet": "http://vocab.getty.edu/aat/300018478||Qing (dynastic styles and periods)", + "id": "http://vocab.getty.edu/aat/300018478", + "label": "Qing (dynastic styles and periods)", + "variants": [] + } + ], + "subject": [ + { + "facet": "http://id.worldcat.org/fast/1902713|TOPICAL|Cats on postage stamps (Topical)", + "id": "http://id.worldcat.org/fast/1902713", + "label": "Cats on postage stamps", + "label_with_role": "Cats on postage stamps (Topical)", + "role": "Topical", + "variants": [] + }, + { + "facet": "info:nul/6cba23b5-a91a-4c13-8398-54967b329d48|TOPICAL|Test Record Canary (Topical)", + "id": "info:nul/6cba23b5-a91a-4c13-8398-54967b329d48", + "label": "Test Record Canary", + "label_with_role": "Test Record Canary (Topical)", + "role": "Topical", + "variants": [] + }, + { + "facet": "http://vocab.getty.edu/tgn/2000971|GEOGRAPHICAL|Leelanau (Geographical)", + "id": "http://vocab.getty.edu/tgn/2000971", + "label": "Leelanau", + "label_with_role": "Leelanau (Geographical)", + "role": "Geographical", + "variants": [] + }, + { + "facet": "http://id.worldcat.org/fast/1204587|GEOGRAPHICAL|Michigan--Ann Arbor (Geographical)", + "id": "http://id.worldcat.org/fast/1204587", + "label": "Michigan--Ann Arbor", + "label_with_role": "Michigan--Ann Arbor (Geographical)", + "role": "Geographical", + "variants": [] + } + ], + "table_of_contents": ["1. cats; 2. dogs"], + "technique": [ + { + "facet": "http://vocab.getty.edu/aat/300053228||drypoint (printing process)", + "id": "http://vocab.getty.edu/aat/300053228", + "label": "drypoint (printing process)", + "variants": [] + } + ], + "terms_of_use": "Terms ", + "thumbnail": "https://index.test.library.northwestern.edu/iiif/2/mbk-dev/5678/square/!300,300/0/default.jpg", + "title": "Canary Record TEST 1", + "visibility": "Public", + "work_type": "Image" } } diff --git a/test/fixtures/mocks/work-video-5678.json b/test/fixtures/mocks/work-video-5678.json index 6b88f17c..2c5fdff9 100644 --- a/test/fixtures/mocks/work-video-5678.json +++ b/test/fixtures/mocks/work-video-5678.json @@ -7,66 +7,29 @@ "_primary_term": 1, "found": true, "_source": { + "abstract": [], "accession_number": "Video.Work.12342918", - "thumbnail": "https://dcapi.rdc-staging.library.northwestern.edu/works/a3386c0e-e086-45ef-b3c5-9b45ea78211e/thumbnail", - "indexed_at": "2022-10-25T18:22:37.800026", - "iiif_manifest": "https://kdid-dev-pyramids.s3.amazonaws.com/public/iiif3/a3/38/6c/0e/-e/08/6-/45/ef/-b/3c/5-/9b/45/ea/78/21/1e-manifest.json", - "folder_names": [], - "modified_date": "2022-10-25T18:22:13.531600Z", - "series": [], - "source": [], - "physical_description_size": [], - "batch_ids": [], - "publisher": [], - "date_created": ["circa 1990?", "August 1906 to December 1910"], - "csv_metadata_update_jobs": [], - "keywords": [], "alternate_title": [], - "id": "a3386c0e-e086-45ef-b3c5-9b45ea78211e", - "box_number": [], - "box_name": [], - "create_date": "2022-10-25T00:36:58.251836Z", - "table_of_contents": [], - "project": { - "cycle": null, - "desc": null, - "manager": null, - "name": null, - "proposer": null, - "task_number": null - }, - "style_period": [], - "technique": [], - "api_model": "Work", - "genre": [], - "folder_numbers": [], - "cultural_context": [], - "preservation_level": null, - "creator": [], - "related_url": [], - "visibility": "Public", "api_link": "https://dcapi.rdc-staging.library.northwestern.edu/works/a3386c0e-e086-45ef-b3c5-9b45ea78211e", - "representative_file_set": { - "id": null, - "url": null - }, - "subject": [], - "legacy_identifier": [], - "published": false, + "api_model": "Work", + "ark": "ark:/99999/fk498553735", + "batch_ids": [], + "box_name": [], + "box_number": [], + "caption": [], + "catalog_key": [], "collection": { "description": "This collection features digital copies of 113 antique maps of Africa and accompanying text dating from the mid-16th Century to the early 20th Century. All scanned maps are authentic and originally collected by the Melville J. Herskovits Library of African Studies. Melville J. Herskovits established Northwestern University's Program of African Studies in 1948 (the first of its kind at a major research university in the United States). The Herskovits Library, formally created as a separate library in 1954, has since its inception collected maps that describe Africa from their earliest appearance to the most current. Map area coverage includes the continent, regions (particularly North Africa and Algeria), islands (particularly Madagascar), and a few city plans. All of these maps are loose items, though many have been excised from published atlases. Some of the highlights of the digital collection are: a series of Ptolemic maps of North Africa by Ruscelli, ca. 1565; Forlani: Africa , 1562; Mercator: Africa, 1595; Blaeu: Æthiopia ca. 1650 (a Prester John map); Carey: Africa, 1795 (first map of Africa published in the United States), Arrowsmith: Africa, 1802 (notable for its large dimensions, 124 x 145 cm.), a series of Algerian maps published by the French government in the mid-1800's, and maps by other notable cartographers, such as Hondius, Jansson, de Jode, de L'Isle, Ortelius, Sanson, and de Wit. The original maps are kept and maintained in the map collection in the Government & Geographic Information Collection. We welcome questions, comments, and suggestions concerning any aspect of this digital collection, particularly with regards to provenance. Other antique maps from the Herskovits Library which were not included in this digital collection are either duplicate copies or other editions, such as French government sets covering Algeria.", "id": "1c2e2200-c12d-4c7f-8b87-a935c349898a", "title": "16th-Early 20th Century Maps of Africa" }, - "physical_description_material": [], - "notes": [], + "contributor": [], + "create_date": "2022-10-25T00:36:58.251836Z", + "creator": [], + "csv_metadata_update_jobs": [], + "cultural_context": [], + "date_created": ["circa 1990?", "August 1906 to December 1910"], "description": ["Yes!!!"], - "location": [], - "rights_statement": {}, - "identifier": [], - "ingest_project": {}, - "terms_of_use": null, - "abstract": [], "file_sets": [ { "duration": 5.599, @@ -129,20 +92,57 @@ "width": 560 } ], - "language": [], - "title": "The title of the video work", + "folder_names": [], + "folder_numbers": [], + "genre": [], + "id": "a3386c0e-e086-45ef-b3c5-9b45ea78211e", + "identifier": [], + "iiif_manifest": "https://kdid-dev-pyramids.s3.amazonaws.com/public/iiif3/a3/38/6c/0e/-e/08/6-/45/ef/-b/3c/5-/9b/45/ea/78/21/1e-manifest.json", + "indexed_at": "2022-10-25T18:22:37.800026", + "ingest_project": {}, "ingest_sheet": {}, - "ark": "ark:/99999/fk498553735", - "catalog_key": [], - "provenance": [], + "keywords": [], + "language": [], + "legacy_identifier": [], "library_unit": null, - "work_type": "Video", - "contributor": [], "license": null, + "location": [], + "modified_date": "2022-10-25T18:22:13.531600Z", + "notes": [], + "physical_description_material": [], + "physical_description_size": [], + "preservation_level": null, + "project": { + "cycle": null, + "desc": null, + "manager": null, + "name": null, + "proposer": null, + "task_number": null + }, + "provenance": [], + "published": false, + "publisher": [], + "related_material": [], + "related_url": [], + "representative_file_set": { + "id": null, + "url": null + }, + "rights_holder": [], + "rights_statement": {}, "scope_and_contents": [], - "caption": [], + "series": [], + "source": [], "status": null, - "rights_holder": [], - "related_material": [] + "style_period": [], + "subject": [], + "table_of_contents": [], + "technique": [], + "terms_of_use": null, + "thumbnail": "https://dcapi.rdc-staging.library.northwestern.edu/works/a3386c0e-e086-45ef-b3c5-9b45ea78211e/thumbnail", + "title": "The title of the video work", + "visibility": "Public", + "work_type": "Video" } } diff --git a/test/unit/api/response/iiif/manifest.test.js b/test/unit/api/response/iiif/manifest.test.js index 619e259a..082cc5ff 100644 --- a/test/unit/api/response/iiif/manifest.test.js +++ b/test/unit/api/response/iiif/manifest.test.js @@ -49,6 +49,9 @@ describe("Image Work as IIIF Manifest response transformer", () => { ).to.eq(source.alternate_title[0]); expect(getMetadataValueByLabel(manifest.metadata, "Abstract")).to.be .undefined; + expect(getMetadataValueByLabel(manifest.metadata, "License")).to.eql([ + source.license.label, + ]); }); it("populates Manifest requiredStatement", async () => { diff --git a/test/unit/api/response/iiif/presentation-api/metadata.test.js b/test/unit/api/response/iiif/presentation-api/metadata.test.js index 1132f0bd..8f453688 100644 --- a/test/unit/api/response/iiif/presentation-api/metadata.test.js +++ b/test/unit/api/response/iiif/presentation-api/metadata.test.js @@ -24,7 +24,7 @@ describe("IIIF response presentation API metadata helpers", () => { it("metadataLabelFields(source)", () => { const metadata = metadataLabelFields(source); expect(Array.isArray(metadata)).to.be; - expect(metadata.length).to.eq(28); + expect(metadata.length).to.eq(29); metadata.forEach((item) => { expect(item.label).to.be.a("string"); expect(item.value).to.be.an("array"); From c140406e6d5810e7fa13e7aeafca05719f3d49b0 Mon Sep 17 00:00:00 2001 From: "Adam J. Arling" Date: Thu, 6 Jul 2023 19:18:48 +0000 Subject: [PATCH 2/2] Bump version to v2.1.1 --- package-lock.json | 6 +++--- package.json | 4 ++-- src/package-lock.json | 4 ++-- src/package.json | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index e233e39e..cb8b2ca8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "dc-api-build", - "version": "2.0.1", + "version": "2.1.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "dc-api-build", - "version": "2.0.1", + "version": "2.1.1", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -5603,7 +5603,7 @@ }, "src": { "name": "dc-api", - "version": "2.0.1", + "version": "2.1.1", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "^2.0.1", diff --git a/package.json b/package.json index 4a0e80e1..103af0fa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dc-api-build", - "version": "2.1.0", + "version": "2.1.1", "description": "NUL Digital Collections API Build Environment", "repository": "https://github.com/nulib/dc-api-v2", "author": "nulib", @@ -51,4 +51,4 @@ ] } } -} \ No newline at end of file +} diff --git a/src/package-lock.json b/src/package-lock.json index 61f70672..8d0ac1b9 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -1,12 +1,12 @@ { "name": "dc-api", - "version": "2.0.1", + "version": "2.1.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "dc-api", - "version": "2.0.1", + "version": "2.1.1", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "^2.0.1", diff --git a/src/package.json b/src/package.json index 862de0a4..98233f04 100644 --- a/src/package.json +++ b/src/package.json @@ -1,6 +1,6 @@ { "name": "dc-api", - "version": "2.1.0", + "version": "2.1.1", "description": "NUL Digital Collections API", "repository": "https://github.com/nulib/dc-api-v2", "author": "nulib",