From d4570947b0ba4f52f03e190b787b2605948a1495 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 Signed-off-by: Josef Moravec Signed-off-by: Josef Moravec Signed-off-by: Kyle M Hall Signed-off-by: Nick Clemens --- 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 c8870db2a1..83dddb08cd 100644 --- a/api/v1/swagger/paths.json +++ b/api/v1/swagger/paths.json @@ -32,6 +32,9 @@ "/patrons/{patron_id}/account/credits": { "$ref": "paths/patrons_account.json#/~1patrons~1{patron_id}~1account~1credits" }, + "/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..7384f76f17 --- /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" + }, + "password_2": { + "description": "Repeated new password (plain text)", + "type": "string" + } + }, + "required": ["password", "password_2"] + } + } + ], + "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": { + "permissions": { + "borrowers": "1" + } + } + } + } +}