1
0
Fork 0
mirror of synced 2024-06-02 10:54:44 +12:00
appwrite/src/Appwrite/Event/Event.php

138 lines
2.5 KiB
PHP
Raw Normal View History

2019-05-09 18:54:39 +12:00
<?php
namespace Appwrite\Event;
2019-05-09 18:54:39 +12:00
use Resque;
class Event
{
const DELETE_QUEUE_NAME = 'v1-deletes';
const DELETE_CLASS_NAME = 'DeletesV1';
const AUDITS_QUEUE_NAME = 'v1-audits';
const AUDITS_CLASS_NAME = 'AuditsV1';
const USAGE_QUEUE_NAME = 'v1-usage';
const USAGE_CLASS_NAME = 'UsageV1';
const MAILS_QUEUE_NAME = 'v1-mails';
const MAILS_CLASS_NAME = 'MailsV1';
2020-12-28 06:57:35 +13:00
const FUNCTIONS_QUEUE_NAME = 'v1-functions';
const FUNCTIONS_CLASS_NAME = 'FunctionsV1';
const WEBHOOK_QUEUE_NAME = 'v1-webhooks';
const WEBHOOK_CLASS_NAME = 'WebhooksV1';
const TASK_QUEUE_NAME = 'v1-tasks';
const TASK_CLASS_NAME = 'TasksV1';
const CERTIFICATES_QUEUE_NAME = 'v1-certificates';
const CERTIFICATES_CLASS_NAME = 'CertificatesV1';
2019-05-09 18:54:39 +12:00
/**
* @var string
*/
protected $queue = '';
/**
* @var string
*/
protected $class = '';
/**
* @var array
*/
protected $params = [];
/**
* Event constructor.
*
2019-05-09 18:54:39 +12:00
* @param string $queue
* @param string $class
*/
2020-07-05 01:06:23 +12:00
public function __construct(string $queue, string $class)
2019-05-09 18:54:39 +12:00
{
$this->queue = $queue;
$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;
}
2019-05-09 18:54:39 +12:00
/**
* @param string $key
* @param mixed $value
*
2019-05-09 18:54:39 +12:00
* @return $this
*/
2020-07-05 01:06:23 +12:00
public function setParam(string $key, $value): self
2019-05-09 18:54:39 +12:00
{
$this->params[$key] = $value;
2019-05-09 18:54:39 +12:00
return $this;
}
/**
* @param string $key
*
2019-05-09 18:54:39 +12:00
* @return mixed|null
*/
2020-07-05 01:06:23 +12:00
public function getParam(string $key)
2019-05-09 18:54:39 +12:00
{
return (isset($this->params[$key])) ? $this->params[$key] : null;
}
/**
* Execute Event.
2019-05-09 18:54:39 +12:00
*/
2020-07-05 01:06:23 +12:00
public function trigger(): void
2019-05-09 18:54:39 +12:00
{
Resque::enqueue($this->queue, $this->class, $this->params);
2020-07-05 01:06:23 +12:00
$this->reset();
}
public function reset(): self
{
$this->params = [];
return $this;
2019-05-09 18:54:39 +12:00
}
}