Koha/api/v1/swagger/paths/public_patrons.json
Tomas Cohen Arazi dc79aa0f40 Bug 27947: (QA follow-up) Refactor routes
This patch refactors the route specs a bit, and also reorganizes code
for easier tracking.

Unused exceptions that were added earlier are removed for now.

A follow-up patch will add tests to this routes.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2021-10-06 10:09:25 +02:00

246 lines
8.5 KiB
JSON

{
"/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": "../parameters.json#/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": "../definitions.json#/error"
}
},
"401": {
"description": "Authentication required",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"403": {
"description": "Access forbidden",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"404": {
"description": "Patron not found",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"503": {
"description": "Under maintenance",
"schema": {
"$ref": "../definitions.json#/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": "../parameters.json#/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": "../definitions.json#/error"
}
},
"401": {
"description": "Authentication required",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"403": {
"description": "Access forbidden",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"404": {
"description": "Patron not found",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"503": {
"description": "Under maintenance",
"schema": {
"$ref": "../definitions.json#/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": "../parameters.json#/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": "../definitions.json#/error"
}
},
"401": {
"description": "Authentication required",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"403": {
"description": "Access forbidden",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"404": {
"description": "Patron not found",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"503": {
"description": "Under maintenance",
"schema": {
"$ref": "../definitions.json#/error"
}
}
},
"x-koha-authorization": {
"allow-owner": true
}
}
}
}