Fix for events memory management +
merged functions and webhooks events
This commit is contained in:
parent
e3c58361d9
commit
49aed67ad9
|
@ -268,7 +268,15 @@ App::shutdown(function ($utopia, $request, $response, $project, $events, $audits
|
|||
$events->setParam('payload', $response->getPayload());
|
||||
}
|
||||
|
||||
$events->trigger();
|
||||
$events
|
||||
->setQueue('v1-webhooks')
|
||||
->setClass('WebhooksV1')
|
||||
->trigger();
|
||||
|
||||
$events
|
||||
->setQueue('v1-functions')
|
||||
->setClass('FunctionsV1')
|
||||
->trigger();
|
||||
}
|
||||
|
||||
if (!empty($audits->getParam('event'))) {
|
||||
|
|
28
app/init.php
28
app/init.php
|
@ -203,24 +203,6 @@ $register->set('smtp', function () {
|
|||
$register->set('geodb', function () {
|
||||
return new Reader(__DIR__.'/db/DBIP/dbip-country-lite-2020-01.mmdb');
|
||||
});
|
||||
$register->set('queue-webhooks', function () {
|
||||
return new Event('v1-webhooks', 'WebhooksV1');
|
||||
});
|
||||
$register->set('queue-audits', function () {
|
||||
return new Event('v1-audits', 'AuditsV1');
|
||||
});
|
||||
$register->set('queue-usage', function () {
|
||||
return new Event('v1-usage', 'UsageV1');
|
||||
});
|
||||
$register->set('queue-mails', function () {
|
||||
return new Event('v1-mails', 'MailsV1');
|
||||
});
|
||||
$register->set('queue-deletes', function () {
|
||||
return new Event('v1-deletes', 'DeletesV1');
|
||||
});
|
||||
$register->set('queue-functions', function () {
|
||||
return new Event('v1-functions', 'FunctionsV1');
|
||||
});
|
||||
|
||||
/*
|
||||
* Localization
|
||||
|
@ -312,23 +294,23 @@ App::setResource('locale', function() {
|
|||
|
||||
// Queues
|
||||
App::setResource('events', function($register) {
|
||||
return $register->get('queue-webhooks');
|
||||
return new Event('', '');
|
||||
}, ['register']);
|
||||
|
||||
App::setResource('audits', function($register) {
|
||||
return $register->get('queue-audits');
|
||||
return new Event('v1-audits', 'AuditsV1');
|
||||
}, ['register']);
|
||||
|
||||
App::setResource('usage', function($register) {
|
||||
return $register->get('queue-usage');
|
||||
return new Event('v1-usage', 'UsageV1');
|
||||
}, ['register']);
|
||||
|
||||
App::setResource('mails', function($register) {
|
||||
return $register->get('queue-mails');
|
||||
return new Event('v1-mails', 'MailsV1');
|
||||
}, ['register']);
|
||||
|
||||
App::setResource('deletes', function($register) {
|
||||
return $register->get('queue-deletes');
|
||||
return new Event('v1-deletes', 'DeletesV1');
|
||||
}, ['register']);
|
||||
|
||||
// Test Mock
|
||||
|
|
|
@ -33,6 +33,42 @@ class Event
|
|||
$this->class = $class;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $queue
|
||||
* return $this
|
||||
*/
|
||||
public function setQueue(string $queue): self
|
||||
{
|
||||
$this->queue = $queue;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getQueue()
|
||||
{
|
||||
return $this->queue;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $class
|
||||
* return $this
|
||||
*/
|
||||
public function setClass(string $class): self
|
||||
{
|
||||
$this->class = $class;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getClass()
|
||||
{
|
||||
return $this->class;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $key
|
||||
* @param mixed $value
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Appwrite\Tests;
|
|||
use Appwrite\Auth\Validator\Password;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class PasswordTestTest extends TestCase
|
||||
class PasswordTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* @var Password
|
||||
|
|
|
@ -32,6 +32,28 @@ class EventTest extends TestCase
|
|||
{
|
||||
}
|
||||
|
||||
public function testQueue()
|
||||
{
|
||||
$this->assertEquals($this->queue, $this->object->getQueue());
|
||||
|
||||
$this->object->setQueue('demo');
|
||||
|
||||
$this->assertEquals('demo', $this->object->getQueue());
|
||||
|
||||
$this->object->setQueue($this->queue);
|
||||
}
|
||||
|
||||
public function testClass()
|
||||
{
|
||||
$this->assertEquals('TestsV1', $this->object->getClass());
|
||||
|
||||
$this->object->setClass('TestsV2');
|
||||
|
||||
$this->assertEquals('TestsV2', $this->object->getClass());
|
||||
|
||||
$this->object->setClass('TestsV1');
|
||||
}
|
||||
|
||||
public function testParams()
|
||||
{
|
||||
$this->object
|
||||
|
|
Loading…
Reference in a new issue