1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-14 07:02:34 +01:00
invoiceninja/app/Transformers/TaskSchedulerTransformer.php
2022-05-27 18:25:32 +10:00

50 lines
1.3 KiB
PHP

<?php
/**
* Invoice Ninja (https://invoiceninja.com).
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
* @copyright Copyright (c) 2022. Invoice Ninja LLC (https://invoiceninja.com)
*
* @license https://www.elastic.co/licensing/elastic-license
*/
namespace App\Transformers;
use App\Models\ScheduledJob;
use App\Models\Scheduler;
use App\Utils\Traits\MakesHash;
class TaskSchedulerTransformer extends EntityTransformer
{
use MakesHash;
protected $defaultIncludes = [
'job'
];
public function includeJob(Scheduler $scheduler)
{
$transformer = new ScheduledJobTransformer($this->serializer);
return $this->item($scheduler->job, $transformer, ScheduledJob::class);
}
public function transform(Scheduler $scheduler)
{
return [
'id' => $this->encodePrimaryKey($scheduler->id),
'is_deleted' => (bool)$scheduler->is_deleted,
'paused' => (bool)$scheduler->paused,
'repeat_every' => (string)$scheduler->repeat_every,
'start_from' => (int)$scheduler->start_from,
'scheduled_run' => (int)$scheduler->scheduled_run,
'updated_at' => (int)$scheduler->updated_at,
'created_at' => (int)$scheduler->created_at,
'archived_at' => (int) $scheduler->deleted_at,
];
}
}