Browse Source

Bug 23666: Add spec

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
21.05.x
Tomás Cohen Arazi 3 years ago
committed by Jonathan Druart
parent
commit
13bebbaa26
  1. 3
      api/v1/swagger/definitions.json
  2. 8
      api/v1/swagger/paths.json
  3. 318
      api/v1/swagger/paths/patrons_extended_attributes.json

3
api/v1/swagger/definitions.json

@ -71,6 +71,9 @@
"patron_balance": {
"$ref": "definitions/patron_balance.json"
},
"patron_extended_attribute": {
"$ref": "definitions/patron_extended_attribute.json"
},
"quote": {
"$ref": "definitions/quote.json"
},

8
api/v1/swagger/paths.json

@ -122,7 +122,13 @@
"/patrons/{patron_id}/account/credits": {
"$ref": "paths/patrons_account.json#/~1patrons~1{patron_id}~1account~1credits"
},
"/patrons/{patron_id}/holds": {
"/patrons/{patron_id}/extended_attributes": {
"$ref": "paths/patrons_extended_attributes.json#/~1patrons~1{patron_id}~1extended_attributes"
},
"/patrons/{patron_id}/extended_attributes/{extended_attribute_id}": {
"$ref": "paths/patrons_extended_attributes.json#/~1patrons~1{patron_id}~1extended_attributes~1{extended_attribute_id}"
},
"/patrons/{patron_id}/holds": {
"$ref": "paths/patrons_holds.json#/~1patrons~1{patron_id}~1holds"
},
"/patrons/{patron_id}/password": {

318
api/v1/swagger/paths/patrons_extended_attributes.json

@ -0,0 +1,318 @@
{
"/patrons/{patron_id}/extended_attributes": {
"get": {
"x-mojo-to": "Patrons::Attributes#list_patron_attributes",
"operationId": "getPatronAttributes",
"tags": [
"patrons",
"extended_attributes"
],
"parameters": [
{
"$ref": "../parameters.json#/patron_id_pp"
},
{
"$ref": "../parameters.json#/match"
},
{
"$ref": "../parameters.json#/order_by"
},
{
"$ref": "../parameters.json#/page"
},
{
"$ref": "../parameters.json#/per_page"
},
{
"$ref": "../parameters.json#/q_param"
},
{
"$ref": "../parameters.json#/q_body"
},
{
"$ref": "../parameters.json#/q_header"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "The patron extended attributes",
"schema": {
"type": "array",
"items": {
"$ref": "../definitions.json#/patron_extended_attribute"
}
}
},
"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": {
"catalogue": "1"
}
}
},
"post": {
"x-mojo-to": "Patrons::Attributes#add",
"operationId": "addPatronAttribute",
"tags": [
"patrons",
"extended_attributes"
],
"parameters": [
{
"$ref": "../parameters.json#/patron_id_pp"
},
{
"name": "body",
"in": "body",
"description": "A JSON representation of the patron extended attribute",
"required": true,
"schema": {
"$ref": "../definitions.json#/patron_extended_attribute"
}
}
],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "A successfully created patron extended attribute",
"schema": {
"$ref": "../definitions.json#/patron_extended_attribute"
}
},
"400": {
"description": "Bad parameter",
"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"
}
},
"409": {
"description": "Conflict in creating resource",
"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": "edit_borrowers"
}
}
},
"put": {
"x-mojo-to": "Patrons::Attributes#overwrite",
"operationId": "overwritePatronAttributes",
"tags": [
"patrons",
"extended_attributes"
],
"parameters": [
{
"$ref": "../parameters.json#/patron_id_pp"
},
{
"name": "body",
"in": "body",
"description": "A JSON representation of the patron extended attribute",
"required": true,
"schema": {
"type": "array",
"items": {
"$ref": "../definitions.json#/patron_extended_attribute"
}
}
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "The successfully created patron extended attributes",
"schema": {
"type": "array",
"items": {
"$ref": "../definitions.json#/patron_extended_attribute"
}
}
},
"400": {
"description": "Bad parameters",
"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"
}
},
"409": {
"description": "Conflict in creating resource",
"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": "edit_borrowers"
}
}
}
},
"/patrons/{patron_id}/extended_attributes/{extended_attribute_id}": {
"delete": {
"x-mojo-to": "Patrons::Attributes#delete",
"operationId": "deletePatronAttribute",
"tags": [
"patrons",
"extended_attributes"
],
"parameters": [
{
"$ref": "../parameters.json#/patron_id_pp"
},
{
"name": "extended_attribute_id",
"in": "path",
"description": "Internal patron extended attribute identifier",
"type": "integer",
"required": true
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "Extended patron attribute deleted"
},
"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": "edit_borrowers"
}
}
}
}
}
Loading…
Cancel
Save