diff --git a/apps/sharebymail/lib/Capabilities.php b/apps/sharebymail/lib/Capabilities.php index 39d7172bb76a9..8be0ca380cf77 100644 --- a/apps/sharebymail/lib/Capabilities.php +++ b/apps/sharebymail/lib/Capabilities.php @@ -45,6 +45,27 @@ public function __construct(IManager $manager, $this->settingsManager = $settingsManager; } + /** + * @return array{ + * files_sharing: array{ + * sharebymail: array{ + * enabled: bool, + * send_password_by_mail: bool, + * upload_files_drop: array{ + * enabled: bool, + * }, + * password: array{ + * enabled: bool, + * enforced: bool, + * }, + * expire_date: array{ + * enabled: bool, + * enforced: bool, + * }, + * } + * } + * } + */ public function getCapabilities(): array { return [ 'files_sharing' => diff --git a/apps/sharebymail/openapi.json b/apps/sharebymail/openapi.json new file mode 100644 index 0000000000000..517b8d8bdbaa0 --- /dev/null +++ b/apps/sharebymail/openapi.json @@ -0,0 +1,102 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "sharebymail", + "version": "0.0.1", + "description": "Share provider which allows you to share files by mail", + "license": { + "name": "agpl" + } + }, + "components": { + "securitySchemes": { + "basic_auth": { + "type": "http", + "scheme": "basic" + }, + "bearer_auth": { + "type": "http", + "scheme": "bearer" + } + }, + "schemas": { + "Capabilities": { + "type": "object", + "required": [ + "files_sharing" + ], + "properties": { + "files_sharing": { + "type": "object", + "required": [ + "sharebymail" + ], + "properties": { + "sharebymail": { + "type": "object", + "required": [ + "enabled", + "send_password_by_mail", + "upload_files_drop", + "password", + "expire_date" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "send_password_by_mail": { + "type": "boolean" + }, + "upload_files_drop": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "password": { + "type": "object", + "required": [ + "enabled", + "enforced" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "enforced": { + "type": "boolean" + } + } + }, + "expire_date": { + "type": "object", + "required": [ + "enabled", + "enforced" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "enforced": { + "type": "boolean" + } + } + } + } + } + } + } + } + } + } + }, + "paths": [], + "tags": [] +} \ No newline at end of file