aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoas Schilling <213943+nickvergessen@users.noreply.github.com>2024-04-08 21:46:55 +0200
committerGitHub <noreply@github.com>2024-04-08 21:46:55 +0200
commit5ddba78dc9920b766d38082826bb04556e5982a7 (patch)
tree49d784c858fcdc08f0521f698ccfa0f1fdf07f2b
parentede541b4e764f8c2bfc193c0e031f0e8e69f63b9 (diff)
parentf8ab422d81d9a331b5f60a7fc24f368088384d91 (diff)
downloadnextcloud-server-5ddba78dc9920b766d38082826bb04556e5982a7.tar.gz
nextcloud-server-5ddba78dc9920b766d38082826bb04556e5982a7.zip
Merge pull request #44216 from nextcloud/feat/core/openapi-capabilities
feat(core): Include core capabilities in OpenAPI
-rw-r--r--apps/dav/openapi.json66
-rw-r--r--apps/federatedfilesharing/openapi.json88
-rw-r--r--apps/federation/openapi.json88
-rw-r--r--apps/files/openapi.json44
-rw-r--r--apps/files_sharing/openapi.json440
-rw-r--r--apps/provisioning_api/openapi-full.json66
-rw-r--r--apps/provisioning_api/openapi.json66
-rw-r--r--apps/settings/openapi-full.json22
-rw-r--r--apps/settings/openapi.json22
-rw-r--r--apps/theming/openapi.json44
-rw-r--r--apps/user_ldap/openapi.json88
-rw-r--r--apps/user_status/openapi.json137
-rw-r--r--core/openapi.json269
-rw-r--r--lib/private/OCS/CoreCapabilities.php13
-rw-r--r--vendor-bin/openapi-extractor/composer.lock46
15 files changed, 1254 insertions, 245 deletions
diff --git a/apps/dav/openapi.json b/apps/dav/openapi.json
index 1e7f020e493..da514da7bb7 100644
--- a/apps/dav/openapi.json
+++ b/apps/dav/openapi.json
@@ -236,9 +236,27 @@
"404": {
"description": "File not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -246,9 +264,27 @@
"400": {
"description": "Getting direct link is not possible",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -256,9 +292,27 @@
"403": {
"description": "Missing permissions to get direct link",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
diff --git a/apps/federatedfilesharing/openapi.json b/apps/federatedfilesharing/openapi.json
index aeed84f0db7..4f0f10dd045 100644
--- a/apps/federatedfilesharing/openapi.json
+++ b/apps/federatedfilesharing/openapi.json
@@ -387,9 +387,27 @@
"400": {
"description": "Re-sharing is not possible",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -486,9 +504,27 @@
"400": {
"description": "Updating permissions is not possible",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -822,9 +858,27 @@
"400": {
"description": "Revoking the share is not possible",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -943,9 +997,27 @@
"400": {
"description": "Moving share is not possible",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
diff --git a/apps/federation/openapi.json b/apps/federation/openapi.json
index 71e72dbec92..59545e7dc98 100644
--- a/apps/federation/openapi.json
+++ b/apps/federation/openapi.json
@@ -135,9 +135,27 @@
"403": {
"description": "Getting shared secret is not allowed",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -223,9 +241,27 @@
"403": {
"description": "Requesting shared secret is not allowed",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -321,9 +357,27 @@
"403": {
"description": "Getting shared secret is not allowed",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -407,9 +461,27 @@
"403": {
"description": "Requesting shared secret is not allowed",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
diff --git a/apps/files/openapi.json b/apps/files/openapi.json
index b2ac9efe6c8..b7559ff58d5 100644
--- a/apps/files/openapi.json
+++ b/apps/files/openapi.json
@@ -1084,9 +1084,27 @@
"403": {
"description": "Creating template is not allowed",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -1192,9 +1210,27 @@
"403": {
"description": "Initializing the template directory is not allowed",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
diff --git a/apps/files_sharing/openapi.json b/apps/files_sharing/openapi.json
index 3d254e8ad0c..a02d9998f75 100644
--- a/apps/files_sharing/openapi.json
+++ b/apps/files_sharing/openapi.json
@@ -1671,9 +1671,27 @@
"404": {
"description": "The folder was not found or is inaccessible",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -1841,9 +1859,27 @@
"400": {
"description": "Unknown share type",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -1851,9 +1887,27 @@
"403": {
"description": "Creating the share is not allowed",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -1861,9 +1915,27 @@
"404": {
"description": "Creating the share failed",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -1954,9 +2026,27 @@
"404": {
"description": "The given path is invalid",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -2111,9 +2201,27 @@
"404": {
"description": "Share not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -2271,9 +2379,27 @@
"400": {
"description": "Share could not be updated because the requested changes are invalid",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -2281,9 +2407,27 @@
"403": {
"description": "Missing permissions to update the share",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -2291,9 +2435,27 @@
"404": {
"description": "Share not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -2367,9 +2529,27 @@
"404": {
"description": "Share not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -2377,9 +2557,27 @@
"403": {
"description": "Missing permissions to delete the share",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -2455,9 +2653,27 @@
"404": {
"description": "Share not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -2465,9 +2681,27 @@
"400": {
"description": "Share could not be accepted",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -2607,9 +2841,27 @@
"404": {
"description": "Share not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -2757,9 +3009,27 @@
"400": {
"description": "Invalid search parameters",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -3055,9 +3325,27 @@
"404": {
"description": "Share not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -3132,9 +3420,27 @@
"404": {
"description": "Share not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -3213,9 +3519,27 @@
"404": {
"description": "Share not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -3290,9 +3614,27 @@
"404": {
"description": "Share not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -3300,9 +3642,27 @@
"403": {
"description": "Unsharing is not possible",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
diff --git a/apps/provisioning_api/openapi-full.json b/apps/provisioning_api/openapi-full.json
index 542df0032dd..07e6a3d33e9 100644
--- a/apps/provisioning_api/openapi-full.json
+++ b/apps/provisioning_api/openapi-full.json
@@ -1668,9 +1668,27 @@
"404": {
"description": "Group not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -1678,9 +1696,27 @@
"403": {
"description": "Missing permissions to get users in the group",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -2069,9 +2105,27 @@
"403": {
"description": "Missing permissions to make user subadmin",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
diff --git a/apps/provisioning_api/openapi.json b/apps/provisioning_api/openapi.json
index e5e184194b9..abd2aa87e86 100644
--- a/apps/provisioning_api/openapi.json
+++ b/apps/provisioning_api/openapi.json
@@ -660,9 +660,27 @@
"404": {
"description": "Group not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -670,9 +688,27 @@
"403": {
"description": "Missing permissions to get users in the group",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -1144,9 +1180,27 @@
"403": {
"description": "Missing permissions to make user subadmin",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
diff --git a/apps/settings/openapi-full.json b/apps/settings/openapi-full.json
index 99a2b8b97c1..ab056ae81b0 100644
--- a/apps/settings/openapi-full.json
+++ b/apps/settings/openapi-full.json
@@ -344,9 +344,27 @@
"400": {
"description": "Invalid arguments to save value",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
diff --git a/apps/settings/openapi.json b/apps/settings/openapi.json
index e9591eaf346..2da02927e91 100644
--- a/apps/settings/openapi.json
+++ b/apps/settings/openapi.json
@@ -306,9 +306,27 @@
"400": {
"description": "Invalid arguments to save value",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
diff --git a/apps/theming/openapi.json b/apps/theming/openapi.json
index 027804806df..072b1897f69 100644
--- a/apps/theming/openapi.json
+++ b/apps/theming/openapi.json
@@ -691,9 +691,27 @@
"400": {
"description": "Enabling theme is not possible",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -779,9 +797,27 @@
"400": {
"description": "Disabling theme is not possible",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
diff --git a/apps/user_ldap/openapi.json b/apps/user_ldap/openapi.json
index fcad9c62fd8..739cc9cc3e7 100644
--- a/apps/user_ldap/openapi.json
+++ b/apps/user_ldap/openapi.json
@@ -204,9 +204,27 @@
"404": {
"description": "Config not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -290,9 +308,27 @@
"400": {
"description": "Modifying config is not possible",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -300,9 +336,27 @@
"404": {
"description": "Config not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -377,9 +431,27 @@
"404": {
"description": "Config not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
diff --git a/apps/user_status/openapi.json b/apps/user_status/openapi.json
index 009973bc195..832e9e65e45 100644
--- a/apps/user_status/openapi.json
+++ b/apps/user_status/openapi.json
@@ -330,32 +330,7 @@
}
},
"204": {
- "description": "User has no status to keep alive",
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "required": [
- "ocs"
- ],
- "properties": {
- "ocs": {
- "type": "object",
- "required": [
- "meta",
- "data"
- ],
- "properties": {
- "meta": {
- "$ref": "#/components/schemas/OCSMeta"
- },
- "data": {}
- }
- }
- }
- }
- }
- }
+ "description": "User has no status to keep alive"
}
}
}
@@ -578,9 +553,27 @@
"404": {
"description": "The user was not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -649,9 +642,27 @@
"404": {
"description": "The user was not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -729,9 +740,27 @@
"400": {
"description": "The status type is invalid",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -819,9 +848,27 @@
"400": {
"description": "The clearAt or message-id is invalid",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -918,9 +965,27 @@
"400": {
"description": "The clearAt or icon is invalid or the message is too long",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
diff --git a/core/openapi.json b/core/openapi.json
index 8bb7beca406..f854e42ced7 100644
--- a/core/openapi.json
+++ b/core/openapi.json
@@ -86,6 +86,38 @@
}
}
},
+ "Capabilities": {
+ "type": "object",
+ "required": [
+ "core"
+ ],
+ "properties": {
+ "core": {
+ "type": "object",
+ "required": [
+ "pollinterval",
+ "webdav-root",
+ "reference-api",
+ "reference-regex"
+ ],
+ "properties": {
+ "pollinterval": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "webdav-root": {
+ "type": "string"
+ },
+ "reference-api": {
+ "type": "boolean"
+ },
+ "reference-regex": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
"Collection": {
"type": "object",
"required": [
@@ -283,6 +315,30 @@
}
}
},
+ "PublicCapabilities": {
+ "type": "object",
+ "required": [
+ "bruteforce"
+ ],
+ "properties": {
+ "bruteforce": {
+ "type": "object",
+ "required": [
+ "delay",
+ "allow-listed"
+ ],
+ "properties": {
+ "delay": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "allow-listed": {
+ "type": "boolean"
+ }
+ }
+ }
+ }
+ },
"Reference": {
"type": "object",
"required": [
@@ -762,9 +818,27 @@
"403": {
"description": "Creating app password is not allowed",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -831,9 +905,27 @@
"403": {
"description": "Deleting app password is not allowed",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -910,9 +1002,27 @@
"403": {
"description": "Rotating app password is not allowed",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -2272,32 +2382,7 @@
}
},
"304": {
- "description": "No apps navigation changed",
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "required": [
- "ocs"
- ],
- "properties": {
- "ocs": {
- "type": "object",
- "required": [
- "meta",
- "data"
- ],
- "properties": {
- "meta": {
- "$ref": "#/components/schemas/OCSMeta"
- },
- "data": {}
- }
- }
- }
- }
- }
- }
+ "description": "No apps navigation changed"
}
}
}
@@ -2377,32 +2462,7 @@
}
},
"304": {
- "description": "No apps navigation changed",
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "required": [
- "ocs"
- ],
- "properties": {
- "ocs": {
- "type": "object",
- "required": [
- "meta",
- "data"
- ],
- "properties": {
- "meta": {
- "$ref": "#/components/schemas/OCSMeta"
- },
- "data": {}
- }
- }
- }
- }
- }
- }
+ "description": "No apps navigation changed"
}
}
}
@@ -2601,9 +2661,27 @@
"400": {
"description": "Updating visibility is not possible",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -2611,9 +2689,27 @@
"403": {
"description": "Not allowed to edit other users visibility",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -2621,9 +2717,27 @@
"404": {
"description": "Account not found",
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
}
}
}
@@ -5459,32 +5573,7 @@
}
},
"204": {
- "description": "No changes",
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "required": [
- "ocs"
- ],
- "properties": {
- "ocs": {
- "type": "object",
- "required": [
- "meta",
- "data"
- ],
- "properties": {
- "meta": {
- "$ref": "#/components/schemas/OCSMeta"
- },
- "data": {}
- }
- }
- }
- }
- }
- }
+ "description": "No changes"
}
}
},
diff --git a/lib/private/OCS/CoreCapabilities.php b/lib/private/OCS/CoreCapabilities.php
index 0e9be3460ca..49e88b70ddd 100644
--- a/lib/private/OCS/CoreCapabilities.php
+++ b/lib/private/OCS/CoreCapabilities.php
@@ -42,12 +42,21 @@ class CoreCapabilities implements ICapability {
/**
* Return this classes capabilities
+ *
+ * @return array{
+ * core: array{
+ * pollinterval: int,
+ * webdav-root: string,
+ * reference-api: boolean,
+ * reference-regex: string,
+ * },
+ * }
*/
public function getCapabilities(): array {
return [
'core' => [
- 'pollinterval' => $this->config->getSystemValue('pollinterval', 60),
- 'webdav-root' => $this->config->getSystemValue('webdav-root', 'remote.php/webdav'),
+ 'pollinterval' => $this->config->getSystemValueInt('pollinterval', 60),
+ 'webdav-root' => $this->config->getSystemValueString('webdav-root', 'remote.php/webdav'),
'reference-api' => true,
'reference-regex' => IURLGenerator::URL_REGEX_NO_MODIFIERS,
],
diff --git a/vendor-bin/openapi-extractor/composer.lock b/vendor-bin/openapi-extractor/composer.lock
index e6c94e495a1..390eb8dda15 100644
--- a/vendor-bin/openapi-extractor/composer.lock
+++ b/vendor-bin/openapi-extractor/composer.lock
@@ -8,16 +8,16 @@
"packages": [
{
"name": "adhocore/cli",
- "version": "v1.6.2",
+ "version": "v1.7.1",
"source": {
"type": "git",
"url": "https://github.com/adhocore/php-cli.git",
- "reference": "34191315b0da20b9b4ecad783d91db992fa209a4"
+ "reference": "3fde60a838912e71c82ed0f48048685dc32dbc77"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/adhocore/php-cli/zipball/34191315b0da20b9b4ecad783d91db992fa209a4",
- "reference": "34191315b0da20b9b4ecad783d91db992fa209a4",
+ "url": "https://api.github.com/repos/adhocore/php-cli/zipball/3fde60a838912e71c82ed0f48048685dc32dbc77",
+ "reference": "3fde60a838912e71c82ed0f48048685dc32dbc77",
"shasum": ""
},
"require": {
@@ -62,7 +62,7 @@
],
"support": {
"issues": "https://github.com/adhocore/php-cli/issues",
- "source": "https://github.com/adhocore/php-cli/tree/v1.6.2"
+ "source": "https://github.com/adhocore/php-cli/tree/v1.7.1"
},
"funding": [
{
@@ -74,7 +74,7 @@
"type": "github"
}
],
- "time": "2024-01-22T22:37:23+00:00"
+ "time": "2024-03-28T08:30:12+00:00"
},
{
"name": "nextcloud/openapi-extractor",
@@ -82,12 +82,12 @@
"source": {
"type": "git",
"url": "https://github.com/nextcloud/openapi-extractor.git",
- "reference": "e15283dc655436460c531ce286b7f0bae3e0bf31"
+ "reference": "664743c1723db845f633c02e854c7563b4862353"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nextcloud/openapi-extractor/zipball/e15283dc655436460c531ce286b7f0bae3e0bf31",
- "reference": "e15283dc655436460c531ce286b7f0bae3e0bf31",
+ "url": "https://api.github.com/repos/nextcloud/openapi-extractor/zipball/664743c1723db845f633c02e854c7563b4862353",
+ "reference": "664743c1723db845f633c02e854c7563b4862353",
"shasum": ""
},
"require": {
@@ -129,25 +129,25 @@
"source": "https://github.com/nextcloud/openapi-extractor/tree/main",
"issues": "https://github.com/nextcloud/openapi-extractor/issues"
},
- "time": "2024-02-21T11:05:43+00:00"
+ "time": "2024-04-08T18:03:55+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v4.18.0",
+ "version": "v4.19.1",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999"
+ "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1bcbb2179f97633e98bbbc87044ee2611c7d7999",
- "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4e1b88d21c69391150ace211e9eaf05810858d0b",
+ "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
- "php": ">=7.0"
+ "php": ">=7.1"
},
"require-dev": {
"ircmaxell/php-yacc": "^0.0.7",
@@ -183,22 +183,22 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.18.0"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.1"
},
- "time": "2023-12-10T21:03:43+00:00"
+ "time": "2024-03-17T08:10:35+00:00"
},
{
"name": "phpstan/phpdoc-parser",
- "version": "1.25.0",
+ "version": "1.28.0",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240"
+ "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/bd84b629c8de41aa2ae82c067c955e06f1b00240",
- "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb",
+ "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb",
"shasum": ""
},
"require": {
@@ -230,9 +230,9 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/1.25.0"
+ "source": "https://github.com/phpstan/phpdoc-parser/tree/1.28.0"
},
- "time": "2024-01-04T17:06:16+00:00"
+ "time": "2024-04-03T18:51:33+00:00"
}
],
"packages-dev": [],