diff --git a/apps/files_trashbin/lib/Capabilities.php b/apps/files_trashbin/lib/Capabilities.php index c0788ff7308a7..b53881daa29bc 100644 --- a/apps/files_trashbin/lib/Capabilities.php +++ b/apps/files_trashbin/lib/Capabilities.php @@ -33,6 +33,8 @@ class Capabilities implements ICapability { /** * Return this classes capabilities + * + * @return array{files: array{undelete: bool}} */ public function getCapabilities() { return [ diff --git a/apps/files_trashbin/lib/Controller/PreviewController.php b/apps/files_trashbin/lib/Controller/PreviewController.php index 9f60cc8b0b2ed..e62a793a98fd0 100644 --- a/apps/files_trashbin/lib/Controller/PreviewController.php +++ b/apps/files_trashbin/lib/Controller/PreviewController.php @@ -85,7 +85,18 @@ public function __construct( * @NoAdminRequired * @NoCSRFRequired * - * @return DataResponse|Http\FileDisplayResponse + * Get the preview for a file + * + * @param int $fileId ID of the file + * @param int $x Width of the preview + * @param int $y Height of the preview + * @param bool $a Whether to not crop the preview + * + * @return Http\FileDisplayResponse|DataResponse, array{}> + * + * 200: Preview returned + * 400: Getting preview is not possible + * 404: Preview not found */ public function getPreview( int $fileId = -1, diff --git a/apps/files_trashbin/openapi.json b/apps/files_trashbin/openapi.json new file mode 100644 index 0000000000000..a96cf5f189da8 --- /dev/null +++ b/apps/files_trashbin/openapi.json @@ -0,0 +1,134 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "files_trashbin", + "version": "0.0.1", + "description": "This application enables users to restore files that were deleted from the system.", + "license": { + "name": "agpl" + } + }, + "components": { + "securitySchemes": { + "basic_auth": { + "type": "http", + "scheme": "basic" + }, + "bearer_auth": { + "type": "http", + "scheme": "bearer" + } + }, + "schemas": { + "Capabilities": { + "type": "object", + "required": [ + "files" + ], + "properties": { + "files": { + "type": "object", + "required": [ + "undelete" + ], + "properties": { + "undelete": { + "type": "boolean" + } + } + } + } + } + } + }, + "paths": { + "/index.php/apps/files_trashbin/preview": { + "get": { + "operationId": "preview-get-preview", + "summary": "Get the preview for a file", + "tags": [ + "preview" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "fileId", + "in": "query", + "description": "ID of the file", + "schema": { + "type": "integer", + "format": "int64", + "default": -1 + } + }, + { + "name": "x", + "in": "query", + "description": "Width of the preview", + "schema": { + "type": "integer", + "format": "int64", + "default": 32 + } + }, + { + "name": "y", + "in": "query", + "description": "Height of the preview", + "schema": { + "type": "integer", + "format": "int64", + "default": 32 + } + }, + { + "name": "a", + "in": "query", + "description": "Whether to not crop the preview", + "schema": { + "type": "integer", + "default": 0 + } + } + ], + "responses": { + "200": { + "description": "Preview returned", + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "Getting preview is not possible", + "content": { + "application/json": { + "schema": {} + } + } + }, + "404": { + "description": "Preview not found", + "content": { + "application/json": { + "schema": {} + } + } + } + } + } + } + }, + "tags": [] +} \ No newline at end of file