Tomas Cohen Arazi
ef5422bbca
This patch introduces a public endpoint for cancelling holds.
Cancellation requests are generated when the hold is waiting and
configuration allows requesting cancellation, as the OPAC does right
now.
Tests cover all the use cases.
To test:
1. Apply this patches
2. Run:
$ ktd --shell
k$ prove t/db_dependent/api/v1/patrons_holds.t
=> SUCCESS: Tests pass!
3. Sign off :-D
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 252753f84f
)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
218 lines
6.4 KiB
YAML
218 lines
6.4 KiB
YAML
---
|
|
"/public/patrons/{patron_id}/password":
|
|
post:
|
|
x-mojo-to: Patrons::Password#set_public
|
|
operationId: setPatronPasswordPublic
|
|
tags:
|
|
- patrons
|
|
summary: Set password for a patron (public)
|
|
parameters:
|
|
- $ref: "../swagger.yaml#/parameters/patron_id_pp"
|
|
- name: body
|
|
in: body
|
|
description: A JSON object containing password information
|
|
schema:
|
|
type: object
|
|
properties:
|
|
password:
|
|
description: New password (plain text)
|
|
type: string
|
|
password_repeated:
|
|
description: Repeated new password (plain text)
|
|
type: string
|
|
old_password:
|
|
description: Patron's original password
|
|
type: string
|
|
required:
|
|
- password
|
|
- password_repeated
|
|
- old_password
|
|
additionalProperties: false
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Password changed
|
|
"400":
|
|
description: Bad request
|
|
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: Patron 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:
|
|
allow-owner: true
|
|
"/public/patrons/{patron_id}/guarantors/can_see_charges":
|
|
put:
|
|
x-mojo-to: Patrons#guarantors_can_see_charges
|
|
operationId: setPatronGuarantorsCanSeeCharges
|
|
tags:
|
|
- patrons
|
|
summary: Set if guarantors can see charges (public)
|
|
parameters:
|
|
- $ref: "../swagger.yaml#/parameters/patron_id_pp"
|
|
- name: body
|
|
in: body
|
|
description: A boolean representing if guarantors should be able to see the
|
|
patron's charges
|
|
required: true
|
|
schema:
|
|
type: object
|
|
properties:
|
|
allowed:
|
|
type: boolean
|
|
additionalProperties: false
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Charges view policy for guarantors changed
|
|
"400":
|
|
description: Bad request
|
|
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: Patron 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:
|
|
allow-owner: true
|
|
"/public/patrons/{patron_id}/guarantors/can_see_checkouts":
|
|
put:
|
|
x-mojo-to: Patrons#guarantors_can_see_checkouts
|
|
operationId: setPatronGuarantorsCanSeeCheckouts
|
|
tags:
|
|
- patrons
|
|
summary: Set if guarantors can see checkouts
|
|
parameters:
|
|
- $ref: "../swagger.yaml#/parameters/patron_id_pp"
|
|
- name: body
|
|
in: body
|
|
description: A boolean representing if guarantors should be able to see the
|
|
patron's checkouts
|
|
required: true
|
|
schema:
|
|
type: object
|
|
properties:
|
|
allowed:
|
|
type: boolean
|
|
additionalProperties: false
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Check-out view policy for guarantors changed
|
|
"400":
|
|
description: Bad request
|
|
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: Patron 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:
|
|
allow-owner: true
|
|
"/public/patrons/{patron_id}/holds/{hold_id}":
|
|
delete:
|
|
x-mojo-to: Patrons::Holds#delete_public
|
|
operationId: cancelPatronHoldPublic
|
|
tags:
|
|
- patrons
|
|
summary: Cancel a patron's hold (public)
|
|
parameters:
|
|
- $ref: "../swagger.yaml#/parameters/patron_id_pp"
|
|
- $ref: "../swagger.yaml#/parameters/hold_id_pp"
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
description: Hold cancellation request accepted
|
|
"204":
|
|
description: Hold cancelled
|
|
"400":
|
|
description: Bad request
|
|
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: Hold 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:
|
|
allow-owner: true
|