Tomas Cohen Arazi
3fc1f27524
This patch removes support for the `x-koha-query` header entirely from the codebase. For the purpose: - $c->objects->search is adjusted - Relevant tests are cleared/adapted - The OpenAPI spec gets the header removed To test: 1. Apply this patch and run: $ ktd --shell k$ prove t/db_dependent/Koha/REST/Plugin/Objects.t \ t/Koha/REST/Plugin/Query.t \ t/db_dependent/api/v1/*.t => SUCCESS: Tests pass! 2. Sign off :-D Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
405 lines
12 KiB
YAML
405 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"
|
|
- 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
|