From e2f6dd234ede4fe5bc1eb663bdb9ccde58538de9 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Thu, 16 Aug 2018 07:01:21 -0300 Subject: [PATCH] Bug 17006: OpenAPI spec Signed-off-by: Tomas Cohen Arazi --- api/v1/swagger/paths.json | 3 + api/v1/swagger/paths/patrons_password.json | 84 ++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 api/v1/swagger/paths/patrons_password.json diff --git a/api/v1/swagger/paths.json b/api/v1/swagger/paths.json index fb5f7a30a5..684ff24719 100644 --- a/api/v1/swagger/paths.json +++ b/api/v1/swagger/paths.json @@ -29,6 +29,9 @@ "/patrons/{patron_id}/account": { "$ref": "paths/patrons_account.json#/~1patrons~1{patron_id}~1account" }, + "/patrons/{patron_id}/password": { + "$ref": "paths/patrons_password.json#/~1patrons~1{patron_id}~1password" + }, "/illrequests": { "$ref": "paths/illrequests.json#/~1illrequests" } diff --git a/api/v1/swagger/paths/patrons_password.json b/api/v1/swagger/paths/patrons_password.json new file mode 100644 index 0000000000..97fcb4b566 --- /dev/null +++ b/api/v1/swagger/paths/patrons_password.json @@ -0,0 +1,84 @@ +{ + "/patrons/{patron_id}/password": { + "post": { + "x-mojo-to": "Patrons::Password#set", + "operationId": "setPatronPassword", + "tags": [ + "patron" + ], + "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" + }, + "old_password": { + "description": "Old password (plain text, only required for unprivileged patrons changing their own password)", + "type": "string" + } + } + } + } + ], + "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, + "permissions": { + "borrowers": "1" + } + } + } + } +} -- 2.18.0