Files
vollstock c470240dc0 Fix: Job to check invoice due dates was never run
Made it a command so it runs with the scheduler
2026-03-05 10:42:40 +01:00

116 lines
4.7 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\CustomerController;
use App\Http\Controllers\NoteController;
use App\Http\Controllers\InvoiceController;
use App\Http\Controllers\LineItemController;
use App\Http\Controllers\PaymentTermsController;
use App\Http\Controllers\ProductController;
use App\Http\Controllers\SettingController;
use App\Http\Controllers\TodoController;
use App\Http\Controllers\UnitController;
use App\Mail\OrderConfirmation;
use App\Http\Controllers\TimesheetController;
use App\Http\Controllers\TimesheetEntryController;
use App\Http\Controllers\PipelineController;
use App\Http\Controllers\PipelineItemController;
Route::get('/pipeline', [PipelineController::class, 'index']);
Route::post('/pipeline/positions', [PipelineController::class, 'updatePositions']);
Route::get('/pipelineItems', [PipelineItemController::class, 'index']);
Route::get('/pipelineItems/{id}', [PipelineItemController::class, 'single']);
Route::post('/pipelineItems', [PipelineItemController::class, 'store']);
Route::put('/pipelineItems/{id}', [PipelineItemController::class, 'update']);
Route::delete('/pipelineItems/{id}', [PipelineItemController::class, 'delete']);
Route::get('/customers/{id}', [CustomerController::class, 'single']);
Route::get('/customers', [CustomerController::class, 'index']);
Route::get('/notes', [NoteController::class, 'index']);
Route::get('/notes/{modelType}/{notableId}', [NoteController::class, 'notesForModel']);
Route::delete('/notes/{id}', [NoteController::class, 'delete']);
Route::post('/notes', [NoteController::class, 'store'])
->name('customers.notes.store');
Route::get('/todo-types', function () {
return \App\Models\TodoType::all();
});
Route::apiResource('/todos', TodoController::class);
Route::get('/todos/{modelType}/{notableId}', [TodoController::class, 'todosForModel']);
Route::get('/products/', [ProductController::class, 'index']);
Route::get('/products/{id}', [ProductController::class, 'single']);
Route::get('/invoices/summary', [InvoiceController::class, 'summaryAll']);
Route::get('/invoices/summaryThisYear', [InvoiceController::class, 'summaryThisYear']);
Route::get('/invoices/summaryBeforeThisYear', [InvoiceController::class, 'summaryBeforeThisYear']);
Route::get('/invoices/salesStatistics', [InvoiceController::class, 'salesStatistics']);
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', [InvoiceController::class, 'remind']);
Route::get('/lineitems/{invoiceId}', [LineItemController::class, 'index']);
Route::post('/lineitems/import', [LineItemController::class, 'importFromCsv']);
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']);
Route::apiResource('/units', UnitController::class);
Route::apiResource('timesheets', TimesheetController::class);
Route::get('timesheets/{timesheet}/entries', [TimesheetEntryController::class, 'getEntriesForTimesheet']);
Route::apiResource('timesheet-entries', TimesheetEntryController::class);
Route::patch('timesheet-entries/{timesheetEntry}/toggle-billed', [TimesheetEntryController::class, 'toggleBilled']);