From 5953cef2cc191e476b72def976b973ae19bfb373 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Mon, 16 Sep 2019 15:05:38 -0300 Subject: [PATCH] Bug 23584: Add spec for PUT /public/patron/:patron_id/guarantors Signed-off-by: Tomas Cohen Arazi --- api/v1/swagger/paths.json | 6 + api/v1/swagger/paths/public_patrons.json | 316 +++++++++++++++++------ 2 files changed, 241 insertions(+), 81 deletions(-) diff --git a/api/v1/swagger/paths.json b/api/v1/swagger/paths.json index 946de0a6a4..453a37a836 100644 --- a/api/v1/swagger/paths.json +++ b/api/v1/swagger/paths.json @@ -73,5 +73,11 @@ }, "/public/patrons/{patron_id}/password": { "$ref": "paths/public_patrons.json#/~1public~1patrons~1{patron_id}~1password" + }, + "/public/patrons/{patron_id}/guarantors/can_see_charges": { + "$ref": "paths/public_patrons.json#/~1public~1patrons~1{patron_id}~1guarantors~1can_see_charges" + }, + "/public/patrons/{patron_id}/guarantors/can_see_checkouts": { + "$ref": "paths/public_patrons.json#/~1public~1patrons~1{patron_id}~1guarantors~1can_see_checkouts" } } diff --git a/api/v1/swagger/paths/public_patrons.json b/api/v1/swagger/paths/public_patrons.json index 74838a078b..5db073c4eb 100644 --- a/api/v1/swagger/paths/public_patrons.json +++ b/api/v1/swagger/paths/public_patrons.json @@ -1,86 +1,240 @@ { - "/public/patrons/{patron_id}/password": { - "post": { - "x-mojo-to": "Patrons::Password#set_public", - "operationId": "setPatronPasswordPublic", - "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_repeated": { - "description": "Repeated new password (plain text)", - "type": "string" - }, - "old_password": { - "description": "Patron's original password", - "type": "string" - } + "/public/patrons/{patron_id}/password": { + "post": { + "x-mojo-to": "Patrons::Password#set_public", + "operationId": "setPatronPasswordPublic", + "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_repeated": { + "description": "Repeated new password (plain text)", + "type": "string" + }, + "old_password": { + "description": "Patron's original password", + "type": "string" + } + }, + "required": [ + "password", + "password_repeated", + "old_password" + ] + } + } + ], + "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" + } + } }, - "required": ["password", "password_repeated", "old_password"] - } + "x-koha-authorization": { + "allow-owner": true + } } - ], - "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" - } + }, + "/public/patrons/{patron_id}/guarantors/can_see_charges": { + "put": { + "x-mojo-to": "Patrons#guarantors_can_see_charges", + "operationId": "setPatronGuarantorsCanSeeCharges", + "tags": [ + "patron" + ], + "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" + } + } + } + } + ], + "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": [ + "patron" + ], + "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" + } + } + } + } + ], + "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 + } } - }, - "x-koha-authorization": { - "allow-owner": true - } } - } -} +} \ No newline at end of file -- 2.23.0