From 019fa11616ecd3bd52e8ea2cf475e62507ed9493 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sun, 16 Oct 2022 08:50:53 +0000 Subject: [PATCH] setup to use database listeners --- app/controllers/shared/api.php | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/app/controllers/shared/api.php b/app/controllers/shared/api.php index 4959c2fe28..08af6f5a32 100644 --- a/app/controllers/shared/api.php +++ b/app/controllers/shared/api.php @@ -16,6 +16,7 @@ use Utopia\Abuse\Abuse; use Utopia\Abuse\Adapters\TimeLimit; use Utopia\Cache\Adapter\Filesystem; use Utopia\Cache\Cache; +use Utopia\CLI\Console; use Utopia\Database\Database; use Utopia\Database\DateTime; use Utopia\Database\Document; @@ -159,6 +160,38 @@ App::init() $deletes->setProject($project); $database->setProject($project); + $dbForProject->on(Database::EVENT_DOCUMENT_CREATE, function($event, Document $document) { + $collection = $document->getCollection(); + Console::info('collection: ' . $collection); + switch($collection) + { + case 'users': + Console::info('user created'); + break; + case 'databases': + Console::info('Database created'); + break; + case 'buckets': + Console::info('bucket created'); + break; + case 'functions': + Console::info('function created'); + break; + default: + if(strpos($collection, 'buckets_') === 0) { + // created file for a bucket + Console::info('file created'); + } else if (strpos($collection, 'database_') === 0) { + if(strpos($collection, '_collection_') != false) { + Console::info('document created'); + } else { + Console::info('Collection created'); + } + } + break; + } + }); + $useCache = $route->getLabel('cache', false); if ($useCache) {