HEX
Server: LiteSpeed
System: Linux php-prod-3.spaceapp.ru 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: sarli3128 (1010)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
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(),
        ];
    }
}