File: //home/marketing.cfbon.ru/public_html/app/Models/PushJob.php
<?php
namespace App\Models;
use App\Enums\PushJobStatus;
use App\Enums\RecipientType;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Bus;
class PushJob extends Model
{
protected $table = 'push_jobs';
protected $fillable = [
'batch_id',
'title',
'text',
'img',
'recipient_type',
'selected_users',
'status',
];
protected function casts()
{
return [
'recipient_type' => RecipientType::class,
'status' => PushJobStatus::class,
];
}
public function getBatchData() : ?object
{
if (!$this->batch_id) return null;
$batch = Bus::findBatch($this->batch_id);
if (!$batch) return null;
return (object)[
'progress' => $batch->progress(),
'pendingJobs' => $batch->pendingJobs,
'failedJobs' => $batch->failedJobs,
'processedJobs' => $batch->processedJobs(),
'totalJobs' => $batch->totalJobs,
'finished' => $batch->finished(),
'cancelled' => $batch->cancelled(),
];
}
}