diff --git a/src/Appwrite/Platform/Modules/Functions/Workers/Builds.php b/src/Appwrite/Platform/Modules/Functions/Workers/Builds.php index 285f78319a..414696306f 100644 --- a/src/Appwrite/Platform/Modules/Functions/Workers/Builds.php +++ b/src/Appwrite/Platform/Modules/Functions/Workers/Builds.php @@ -1024,6 +1024,11 @@ class Builds extends Action Console::log('Deployment activated'); } + $this->afterDeploymentSuccess( + $project, + $deployment, + ); + // Send realtime event after updating the associated resource so that Console will have the resource's deployment details when re-fetching. $queueForRealtime ->setPayload($deployment->getArrayCopy()) @@ -1256,6 +1261,26 @@ class Builds extends Action } } + /** + * Hook to run after deployment is activated + * + * @param Document $project + * @param Document $deployment + * @return void + */ + protected function afterDeploymentSuccess( + Document $project, + Document $deployment, + ): void { + if (!($project instanceof Document)) { + throw new Exception('project must be an instance of Document'); + } + + if (!($deployment instanceof Document)) { + throw new Exception('deployment must be an instance of Document'); + } + } + protected function getRuntime(Document $resource, string $version): array { $runtimes = Config::getParam($version === 'v2' ? 'runtimes-v2' : 'runtimes', []);