Tomas Cohen Arazi
4de24b70e5
According to the coding guidelines, this endpoint should be adding the Location header on POST actions. To test: 1. Apply the tests patch 2. Run: $ kshell k$ prove t/db_dependent/api/v1/cities.t => FAIL: Tests fail! 3. Apply this patch 4. Repeat (1) => SUCCESS: Tests pass! 5. Sign off :-D Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
285 lines
6.8 KiB
JSON
285 lines
6.8 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"
|
|
}],
|
|
"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": {
|
|
"200": {
|
|
"description": "City deleted",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|