2020-10-30 02:07:56 +13:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Appwrite\Utopia\Response\Model;
|
|
|
|
|
|
|
|
use Appwrite\Utopia\Response;
|
|
|
|
use Appwrite\Utopia\Response\Model;
|
|
|
|
|
|
|
|
class Task extends Model
|
|
|
|
{
|
2020-11-12 18:12:14 +13:00
|
|
|
/**
|
|
|
|
* @var bool
|
|
|
|
*/
|
|
|
|
protected $public = false;
|
|
|
|
|
2020-10-30 02:07:56 +13:00
|
|
|
public function __construct()
|
|
|
|
{
|
|
|
|
$this
|
|
|
|
->addRule('$id', [
|
2020-11-08 11:14:48 +13:00
|
|
|
'type' => self::TYPE_STRING,
|
2020-10-30 02:07:56 +13:00
|
|
|
'description' => 'Task ID.',
|
|
|
|
'example' => '5e5ea5c16897e',
|
|
|
|
])
|
|
|
|
->addRule('name', [
|
2020-11-08 11:14:48 +13:00
|
|
|
'type' => self::TYPE_STRING,
|
2020-10-30 02:07:56 +13:00
|
|
|
'description' => 'Task name.',
|
|
|
|
'example' => 'My Task',
|
|
|
|
])
|
|
|
|
->addRule('security', [
|
2020-11-08 11:14:48 +13:00
|
|
|
'type' => self::TYPE_BOOLEAN,
|
2020-10-30 02:07:56 +13:00
|
|
|
'description' => 'Indicated if SSL / TLS Certificate verification is enabled.',
|
|
|
|
'example' => true,
|
|
|
|
])
|
|
|
|
->addRule('httpMethod', [
|
2020-11-08 11:14:48 +13:00
|
|
|
'type' => self::TYPE_STRING,
|
2020-10-30 02:07:56 +13:00
|
|
|
'description' => 'Task HTTP Method.',
|
|
|
|
'example' => 'POST',
|
|
|
|
])
|
|
|
|
->addRule('httpUrl', [
|
2020-11-08 11:14:48 +13:00
|
|
|
'type' => self::TYPE_STRING,
|
2020-10-30 02:07:56 +13:00
|
|
|
'description' => 'Task HTTP URL.',
|
|
|
|
'example' => 'https://example.com/task',
|
|
|
|
])
|
|
|
|
->addRule('httpHeaders', [
|
2020-11-08 11:14:48 +13:00
|
|
|
'type' => self::TYPE_STRING,
|
2020-10-30 02:07:56 +13:00
|
|
|
'description' => 'Task HTTP headers.',
|
|
|
|
'default' => [],
|
|
|
|
'example' => ['key:value'],
|
|
|
|
'array' => true,
|
|
|
|
])
|
|
|
|
->addRule('httpUser', [
|
2020-11-08 11:14:48 +13:00
|
|
|
'type' => self::TYPE_STRING,
|
2020-10-30 02:07:56 +13:00
|
|
|
'description' => 'HTTP basic authentication username.',
|
|
|
|
'default' => '',
|
|
|
|
'example' => 'username',
|
|
|
|
])
|
|
|
|
->addRule('httpPass', [
|
2020-11-08 11:14:48 +13:00
|
|
|
'type' => self::TYPE_STRING,
|
2020-10-30 02:07:56 +13:00
|
|
|
'description' => 'HTTP basic authentication password.',
|
|
|
|
'default' => '',
|
|
|
|
'example' => 'password',
|
|
|
|
])
|
|
|
|
->addRule('duration', [
|
2020-11-08 11:14:48 +13:00
|
|
|
'type' => self::TYPE_FLOAT,
|
2020-10-30 02:07:56 +13:00
|
|
|
'description' => 'Task duration in seconds.',
|
|
|
|
'default' => 0,
|
|
|
|
'example' => 1.2,
|
|
|
|
])
|
|
|
|
->addRule('delay', [
|
2020-11-08 11:14:48 +13:00
|
|
|
'type' => self::TYPE_FLOAT,
|
2020-10-30 02:07:56 +13:00
|
|
|
'description' => 'Task delay time in seconds.',
|
|
|
|
'default' => 0,
|
|
|
|
'example' => 1.2,
|
|
|
|
])
|
|
|
|
->addRule('failures', [
|
2020-11-08 11:14:48 +13:00
|
|
|
'type' => self::TYPE_INTEGER,
|
2020-10-30 02:07:56 +13:00
|
|
|
'description' => 'Number of recurring task failures.',
|
|
|
|
'default' => 0,
|
|
|
|
'example' => 0,
|
|
|
|
])
|
|
|
|
->addRule('schedule', [
|
2020-11-08 11:14:48 +13:00
|
|
|
'type' => self::TYPE_STRING,
|
2020-10-30 02:07:56 +13:00
|
|
|
'description' => 'Task schedule in CRON syntax.',
|
|
|
|
'example' => '* * * * *',
|
|
|
|
])
|
|
|
|
->addRule('status', [
|
2020-11-08 11:14:48 +13:00
|
|
|
'type' => self::TYPE_STRING,
|
2020-10-30 02:07:56 +13:00
|
|
|
'description' => 'Task status. Possible values: play, pause', // TODO - change to enabled disabled
|
|
|
|
'example' => 'enabled',
|
|
|
|
])
|
|
|
|
->addRule('updated', [
|
2020-11-08 11:14:48 +13:00
|
|
|
'type' => self::TYPE_INTEGER,
|
2020-10-30 02:07:56 +13:00
|
|
|
'description' => 'Task last updated time in Unix timestamp.',
|
|
|
|
'default' => 0,
|
|
|
|
'example' => 1592981250,
|
|
|
|
])
|
|
|
|
->addRule('previous', [
|
2020-11-08 11:14:48 +13:00
|
|
|
'type' => self::TYPE_INTEGER,
|
2020-10-30 02:07:56 +13:00
|
|
|
'description' => 'Task previous run time in Unix timestamp.',
|
|
|
|
'default' => 0,
|
|
|
|
'example' => 1592981250,
|
|
|
|
])
|
|
|
|
->addRule('next', [
|
2020-11-08 11:14:48 +13:00
|
|
|
'type' => self::TYPE_INTEGER,
|
2020-10-30 02:07:56 +13:00
|
|
|
'description' => 'Task next run time in Unix timestamp.',
|
|
|
|
'default' => 0,
|
|
|
|
'example' => 1592981650,
|
|
|
|
])
|
|
|
|
;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get Name
|
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getName():string
|
|
|
|
{
|
|
|
|
return 'Task';
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get Collection
|
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getType():string
|
|
|
|
{
|
|
|
|
return Response::MODEL_TASK;
|
|
|
|
}
|
|
|
|
}
|