aboutsummaryrefslogtreecommitdiffstats
path: root/apps/settings/openapi-full.json
diff options
context:
space:
mode:
authorjld3103 <jld3103yt@gmail.com>2023-12-07 16:39:16 +0100
committerAndrey Borysenko <andrey18106x@gmail.com>2024-03-12 13:56:54 +0200
commit4ac2375ca2082750432ccc9cff46bf5888b4db30 (patch)
treebca24a21f4dfa0184f8e400e9508fc5600ade8d4 /apps/settings/openapi-full.json
parentc42397358f05aa60ae91ed11e7754fddba182cce (diff)
downloadnextcloud-server-4ac2375ca2082750432ccc9cff46bf5888b4db30.tar.gz
nextcloud-server-4ac2375ca2082750432ccc9cff46bf5888b4db30.zip
feat: Add declarative settings
Signed-off-by: jld3103 <jld3103yt@gmail.com> Signed-off-by: Julien Veyssier <julien-nc@posteo.net> Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Diffstat (limited to 'apps/settings/openapi-full.json')
-rw-r--r--apps/settings/openapi-full.json433
1 files changed, 433 insertions, 0 deletions
diff --git a/apps/settings/openapi-full.json b/apps/settings/openapi-full.json
new file mode 100644
index 00000000000..99a2b8b97c1
--- /dev/null
+++ b/apps/settings/openapi-full.json
@@ -0,0 +1,433 @@
+{
+ "openapi": "3.0.3",
+ "info": {
+ "title": "settings-full",
+ "version": "0.0.1",
+ "description": "Nextcloud settings",
+ "license": {
+ "name": "agpl"
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "basic_auth": {
+ "type": "http",
+ "scheme": "basic"
+ },
+ "bearer_auth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "DeclarativeForm": {
+ "type": "object",
+ "required": [
+ "id",
+ "priority",
+ "section_type",
+ "section_id",
+ "storage_type",
+ "title",
+ "app",
+ "fields"
+ ],
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "section_type": {
+ "type": "string",
+ "enum": [
+ "admin",
+ "personal"
+ ]
+ },
+ "section_id": {
+ "type": "string"
+ },
+ "storage_type": {
+ "type": "string",
+ "enum": [
+ "internal",
+ "external"
+ ]
+ },
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "doc_url": {
+ "type": "string"
+ },
+ "app": {
+ "type": "string"
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DeclarativeFormField"
+ }
+ }
+ }
+ },
+ "DeclarativeFormField": {
+ "type": "object",
+ "required": [
+ "id",
+ "title",
+ "type",
+ "default",
+ "value"
+ ],
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "text",
+ "password",
+ "email",
+ "tel",
+ "url",
+ "number",
+ "checkbox",
+ "multi-checkbox",
+ "radio",
+ "select",
+ "multi-select"
+ ]
+ },
+ "placeholder": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "default": {
+ "type": "object"
+ },
+ "options": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "object",
+ "required": [
+ "name",
+ "value"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "object"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "value": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer",
+ "format": "int64"
+ },
+ {
+ "type": "number",
+ "format": "float"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "OCSMeta": {
+ "type": "object",
+ "required": [
+ "status",
+ "statuscode"
+ ],
+ "properties": {
+ "status": {
+ "type": "string"
+ },
+ "statuscode": {
+ "type": "integer"
+ },
+ "message": {
+ "type": "string"
+ },
+ "totalitems": {
+ "type": "string"
+ },
+ "itemsperpage": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "paths": {
+ "/index.php/settings/admin/log/download": {
+ "get": {
+ "operationId": "log_settings-download",
+ "summary": "download logfile",
+ "description": "This endpoint requires admin access",
+ "tags": [
+ "log_settings"
+ ],
+ "security": [
+ {
+ "bearer_auth": []
+ },
+ {
+ "basic_auth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Logfile returned",
+ "headers": {
+ "Content-Disposition": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "content": {
+ "application/octet-stream": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ocs/v2.php/settings/api/declarative/value": {
+ "post": {
+ "operationId": "declarative_settings-set-value",
+ "summary": "Sets a declarative settings value",
+ "tags": [
+ "declarative_settings"
+ ],
+ "security": [
+ {
+ "bearer_auth": []
+ },
+ {
+ "basic_auth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "app",
+ "in": "query",
+ "description": "ID of the app",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "formId",
+ "in": "query",
+ "description": "ID of the form",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "fieldId",
+ "in": "query",
+ "description": "ID of the field",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "value",
+ "in": "query",
+ "description": "Value to be saved",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "OCS-APIRequest",
+ "in": "header",
+ "description": "Required to be true for the API request to pass",
+ "required": true,
+ "schema": {
+ "type": "boolean",
+ "default": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Value set successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Not logged in or not an admin user",
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid arguments to save value",
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ocs/v2.php/settings/api/declarative/forms": {
+ "get": {
+ "operationId": "declarative_settings-get-forms",
+ "summary": "Gets all declarative forms with the values prefilled.",
+ "tags": [
+ "declarative_settings"
+ ],
+ "security": [
+ {
+ "bearer_auth": []
+ },
+ {
+ "basic_auth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "OCS-APIRequest",
+ "in": "header",
+ "description": "Required to be true for the API request to pass",
+ "required": true,
+ "schema": {
+ "type": "boolean",
+ "default": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Forms returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DeclarativeForm"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "",
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "tags": []
+} \ No newline at end of file