aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorjld3103 <jld3103yt@gmail.com>2023-06-14 16:36:05 +0200
committerjld3103 <jld3103yt@gmail.com>2023-07-13 06:26:58 +0200
commit99dc010670c91b2cbe062fbeea22ae6d9e48c6e0 (patch)
tree889d727dc19ab7eb478697787b1da541f28224cb /apps
parent706c141fffce928d344fe2f039da549fad065393 (diff)
downloadnextcloud-server-99dc010670c91b2cbe062fbeea22ae6d9e48c6e0.tar.gz
nextcloud-server-99dc010670c91b2cbe062fbeea22ae6d9e48c6e0.zip
files_trashbin: Add OpenAPI spec
Signed-off-by: jld3103 <jld3103yt@gmail.com>
Diffstat (limited to 'apps')
-rw-r--r--apps/files_trashbin/lib/Capabilities.php2
-rw-r--r--apps/files_trashbin/lib/Controller/PreviewController.php13
-rw-r--r--apps/files_trashbin/openapi.json134
3 files changed, 148 insertions, 1 deletions
diff --git a/apps/files_trashbin/lib/Capabilities.php b/apps/files_trashbin/lib/Capabilities.php
index c0788ff7308..b53881daa29 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 9f60cc8b0b2..e62a793a98f 100644
--- a/apps/files_trashbin/lib/Controller/PreviewController.php
+++ b/apps/files_trashbin/lib/Controller/PreviewController.php
@@ -85,7 +85,18 @@ class PreviewController extends Controller {
* @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<Http::STATUS_OK, array{Content-Type: string}>|DataResponse<Http::STATUS_BAD_REQUEST|Http::STATUS_NOT_FOUND, array<empty>, 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 00000000000..a96cf5f189d
--- /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