Merge branch 'feat-sites' of github.com:appwrite/appwrite into feat-sites

This commit is contained in:
Matej Bačo 2025-03-12 13:07:37 +01:00
commit 82e16e6d9e
23 changed files with 23 additions and 38 deletions

View file

@ -67,8 +67,7 @@ class Builds extends Action
->inject('isResourceBlocked') ->inject('isResourceBlocked')
->inject('deviceForFiles') ->inject('deviceForFiles')
->inject('log') ->inject('log')
->callback(fn ($message, Document $project, Database $dbForPlatform, Event $queueForEvents, Func $queueForFunctions, StatsUsage $usage, Cache $cache, Database $dbForProject, Device $deviceForFunctions, Device $deviceForSites, callable $isResourceBlocked, Device $deviceForFiles, Log $log) => ->callback([$this, 'action']);
$this->action($message, $project, $dbForPlatform, $queueForEvents, $queueForFunctions, $usage, $cache, $dbForProject, $deviceForFunctions, $deviceForSites, $isResourceBlocked, $deviceForFiles, $log));
} }
/** /**

View file

@ -28,7 +28,7 @@ class Doctor extends Action
$this $this
->desc('Validate server health') ->desc('Validate server health')
->inject('register') ->inject('register')
->callback(fn (Registry $register) => $this->action($register)); ->callback([$this, 'action']);
} }
public function action(Registry $register): void public function action(Registry $register): void

View file

@ -31,7 +31,7 @@ class Install extends Action
->param('image', 'appwrite', new Text(0), 'Main appwrite docker image', true) ->param('image', 'appwrite', new Text(0), 'Main appwrite docker image', true)
->param('interactive', 'Y', new Text(1), 'Run an interactive session', true) ->param('interactive', 'Y', new Text(1), 'Run an interactive session', true)
->param('no-start', false, new Boolean(true), 'Run an interactive session', true) ->param('no-start', false, new Boolean(true), 'Run an interactive session', true)
->callback(fn ($httpPort, $httpsPort, $organization, $image, $interactive, $noStart) => $this->action($httpPort, $httpsPort, $organization, $image, $interactive, $noStart)); ->callback([$this, 'action']);
} }
public function action(string $httpPort, string $httpsPort, string $organization, string $image, string $interactive, bool $noStart): void public function action(string $httpPort, string $httpsPort, string $organization, string $image, string $interactive, bool $noStart): void

View file

@ -26,7 +26,7 @@ class Maintenance extends Action
->inject('dbForPlatform') ->inject('dbForPlatform')
->inject('queueForCertificates') ->inject('queueForCertificates')
->inject('queueForDeletes') ->inject('queueForDeletes')
->callback(fn (Database $dbForPlatform, Certificate $queueForCertificates, Delete $queueForDeletes) => $this->action($dbForPlatform, $queueForCertificates, $queueForDeletes)); ->callback([$this, 'action']);
} }
public function action(Database $dbForPlatform, Certificate $queueForCertificates, Delete $queueForDeletes): void public function action(Database $dbForPlatform, Certificate $queueForCertificates, Delete $queueForDeletes): void

View file

@ -33,11 +33,7 @@ class Migrate extends Action
->inject('dbForPlatform') ->inject('dbForPlatform')
->inject('getProjectDB') ->inject('getProjectDB')
->inject('register') ->inject('register')
->callback(function ($version, $dbForPlatform, $getProjectDB, Registry $register) { ->callback([$this, 'action']);
\Co\run(function () use ($version, $dbForPlatform, $getProjectDB, $register) {
$this->action($version, $dbForPlatform, $getProjectDB, $register);
});
});
} }
private function clearProjectsCache(Document $project) private function clearProjectsCache(Document $project)

View file

@ -24,7 +24,7 @@ class QueueRetry extends Action
->param('name', '', new Text(100), 'Queue name') ->param('name', '', new Text(100), 'Queue name')
->param('limit', 0, new Wildcard(), 'jobs limit', true) ->param('limit', 0, new Wildcard(), 'jobs limit', true)
->inject('publisher') ->inject('publisher')
->callback(fn ($name, $limit, $publisher) => $this->action($name, $limit, $publisher)); ->callback([$this, 'action']);
} }
/** /**

View file

@ -24,7 +24,7 @@ class SSL extends Action
->param('domain', System::getEnv('_APP_DOMAIN', ''), new Hostname(), 'Domain to generate certificate for. If empty, main domain will be used.', true) ->param('domain', System::getEnv('_APP_DOMAIN', ''), new Hostname(), 'Domain to generate certificate for. If empty, main domain will be used.', true)
->param('skip-check', true, new Boolean(true), 'If DNS and renew check should be skipped. Defaults to true, and when true, all jobs will result in certificate generation attempt.', true) ->param('skip-check', true, new Boolean(true), 'If DNS and renew check should be skipped. Defaults to true, and when true, all jobs will result in certificate generation attempt.', true)
->inject('queueForCertificates') ->inject('queueForCertificates')
->callback(fn (string $domain, bool|string $skipCheck, Certificate $queueForCertificates) => $this->action($domain, $skipCheck, $queueForCertificates)); ->callback([$this, 'action']);
} }
public function action(string $domain, bool|string $skipCheck, Certificate $queueForCertificates): void public function action(string $domain, bool|string $skipCheck, Certificate $queueForCertificates): void

View file

@ -37,7 +37,7 @@ abstract class ScheduleBase extends Action
->inject('pools') ->inject('pools')
->inject('dbForPlatform') ->inject('dbForPlatform')
->inject('getProjectDB') ->inject('getProjectDB')
->callback(fn (Group $pools, Database $dbForPlatform, callable $getProjectDB) => $this->action($pools, $dbForPlatform, $getProjectDB)); ->callback([$this, 'action']);
} }
protected function updateProjectAccess(Document $project, Database $dbForPlatform): void protected function updateProjectAccess(Document $project, Database $dbForPlatform): void

View file

@ -21,7 +21,7 @@ class Screenshot extends Action
$this $this
->desc('Create Site template screenshot') ->desc('Create Site template screenshot')
->param('templateId', '', new Text(128), 'Template ID.') ->param('templateId', '', new Text(128), 'Template ID.')
->callback(fn (string $templateId) => $this->action($templateId)); ->callback([$this, 'action']);
} }
public function action(string $templateId): void public function action(string $templateId): void

View file

@ -50,7 +50,7 @@ class Specs extends Action
->param('version', 'latest', new Text(16), 'Spec version', true) ->param('version', 'latest', new Text(16), 'Spec version', true)
->param('mode', 'normal', new WhiteList(['normal', 'mocks']), 'Spec Mode', true) ->param('mode', 'normal', new WhiteList(['normal', 'mocks']), 'Spec Mode', true)
->inject('register') ->inject('register')
->callback(fn (string $version, string $mode, Registry $register) => $this->action($version, $mode, $register)); ->callback([$this, 'action']);
} }
public function action(string $version, string $mode, Registry $register): void public function action(string $version, string $mode, Registry $register): void

View file

@ -23,7 +23,7 @@ class Upgrade extends Install
->param('image', 'appwrite', new Text(0), 'Main appwrite docker image', true) ->param('image', 'appwrite', new Text(0), 'Main appwrite docker image', true)
->param('interactive', 'Y', new Text(1), 'Run an interactive session', true) ->param('interactive', 'Y', new Text(1), 'Run an interactive session', true)
->param('no-start', false, new Boolean(true), 'Run an interactive session', true) ->param('no-start', false, new Boolean(true), 'Run an interactive session', true)
->callback(fn ($httpPort, $httpsPort, $organization, $image, $interactive, $noStart) => $this->action($httpPort, $httpsPort, $organization, $image, $interactive, $noStart)); ->callback([$this, 'action']);
} }
public function action(string $httpPort, string $httpsPort, string $organization, string $image, string $interactive, bool $noStart): void public function action(string $httpPort, string $httpsPort, string $organization, string $image, string $interactive, bool $noStart): void

View file

@ -18,7 +18,7 @@ class Vars extends Action
{ {
$this $this
->desc('List all the server environment variables') ->desc('List all the server environment variables')
->callback(fn () => $this->action()); ->callback([$this, 'action']);
} }
public function action(): void public function action(): void

View file

@ -47,7 +47,7 @@ class Audits extends Action
->desc('Audits worker') ->desc('Audits worker')
->inject('message') ->inject('message')
->inject('dbForProject') ->inject('dbForProject')
->callback(fn ($message, $dbForProject) => $this->action($message, $dbForProject)); ->callback([$this, 'action']);
$this->lastTriggeredTime = time(); $this->lastTriggeredTime = time();
} }

View file

@ -49,10 +49,7 @@ class Certificates extends Action
->inject('queueForFunctions') ->inject('queueForFunctions')
->inject('log') ->inject('log')
->inject('certificates') ->inject('certificates')
->callback( ->callback([$this, 'action']);
fn (Message $message, Database $dbForPlatform, Mail $queueForMails, Event $queueForEvents, Func $queueForFunctions, Log $log, CertificatesAdapter $certificates) =>
$this->action($message, $dbForPlatform, $queueForMails, $queueForEvents, $queueForFunctions, $log, $certificates)
);
} }
/** /**

View file

@ -38,7 +38,7 @@ class Databases extends Action
->inject('dbForPlatform') ->inject('dbForPlatform')
->inject('dbForProject') ->inject('dbForProject')
->inject('log') ->inject('log')
->callback(fn (Message $message, Document $project, Database $dbForPlatform, Database $dbForProject, Log $log) => $this->action($message, $project, $dbForPlatform, $dbForProject, $log)); ->callback([$this, 'action']);
} }
/** /**

View file

@ -58,10 +58,7 @@ class Deletes extends Action
->inject('executionRetention') ->inject('executionRetention')
->inject('auditRetention') ->inject('auditRetention')
->inject('log') ->inject('log')
->callback( ->callback([$this, 'action']);
fn ($message, Document $project, Database $dbForPlatform, callable $getProjectDB, callable $timelimit, Device $deviceForFiles, Device $deviceForFunctions, Device $deviceForSites, Device $deviceForBuilds, Device $deviceForCache, CertificatesAdapter $certificates, string $executionRetention, string $auditRetention, Log $log) =>
$this->action($message, $project, $dbForPlatform, $getProjectDB, $timelimit, $deviceForFiles, $deviceForFunctions, $deviceForSites, $deviceForBuilds, $deviceForCache, $certificates, $executionRetention, $auditRetention, $log)
);
} }
/** /**

View file

@ -49,7 +49,7 @@ class Functions extends Action
->inject('queueForStatsUsage') ->inject('queueForStatsUsage')
->inject('log') ->inject('log')
->inject('isResourceBlocked') ->inject('isResourceBlocked')
->callback(fn (Document $project, Message $message, Database $dbForProject, Func $queueForFunctions, Event $queueForEvents, StatsUsage $queueForStatsUsage, Log $log, callable $isResourceBlocked) => $this->action($project, $message, $dbForProject, $queueForFunctions, $queueForEvents, $queueForStatsUsage, $log, $isResourceBlocked)); ->callback([$this, 'action']);
} }
public function action(Document $project, Message $message, Database $dbForProject, Func $queueForFunctions, Event $queueForEvents, StatsUsage $queueForStatsUsage, Log $log, callable $isResourceBlocked): void public function action(Document $project, Message $message, Database $dbForProject, Func $queueForFunctions, Event $queueForEvents, StatsUsage $queueForStatsUsage, Log $log, callable $isResourceBlocked): void

View file

@ -29,7 +29,7 @@ class Mails extends Action
->inject('message') ->inject('message')
->inject('register') ->inject('register')
->inject('log') ->inject('log')
->callback(fn (Message $message, Registry $register, Log $log) => $this->action($message, $register, $log)); ->callback([$this, 'action']);
} }
/** /**

View file

@ -71,7 +71,7 @@ class Messaging extends Action
->inject('dbForProject') ->inject('dbForProject')
->inject('deviceForFiles') ->inject('deviceForFiles')
->inject('queueForStatsUsage') ->inject('queueForStatsUsage')
->callback(fn (Message $message, Document $project, Log $log, Database $dbForProject, Device $deviceForFiles, StatsUsage $queueForStatsUsage) => $this->action($message, $project, $log, $dbForProject, $deviceForFiles, $queueForStatsUsage)); ->callback([$this, 'action']);
} }
/** /**

View file

@ -54,7 +54,7 @@ class Migrations extends Action
->inject('dbForProject') ->inject('dbForProject')
->inject('dbForPlatform') ->inject('dbForPlatform')
->inject('logError') ->inject('logError')
->callback(fn (Message $message, Document $project, Database $dbForProject, Database $dbForPlatform, callable $logError) => $this->action($message, $project, $dbForProject, $dbForPlatform, $logError)); ->callback([$this, 'action']);
} }
/** /**

View file

@ -37,9 +37,7 @@ class Usage extends Action
->inject('project') ->inject('project')
->inject('getProjectDB') ->inject('getProjectDB')
->inject('queueForUsageDump') ->inject('queueForUsageDump')
->callback(function (Message $message, Document $project, callable $getProjectDB, UsageDump $queueForUsageDump) { ->callback([$this, 'action']);
$this->action($message, $project, $getProjectDB, $queueForUsageDump);
});
$this->aggregationInterval = (int) System::getEnv('_APP_USAGE_AGGREGATION_INTERVAL', '20'); $this->aggregationInterval = (int) System::getEnv('_APP_USAGE_AGGREGATION_INTERVAL', '20');
$this->lastTriggeredTime = time(); $this->lastTriggeredTime = time();

View file

@ -38,9 +38,7 @@ class UsageDump extends Action
$this $this
->inject('message') ->inject('message')
->inject('getProjectDB') ->inject('getProjectDB')
->callback(function (Message $message, callable $getProjectDB) { ->callback([$this, 'action']);
$this->action($message, $getProjectDB);
});
} }
/** /**

View file

@ -37,7 +37,7 @@ class Webhooks extends Action
->inject('queueForMails') ->inject('queueForMails')
->inject('queueForStatsUsage') ->inject('queueForStatsUsage')
->inject('log') ->inject('log')
->callback(fn (Message $message, Document $project, Database $dbForPlatform, Mail $queueForMails, StatsUsage $queueForStatsUsage, Log $log) => $this->action($message, $project, $dbForPlatform, $queueForMails, $queueForStatsUsage, $log)); ->callback([$this, 'action']);
} }
/** /**