24 lines
692 B
PHP
24 lines
692 B
PHP
<?php
|
|
declare(strict_types=1);
|
|
namespace App\Modules\Invoices\Actions;
|
|
|
|
use App\Services\QueueService;
|
|
use App\Core\Database;
|
|
use Exception;
|
|
|
|
final class SubmitInvoiceAction {
|
|
public function execute(string $invoiceId, string $tenantId): void {
|
|
$db = Database::getInstance();
|
|
$stmt = $db->prepare("SELECT id FROM invoices WHERE id = ? AND tenant_id = ? AND deleted_at IS NULL LIMIT 1");
|
|
$stmt->execute([$invoiceId, $tenantId]);
|
|
|
|
if (!$stmt->fetch()) {
|
|
throw new Exception('الفاتورة غير موجودة', 404);
|
|
}
|
|
|
|
QueueService::push('submit_jofotara', [
|
|
'invoice_id' => $invoiceId
|
|
]);
|
|
}
|
|
}
|