Skip to content

Draft: feat(server): multiple isbn fields

Duncan Bennett requested to merge 770-multiple-isbn-inputs into dev

feat(server): multiple isbn fields

Refactors 'Book.podMetadata':

  • Drops 'Book.podMetadata.isbn'.
  • Adds 'Book.podMetadata.isbns'; an array of ('label', 'isbn') pairs.
  • Adds validation of 'Book.podMetadata.isbns'.

Implements migration for the 'Book.podMetadata' changes.

Refactors 'Book' GraphQL:

  • Drops 'Book.podMetadata.isbn'.
  • Adds 'Book.podMetadata.isbns'; an array of ('label', 'isbn') pairs.
  • Makes 'label' and 'isbn', required inputs of 'Book.podMetadata.isbns'.

Adds temporary fixes for:

  • controllers/helpers/EPUBPreparation.js
  • controllers/helpers/htmlGenerators.js Functions in both of these files expect "podMetadata" to have the "isbn" field and not the new "isbns" field. For now, there is only one isbn per "isbns" array so the code has been updated to fetch the value of the first "isbns" item.

Depends on https://gitlab.coko.foundation/ketida/ketida/-/merge_requests/304 Related to https://gitlab.coko.foundation/ketida/ketida/-/issues/770

Merge request reports