diff --git a/composer.json b/composer.json index 8c8d9b2..ca0966c 100644 --- a/composer.json +++ b/composer.json @@ -14,6 +14,7 @@ "php": ">= 8.4", "21torr/bundle-helpers": "^2.3", "21torr/cli": "^1.2.3", + "21torr/snail": "^1.0.0", "doctrine/doctrine-bundle": "^2.14", "doctrine/orm": "^3.3", "dragonmantank/cron-expression": "^3.4", diff --git a/src/Task/TaskMetaData.php b/src/Task/TaskMetaData.php index 7d106b1..c606717 100644 --- a/src/Task/TaskMetaData.php +++ b/src/Task/TaskMetaData.php @@ -3,6 +3,7 @@ namespace Torr\TaskManager\Task; use Symfony\Component\String\Slugger\AsciiSlugger; +use Torr\Snail\Snail\Snailer; use Torr\TaskManager\Exception\Task\InvalidTaskDefinitionException; use function Symfony\Component\String\u; @@ -20,7 +21,7 @@ public function __construct ( public ?string $uniqueTaskId = null, ) { - if (null !== $this->uniqueTaskId && !preg_match('~^[a-z0-9]+([.\\-_][a-z0-9]+)*$~', $this->uniqueTaskId)) + if (null !== $this->uniqueTaskId && !Snailer::isValidSnail($this->uniqueTaskId)) { throw new InvalidTaskDefinitionException(\sprintf( "Invalid unique task id: '%s'",