diff --git a/app/Models/Scheduler.php b/app/Models/Scheduler.php index 2954a1e47ecd..6eb3c837539b 100644 --- a/app/Models/Scheduler.php +++ b/app/Models/Scheduler.php @@ -11,6 +11,7 @@ namespace App\Models; +use App\Services\TaskScheduler\TaskSchedulerService; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; @@ -32,12 +33,27 @@ class Scheduler extends Model 'repeat_every', 'scheduled_run', ]; + protected $appends = ['linked_job']; + const DAILY = 'DAY'; const WEEKLY = 'WEEK'; const MONTHLY = 'MONTH'; const QUARTERLY = '3MONTHS'; const ANNUALLY = 'YEAR'; + public function getLinkedJobAttribute() + { + return $this->job ?? []; + } + + /** + * Service entry points. + */ + public function service(): TaskSchedulerService + { + return new TaskSchedulerService($this); + } + public function job(): \Illuminate\Database\Eloquent\Relations\HasOne { return $this->hasOne(ScheduledJob::class, 'scheduler_id', 'id');