Skip to content

Commit 620bc06

Browse files
Merge pull request #64 from nextcloud/feat/type/numeric
2 parents a6dc75d + bc83813 commit 620bc06

File tree

4 files changed

+95
-0
lines changed

4 files changed

+95
-0
lines changed

src/OpenApiType.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,7 @@ private static function resolveIdentifier(string $context, array $definitions, s
308308
"negative-int" => new OpenApiType(type: "integer", format: "int64", maximum: -1),
309309
"non-positive-int" => new OpenApiType(type: "integer", format: "int64", maximum: 0),
310310
"bool", "boolean", "true", "false" => new OpenApiType(type: "boolean"),
311+
"numeric" => new OpenApiType(type: "number"),
311312
"double" => new OpenApiType(type: "number", format: "double"),
312313
"float" => new OpenApiType(type: "number", format: "float"),
313314
"mixed", "empty", "array" => new OpenApiType(type: "object"),

tests/appinfo/routes.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,6 @@
4646
['name' => 'Settings#booleanParameterRequired', 'url' => '/api/{apiVersion}/boolean', 'verb' => 'POST', 'requirements' => ['apiVersion' => '(v2)']],
4747
['name' => 'Settings#booleanParameterDefaultFalse', 'url' => '/api/{apiVersion}/boolean-false', 'verb' => 'POST', 'requirements' => ['apiVersion' => '(v2)']],
4848
['name' => 'Settings#booleanParameterDefaultTrue', 'url' => '/api/{apiVersion}/boolean-true', 'verb' => 'POST', 'requirements' => ['apiVersion' => '(v2)']],
49+
['name' => 'Settings#numericParameter', 'url' => '/api/{apiVersion}/numeric', 'verb' => 'POST', 'requirements' => ['apiVersion' => '(v2)']],
4950
],
5051
];

tests/lib/Controller/SettingsController.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,4 +257,16 @@ public function booleanParameterDefaultFalse(bool $yesOrNo = false): DataRespons
257257
public function booleanParameterDefaultTrue(bool $yesOrNo = true): DataResponse {
258258
return new DataResponse();
259259
}
260+
261+
/**
262+
* A route with numeric
263+
*
264+
* @param numeric $value Some numeric value
265+
* @return DataResponse<Http::STATUS_OK, array<empty>, array{}>
266+
*
267+
* 200: Admin settings updated
268+
*/
269+
public function numericParameter(mixed $value): DataResponse {
270+
return new DataResponse();
271+
}
260272
}

tests/openapi.json

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1626,6 +1626,87 @@
16261626
}
16271627
}
16281628
}
1629+
},
1630+
"/ocs/v2.php/apps/notifications/api/{apiVersion}/numeric": {
1631+
"post": {
1632+
"operationId": "settings-numeric-parameter",
1633+
"summary": "A route with numeric",
1634+
"description": "This endpoint requires admin access",
1635+
"tags": [
1636+
"settings"
1637+
],
1638+
"security": [
1639+
{
1640+
"bearer_auth": []
1641+
},
1642+
{
1643+
"basic_auth": []
1644+
}
1645+
],
1646+
"parameters": [
1647+
{
1648+
"name": "value",
1649+
"in": "query",
1650+
"description": "Some numeric value",
1651+
"required": true,
1652+
"schema": {
1653+
"type": "number"
1654+
}
1655+
},
1656+
{
1657+
"name": "apiVersion",
1658+
"in": "path",
1659+
"required": true,
1660+
"schema": {
1661+
"type": "string",
1662+
"enum": [
1663+
"v2"
1664+
],
1665+
"default": "v2"
1666+
}
1667+
},
1668+
{
1669+
"name": "OCS-APIRequest",
1670+
"in": "header",
1671+
"description": "Required to be true for the API request to pass",
1672+
"required": true,
1673+
"schema": {
1674+
"type": "boolean",
1675+
"default": true
1676+
}
1677+
}
1678+
],
1679+
"responses": {
1680+
"200": {
1681+
"description": "Admin settings updated",
1682+
"content": {
1683+
"application/json": {
1684+
"schema": {
1685+
"type": "object",
1686+
"required": [
1687+
"ocs"
1688+
],
1689+
"properties": {
1690+
"ocs": {
1691+
"type": "object",
1692+
"required": [
1693+
"meta",
1694+
"data"
1695+
],
1696+
"properties": {
1697+
"meta": {
1698+
"$ref": "#/components/schemas/OCSMeta"
1699+
},
1700+
"data": {}
1701+
}
1702+
}
1703+
}
1704+
}
1705+
}
1706+
}
1707+
}
1708+
}
1709+
}
16291710
}
16301711
},
16311712
"tags": []

0 commit comments

Comments
 (0)