Files
InvoiceShelf/routes/web.php
T
Darko Gjorgjijoski 5ef7804e60 refactor: adopt modular domain architecture (#747)
* refactor: stabilize model identities for domain migration

* refactor: extract module platform context

* refactor: assign models to domain contexts

* refactor: extract ai platform context

* refactor: extract storage platform context

* refactor: extract mail platform context

* refactor: extract pdf platform context

* refactor: extract operations platform context

* refactor: move installation into operations platform

* refactor: extract money domain context

* refactor: extract taxation domain context

* refactor: extract catalog domain context

* refactor: extract metadata domain context

* refactor: extract reporting domain context

* refactor: extract purchases domain context

* refactor: extract receivables domain context

* refactor: extract accounts domain context

* refactor: complete reporting statement boundary

* refactor: extract contacts domain context

* refactor: extract sales domain context

* refactor: remove legacy application layers

* fix: migrate legacy bouncer role identities
2026-08-05 17:40:03 +02:00

76 lines
2.6 KiB
PHP

<?php
use App\Domains\Accounts\Models\Company;
use Illuminate\Support\Facades\Route;
require app_path('Domains/Accounts/routes/web.php');
require app_path('Domains/Contacts/routes/web.php');
// Report PDF & Expense Endpoints
// ----------------------------------------------
Route::middleware('auth:sanctum')->prefix('reports')->group(function () {
require app_path('Domains/Reporting/routes/web.php');
require app_path('Domains/Purchases/routes/web.php');
});
// PDF Endpoints
// ----------------------------------------------
Route::middleware('pdf-auth')->group(function () {
require app_path('Domains/Sales/routes/pdf.php');
require app_path('Domains/Receivables/routes/pdf.php');
});
// customer pdf endpoints for invoice, estimate and Payment
// -------------------------------------------------
Route::prefix('/customer')->group(function () {
require app_path('Domains/Sales/routes/public.php');
require app_path('Domains/Receivables/routes/public.php');
});
// Setup for installation of app
// ----------------------------------------------
require app_path('Platform/Operations/Installation/routes/web.php');
// Registration via invitation (serves SPA)
// -------------------------------------------------
Route::get('/register', function () {
return view('app');
})->middleware(['install']);
// Move other http requests to the Vue App
// -------------------------------------------------
Route::get('/admin/{vue?}', function () {
return view('app');
})->where('vue', '[\/\w\.-]*')->name('admin.dashboard')->middleware(['install', 'redirect-if-unauthenticated']);
Route::get('{company:slug}/customer/{vue?}', function (Company $company) {
return view('app')->with([
'customer_logo' => get_company_setting('customer_portal_logo', $company->id),
'current_theme' => get_company_setting('customer_portal_theme', $company->id),
'customer_page_title' => get_company_setting('customer_portal_page_title', $company->id),
]);
})->where('vue', '[\/\w\.-]*')->name('customer.dashboard')->middleware(['install']);
Route::get('/', function () {
return view('app');
})->where('vue', '[\/\w\.-]*')->name('home')->middleware(['install', 'guest']);
Route::get('/reset-password/{token}', function () {
return view('app');
})->where('vue', '[\/\w\.-]*')->name('reset-password')->middleware(['install', 'guest']);
Route::get('/forgot-password', function () {
return view('app');
})->where('vue', '[\/\w\.-]*')->name('forgot-password')->middleware(['install', 'guest']);
Route::get('/login', function () {
return view('app');
})->where('vue', '[\/\w\.-]*')->name('login')->middleware(['install', 'guest']);