1
0
Fork 0
mirror of synced 2024-06-02 10:54:44 +12:00

Fix for events memory management +

merged functions and webhooks events
This commit is contained in:
Eldad Fux 2020-12-07 10:51:12 +02:00
parent e3c58361d9
commit 49aed67ad9
5 changed files with 73 additions and 25 deletions

View file

@ -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'))) {

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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