2019-05-09 18:54:39 +12:00
|
|
|
<?php
|
|
|
|
|
2020-03-25 06:56:32 +13:00
|
|
|
namespace Appwrite\Task\Validator;
|
2019-05-09 18:54:39 +12:00
|
|
|
|
|
|
|
use Cron\CronExpression;
|
|
|
|
use Utopia\Validator;
|
|
|
|
|
|
|
|
class Cron extends Validator
|
|
|
|
{
|
|
|
|
/**
|
2019-09-07 05:04:26 +12:00
|
|
|
* Get Description.
|
2019-05-09 18:54:39 +12:00
|
|
|
*
|
|
|
|
* Returns validator description
|
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getDescription()
|
|
|
|
{
|
|
|
|
return 'String must be a valid cron expression';
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2019-09-07 05:04:26 +12:00
|
|
|
* Is valid.
|
2019-05-09 18:54:39 +12:00
|
|
|
*
|
|
|
|
* Returns true if valid or false if not.
|
|
|
|
*
|
2019-09-07 05:04:26 +12:00
|
|
|
* @param mixed $value
|
|
|
|
*
|
2019-05-09 18:54:39 +12:00
|
|
|
* @return bool
|
|
|
|
*/
|
|
|
|
public function isValid($value)
|
|
|
|
{
|
2020-10-28 08:44:15 +13:00
|
|
|
if (empty($value)) {
|
2020-05-13 08:18:34 +12:00
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
2019-09-07 05:04:26 +12:00
|
|
|
if (!CronExpression::isValidExpression($value)) {
|
2019-05-09 18:54:39 +12:00
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
2019-09-07 05:04:26 +12:00
|
|
|
}
|