Tomas Cohen Arazi
0bb0b6c7b4
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>
308 lines
7.7 KiB
JSON
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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|