89 lines
2.8 KiB
PHP
89 lines
2.8 KiB
PHP
<?php
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\CustomerController;
|
|
use App\Http\Controllers\InvoiceController;
|
|
use App\Mail\Reminder;
|
|
use App\Models\Invoice;
|
|
use App\Http\Controllers\PaymentTermsController;
|
|
use App\Http\Controllers\SettingController;
|
|
use App\Mail\OrderConfirmation;
|
|
use App\Support\ApiDataTransformer;
|
|
use Illuminate\Support\Facades\Mail;
|
|
|
|
|
|
Route::get('customers/{id}', [CustomerController::class, 'single']);
|
|
Route::get('customers', [CustomerController::class, 'index']);
|
|
// ->middleware('auth:sanctum');
|
|
|
|
|
|
// Route::apiResource('invoices', InvoiceController::class);
|
|
// ->middleware('auth:sanctum');
|
|
Route::get('/invoices', [InvoiceController::class, 'index']);
|
|
Route::post('/invoices', [InvoiceController::class, 'store']);
|
|
Route::get('/invoices/{id}', [InvoiceController::class, 'single']);
|
|
Route::put('/invoices/{id}', [InvoiceController::class, 'update']);
|
|
Route::delete('/invoices/{id}', [InvoiceController::class, 'delete']);
|
|
|
|
Route::get('/invoices/{id}/remind/{recipient}', function ($id, $recipient) {
|
|
if (empty($recipient) || !filter_var($recipient, FILTER_VALIDATE_EMAIL)) {
|
|
return response()->json([
|
|
'error' => 'Keine gültige E_Mail-Adresse'
|
|
], 400);
|
|
}
|
|
|
|
$invoice = InvoiceController::single($id);
|
|
Mail::to($recipient)->send(new Reminder($invoice));
|
|
// return new Reminder($invoice);
|
|
});
|
|
|
|
Route::get('/offers/{id}/confirm', function ($id) {
|
|
// $offer = offerController::single($id);
|
|
$offer = [
|
|
'nr' => 0,
|
|
'offerDate' => '2025-10-01',
|
|
'orderDate' => '2025-10-28',
|
|
'customerId' => 0,
|
|
'customer' => [
|
|
'companyName' => '',
|
|
'vatId' => '',
|
|
'billingAddress' => [
|
|
'lineOne' => '',
|
|
'lineTwo' => '',
|
|
'city' => '',
|
|
'postalCode' => '',
|
|
'countryCode' => 'DE',
|
|
]
|
|
],
|
|
'contact' => [
|
|
'salutation' => 'Frau',
|
|
'firstName' => 'Claudia',
|
|
'lastName' => 'Mustermann',
|
|
'email' => '',
|
|
'phone' => '',
|
|
'position' => null,
|
|
'isPrimary' => false,
|
|
'avatar' => null,
|
|
],
|
|
'totalAmount' => '84.033',
|
|
'title' => "Angebots-Titel",
|
|
'text' => '',
|
|
'items' => [],
|
|
'paymentTerms' => [
|
|
'name' => 'onReceipt',
|
|
'description' => 'Bei Rechnungserhalt',
|
|
'isFixed' => true,
|
|
'days' => 14,
|
|
]
|
|
];
|
|
|
|
// Mail::to('')->cc([''])->send(new OrderConfirmation($offer));
|
|
return new OrderConfirmation($offer);
|
|
});
|
|
|
|
Route::get('/paymentterms', [PaymentTermsController::class, 'index']);
|
|
|
|
Route::get('/settings', [SettingController::class, 'index']);
|
|
Route::post('/settings', [SettingController::class, 'update']);
|