diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index d218750a50..5318eb4384 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -172,9 +172,14 @@ App::post('/v1/projects') throw new Exception(Exception::PROJECT_ALREADY_EXISTS); } - $dbForProject = new Database($pools->get($database)->pop()->getResource(), $cache); - $dbForProject->setNamespace("_{$project->getInternalId()}"); - $dbForProject->create(); + // Useful for ZDT to mirror the project to destination + $dbForProject = $hooks->trigger('getProxyProjectDatabase', [ $project, $pools, $cache ]); + + if(empty($dbForProject)) { + $dbForProject = new Database($pools->get($database)->pop()->getResource(), $cache); + $dbForProject->setNamespace("_{$project->getInternalId()}"); + $dbForProject->create(); + } $audit = new Audit($dbForProject); $audit->setup(); @@ -219,8 +224,6 @@ App::post('/v1/projects') $dbForProject->createCollection($key, $attributes, $indexes); } - $hooks->trigger('afterProjectCreated'); // Useful for ZDT to mirror the project to destination - $response ->setStatusCode(Response::STATUS_CODE_CREATED) ->dynamic($project, Response::MODEL_PROJECT);