You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
451 lines
17 KiB
451 lines
17 KiB
{ |
|
"openapi": "3.1.0", |
|
"info": { |
|
"title": "dashboard", |
|
"version": "0.0.1", |
|
"description": "Dashboard app", |
|
"license": { |
|
"name": "agpl", |
|
"identifier": "AGPL-3.0-only" |
|
} |
|
}, |
|
"components": { |
|
"securitySchemes": { |
|
"basic_auth": { |
|
"type": "http", |
|
"scheme": "basic" |
|
}, |
|
"bearer_auth": { |
|
"type": "http", |
|
"scheme": "bearer" |
|
} |
|
}, |
|
"schemas": { |
|
"OCSMeta": { |
|
"type": "object", |
|
"required": [ |
|
"status", |
|
"statuscode" |
|
], |
|
"properties": { |
|
"status": { |
|
"type": "string" |
|
}, |
|
"statuscode": { |
|
"type": "integer" |
|
}, |
|
"message": { |
|
"type": "string" |
|
}, |
|
"totalitems": { |
|
"type": "string" |
|
}, |
|
"itemsperpage": { |
|
"type": "string" |
|
} |
|
} |
|
}, |
|
"Widget": { |
|
"type": "object", |
|
"required": [ |
|
"id", |
|
"title", |
|
"order", |
|
"icon_class", |
|
"icon_url", |
|
"widget_url", |
|
"item_icons_round", |
|
"item_api_versions", |
|
"reload_interval" |
|
], |
|
"properties": { |
|
"id": { |
|
"type": "string" |
|
}, |
|
"title": { |
|
"type": "string" |
|
}, |
|
"order": { |
|
"type": "integer", |
|
"format": "int64" |
|
}, |
|
"icon_class": { |
|
"type": "string" |
|
}, |
|
"icon_url": { |
|
"type": "string" |
|
}, |
|
"widget_url": { |
|
"type": "string", |
|
"nullable": true |
|
}, |
|
"item_icons_round": { |
|
"type": "boolean" |
|
}, |
|
"item_api_versions": { |
|
"type": "array", |
|
"items": { |
|
"type": "integer", |
|
"format": "int64" |
|
} |
|
}, |
|
"reload_interval": { |
|
"type": "integer", |
|
"format": "int64" |
|
}, |
|
"buttons": { |
|
"type": "array", |
|
"items": { |
|
"type": "object", |
|
"required": [ |
|
"type", |
|
"text", |
|
"link" |
|
], |
|
"properties": { |
|
"type": { |
|
"type": "string" |
|
}, |
|
"text": { |
|
"type": "string" |
|
}, |
|
"link": { |
|
"type": "string" |
|
} |
|
} |
|
} |
|
} |
|
} |
|
}, |
|
"WidgetItem": { |
|
"type": "object", |
|
"required": [ |
|
"subtitle", |
|
"title", |
|
"link", |
|
"iconUrl", |
|
"overlayIconUrl", |
|
"sinceId" |
|
], |
|
"properties": { |
|
"subtitle": { |
|
"type": "string" |
|
}, |
|
"title": { |
|
"type": "string" |
|
}, |
|
"link": { |
|
"type": "string" |
|
}, |
|
"iconUrl": { |
|
"type": "string" |
|
}, |
|
"overlayIconUrl": { |
|
"type": "string" |
|
}, |
|
"sinceId": { |
|
"type": "string" |
|
} |
|
} |
|
}, |
|
"WidgetItems": { |
|
"type": "object", |
|
"required": [ |
|
"items", |
|
"emptyContentMessage", |
|
"halfEmptyContentMessage" |
|
], |
|
"properties": { |
|
"items": { |
|
"type": "array", |
|
"items": { |
|
"$ref": "#/components/schemas/WidgetItem" |
|
} |
|
}, |
|
"emptyContentMessage": { |
|
"type": "string" |
|
}, |
|
"halfEmptyContentMessage": { |
|
"type": "string" |
|
} |
|
} |
|
} |
|
} |
|
}, |
|
"paths": { |
|
"/ocs/v2.php/apps/dashboard/api/v1/widgets": { |
|
"get": { |
|
"operationId": "dashboard_api-get-widgets", |
|
"summary": "Get the widgets", |
|
"tags": [ |
|
"dashboard_api" |
|
], |
|
"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": "Widgets returned", |
|
"content": { |
|
"application/json": { |
|
"schema": { |
|
"type": "object", |
|
"required": [ |
|
"ocs" |
|
], |
|
"properties": { |
|
"ocs": { |
|
"type": "object", |
|
"required": [ |
|
"meta", |
|
"data" |
|
], |
|
"properties": { |
|
"meta": { |
|
"$ref": "#/components/schemas/OCSMeta" |
|
}, |
|
"data": { |
|
"type": "object", |
|
"additionalProperties": { |
|
"$ref": "#/components/schemas/Widget" |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
}, |
|
"/ocs/v2.php/apps/dashboard/api/v1/widget-items": { |
|
"get": { |
|
"operationId": "dashboard_api-get-widget-items", |
|
"summary": "Get the items for the widgets", |
|
"tags": [ |
|
"dashboard_api" |
|
], |
|
"security": [ |
|
{ |
|
"bearer_auth": [] |
|
}, |
|
{ |
|
"basic_auth": [] |
|
} |
|
], |
|
"parameters": [ |
|
{ |
|
"name": "sinceIds", |
|
"in": "query", |
|
"description": "Array indexed by widget Ids, contains date/id from which we want the new items", |
|
"schema": { |
|
"type": "string", |
|
"contentMediaType": "application/json", |
|
"contentSchema": { |
|
"type": "object", |
|
"default": [], |
|
"description": "Array indexed by widget Ids, contains date/id from which we want the new items", |
|
"additionalProperties": { |
|
"type": "string" |
|
} |
|
} |
|
} |
|
}, |
|
{ |
|
"name": "limit", |
|
"in": "query", |
|
"description": "Limit number of result items per widget", |
|
"schema": { |
|
"type": "integer", |
|
"format": "int64", |
|
"default": 7 |
|
} |
|
}, |
|
{ |
|
"name": "widgets[]", |
|
"in": "query", |
|
"description": "Limit results to specific widgets", |
|
"schema": { |
|
"type": "array", |
|
"default": [], |
|
"items": { |
|
"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": "Widget items returned", |
|
"content": { |
|
"application/json": { |
|
"schema": { |
|
"type": "object", |
|
"required": [ |
|
"ocs" |
|
], |
|
"properties": { |
|
"ocs": { |
|
"type": "object", |
|
"required": [ |
|
"meta", |
|
"data" |
|
], |
|
"properties": { |
|
"meta": { |
|
"$ref": "#/components/schemas/OCSMeta" |
|
}, |
|
"data": { |
|
"type": "object", |
|
"additionalProperties": { |
|
"type": "array", |
|
"items": { |
|
"$ref": "#/components/schemas/WidgetItem" |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
}, |
|
"/ocs/v2.php/apps/dashboard/api/v2/widget-items": { |
|
"get": { |
|
"operationId": "dashboard_api-get-widget-items-v2", |
|
"summary": "Get the items for the widgets", |
|
"tags": [ |
|
"dashboard_api" |
|
], |
|
"security": [ |
|
{ |
|
"bearer_auth": [] |
|
}, |
|
{ |
|
"basic_auth": [] |
|
} |
|
], |
|
"parameters": [ |
|
{ |
|
"name": "sinceIds", |
|
"in": "query", |
|
"description": "Array indexed by widget Ids, contains date/id from which we want the new items", |
|
"schema": { |
|
"type": "string", |
|
"contentMediaType": "application/json", |
|
"contentSchema": { |
|
"type": "object", |
|
"default": [], |
|
"description": "Array indexed by widget Ids, contains date/id from which we want the new items", |
|
"additionalProperties": { |
|
"type": "string" |
|
} |
|
} |
|
} |
|
}, |
|
{ |
|
"name": "limit", |
|
"in": "query", |
|
"description": "Limit number of result items per widget", |
|
"schema": { |
|
"type": "integer", |
|
"format": "int64", |
|
"default": 7 |
|
} |
|
}, |
|
{ |
|
"name": "widgets[]", |
|
"in": "query", |
|
"description": "Limit results to specific widgets", |
|
"schema": { |
|
"type": "array", |
|
"default": [], |
|
"items": { |
|
"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": "Widget items returned", |
|
"content": { |
|
"application/json": { |
|
"schema": { |
|
"type": "object", |
|
"required": [ |
|
"ocs" |
|
], |
|
"properties": { |
|
"ocs": { |
|
"type": "object", |
|
"required": [ |
|
"meta", |
|
"data" |
|
], |
|
"properties": { |
|
"meta": { |
|
"$ref": "#/components/schemas/OCSMeta" |
|
}, |
|
"data": { |
|
"type": "object", |
|
"additionalProperties": { |
|
"$ref": "#/components/schemas/WidgetItems" |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
}, |
|
"tags": [] |
|
} |