Skip to content

Commit

Permalink
Auto adjust Cake command on save.
Browse files Browse the repository at this point in the history
  • Loading branch information
dereuromark committed Nov 18, 2024
1 parent f831610 commit 858fc54
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions src/Model/Table/SchedulerRowsTable.php
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,15 @@ public function validateFrequency($value, array $context): bool {
* @return void
*/
public function beforeMarshal(EventInterface $event, ArrayObject $data, ArrayObject $options): void {
$this->adjustQueueTask($data);
$this->adjustCakeCommand($data);
}

/**
* @param \ArrayObject $data
* @return void
*/
protected function adjustQueueTask(ArrayObject $data): void {
if (!isset($data['type']) || strlen((string)$data['type']) === 0 || (int)$data['type'] !== SchedulerRow::TYPE_QUEUE_TASK) {
return;
}
Expand All @@ -220,6 +229,29 @@ public function beforeMarshal(EventInterface $event, ArrayObject $data, ArrayObj
}
}

/**
* @param \ArrayObject $data
* @return void
*/
protected function adjustCakeCommand(ArrayObject $data): void {
if (!isset($data['type']) || strlen((string)$data['type']) === 0 || (int)$data['type'] !== SchedulerRow::TYPE_CAKE_COMMAND) {
return;
}

if (empty($data['content'])) {
return;
}

if (str_contains($data['content'], '\\')) {
return;
}

$className = App::className($data['content'], 'Command', 'Command');
if ($className) {
$data['content'] = $className;
}
}

/**
* @param \Cake\Event\EventInterface $event
* @param \QueueScheduler\Model\Entity\SchedulerRow $entity
Expand Down

0 comments on commit 858fc54

Please sign in to comment.