Extend invoices and invoice items to keep more information.

This commit is contained in:
2025-01-31 13:04:59 +01:00
parent e2240c017d
commit d8afe4960e
20 changed files with 1475 additions and 640 deletions

View File

@@ -2,10 +2,12 @@
namespace App\Http\Controllers\Api;
use App\Enum\InvoiceTypeCode;
use App\Http\Controllers\Controller;
use App\Models\Invoice;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Validation\Rule;
class InvoiceController extends Controller
{
@@ -36,16 +38,21 @@ class InvoiceController extends Controller
'customer_id' => 'required|integer|exists:customers,id',
'address_id' => 'required|integer|exists:addresses,id',
'delivery_id' => 'nullable|integer|exists:addresses,id',
'project_id' => 'nullable|integer|exists:projects,id',
'currency_code' => 'required|string',
'type' => [Rule::enum(InvoiceTypeCode::class)],
'project_count' => 'nullable|integer',
'tax' => 'required|numeric',
'sum' => 'required|numeric',
'due_date' => 'required|date',
'cash_discount' => 'nullable|numeric',
'cash_discount_date' => 'nullable|date',
]);
$invoiceData['user_id'] = auth()->id();
$invoiceData['type'] = '380';
$invoiceData['status'] = 'created';
$invoiceData['invoice_number'] = Invoice::whereYear('created_at', now()->year)->count() + 1;
$invoice = new Invoice($invoiceData);
$invoice->save();
@@ -63,6 +70,9 @@ class InvoiceController extends Controller
'delivery_id' => 'nullable|integer|exists:addresses,id',
'tax' => 'required|numeric',
'sum' => 'required|numeric',
'due_date' => 'required|date',
'cash_discount' => 'nullable|numeric',
'cash_discount_date' => 'nullable|date',
]);
$invoice->update($invoiceData);