Koha/api/v1/swagger/paths/erm_eholdings_packages.yaml
Martin Renvoize 79f7f44aa1
Bug 33145: Fix ERM swagger specs
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>
2023-03-06 09:51:43 -03:00

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