Migrate module names

This commit is contained in:
Matej Bačo 2025-02-05 11:30:19 +01:00
parent 3d319e25a9
commit 2e62837de6
36 changed files with 170 additions and 199 deletions

View file

@ -163,6 +163,28 @@ Other containes should be named the same as their service, for example `redis` s
- [Encryption](https://medium.com/searchencrypt/what-is-encryption-how-does-it-work-e8f20e340537#:~:text=Encryption%20is%20a%20process%20that,%2C%20or%20decrypt%2C%20the%20information.)
- [Hashing](https://searchsqlserver.techtarget.com/definition/hashing#:~:text=Hashing%20is%20the%20transformation%20of,it%20using%20the%20original%20value.)
## Modules
As Appwrite grows, we noticed approach of having all service endpoints in `app/controllers/api/[service].php` is not maintainable. Not only it creates massive files, it also doesnt contain all product's features such as workers or tasks. While there might still be some occurances of those controller files, we avoid it in all new development, and gradually migrate existing controllers to **HTTP modules**.
### HTTP Endpoints
Every endpoint file follows below structure, making it consistent with HTTP REST endpoint path:
```
src/Appwrite/Platform/Modules/[service]/Http/[resource]/[action].php
```
Tips and tricks:
1. If endpoint doesn't have resource, use service name as resource name too
> Example: `Modules/Sites/Http/Sites/Get.php`
2. If there are multiple resources, use then all in folder structure
> Example: `Modules/Sites/Http/Deployments/Builds/Create.php`
3. Action can only be `Get`, `Create`, `Update`, `Delete` or `XList`
## Architecture
Appwrite's current structure is a combination of both [Monolithic](https://en.wikipedia.org/wiki/Monolithic_application) and [Microservice](https://en.wikipedia.org/wiki/Microservices) architectures.

View file

@ -18,7 +18,6 @@ use Appwrite\SDK\MethodType;
use Appwrite\SDK\Response as SDKResponse;
use Appwrite\Utopia\Database\Validator\Queries\Deployments;
use Appwrite\Utopia\Database\Validator\Queries\Executions;
use Appwrite\Utopia\Database\Validator\Queries\Functions;
use Appwrite\Utopia\Response;
use Executor\Executor;
use MaxMind\Db\Reader;
@ -48,84 +47,9 @@ use Utopia\Validator\Boolean;
use Utopia\Validator\Range;
use Utopia\Validator\Text;
use Utopia\Validator\WhiteList;
use Utopia\VCS\Adapter\Git\GitHub;
use Utopia\VCS\Exception\RepositoryNotFound;
include_once __DIR__ . '/../shared/api.php';
// $redeployVcs = function (Request $request, Document $function, Document $project, Document $installation, Database $dbForProject, Build $queueForBuilds, Document $template, GitHub $github) {
// $deploymentId = ID::unique();
// $entrypoint = $function->getAttribute('entrypoint', '');
// $providerInstallationId = $installation->getAttribute('providerInstallationId', '');
// $privateKey = System::getEnv('_APP_VCS_GITHUB_PRIVATE_KEY');
// $githubAppId = System::getEnv('_APP_VCS_GITHUB_APP_ID');
// $github->initializeVariables($providerInstallationId, $privateKey, $githubAppId);
// $owner = $github->getOwnerName($providerInstallationId);
// $providerRepositoryId = $function->getAttribute('providerRepositoryId', '');
// try {
// $repositoryName = $github->getRepositoryName($providerRepositoryId) ?? '';
// if (empty($repositoryName)) {
// throw new Exception(Exception::PROVIDER_REPOSITORY_NOT_FOUND);
// }
// } catch (RepositoryNotFound $e) {
// throw new Exception(Exception::PROVIDER_REPOSITORY_NOT_FOUND);
// }
// $providerBranch = $function->getAttribute('providerBranch', 'main');
// $authorUrl = "https://github.com/$owner";
// $repositoryUrl = "https://github.com/$owner/$repositoryName";
// $branchUrl = "https://github.com/$owner/$repositoryName/tree/$providerBranch";
// $commitDetails = [];
// if ($template->isEmpty()) {
// try {
// $commitDetails = $github->getLatestCommit($owner, $repositoryName, $providerBranch);
// } catch (\Throwable $error) {
// Console::warning('Failed to get latest commit details');
// Console::warning($error->getMessage());
// Console::warning($error->getTraceAsString());
// }
// }
// $deployment = $dbForProject->createDocument('deployments', new Document([
// '$id' => $deploymentId,
// '$permissions' => [
// Permission::read(Role::any()),
// Permission::update(Role::any()),
// Permission::delete(Role::any()),
// ],
// 'resourceId' => $function->getId(),
// 'resourceInternalId' => $function->getInternalId(),
// 'resourceType' => 'functions',
// 'entrypoint' => $entrypoint,
// 'commands' => $function->getAttribute('commands', ''),
// 'type' => 'vcs',
// 'installationId' => $installation->getId(),
// 'installationInternalId' => $installation->getInternalId(),
// 'providerRepositoryId' => $providerRepositoryId,
// 'repositoryId' => $function->getAttribute('repositoryId', ''),
// 'repositoryInternalId' => $function->getAttribute('repositoryInternalId', ''),
// 'providerBranchUrl' => $branchUrl,
// 'providerRepositoryName' => $repositoryName,
// 'providerRepositoryOwner' => $owner,
// 'providerRepositoryUrl' => $repositoryUrl,
// 'providerCommitHash' => $commitDetails['commitHash'] ?? '',
// 'providerCommitAuthorUrl' => $authorUrl,
// 'providerCommitAuthor' => $commitDetails['commitAuthor'] ?? '',
// 'providerCommitMessage' => $commitDetails['commitMessage'] ?? '',
// 'providerCommitUrl' => $commitDetails['commitUrl'] ?? '',
// 'providerBranch' => $providerBranch,
// 'providerRootDirectory' => $function->getAttribute('providerRootDirectory', ''),
// 'search' => implode(' ', [$deploymentId, $entrypoint]),
// 'activate' => true,
// ]));
// $queueForBuilds
// ->setType(BUILD_TYPE_DEPLOYMENT)
// ->setResource($function)
// ->setDeployment($deployment)
// ->setTemplate($template);
// };
App::get('/v1/functions/specifications')
->groups(['api', 'functions'])
->desc('List available function runtime specifications')

View file

@ -29,7 +29,7 @@ use Utopia\System\System;
use Utopia\Validator\Boolean;
use Utopia\Validator\Text;
class CreateDeployment extends Action
class Create extends Action
{
use HTTP;

View file

@ -38,7 +38,7 @@ use Utopia\Validator\Text;
use Utopia\Validator\WhiteList;
use Utopia\VCS\Adapter\Git\GitHub;
class CreateFunction extends Base
class Create extends Base
{
use HTTP;
@ -62,7 +62,7 @@ class CreateFunction extends Base
->label('sdk', new Method(
namespace: 'functions',
name: 'create',
description: '/docs/references/functions/create-function.md',
description: '/docs/references/functions/create.md',
auth: [AuthType::KEY],
responses: [
new SDKResponse(

View file

@ -38,7 +38,7 @@ use Utopia\Validator\Text;
use Utopia\Validator\WhiteList;
use Utopia\VCS\Adapter\Git\GitHub;
class UpdateFunction extends Base
class Update extends Base
{
use HTTP;

View file

@ -18,7 +18,7 @@ use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
use Utopia\Validator\Text;
class ListFunctions extends Base
class XList extends Base
{
use HTTP;

View file

@ -1,6 +1,6 @@
<?php
namespace Appwrite\Platform\Modules\Functions\Http\Functions;
namespace Appwrite\Platform\Modules\Functions\Http\Runtimes;
use Appwrite\Platform\Modules\Compute\Base;
use Appwrite\SDK\AuthType;
@ -13,7 +13,7 @@ use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
use Utopia\System\System;
class ListRuntimes extends Base
class XList extends Base
{
use HTTP;

View file

@ -2,11 +2,11 @@
namespace Appwrite\Platform\Modules\Functions\Services;
use Appwrite\Platform\Modules\Functions\Http\Deployments\CreateDeployment;
use Appwrite\Platform\Modules\Functions\Http\Functions\CreateFunction;
use Appwrite\Platform\Modules\Functions\Http\Functions\ListFunctions;
use Appwrite\Platform\Modules\Functions\Http\Functions\ListRuntimes;
use Appwrite\Platform\Modules\Functions\Http\Functions\UpdateFunction;
use Appwrite\Platform\Modules\Functions\Http\Deployments\Create as CreateDeployment;
use Appwrite\Platform\Modules\Functions\Http\Functions\Create as CreateFunction;
use Appwrite\Platform\Modules\Functions\Http\Functions\XList as ListFunctions;
use Appwrite\Platform\Modules\Functions\Http\Functions\Update as UpdateFunction;
use Appwrite\Platform\Modules\Functions\Http\Runtimes\XList as ListRuntimes;
use Utopia\Platform\Service;
class Http extends Service

View file

@ -1,6 +1,6 @@
<?php
namespace Appwrite\Platform\Modules\Sites\Http\Deployments;
namespace Appwrite\Platform\Modules\Sites\Http\Deployments\Builds;
use Appwrite\Event\Build;
use Appwrite\Event\Event;
@ -16,13 +16,13 @@ use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
use Utopia\Storage\Device;
class CreateBuild extends Action
class Create extends Action
{
use HTTP;
public static function getName()
{
return 'CreateBuild';
return 'createDeploymentBuild';
}
public function __construct()
@ -38,8 +38,8 @@ class CreateBuild extends Action
->label('audits.resource', 'site/{request.siteId}')
->label('sdk', new Method(
namespace: 'sites',
name: 'createBuild',
description: '/docs/references/sites/create-build.md',
name: 'createDeploymentBuild',
description: '/docs/references/sites/create-deployment-build.md',
auth: [AuthType::KEY],
responses: [
new SDKResponse(

View file

@ -1,6 +1,6 @@
<?php
namespace Appwrite\Platform\Modules\Sites\Http\Deployments;
namespace Appwrite\Platform\Modules\Sites\Http\Deployments\Builds\Download;
use Appwrite\Extend\Exception;
use Appwrite\Utopia\Response;
@ -11,13 +11,13 @@ use Utopia\Platform\Scope\HTTP;
use Utopia\Storage\Device;
use Utopia\Swoole\Request;
class DownloadBuild extends Action
class Get extends Action
{
use HTTP;
public static function getName()
{
return 'downloadBuild';
return 'getDeploymentBuildDownload';
}
public function __construct()
@ -30,8 +30,8 @@ class DownloadBuild extends Action
->label('scope', 'sites.read')
->label('sdk.auth', [APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'sites')
->label('sdk.method', 'getBuildDownload')
->label('sdk.description', '/docs/references/sites/get-build-download.md')
->label('sdk.method', 'getDeploymentBuildDownload')
->label('sdk.description', '/docs/references/sites/get-deployment-build-download.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', '*/*')
->label('sdk.methodType', 'location')

View file

@ -1,6 +1,6 @@
<?php
namespace Appwrite\Platform\Modules\Sites\Http\Deployments;
namespace Appwrite\Platform\Modules\Sites\Http\Deployments\Builds;
use Appwrite\Event\Event;
use Appwrite\Extend\Exception;
@ -19,13 +19,13 @@ use Utopia\Database\Validator\UID;
use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
class CancelDeployment extends Action
class Update extends Action
{
use HTTP;
public static function getName()
{
return 'cancelDeployment';
return 'updateDeploymentBuild';
}
public function __construct()
@ -39,9 +39,9 @@ class CancelDeployment extends Action
->label('audits.event', 'deployment.update')
->label('audits.resource', 'site/{request.siteId}')
->label('sdk', new Method(
namespace: 'functions',
namespace: 'sites',
name: 'updateDeploymentBuild',
description: '/docs/references/functions/update-deployment-build.md',
description: '/docs/references/sites/update-deployment-build.md',
auth: [AuthType::KEY],
responses: [
new SDKResponse(

View file

@ -30,7 +30,7 @@ use Utopia\System\System;
use Utopia\Validator\Boolean;
use Utopia\Validator\Text;
class CreateDeployment extends Action
class Create extends Action
{
use HTTP;

View file

@ -2,7 +2,7 @@
namespace Appwrite\Platform\Modules\Sites\Http\Deployments;
use Appwrite\Event\Delete;
use Appwrite\Event\Delete as DeleteEvent;
use Appwrite\Event\Event;
use Appwrite\Extend\Exception;
use Appwrite\SDK\AuthType;
@ -17,7 +17,7 @@ use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
use Utopia\Storage\Device;
class DeleteDeployment extends Action
class Delete extends Action
{
use HTTP;

View file

@ -1,6 +1,6 @@
<?php
namespace Appwrite\Platform\Modules\Sites\Http\Deployments;
namespace Appwrite\Platform\Modules\Sites\Http\Deployments\Download;
use Appwrite\Extend\Exception;
use Appwrite\Utopia\Response;
@ -11,13 +11,13 @@ use Utopia\Platform\Scope\HTTP;
use Utopia\Storage\Device;
use Utopia\Swoole\Request;
class DownloadDeployment extends Action
class Get extends Action
{
use HTTP;
public static function getName()
{
return 'downloadDeployment';
return 'getDeploymentDownload';
}
public function __construct()

View file

@ -15,7 +15,7 @@ use Utopia\Database\Validator\UID;
use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
class GetDeployment extends Action
class Get extends Action
{
use HTTP;

View file

@ -14,7 +14,7 @@ use Utopia\Database\Validator\UID;
use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
class UpdateDeployment extends Action
class Update extends Action
{
use HTTP;
@ -35,9 +35,9 @@ class UpdateDeployment extends Action
->label('audits.event', 'deployment.update')
->label('audits.resource', 'site/{request.siteId}')
->label('sdk', new Method(
namespace: 'functions',
namespace: 'sites',
name: 'updateDeployment',
description: '/docs/references/functions/update-function-deployment.md',
description: '/docs/references/sites/update-deployment.md',
auth: [AuthType::KEY],
responses: [
new SDKResponse(

View file

@ -19,7 +19,7 @@ use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
use Utopia\Validator\Text;
class ListDeployments extends Action
class XList extends Action
{
use HTTP;

View file

@ -1,6 +1,6 @@
<?php
namespace Appwrite\Platform\Modules\Sites\Http\Sites;
namespace Appwrite\Platform\Modules\Sites\Http\Frameworks;
use Appwrite\Platform\Modules\Compute\Base;
use Appwrite\SDK\AuthType;
@ -13,7 +13,7 @@ use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
use Utopia\System\System;
class ListFrameworks extends Base
class XList extends Base
{
use HTTP;

View file

@ -5,13 +5,16 @@ namespace Appwrite\Platform\Modules\Sites\Http\Logs;
use Appwrite\Event\Event;
use Appwrite\Extend\Exception;
use Appwrite\Platform\Modules\Compute\Base;
use Appwrite\SDK\AuthType;
use Appwrite\SDK\Method;
use Appwrite\SDK\Response as SDKResponse;
use Appwrite\Utopia\Response;
use Utopia\Database\Database;
use Utopia\Database\Validator\UID;
use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
class DeleteLog extends Base
class Delete extends Base
{
use HTTP;
@ -32,12 +35,18 @@ class DeleteLog extends Base
->label('event', 'sites.[siteId].logs.[logId].delete')
->label('audits.event', 'logs.delete')
->label('audits.resource', 'site/{request.siteId}')
->label('sdk.auth', [APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'sites')
->label('sdk.method', 'deleteLog')
->label('sdk.description', '/docs/references/sites/delete-log.md') // TODO: add this file
->label('sdk.response.code', Response::STATUS_CODE_NOCONTENT)
->label('sdk.response.model', Response::MODEL_NONE)
->label('sdk', new Method(
namespace: 'sites',
name: 'deleteLog',
description: '/docs/references/sites/delete-log.md',
auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_NOCONTENT,
model: Response::MODEL_NONE,
)
]
))
->param('siteId', '', new UID(), 'Site ID.')
->param('logId', '', new UID(), 'Log ID.')
->inject('response')

View file

@ -4,13 +4,16 @@ namespace Appwrite\Platform\Modules\Sites\Http\Logs;
use Appwrite\Extend\Exception;
use Appwrite\Platform\Modules\Compute\Base;
use Appwrite\SDK\AuthType;
use Appwrite\SDK\Method;
use Appwrite\SDK\Response as SDKResponse;
use Appwrite\Utopia\Response;
use Utopia\Database\Database;
use Utopia\Database\Validator\UID;
use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
class GetLog extends Base
class Get extends Base
{
use HTTP;
@ -27,13 +30,18 @@ class GetLog extends Base
->desc('Get log')
->groups(['api', 'sites'])
->label('scope', 'log.read')
->label('sdk.auth', [APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'sites')
->label('sdk.method', 'getLog')
->label('sdk.description', '/docs/references/sites/get-log.md') // TODO: add this file
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_EXECUTION)
->label('sdk', new Method(
namespace: 'sites',
name: 'getLog',
description: '/docs/references/sites/get-log.md',
auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
model: Response::MODEL_EXECUTION,
)
]
))
->param('siteId', '', new UID(), 'Site ID.')
->param('logId', '', new UID(), 'Log ID.')
->inject('response')

View file

@ -4,6 +4,9 @@ namespace Appwrite\Platform\Modules\Sites\Http\Logs;
use Appwrite\Extend\Exception;
use Appwrite\Platform\Modules\Compute\Base;
use Appwrite\SDK\AuthType;
use Appwrite\SDK\Method;
use Appwrite\SDK\Response as SDKResponse;
use Appwrite\Utopia\Database\Validator\Queries\Executions;
use Appwrite\Utopia\Database\Validator\Queries\Logs;
use Appwrite\Utopia\Response;
@ -17,7 +20,7 @@ use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
use Utopia\Validator\Text;
class ListLogs extends Base
class XList extends Base
{
use HTTP;
@ -35,13 +38,18 @@ class ListLogs extends Base
->groups(['api', 'sites'])
->label('scope', 'log.read')
->label('resourceType', RESOURCE_TYPE_SITES)
->label('sdk.auth', [APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'sites')
->label('sdk.method', 'listLogs')
->label('sdk.description', '/docs/references/sites/list-logs.md') // TODO: add this file
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_EXECUTION_LIST) // TODO: Update this later
->label('sdk', new Method(
namespace: 'sites',
name: 'listLogs',
description: '/docs/references/sites/get-log.md',
auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
model: Response::MODEL_EXECUTION_LIST,
)
]
))
->param('siteId', '', new UID(), 'Site ID.')
->param('queries', [], new Logs(), '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(', ', Executions::ALLOWED_ATTRIBUTES), true)
->param('search', '', new Text(256), 'Search term to filter your list results. Max length: 256 chars.', true)

View file

@ -32,7 +32,7 @@ use Utopia\Validator\Text;
use Utopia\Validator\WhiteList;
use Utopia\VCS\Adapter\Git\GitHub;
class CreateSite extends Base
class Create extends Base
{
use HTTP;
@ -55,7 +55,7 @@ class CreateSite extends Base
->label('sdk', new Method(
namespace: 'site',
name: 'create',
description: '/docs/references/sites/create-site.md',
description: '/docs/references/sites/create.md',
auth: [AuthType::KEY],
responses: [
new SDKResponse(

View file

@ -2,7 +2,7 @@
namespace Appwrite\Platform\Modules\Sites\Http\Sites;
use Appwrite\Event\Delete;
use Appwrite\Event\Delete as DeleteEvent;
use Appwrite\Event\Event;
use Appwrite\Extend\Exception;
use Appwrite\Platform\Modules\Compute\Base;
@ -16,7 +16,7 @@ use Utopia\Database\Validator\UID;
use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
class DeleteSite extends Base
class Delete extends Base
{
use HTTP;
@ -39,7 +39,7 @@ class DeleteSite extends Base
->label('sdk', new Method(
namespace: 'sites',
name: 'delete',
description: '/docs/references/sites/delete-site.md',
description: '/docs/references/sites/delete.md',
auth: [AuthType::KEY],
responses: [
new SDKResponse(
@ -57,7 +57,7 @@ class DeleteSite extends Base
->callback([$this, 'action']);
}
public function action(string $siteId, Response $response, Database $dbForProject, Delete $queueForDeletes, Event $queueForEvents)
public function action(string $siteId, Response $response, Database $dbForProject, DeleteEvent $queueForDeletes, Event $queueForEvents)
{
$site = $dbForProject->getDocument('sites', $siteId);

View file

@ -13,7 +13,7 @@ use Utopia\Database\Validator\UID;
use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
class GetSite extends Base
class Get extends Base
{
use HTTP;
@ -34,7 +34,7 @@ class GetSite extends Base
->label('sdk', new Method(
namespace: 'sites',
name: 'get',
description: '/docs/references/sites/get-site.md',
description: '/docs/references/sites/get.md',
auth: [AuthType::KEY],
responses: [
new SDKResponse(

View file

@ -31,7 +31,7 @@ use Utopia\Validator\Text;
use Utopia\Validator\WhiteList;
use Utopia\VCS\Adapter\Git\GitHub;
class UpdateSite extends Base
class Update extends Base
{
use HTTP;
@ -53,12 +53,12 @@ class UpdateSite extends Base
->label('sdk', new Method(
namespace: 'sites',
name: 'update',
description: '/docs/references/sites/update-site.md',
description: '/docs/references/sites/update.md',
auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
model: Response::MODEL_FUNCTION,
model: Response::MODEL_SITE,
)
]
))

View file

@ -18,7 +18,7 @@ use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
use Utopia\Validator\Text;
class ListSites extends Base
class XList extends Base
{
use HTTP;
@ -38,7 +38,7 @@ class ListSites extends Base
->label('sdk', new Method(
namespace: 'sites',
name: 'list',
description: '/docs/references/sites/list-sites.md',
description: '/docs/references/sites/list.md',
auth: [AuthType::KEY],
responses: [
new SDKResponse(

View file

@ -1,6 +1,6 @@
<?php
namespace Appwrite\Platform\Modules\Sites\Http\Sites;
namespace Appwrite\Platform\Modules\Sites\Http\Templates;
use Appwrite\Extend\Exception;
use Appwrite\Platform\Modules\Compute\Base;
@ -14,7 +14,7 @@ use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
use Utopia\Validator\Text;
class GetTemplate extends Base
class Get extends Base
{
use HTTP;

View file

@ -1,6 +1,6 @@
<?php
namespace Appwrite\Platform\Modules\Sites\Http\Sites;
namespace Appwrite\Platform\Modules\Sites\Http\Templates;
use Appwrite\Platform\Modules\Compute\Base;
use Appwrite\SDK\AuthType;
@ -15,7 +15,7 @@ use Utopia\Validator\ArrayList;
use Utopia\Validator\Range;
use Utopia\Validator\WhiteList;
class ListTemplates extends Base
class XList extends Base
{
use HTTP;

View file

@ -1,6 +1,6 @@
<?php
namespace Appwrite\Platform\Modules\Sites\Http\Sites;
namespace Appwrite\Platform\Modules\Sites\Http\Usage;
use Appwrite\Extend\Exception;
use Appwrite\Platform\Modules\Compute\Base;
@ -18,7 +18,7 @@ use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
use Utopia\Validator\WhiteList;
class GetSiteUsage extends Base
class Get extends Base
{
use HTTP;
@ -37,8 +37,8 @@ class GetSiteUsage extends Base
->label('scope', 'sites.read')
->label('sdk', new Method(
namespace: 'sites',
name: 'getSiteUsage',
description: '/docs/references/sites/get-site-usage.md',
name: 'getUsage',
description: '/docs/references/sites/get-usage.md',
auth: [AuthType::ADMIN],
responses: [
new SDKResponse(

View file

@ -1,6 +1,6 @@
<?php
namespace Appwrite\Platform\Modules\Sites\Http\Sites;
namespace Appwrite\Platform\Modules\Sites\Http\Usage;
use Appwrite\Platform\Modules\Compute\Base;
use Appwrite\SDK\AuthType;
@ -16,7 +16,7 @@ use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
use Utopia\Validator\WhiteList;
class GetSitesUsage extends Base
class XList extends Base
{
use HTTP;
@ -35,8 +35,8 @@ class GetSitesUsage extends Base
->label('scope', 'sites.read')
->label('sdk', new Method(
namespace: 'sites',
name: 'getUsage',
description: '/docs/references/sites/get-sites-usage.md',
name: 'listUsage',
description: '/docs/references/sites/list-usage.md',
auth: [AuthType::ADMIN],
responses: [
new SDKResponse(

View file

@ -20,7 +20,7 @@ use Utopia\Platform\Scope\HTTP;
use Utopia\Validator\Boolean;
use Utopia\Validator\Text;
class CreateVariable extends Base
class Create extends Base
{
use HTTP;

View file

@ -14,7 +14,7 @@ use Utopia\Database\Validator\UID;
use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
class DeleteVariable extends Base
class Delete extends Base
{
use HTTP;

View file

@ -13,7 +13,7 @@ use Utopia\Database\Validator\UID;
use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
class GetVariable extends Base
class Get extends Base
{
use HTTP;

View file

@ -15,7 +15,7 @@ use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
use Utopia\Validator\Text;
class UpdateVariable extends Base
class Update extends Base
{
use HTTP;

View file

@ -14,7 +14,7 @@ use Utopia\Database\Validator\UID;
use Utopia\Platform\Action;
use Utopia\Platform\Scope\HTTP;
class ListVariables extends Base
class XList extends Base
{
use HTTP;

View file

@ -2,33 +2,33 @@
namespace Appwrite\Platform\Modules\Sites\Services;
use Appwrite\Platform\Modules\Sites\Http\Deployments\CancelDeployment;
use Appwrite\Platform\Modules\Sites\Http\Deployments\CreateBuild;
use Appwrite\Platform\Modules\Sites\Http\Deployments\CreateDeployment;
use Appwrite\Platform\Modules\Sites\Http\Deployments\DeleteDeployment;
use Appwrite\Platform\Modules\Sites\Http\Deployments\DownloadBuild;
use Appwrite\Platform\Modules\Sites\Http\Deployments\DownloadDeployment;
use Appwrite\Platform\Modules\Sites\Http\Deployments\GetDeployment;
use Appwrite\Platform\Modules\Sites\Http\Deployments\ListDeployments;
use Appwrite\Platform\Modules\Sites\Http\Deployments\UpdateDeployment;
use Appwrite\Platform\Modules\Sites\Http\Logs\DeleteLog;
use Appwrite\Platform\Modules\Sites\Http\Logs\GetLog;
use Appwrite\Platform\Modules\Sites\Http\Logs\ListLogs;
use Appwrite\Platform\Modules\Sites\Http\Sites\CreateSite;
use Appwrite\Platform\Modules\Sites\Http\Sites\DeleteSite;
use Appwrite\Platform\Modules\Sites\Http\Sites\GetSite;
use Appwrite\Platform\Modules\Sites\Http\Sites\GetSitesUsage;
use Appwrite\Platform\Modules\Sites\Http\Sites\GetSiteUsage;
use Appwrite\Platform\Modules\Sites\Http\Sites\GetTemplate;
use Appwrite\Platform\Modules\Sites\Http\Sites\ListFrameworks;
use Appwrite\Platform\Modules\Sites\Http\Sites\ListSites;
use Appwrite\Platform\Modules\Sites\Http\Sites\ListTemplates;
use Appwrite\Platform\Modules\Sites\Http\Sites\UpdateSite;
use Appwrite\Platform\Modules\Sites\Http\Variables\CreateVariable;
use Appwrite\Platform\Modules\Sites\Http\Variables\DeleteVariable;
use Appwrite\Platform\Modules\Sites\Http\Variables\GetVariable;
use Appwrite\Platform\Modules\Sites\Http\Variables\ListVariables;
use Appwrite\Platform\Modules\Sites\Http\Variables\UpdateVariable;
use Appwrite\Platform\Modules\Sites\Http\Deployments\Builds\Update as UpdateBuild;
use Appwrite\Platform\Modules\Sites\Http\Deployments\Builds\Create as CreateBuild;
use Appwrite\Platform\Modules\Sites\Http\Deployments\Create as CreateDeployment;
use Appwrite\Platform\Modules\Sites\Http\Deployments\Delete as DeleteDeployment;
use Appwrite\Platform\Modules\Sites\Http\Deployments\Download\Get as DownloadDeployment;
use Appwrite\Platform\Modules\Sites\Http\Deployments\Builds\Download\Get as DownloadBuild;
use Appwrite\Platform\Modules\Sites\Http\Deployments\Get as GetDeployment;
use Appwrite\Platform\Modules\Sites\Http\Deployments\XList as ListDeployments;
use Appwrite\Platform\Modules\Sites\Http\Deployments\Update as UpdateDeployment;
use Appwrite\Platform\Modules\Sites\Http\Logs\Delete as DeleteLog;
use Appwrite\Platform\Modules\Sites\Http\Logs\Get as GetLog;
use Appwrite\Platform\Modules\Sites\Http\Logs\XList as ListLogs;
use Appwrite\Platform\Modules\Sites\Http\Sites\Create as CreateSite;
use Appwrite\Platform\Modules\Sites\Http\Sites\Delete as DeleteSite;
use Appwrite\Platform\Modules\Sites\Http\Sites\Get as GetSite;
use Appwrite\Platform\Modules\Sites\Http\Usage\Get as GetUsage;
use Appwrite\Platform\Modules\Sites\Http\Usage\XList as ListUsage;
use Appwrite\Platform\Modules\Sites\Http\Sites\XList as ListSites;
use Appwrite\Platform\Modules\Sites\Http\Sites\Update as UpdateSite;
use Appwrite\Platform\Modules\Sites\Http\Templates\Get as GetTemplate;
use Appwrite\Platform\Modules\Sites\Http\Templates\XList as ListTemplates;
use Appwrite\Platform\Modules\Sites\Http\Frameworks\XList as ListFrameworks;
use Appwrite\Platform\Modules\Sites\Http\Variables\Create as CreateVariable;
use Appwrite\Platform\Modules\Sites\Http\Variables\Delete as DeleteVariable;
use Appwrite\Platform\Modules\Sites\Http\Variables\Get as GetVariable;
use Appwrite\Platform\Modules\Sites\Http\Variables\XList as ListVariables;
use Appwrite\Platform\Modules\Sites\Http\Variables\Update as UpdateVariable;
use Utopia\Platform\Service;
class Http extends Service
@ -56,7 +56,7 @@ class Http extends Service
$this->addAction(DownloadDeployment::getName(), new DownloadDeployment());
$this->addAction(DownloadBuild::getName(), new DownloadBuild());
$this->addAction(CreateBuild::getName(), new CreateBuild());
$this->addAction(CancelDeployment::getName(), new CancelDeployment());
$this->addAction(UpdateBuild::getName(), new UpdateBuild());
// Logs
$this->addAction(GetLog::getName(), new GetLog());
@ -75,7 +75,7 @@ class Http extends Service
$this->addAction(GetTemplate::getName(), new GetTemplate());
// Usage
$this->addAction(GetSiteUsage::getName(), new GetSiteUsage());
$this->addAction(GetSitesUsage::getName(), new GetSitesUsage());
$this->addAction(ListUsage::getName(), new ListUsage());
$this->addAction(GetUsage::getName(), new GetUsage());
}
}