Jonathan Druart
94c67c439e
Add the ability to create new titles and attach them to a package. The MARC to KBART2 mapping is the following (based on https://github.com/adambuttrick/marc_to_kbart/blob/master/convert.py): publication_title = biblio.title print_identifier = 020$a||020$z||022$a||022$y online_identifier = 020$a||020$z||022$a||022$y date_first_issue_online = 866$a (before '-') date_last_issue_online = 866$a (after '-') num_first_vol_online = 863$a (before '-') num_last_vol_online = 863$a (after '-') num_first_issue_online = ? num_last_issue_online = ? title_url = 856$u first_author = biblio.first_author embargo_info = ? coverage_depth = title_url ? 'fulltext' : 'print' notes = $852$z publisher_name = 260$b publication_type = ? date_monograph_published_print = ? date_monograph_published_online = ? monograph_volume = ? monograph_edition = ? first_editor = ? parent_publication_title_id = ? preceeding_publication_title_id = ? access_type = ? Note that title is not created (and so the resource) if a title from this package already has a link to this bibliographic record. Is that correct, or should we create another resource? Should the import screen also have "start date" and "end date" to set for the resource? QA note: Ideally we would like to fetch the list from the REST API but the routes are not there yet. Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
455 lines
13 KiB
YAML
455 lines
13 KiB
YAML
---
|
|
/erm/eholdings/{provider}/titles:
|
|
get:
|
|
x-mojo-to: ERM::EHoldings::Titles#list
|
|
operationId: listErmEHoldingsTitles
|
|
tags:
|
|
- eholdings
|
|
summary: List eholdings titles
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- description: Provider name
|
|
in: path
|
|
name: provider
|
|
required: true
|
|
type: string
|
|
- description: Case insensitive search on title title_id
|
|
in: query
|
|
name: title_id
|
|
required: false
|
|
type: integer
|
|
- description: Case insensitive search on title publication_title
|
|
in: query
|
|
name: publication_title
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title external_id
|
|
in: query
|
|
name: external_id
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title print_identifier
|
|
in: query
|
|
name: print_identifier
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title online_identifier
|
|
in: query
|
|
name: online_identifier
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title date_first_issue_online
|
|
in: query
|
|
name: date_first_issue_online
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title num_first_vol_online
|
|
in: query
|
|
name: num_first_vol_online
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title num_first_issue_online
|
|
in: query
|
|
name: num_first_issue_online
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title date_last_issue_online
|
|
in: query
|
|
name: date_last_issue_online
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title num_last_vol_online
|
|
in: query
|
|
name: num_last_vol_online
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title num_last_issue_online
|
|
in: query
|
|
name: num_last_issue_online
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title title_url
|
|
in: query
|
|
name: title_url
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title first_author
|
|
in: query
|
|
name: first_author
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title embargo_info
|
|
in: query
|
|
name: embargo_info
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title coverage_depth
|
|
in: query
|
|
name: coverage_depth
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title notes
|
|
in: query
|
|
name: notes
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title publisher_name
|
|
in: query
|
|
name: publisher_name
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title publication_type
|
|
in: query
|
|
name: publication_type
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title date_monograph_published_print
|
|
in: query
|
|
name: date_monograph_published_print
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title date_monograph_published_online
|
|
in: query
|
|
name: date_monograph_published_online
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title monograph_volume
|
|
in: query
|
|
name: monograph_volume
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title monograph_edition
|
|
in: query
|
|
name: monograph_edition
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title first_editor
|
|
in: query
|
|
name: first_editor
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title parent_publication_title_id
|
|
in: query
|
|
name: parent_publication_title_id
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title preceeding_publication_title_id
|
|
in: query
|
|
name: preceeding_publication_title_id
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on title access_type
|
|
in: query
|
|
name: access_type
|
|
required: false
|
|
type: string
|
|
- $ref: "../swagger.yaml#/parameters/match"
|
|
- $ref: "../swagger.yaml#/parameters/order_by"
|
|
- $ref: "../swagger.yaml#/parameters/page"
|
|
- $ref: "../swagger.yaml#/parameters/per_page"
|
|
- $ref: "../swagger.yaml#/parameters/q_param"
|
|
- $ref: "../swagger.yaml#/parameters/q_body"
|
|
- $ref: "../swagger.yaml#/parameters/q_header"
|
|
responses:
|
|
200:
|
|
description: A list of eHoldings titles
|
|
schema:
|
|
items:
|
|
$ref: "../swagger.yaml#/definitions/erm_eholdings_title"
|
|
type: array
|
|
400:
|
|
description: Bad request
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
403:
|
|
description: Access forbidden
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
500:
|
|
description: |-
|
|
Internal server error. Possible `error_code` attribute values:
|
|
* `internal_server_error`
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
503:
|
|
description: Under maintenance
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
x-koha-authorization:
|
|
permissions:
|
|
erm: 1
|
|
post:
|
|
x-mojo-to: ERM::EHoldings::Titles#add
|
|
operationId: addErmEHoldingsTitles
|
|
tags:
|
|
- eholdings
|
|
summary: Add eholding
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- description: A JSON object containing information about the new title
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/erm_eholdings_title"
|
|
responses:
|
|
201:
|
|
description: A successfully created title
|
|
schema:
|
|
items:
|
|
$ref: "../swagger.yaml#/definitions/erm_eholdings_title"
|
|
400:
|
|
description: Bad parameter
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
401:
|
|
description: Authentication required
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
403:
|
|
description: Access forbidden
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
404:
|
|
description: Ressource not found
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
409:
|
|
description: Conflict in creating resource
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
500:
|
|
description: |-
|
|
Internal server error. Possible `error_code` attribute values:
|
|
* `internal_server_error`
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
503:
|
|
description: Under maintenance
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
x-koha-authorization:
|
|
permissions:
|
|
erm: 1
|
|
"/erm/eholdings/{provider}/titles/{title_id}":
|
|
get:
|
|
x-mojo-to: ERM::EHoldings::Titles#get
|
|
operationId: getErmEHoldingsTitles
|
|
tags:
|
|
- eholdings
|
|
summary: Get titles
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- description: Provider name
|
|
in: path
|
|
name: provider
|
|
required: true
|
|
type: string
|
|
- $ref: "../swagger.yaml#/parameters/eholdings_title_id_pp"
|
|
responses:
|
|
200:
|
|
description: An eHolding title
|
|
schema:
|
|
items:
|
|
$ref: "../swagger.yaml#/definitions/erm_eholdings_title"
|
|
401:
|
|
description: Authentication required
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
403:
|
|
description: Access forbidden
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
404:
|
|
description: Ressource not found
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
500:
|
|
description: |-
|
|
Internal server error. Possible `error_code` attribute values:
|
|
* `internal_server_error`
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
503:
|
|
description: Under maintenance
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
x-koha-authorization:
|
|
permissions:
|
|
erm: 1
|
|
x-koha-embed:
|
|
- resources
|
|
- resources.package
|
|
put:
|
|
x-mojo-to: ERM::EHoldings::Titles#update
|
|
operationId: updateErmEHoldingsTitles
|
|
tags:
|
|
- eholdings
|
|
summary: Update titles
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- $ref: "../swagger.yaml#/parameters/eholdings_title_id_pp"
|
|
- name: body
|
|
in: body
|
|
description: A JSON object containing new information about existing title
|
|
required: true
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/erm_eholdings_title"
|
|
responses:
|
|
200:
|
|
description: A successfully updated title
|
|
schema:
|
|
items:
|
|
$ref: "../swagger.yaml#/definitions/erm_eholdings_title"
|
|
400:
|
|
description: Bad parameter
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
403:
|
|
description: Access forbidden
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
404:
|
|
description: Ressource not found
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
409:
|
|
description: Conflict in updating resource
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
500:
|
|
description: |-
|
|
Internal server error. Possible `error_code` attribute values:
|
|
* `internal_server_error`
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
503:
|
|
description: Under maintenance
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
x-koha-authorization:
|
|
permissions:
|
|
erm: 1
|
|
x-koha-embed:
|
|
- resources
|
|
- resources.package
|
|
delete:
|
|
x-mojo-to: ERM::EHoldings::Titles#delete
|
|
operationId: deleteErmEHoldingsTitles
|
|
tags:
|
|
- eholdings
|
|
summary: Delete eHolding title
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- $ref: "../swagger.yaml#/parameters/eholdings_title_id_pp"
|
|
responses:
|
|
204:
|
|
description: title deleted
|
|
400:
|
|
description: title deletion failed
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
401:
|
|
description: Authentication required
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
403:
|
|
description: Access forbidden
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
404:
|
|
description: Ressource not found
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
409:
|
|
description: Conflict in deleting resource
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
500:
|
|
description: |-
|
|
Internal server error. Possible `error_code` attribute values:
|
|
* `internal_server_error`
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
503:
|
|
description: Under maintenance
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
x-koha-authorization:
|
|
permissions:
|
|
erm: 1
|
|
|
|
/erm/eholdings/local/titles/import:
|
|
post:
|
|
x-mojo-to: ERM::EHoldings::Titles#import_from_list
|
|
operationId: importErmEHoldingsTitles
|
|
tags:
|
|
- eholdings
|
|
summary: Import local titles
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- description: The list_id of the list to import
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
type: object
|
|
properties:
|
|
list_id:
|
|
type: string
|
|
package_id:
|
|
type: string
|
|
responses:
|
|
201:
|
|
description: Successfully enqueued the import job
|
|
schema:
|
|
type: object
|
|
properties:
|
|
job_id:
|
|
type: string
|
|
additionalProperties: false
|
|
400:
|
|
description: Bad parameter
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
401:
|
|
description: Authentication required
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
403:
|
|
description: Access forbidden
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
404:
|
|
description: Ressource not found
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
409:
|
|
description: Conflict in creating resource
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
500:
|
|
description: |-
|
|
Internal server error. Possible `error_code` attribute values:
|
|
* `internal_server_error`
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
503:
|
|
description: Under maintenance
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
x-koha-authorization:
|
|
permissions:
|
|
erm: 1
|