Tomas Cohen Arazi
748b2e91a3
This patch adds a 'summary' entry to all routes and verbs. This way, ReDoc will display a human-friendly description of the route, instead of the operationId. To test, repeat the testing steps in the previous patch, and notice that we now have good descriptions. Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
435 lines
11 KiB
JSON
435 lines
11 KiB
JSON
{
|
|
"/libraries": {
|
|
"get": {
|
|
"x-mojo-to": "Libraries#list",
|
|
"operationId": "listLibraries",
|
|
"tags": [
|
|
"library"
|
|
],
|
|
"summary": "List libraries",
|
|
"parameters": [
|
|
{
|
|
"name": "name",
|
|
"in": "query",
|
|
"description": "Case insensitive 'starts-with' search on name",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "address1",
|
|
"in": "query",
|
|
"description": "Case insensitive 'starts-with' search on address1",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "address2",
|
|
"in": "query",
|
|
"description": "Case insensitive 'starts-with' search on address2",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "address3",
|
|
"in": "query",
|
|
"description": "Case insensitive 'starts-with' search on address3",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "postal_code",
|
|
"in": "query",
|
|
"description": "Case insensitive 'starts-with' search on postal code",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "city",
|
|
"in": "query",
|
|
"description": "Case insensitive 'starts-with' search on city",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "state",
|
|
"in": "query",
|
|
"description": "Case insensitive 'starts-with' search on state",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "country",
|
|
"in": "query",
|
|
"description": "Case insensitive 'starts_with' search on country",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "phone",
|
|
"in": "query",
|
|
"description": "Case insensitive 'starts_with' search on phone number",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "fax",
|
|
"in": "query",
|
|
"description": "Case insensitive 'starts_with' search on fax number",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "email",
|
|
"in": "query",
|
|
"description": "Case insensitive 'starts_with' search on email address",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "reply_to_email",
|
|
"in": "query",
|
|
"description": "Case insensitive 'starts_with' search on Reply-To email address",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "return_path_email",
|
|
"in": "query",
|
|
"description": "Case insensitive 'starts_with' search on Return-Path email address",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "url",
|
|
"in": "query",
|
|
"description": "Case insensitive 'starts_with' search on website URL",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "ip",
|
|
"in": "query",
|
|
"description": "Case insensitive 'starts_with' search on IP address",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "notes",
|
|
"in": "query",
|
|
"description": "Case insensitive 'starts_with' search on notes",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "opac_info",
|
|
"in": "query",
|
|
"description": "Case insensitive 'starts-with' search on OPAC info",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$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": "A list of libraries",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "../definitions.json#/library"
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal error",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"503": {
|
|
"description": "Under maintenance",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
}
|
|
},
|
|
"x-koha-authorization": {
|
|
"permissions": {
|
|
"catalogue": "1"
|
|
}
|
|
},
|
|
"x-koha-embed": [
|
|
"smtp_server"
|
|
]
|
|
},
|
|
"post": {
|
|
"x-mojo-to": "Libraries#add",
|
|
"operationId": "addLibrary",
|
|
"tags": [
|
|
"library"
|
|
],
|
|
"summary": "Add library",
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"description": "A JSON object containing informations about the new library",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "../definitions.json#/library"
|
|
}
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Library added",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/library"
|
|
}
|
|
},
|
|
"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"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Conflict in creating resource",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal error",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"503": {
|
|
"description": "Under maintenance",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
}
|
|
},
|
|
"x-koha-authorization": {
|
|
"permissions": {
|
|
"parameters": "manage_libraries"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/libraries/{library_id}": {
|
|
"get": {
|
|
"x-mojo-to": "Libraries#get",
|
|
"operationId": "getLibrary",
|
|
"tags": [
|
|
"library"
|
|
],
|
|
"summary": "Get library",
|
|
"parameters": [
|
|
{
|
|
"$ref": "../parameters.json#/library_id_pp"
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "A library",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/library"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Library not found",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
}
|
|
},
|
|
"x-koha-authorization": {
|
|
"permissions": {
|
|
"catalogue": "1"
|
|
}
|
|
},
|
|
"x-koha-embed": [
|
|
"smtp_server"
|
|
]
|
|
},
|
|
"put": {
|
|
"x-mojo-to": "Libraries#update",
|
|
"operationId": "updateLibrary",
|
|
"tags": [
|
|
"library"
|
|
],
|
|
"summary": "Update library",
|
|
"parameters": [
|
|
{
|
|
"$ref": "../parameters.json#/library_id_pp"
|
|
},
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"description": "A JSON object containing information on the library",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "../definitions.json#/library"
|
|
}
|
|
}
|
|
],
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "A library",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/library"
|
|
}
|
|
},
|
|
"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": "Library not found",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal error",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"503": {
|
|
"description": "Under maintenance",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
}
|
|
},
|
|
"x-koha-authorization": {
|
|
"permissions": {
|
|
"parameters": "manage_libraries"
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"x-mojo-to": "Libraries#delete",
|
|
"operationId": "deleteLibrary",
|
|
"tags": [
|
|
"library"
|
|
],
|
|
"summary": "Delete library",
|
|
"parameters": [
|
|
{
|
|
"$ref": "../parameters.json#/library_id_pp"
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "Library deleted",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Authentication required",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Access forbidden",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Library not found",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal error",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"503": {
|
|
"description": "Under maintenance",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
}
|
|
},
|
|
"x-koha-authorization": {
|
|
"permissions": {
|
|
"parameters": "manage_libraries"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|