In order to facilitate the use of normalized ISBNs, particularly in search queries, an API is needed.
It was determined that mod-inventory is a reasonable place for this API to live since it's a core module and "will always be there". That said, it should be easy to move later if desired since this API will define a new interface (see below)
The API should be defined under a new interface "isbn-utils".
The folio-isbn-util shared library already exists and does most of the work, so we just need to create the API and call the util.
The API consists of 4 endpoints; two for performing isbn conversions and two for validating ISBNs w/o modification. The conversion endpoints support an optional query arg which allows you to add hyphens (defaults to false).
- Always return a 200. The response body is json response of true or false.
- Return a 200 on success. The response body is a json object containing the converted isbn:
- Return a 400 when an invalid ISBNs is provided. The response body should be an error json response indicating the problem.
- Schemas, RAML and Module Descriptors have been created/updated
- Unit tests are updated