Koha/api/v1/swagger/paths/acquisitions_vendors.json
Tomas Cohen Arazi 0bb0b6c7b4
Bug 25048: Make successful resource deletion return 204
This patch adapts the spec and the controllers so existing routes return
204 and an empty response body when a successful deletion happens.

Right now we have a coding guideline but haven't adapted the existing
routes.

To test:
1. Apply the regression tests patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/*.t
=> FAIL: Some tests fail
3. Apply this patch
4. Repeat 2.
=> SUCCESS: Tests pass!
5. Sign off :-D

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-29 16:24:43 +01:00

308 lines
7.7 KiB
JSON

{
"/acquisitions/vendors": {
"get": {
"x-mojo-to": "Acquisitions::Vendors#list",
"operationId": "listVendors",
"tags": ["acquisitions","vendors"],
"produces": [
"application/json"
],
"parameters": [{
"name": "name",
"in": "query",
"description": "Case insensitive search on vendor name",
"required": false,
"type": "string"
}, {
"name": "accountnumber",
"in": "query",
"description": "Case insensitive search on vendor's account number",
"required": false,
"type": "string"
}, {
"$ref": "../parameters.json#/match"
}, {
"$ref": "../parameters.json#/order_by"
}, {
"$ref": "../parameters.json#/page"
}, {
"$ref": "../parameters.json#/per_page"
}],
"responses": {
"200": {
"description": "A list of vendors",
"schema": {
"type": "array",
"items": {
"$ref": "../definitions.json#/vendor"
}
}
},
"401": {
"description": "Authentication required",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"403": {
"description": "Access forbidden",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"404": {
"description": "Vendor 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": {
"acquisition": "vendors_manage"
}
}
},
"post": {
"x-mojo-to": "Acquisitions::Vendors#add",
"operationId": "addVendor",
"tags": ["acquisitions","vendors"],
"parameters": [{
"name": "body",
"in": "body",
"description": "A JSON object representing a vendor",
"required": true,
"schema": {
"$ref": "../definitions.json#/vendor"
}
}],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "Vendor added",
"schema": {
"$ref": "../definitions.json#/vendor"
}
},
"401": {
"description": "Authentication required",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"403": {
"description": "Access forbidden",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"404": {
"description": "Vendor 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": {
"acquisition": "vendors_manage"
}
}
}
},
"/acquisitions/vendors/{vendor_id}": {
"get": {
"x-mojo-to": "Acquisitions::Vendors#get",
"operationId": "getVendor",
"tags": ["acquisitions","vendors"],
"parameters": [{
"$ref": "../parameters.json#/vendoridPathParam"
}],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "A vendor",
"schema": {
"$ref": "../definitions.json#/vendor"
}
},
"401": {
"description": "Authentication required",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"403": {
"description": "Access forbidden",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"404": {
"description": "Vendor 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": {
"acquisition": "vendors_manage"
}
}
},
"put": {
"x-mojo-to": "Acquisitions::Vendors#update",
"operationId": "updateVendor",
"tags": ["acquisitions","vendors"],
"parameters": [{
"$ref": "../parameters.json#/vendoridPathParam"
}, {
"name": "body",
"in": "body",
"description": "A JSON object representing a vendor",
"required": true,
"schema": {
"$ref": "../definitions.json#/vendor"
}
}],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "A vendor",
"schema": {
"$ref": "../definitions.json#/vendor"
}
},
"401": {
"description": "Authentication required",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"403": {
"description": "Access forbidden",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"404": {
"description": "Vendor 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": {
"acquisition": "vendors_manage"
}
}
},
"delete": {
"x-mojo-to": "Acquisitions::Vendors#delete",
"operationId": "deleteVendor",
"tags": ["acquisitions","vendors"],
"parameters": [{
"$ref": "../parameters.json#/vendoridPathParam"
}],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "Vendor deleted"
},
"401": {
"description": "Authentication required",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"403": {
"description": "Access forbidden",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"404": {
"description": "Vendor 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": {
"acquisition": "vendors_manage"
}
}
}
}
}