Koha/api/v1/swagger/paths/cities.json
Tomas Cohen Arazi a07c5c153a
Bug 25279: Add general query parameters to the /cities route
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>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-05-12 11:39:36 +01:00

327 lines
7.5 KiB
JSON

{
"/cities": {
"get": {
"x-mojo-to": "Cities#list",
"operationId": "listCities",
"tags": [
"cities"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "name",
"in": "query",
"description": "Case insensative search on city name",
"required": false,
"type": "string"
},
{
"name": "state",
"in": "query",
"description": "Case insensative search on city state",
"required": false,
"type": "string"
},
{
"name": "country",
"in": "query",
"description": "Case insensative search on city country",
"required": false,
"type": "string"
},
{
"name": "postal_code",
"in": "query",
"description": "Case Insensative search on city postal code",
"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"
}
],
"responses": {
"200": {
"description": "A list of cities",
"schema": {
"type": "array",
"items": {
"$ref": "../definitions.json#/city"
}
}
},
"403": {
"description": "Access forbidden",
"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": {
"catalogue": "1"
}
}
},
"post": {
"x-mojo-to": "Cities#add",
"operationId": "addCity",
"tags": [
"cities"
],
"parameters": [
{
"name": "body",
"in": "body",
"description": "A JSON object containing informations about the new hold",
"required": true,
"schema": {
"$ref": "../definitions.json#/city"
}
}
],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "City added",
"schema": {
"$ref": "../definitions.json#/city"
}
},
"401": {
"description": "Authentication required",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"403": {
"description": "Access forbidden",
"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_cities"
}
}
}
},
"/cities/{city_id}": {
"get": {
"x-mojo-to": "Cities#get",
"operationId": "getCity",
"tags": [
"cities"
],
"parameters": [
{
"$ref": "../parameters.json#/city_id_pp"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "A city",
"schema": {
"$ref": "../definitions.json#/city"
}
},
"404": {
"description": "City 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": {
"catalogue": "1"
}
}
},
"put": {
"x-mojo-to": "Cities#update",
"operationId": "updateCity",
"tags": [
"cities"
],
"parameters": [
{
"$ref": "../parameters.json#/city_id_pp"
},
{
"name": "body",
"in": "body",
"description": "A city object",
"required": true,
"schema": {
"$ref": "../definitions.json#/city"
}
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "A city",
"schema": {
"$ref": "../definitions.json#/city"
}
},
"401": {
"description": "Authentication required",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"403": {
"description": "Access forbidden",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"404": {
"description": "City 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_cities"
}
}
},
"delete": {
"x-mojo-to": "Cities#delete",
"operationId": "deleteCity",
"tags": [
"cities"
],
"parameters": [
{
"$ref": "../parameters.json#/city_id_pp"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "City deleted"
},
"401": {
"description": "Authentication required",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"403": {
"description": "Access forbidden",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"404": {
"description": "City 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_cities"
}
}
}
}
}