Martin Renvoize
79f7f44aa1
This patch adds the missing 'Provider name' parameter definition to the various ERM paths that were missing it. Test plan 1) Run: docker run --rm -v $PWD/api/v1/swagger:/swagger \ jeanberu/swagger-cli \ swagger-cli validate swagger/swagger.yaml => FAIL: The spec is not valid! 2) Apply this patch 3) Repeat 1 => SUCCESS: Tests pass! Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Edit: tcohen edited the test plan because of the failure to install swagger-cli cleanly Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
406 lines
12 KiB
YAML
406 lines
12 KiB
YAML
---
|
|
/erm/eholdings/{provider}/packages:
|
|
get:
|
|
x-mojo-to: ERM::EHoldings::Packages#list
|
|
operationId: listErmEHoldingsPackages
|
|
tags:
|
|
- eHoldings package
|
|
summary: List packages
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- description: Provider name
|
|
in: path
|
|
name: provider
|
|
required: true
|
|
type: string
|
|
- description: Case insensitive search on package package_id
|
|
in: query
|
|
name: package_id
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on package vendor_id
|
|
in: query
|
|
name: vendor_id
|
|
required: false
|
|
type: integer
|
|
- description: Case insensitive search on package name
|
|
in: query
|
|
name: name
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on package external_package_id
|
|
in: query
|
|
name: external_package_id
|
|
required: false
|
|
type: integer
|
|
- description: Case insensitive search on package type
|
|
in: query
|
|
name: package_type
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on package content_type
|
|
in: query
|
|
name: content_type
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on package notes
|
|
in: query
|
|
name: notes
|
|
required: false
|
|
type: string
|
|
- description: Case insensitive search on package creation date
|
|
in: query
|
|
name: created_on
|
|
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"
|
|
- name: x-koha-embed
|
|
in: header
|
|
required: false
|
|
description: Embed list sent as a request header
|
|
type: array
|
|
items:
|
|
type: string
|
|
enum:
|
|
- vendor
|
|
- vendor.name
|
|
- resources+count
|
|
- resources
|
|
collectionFormat: csv
|
|
responses:
|
|
200:
|
|
description: A list of package
|
|
schema:
|
|
items:
|
|
$ref: "../swagger.yaml#/definitions/erm_eholdings_package"
|
|
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::Packages#add
|
|
operationId: addErmEHoldingsPackages
|
|
tags:
|
|
- eHoldings package
|
|
summary: Add package
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- description: Provider name
|
|
in: path
|
|
name: provider
|
|
required: true
|
|
type: string
|
|
- description: A JSON object containing information about the new package
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/erm_eholdings_package"
|
|
responses:
|
|
201:
|
|
description: A successfully created package
|
|
schema:
|
|
items:
|
|
$ref: "../swagger.yaml#/definitions/erm_eholdings_package"
|
|
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}/packages/{package_id}":
|
|
get:
|
|
x-mojo-to: ERM::EHoldings::Packages#get
|
|
operationId: getErmEHoldingsPackages
|
|
tags:
|
|
- package
|
|
summary: Get eHoldings package
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- description: Provider name
|
|
in: path
|
|
name: provider
|
|
required: true
|
|
type: string
|
|
- $ref: "../swagger.yaml#/parameters/eholdings_package_id_pp"
|
|
- name: x-koha-embed
|
|
in: header
|
|
required: false
|
|
description: Embed list sent as a request header
|
|
type: array
|
|
items:
|
|
type: string
|
|
enum:
|
|
- package_agreements
|
|
- package_agreements.agreement
|
|
- resources+count
|
|
- vendor
|
|
collectionFormat: csv
|
|
responses:
|
|
200:
|
|
description: A package
|
|
schema:
|
|
items:
|
|
$ref: "../swagger.yaml#/definitions/erm_eholdings_package"
|
|
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
|
|
put:
|
|
x-mojo-to: ERM::EHoldings::Packages#update
|
|
operationId: updateErmEHoldingsPackages
|
|
tags:
|
|
- package
|
|
summary: Update eHoldings package
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- description: Provider name
|
|
in: path
|
|
name: provider
|
|
required: true
|
|
type: string
|
|
- $ref: "../swagger.yaml#/parameters/eholdings_package_id_pp"
|
|
- name: body
|
|
in: body
|
|
description: A JSON object containing new information about existing package
|
|
required: true
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/erm_eholdings_package"
|
|
- name: x-koha-embed
|
|
in: header
|
|
required: false
|
|
description: Embed list sent as a request header
|
|
type: array
|
|
items:
|
|
type: string
|
|
enum:
|
|
- agreements
|
|
- resources
|
|
collectionFormat: csv
|
|
responses:
|
|
200:
|
|
description: A successfully updated package
|
|
schema:
|
|
items:
|
|
$ref: "../swagger.yaml#/definitions/erm_eholdings_package"
|
|
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
|
|
delete:
|
|
x-mojo-to: ERM::EHoldings::Packages#delete
|
|
operationId: deleteErmEHoldingsPackages
|
|
tags:
|
|
- package
|
|
summary: Delete eHoldings package
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- description: Provider name
|
|
in: path
|
|
name: provider
|
|
required: true
|
|
type: string
|
|
- $ref: "../swagger.yaml#/parameters/eholdings_package_id_pp"
|
|
responses:
|
|
204:
|
|
description: package deleted
|
|
400:
|
|
description: package 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
|
|
patch:
|
|
x-mojo-to: ERM::EHoldings::Packages#edit
|
|
operationId: editErmEHoldingsPackages
|
|
tags:
|
|
- eholdings
|
|
summary: Edit a package
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- description: Provider name
|
|
in: path
|
|
name: provider
|
|
required: true
|
|
type: string
|
|
- description: A JSON object containing the fields to edit
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
type: object
|
|
properties:
|
|
is_selected:
|
|
description: Add or remove this package from remote holdings
|
|
type: boolean
|
|
additionalProperties: false
|
|
- $ref: "../swagger.yaml#/parameters/eholdings_package_id_pp"
|
|
responses:
|
|
200:
|
|
description: What has been modified
|
|
schema:
|
|
type: object
|
|
properties:
|
|
is_selected:
|
|
description: Add or remove this package from remote holdings
|
|
type: boolean
|
|
additionalProperties: false
|
|
401:
|
|
description: Authentication required
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
403:
|
|
description: Access forbidden
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
404:
|
|
description: Package 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
|