first commit
Some checks failed
Build / run (push) Has been cancelled

This commit is contained in:
maher
2025-10-29 11:42:25 +01:00
commit 703f50a09d
4595 changed files with 385164 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
<?php
namespace Common\Billing\Invoices;
use Common\Billing\Notifications\NewInvoiceAvailable;
use Common\Billing\Subscription;
use Illuminate\Support\Arr;
use Illuminate\Support\Str;
class CreateInvoice
{
public function execute(array $data): Invoice
{
$invoice = new Invoice([
'subscription_id' => $data['subscription_id'],
'paid' => $data['paid'],
'uuid' => $data['uuid'] ?? Str::random(10),
'notes' => Arr::get($data, 'notes'),
]);
$invoice->save();
if ($data['paid']) {
Subscription::find($data['subscription_id'])->user->notify(
new NewInvoiceAvailable($invoice),
);
}
return $invoice;
}
}