Skip to content

Commit

Permalink
Merge "REST: Add permission-denied error to OAS for every edit route"
Browse files Browse the repository at this point in the history
  • Loading branch information
jenkins-bot authored and Gerrit Code Review committed Sep 19, 2024
2 parents 7516193 + ff21415 commit 4ff784f
Show file tree
Hide file tree
Showing 25 changed files with 194 additions and 0 deletions.
10 changes: 10 additions & 0 deletions repo/rest-api/specs/global/examples.json
Original file line number Diff line number Diff line change
Expand Up @@ -269,5 +269,15 @@
"statement_property_id": "{property_id_value}"
}
}
},
"PermissionDeniedExample": {
"value": {
"code": "permission-denied",
"message": "Access to resource is denied",
"context": {
"denial_reason": "{reason_code}",
"denial_context": "{additional_context}"
}
}
}
}
19 changes: 19 additions & 0 deletions repo/rest-api/specs/global/responses.json
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,25 @@
}
}
},
"PermissionDenied": {
"description": "The access to resource was denied",
"content": {
"application/json": {
"schema": { "$ref": "./response-parts.json#/Error" },
"examples": {
"permission-denied": { "$ref": "./examples.json#/PermissionDeniedExample" }
}
}
},
"headers": {
"Content-Language": {
"schema": {
"type": "string"
},
"description": "Language code of the language in which error message is provided"
}
}
},
"ResourceNotFound": {
"description": "The specified resource was not found",
"content": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
},
"304": { "$ref": "../../global/responses.json#/NotModified" },
"400": { "$ref": "../../global/responses.json#/InvalidAddAliasesInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/ItemRedirected" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
},
"304": { "$ref": "../../global/responses.json#/NotModified" },
"400": { "$ref": "../../global/responses.json#/InvalidAddAliasesInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
"500": { "$ref": "../../global/responses.json#/UnexpectedError" }
Expand Down
1 change: 1 addition & 0 deletions repo/rest-api/specs/resources/aliases/list-for-item.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/ItemAliases" },
"400": { "$ref": "../../global/responses.json#/InvalidPatch" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/CannotApplyItemPatch" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/PropertyAliases" },
"400": { "$ref": "../../global/responses.json#/InvalidPatch" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/CannotApplyPropertyPatch" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
},
"304": { "$ref": "../../global/responses.json#/NotModified" },
"400": { "$ref": "../../global/responses.json#/InvalidSetDescriptionInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/ItemRedirected" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand All @@ -71,6 +72,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/DescriptionDeleted" },
"400": { "$ref": "../../global/responses.json#/InvalidRemoveDescriptionInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/ItemRedirected" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
},
"304": { "$ref": "../../global/responses.json#/NotModified" },
"400": { "$ref": "../../global/responses.json#/InvalidSetDescriptionInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
"422": { "$ref": "../../global/responses.json#/DataPolicyViolation" },
Expand All @@ -69,6 +70,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/DescriptionDeleted" },
"400": { "$ref": "../../global/responses.json#/InvalidRemoveDescriptionInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
"500": { "$ref": "../../global/responses.json#/UnexpectedError" }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/ItemDescriptions" },
"400": { "$ref": "../../global/responses.json#/InvalidPatch" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/CannotApplyItemPatch" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/PropertyDescriptions" },
"400": { "$ref": "../../global/responses.json#/InvalidPatch" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/CannotApplyPropertyPatch" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand Down
1 change: 1 addition & 0 deletions repo/rest-api/specs/resources/items/list.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"responses": {
"201": { "$ref": "../../global/responses.json#/Item" },
"400": { "$ref": "./responses.json#/InvalidNewItemInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"422": { "$ref": "../../global/responses.json#/DataPolicyViolation" },
"500": { "$ref": "../../global/responses.json#/UnexpectedError" }
}
Expand Down
1 change: 1 addition & 0 deletions repo/rest-api/specs/resources/items/single.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/Item" },
"400": { "$ref": "../../global/responses.json#/InvalidPatch" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/CannotApplyItemPatch" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
},
"304": { "$ref": "../../global/responses.json#/NotModified" },
"400": { "$ref": "../../global/responses.json#/InvalidSetLabelInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/ItemRedirected" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand All @@ -71,6 +72,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/LabelDeleted" },
"400": { "$ref": "../../global/responses.json#/InvalidRemoveLabelInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/ItemRedirected" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
},
"304": { "$ref": "../../global/responses.json#/NotModified" },
"400": { "$ref": "../../global/responses.json#/InvalidSetLabelInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
"422": { "$ref": "../../global/responses.json#/DataPolicyViolation" },
Expand All @@ -69,6 +70,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/LabelDeleted" },
"400": { "$ref": "../../global/responses.json#/InvalidRemoveLabelInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
"500": { "$ref": "../../global/responses.json#/UnexpectedError" }
Expand Down
1 change: 1 addition & 0 deletions repo/rest-api/specs/resources/labels/list-for-item.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/ItemLabels" },
"400": { "$ref": "../../global/responses.json#/InvalidPatch" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/CannotApplyItemPatch" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/PropertyLabels" },
"400": { "$ref": "../../global/responses.json#/InvalidPatch" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/CannotApplyPropertyPatch" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand Down
1 change: 1 addition & 0 deletions repo/rest-api/specs/resources/properties/single.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/Property" },
"400": { "$ref": "../../global/responses.json#/InvalidPatch" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/CannotApplyPropertyPatch" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand Down
1 change: 1 addition & 0 deletions repo/rest-api/specs/resources/sitelinks/list.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/Sitelinks" },
"400": { "$ref": "../../global/responses.json#/InvalidPatch" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/CannotApplyItemPatch" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand Down
2 changes: 2 additions & 0 deletions repo/rest-api/specs/resources/sitelinks/single.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
"description": "The newly added Sitelink"
},
"400": { "$ref": "./responses.json#/InvalidSetSitelinkInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/ItemRedirected" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand All @@ -70,6 +71,7 @@
"responses": {
"200": { "$ref": "./responses.json#/SitelinkDeleted" },
"400": { "$ref": "./responses.json#/InvalidRemoveSitelinkInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/ItemRedirected" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
"responses": {
"201": { "$ref": "./responses.json#/ItemStatementCreated" },
"400": { "$ref": "../../global/responses.json#/InvalidNewStatementInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/ItemRedirected" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
"responses": {
"201": { "$ref": "./responses.json#/PropertyStatementCreated" },
"400": { "$ref": "../../global/responses.json#/InvalidNewStatementInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
"500": { "$ref": "../../global/responses.json#/UnexpectedError" }
Expand Down
3 changes: 3 additions & 0 deletions repo/rest-api/specs/resources/statements/single-for-item.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/ItemStatement" },
"400": { "$ref": "./responses.json#/InvalidReplaceItemStatementInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
"500": { "$ref": "../../global/responses.json#/UnexpectedError" }
Expand All @@ -59,6 +60,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/ItemStatement" },
"400": { "$ref": "./responses.json#/InvalidItemStatementPatch" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/CannotApplyStatementPatch" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand All @@ -82,6 +84,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/StatementDeleted" },
"400": { "$ref": "./responses.json#/InvalidRemoveItemStatementInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
"500": { "$ref": "../../global/responses.json#/UnexpectedError" }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/PropertyStatement" },
"400": { "$ref": "./responses.json#/InvalidReplacePropertyStatementInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
"500": { "$ref": "../../global/responses.json#/UnexpectedError" }
Expand All @@ -59,6 +60,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/PropertyStatement" },
"400": { "$ref": "./responses.json#/InvalidPropertyStatementPatch" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/CannotApplyStatementPatch" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand All @@ -82,6 +84,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/StatementDeleted" },
"400": { "$ref": "./responses.json#/InvalidRemovePropertyStatementInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
"500": { "$ref": "../../global/responses.json#/UnexpectedError" }
Expand Down
3 changes: 3 additions & 0 deletions repo/rest-api/specs/resources/statements/single.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/Statement" },
"400": { "$ref": "./responses.json#/InvalidReplaceStatementInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
"500": { "$ref": "../../global/responses.json#/UnexpectedError" }
Expand All @@ -56,6 +57,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/Statement" },
"400": { "$ref": "../../global/responses.json#/InvalidPatch" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"409": { "$ref": "../../global/responses.json#/CannotApplyStatementPatch" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
Expand All @@ -78,6 +80,7 @@
"responses": {
"200": { "$ref": "../../global/responses.json#/StatementDeleted" },
"400": { "$ref": "./responses.json#/InvalidRemoveStatementInput" },
"403": { "$ref": "../../global/responses.json#/PermissionDenied" },
"404": { "$ref": "../../global/responses.json#/ResourceNotFound" },
"412": { "$ref": "../../global/responses.json#/PreconditionFailedError" },
"500": { "$ref": "../../global/responses.json#/UnexpectedError" }
Expand Down
Loading

0 comments on commit 4ff784f

Please sign in to comment.