diff --git a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/Action.php b/src/Appwrite/Platform/Modules/Storage/Http/Tokens/Buckets/Files/Action.php similarity index 95% rename from src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/Action.php rename to src/Appwrite/Platform/Modules/Storage/Http/Tokens/Buckets/Files/Action.php index 6d6838451a..524d25dc42 100644 --- a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/Action.php +++ b/src/Appwrite/Platform/Modules/Storage/Http/Tokens/Buckets/Files/Action.php @@ -1,6 +1,6 @@ label('abuse-key', 'ip:{ip},method:{method},url:{url},userId:{userId}') ->label('abuse-limit', APP_LIMIT_WRITE_RATE_DEFAULT) ->label('abuse-time', APP_LIMIT_WRITE_RATE_PERIOD_DEFAULT) - ->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT]) - ->label('sdk.namespace', 'tokens') - ->label('sdk.method', 'createFileToken') - ->label('sdk.description', '/docs/references/tokens/create_file_token.md') - ->label('sdk.response.code', Response::STATUS_CODE_CREATED) - ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) - ->label('sdk.response.model', Response::MODEL_RESOURCE_TOKEN) + ->label('sdk', new Method( + namespace: 'tokens', + name: 'createFileToken', + description: '', + auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + responses: [ + new SDKResponse( + code: Response::STATUS_CODE_OK, + model: Response::MODEL_RESOURCE_TOKEN, + ) + ], + contentType: ContentType::JSON + )) ->param('bucketId', '', new UID(), 'Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https://appwrite.io/docs/server/storage#createBucket).') ->param('fileId', '', new UID(), 'File unique ID.') ->param('expire', null, new Nullable(new DatetimeValidator()), 'Token expiry date', true) diff --git a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/ListFileTokens.php b/src/Appwrite/Platform/Modules/Storage/Http/Tokens/Buckets/Files/XList.php similarity index 81% rename from src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/ListFileTokens.php rename to src/Appwrite/Platform/Modules/Storage/Http/Tokens/Buckets/Files/XList.php index b86246eae4..214e349a72 100644 --- a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/ListFileTokens.php +++ b/src/Appwrite/Platform/Modules/Storage/Http/Tokens/Buckets/Files/XList.php @@ -1,8 +1,12 @@ groups(['api', 'tokens']) ->label('scope', 'tokens.read') ->label('usage.metric', 'tokens.requests.read') - ->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT]) - ->label('sdk.namespace', 'tokens') - ->label('sdk.method', 'list') - ->label('sdk.description', '/docs/references/storage/list.md') - ->label('sdk.response.code', Response::STATUS_CODE_OK) - ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) - ->label('sdk.response.model', Response::MODEL_RESOURCE_TOKEN_LIST) + ->label('sdk', new Method( + namespace: 'tokens', + name: 'list', + description: '', + auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + responses: [ + new SDKResponse( + code: Response::STATUS_CODE_OK, + model: Response::MODEL_RESOURCE_TOKEN_LIST, + ) + ], + contentType: ContentType::JSON + )) ->param('bucketId', '', new UID(), 'Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https://appwrite.io/docs/server/storage#createBucket).') ->param('fileId', '', new UID(), 'File unique ID.') ->param('queries', [], new FileTokens(), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' queries are allowed, each ' . APP_LIMIT_ARRAY_ELEMENT_SIZE . ' characters long. You may filter on the following attributes: ' . implode(', ', FileTokens::ALLOWED_ATTRIBUTES), true) diff --git a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/DeleteToken.php b/src/Appwrite/Platform/Modules/Storage/Http/Tokens/Delete.php similarity index 74% rename from src/Appwrite/Platform/Modules/Tokens/Http/Tokens/DeleteToken.php rename to src/Appwrite/Platform/Modules/Storage/Http/Tokens/Delete.php index d8f463cbd8..dfad05e2d4 100644 --- a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/DeleteToken.php +++ b/src/Appwrite/Platform/Modules/Storage/Http/Tokens/Delete.php @@ -1,16 +1,20 @@ label('abuse-key', 'ip:{ip},method:{method},url:{url},userId:{userId}') ->label('abuse-limit', APP_LIMIT_WRITE_RATE_DEFAULT) ->label('abuse-time', APP_LIMIT_WRITE_RATE_PERIOD_DEFAULT) - ->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT]) - ->label('sdk.namespace', 'tokens') - ->label('sdk.method', 'delete') - ->label('sdk.description', '/docs/references/tokens/delete.md') - ->label('sdk.response.code', Response::STATUS_CODE_NOCONTENT) - ->label('sdk.response.model', Response::MODEL_NONE) + ->label('sdk', new Method( + namespace: 'tokens', + name: 'delete', + description: '', + auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + responses: [ + new SDKResponse( + code: Response::STATUS_CODE_NOCONTENT, + model: Response::MODEL_NONE, + ) + ], + contentType: ContentType::NONE + )) ->param('tokenId', '', new UID(), 'Token ID.') ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/GetToken.php b/src/Appwrite/Platform/Modules/Storage/Http/Tokens/Get.php similarity index 65% rename from src/Appwrite/Platform/Modules/Tokens/Http/Tokens/GetToken.php rename to src/Appwrite/Platform/Modules/Storage/Http/Tokens/Get.php index 9ca11f8e28..2f15a52f4a 100644 --- a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/GetToken.php +++ b/src/Appwrite/Platform/Modules/Storage/Http/Tokens/Get.php @@ -1,15 +1,19 @@ label('scope', 'tokens.read') ->label('usage.metric', 'tokens.{scope}.requests.read') ->label('usage.params', ['tokenId:{request.tokenId}']) - ->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT]) - ->label('sdk.namespace', 'tokens') - ->label('sdk.method', 'get') - ->label('sdk.description', '/docs/references/tokens/get.md') - ->label('sdk.response.code', Response::STATUS_CODE_OK) - ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) - ->label('sdk.response.model', Response::MODEL_RESOURCE_TOKEN) + ->label('sdk', new Method( + namespace: 'tokens', + name: 'get', + description: '', + auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + responses: [ + new SDKResponse( + code: Response::STATUS_CODE_OK, + model: Response::MODEL_RESOURCE_TOKEN, + ) + ], + contentType: ContentType::JSON + )) ->param('tokenId', '', new UID(), 'Token ID.') ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/GetTokenJWT.php b/src/Appwrite/Platform/Modules/Storage/Http/Tokens/JWT/Get.php similarity index 77% rename from src/Appwrite/Platform/Modules/Tokens/Http/Tokens/GetTokenJWT.php rename to src/Appwrite/Platform/Modules/Storage/Http/Tokens/JWT/Get.php index 8fd546dd07..986700cb0d 100644 --- a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/GetTokenJWT.php +++ b/src/Appwrite/Platform/Modules/Storage/Http/Tokens/JWT/Get.php @@ -1,9 +1,13 @@ label('scope', 'tokens.read') ->label('usage.metric', 'tokens.{scope}.requests.read') ->label('usage.params', ['tokenId:{request.tokenId}']) - ->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT]) - ->label('sdk.namespace', 'tokens') - ->label('sdk.method', 'getJWT') - ->label('sdk.description', '/docs/references/storage/get-file-token-jwt.md') - ->label('sdk.response.code', Response::STATUS_CODE_OK) - ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) - ->label('sdk.response.model', Response::MODEL_JWT) + ->label('sdk', new Method( + namespace: 'tokens', + name: 'getJWT', + description: '', + auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + responses: [ + new SDKResponse( + code: Response::STATUS_CODE_OK, + model: Response::MODEL_JWT, + ) + ], + contentType: ContentType::JSON + )) ->param('tokenId', '', new UID(), 'File token ID.') ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/UpdateToken.php b/src/Appwrite/Platform/Modules/Storage/Http/Tokens/Update.php similarity index 86% rename from src/Appwrite/Platform/Modules/Tokens/Http/Tokens/UpdateToken.php rename to src/Appwrite/Platform/Modules/Storage/Http/Tokens/Update.php index a20fda3e96..e9979eb6fc 100644 --- a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/UpdateToken.php +++ b/src/Appwrite/Platform/Modules/Storage/Http/Tokens/Update.php @@ -1,10 +1,14 @@ label('abuse-key', 'ip:{ip},method:{method},url:{url},userId:{userId}') ->label('abuse-limit', APP_LIMIT_WRITE_RATE_DEFAULT) ->label('abuse-time', APP_LIMIT_WRITE_RATE_PERIOD_DEFAULT) - ->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT]) - ->label('sdk.namespace', 'tokens') - ->label('sdk.method', 'update') - ->label('sdk.description', '/docs/references/tokens/update.md') - ->label('sdk.response.code', Response::STATUS_CODE_OK) - ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) - ->label('sdk.response.model', Response::MODEL_RESOURCE_TOKEN) + ->label('sdk', new Method( + namespace: 'tokens', + name: 'update', + description: '', + auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + responses: [ + new SDKResponse( + code: Response::STATUS_CODE_OK, + model: Response::MODEL_RESOURCE_TOKEN, + ) + ], + contentType: ContentType::JSON + )) ->param('tokenId', '', new UID(), 'Token unique ID.') ->param('expire', null, new Nullable(new DatetimeValidator()), 'File token expiry date', true) ->param('permissions', null, new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE]), 'An array of permission string. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) diff --git a/src/Appwrite/Platform/Modules/Tokens/Module.php b/src/Appwrite/Platform/Modules/Storage/Module.php similarity index 100% rename from src/Appwrite/Platform/Modules/Tokens/Module.php rename to src/Appwrite/Platform/Modules/Storage/Module.php diff --git a/src/Appwrite/Platform/Modules/Tokens/Services/Http.php b/src/Appwrite/Platform/Modules/Storage/Services/Http.php similarity index 58% rename from src/Appwrite/Platform/Modules/Tokens/Services/Http.php rename to src/Appwrite/Platform/Modules/Storage/Services/Http.php index 35f9b89b80..ccc3aed51c 100644 --- a/src/Appwrite/Platform/Modules/Tokens/Services/Http.php +++ b/src/Appwrite/Platform/Modules/Storage/Services/Http.php @@ -2,12 +2,12 @@ namespace Appwrite\Platform\Modules\Tokens\Services; -use Appwrite\Platform\Modules\Tokens\Http\Tokens\Buckets\Files\CreateFileToken; -use Appwrite\Platform\Modules\Tokens\Http\Tokens\Buckets\Files\ListFileTokens; -use Appwrite\Platform\Modules\Tokens\Http\Tokens\DeleteToken; -use Appwrite\Platform\Modules\Tokens\Http\Tokens\GetToken; -use Appwrite\Platform\Modules\Tokens\Http\Tokens\GetTokenJWT; -use Appwrite\Platform\Modules\Tokens\Http\Tokens\UpdateToken; +use Appwrite\Platform\Modules\Storage\Http\Tokens\Buckets\Files\Create as CreateFileToken; +use Appwrite\Platform\Modules\Storage\Http\Tokens\Buckets\Files\XList as ListFileTokens; +use Appwrite\Platform\Modules\Storage\Http\Tokens\Delete as DeleteToken; +use Appwrite\Platform\Modules\Storage\Http\Tokens\Get as GetToken; +use Appwrite\Platform\Modules\Storage\Http\Tokens\JWT\Get as GetTokenJWT; +use Appwrite\Platform\Modules\Storage\Http\Tokens\Update as UpdateToken; use Utopia\Platform\Service; class Http extends Service @@ -17,11 +17,11 @@ class Http extends Service $this->type = Service::TYPE_HTTP; $this ->addAction(CreateFileToken::getName(), new CreateFileToken()) - ->addAction(DeleteToken::getName(), new DeleteToken()) ->addAction(GetToken::getName(), new GetToken()) ->addAction(GetTokenJWT::getName(), new GetTokenJWT()) ->addAction(ListFileTokens::getName(), new ListFileTokens()) ->addAction(UpdateToken::getName(), new UpdateToken()) + ->addAction(DeleteToken::getName(), new DeleteToken()) ; }