2019-05-09 06:54:39 +00:00
|
|
|
<?php
|
|
|
|
|
|
2020-03-24 17:56:32 +00:00
|
|
|
namespace Appwrite\Task\Validator;
|
2019-05-09 06:54:39 +00:00
|
|
|
|
|
|
|
|
use Cron\CronExpression;
|
|
|
|
|
use Utopia\Validator;
|
|
|
|
|
|
|
|
|
|
class Cron extends Validator
|
|
|
|
|
{
|
|
|
|
|
/**
|
2019-09-06 17:04:26 +00:00
|
|
|
* Get Description.
|
2019-05-09 06:54:39 +00:00
|
|
|
*
|
2021-10-06 11:53:33 +00:00
|
|
|
* Returns validator description.
|
2019-05-09 06:54:39 +00:00
|
|
|
*
|
|
|
|
|
* @return string
|
|
|
|
|
*/
|
2021-10-06 11:53:33 +00:00
|
|
|
public function getDescription(): string
|
2019-05-09 06:54:39 +00:00
|
|
|
{
|
|
|
|
|
return 'String must be a valid cron expression';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2019-09-06 17:04:26 +00:00
|
|
|
* Is valid.
|
2019-05-09 06:54:39 +00:00
|
|
|
*
|
|
|
|
|
* Returns true if valid or false if not.
|
|
|
|
|
*
|
2019-09-06 17:04:26 +00:00
|
|
|
* @param mixed $value
|
|
|
|
|
*
|
2019-05-09 06:54:39 +00:00
|
|
|
* @return bool
|
|
|
|
|
*/
|
2021-10-06 11:53:33 +00:00
|
|
|
public function isValid($value): bool
|
2019-05-09 06:54:39 +00:00
|
|
|
{
|
2020-10-27 19:44:15 +00:00
|
|
|
if (empty($value)) {
|
2020-05-12 20:18:34 +00:00
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
2019-09-06 17:04:26 +00:00
|
|
|
if (!CronExpression::isValidExpression($value)) {
|
2019-05-09 06:54:39 +00:00
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
2021-04-13 08:46:30 +00:00
|
|
|
|
|
|
|
|
/**
|
2021-10-06 11:53:33 +00:00
|
|
|
* Is array.
|
2021-04-13 08:46:30 +00:00
|
|
|
*
|
|
|
|
|
* Function will return true if object is array.
|
|
|
|
|
*
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function isArray(): bool
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2021-10-06 11:53:33 +00:00
|
|
|
* Get Type.
|
2021-04-13 08:46:30 +00:00
|
|
|
*
|
|
|
|
|
* Returns validator type.
|
|
|
|
|
*
|
|
|
|
|
* @return string
|
|
|
|
|
*/
|
|
|
|
|
public function getType(): string
|
|
|
|
|
{
|
|
|
|
|
return self::TYPE_STRING;
|
|
|
|
|
}
|
2019-09-06 17:04:26 +00:00
|
|
|
}
|