Files
portal-api/app/Jobs/Whmcs/SyncInvoiceJob.php
2026-09-09 16:56:22 +07:00

29 lines
779 B
PHP

<?php
namespace App\Jobs\Whmcs;
use App\Integrations\Whmcs\Transformers\InvoiceTransformer;
use App\Integrations\Whmcs\Writers\InvoiceWriter;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
class SyncInvoiceJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* @param array $invoice Raw `tblinvoices` row from WHMCS.
*/
public function __construct(public array $invoice)
{
}
public function handle(InvoiceTransformer $transformer, InvoiceWriter $writer): void
{
$writer->write($transformer->transform($this->invoice));
}
}