芝麻web文件管理V1.00
编辑当前文件:/home/pulsehostuk9/www/invoicer.pulsehost.co.uk/routes/web.php
logout(); }); // Customer auth // ---------------------------------------------- Route::post('/{company:slug}/customer/login', CustomerLoginController::class); Route::post('/{company:slug}/customer/logout', function () { Auth::guard('customer')->logout(); }); // Report PDF & Expense Endpoints // ---------------------------------------------- Route::middleware('auth:sanctum')->prefix('reports')->group(function () { // sales report by customer //---------------------------------- Route::get('/sales/customers/{hash}', CustomerSalesReportController::class); // sales report by items //---------------------------------- Route::get('/sales/items/{hash}', ItemSalesReportController::class); // report for expenses //---------------------------------- Route::get('/expenses/{hash}', ExpensesReportController::class); // report for tax summary //---------------------------------- Route::get('/tax-summary/{hash}', TaxSummaryReportController::class); // report for profit and loss //---------------------------------- Route::get('/profit-loss/{hash}', ProfitLossReportController::class); // download expense receipt // ------------------------------------------------- Route::get('/expenses/{expense}/download-receipt', DownloadReceiptController::class); Route::get('/expenses/{expense}/receipt', ShowReceiptController::class); }); // PDF Endpoints // ---------------------------------------------- Route::middleware('pdf-auth')->group(function () { // invoice pdf // ------------------------------------------------- Route::get('/invoices/pdf/{invoice:unique_hash}', InvoicePdfController::class); // estimate pdf // ------------------------------------------------- Route::get('/estimates/pdf/{estimate:unique_hash}', EstimatePdfController::class); // payment pdf // ------------------------------------------------- Route::get('/payments/pdf/{payment:unique_hash}', PaymentPdfController::class); }); // customer pdf endpoints for invoice, estimate and Payment // ------------------------------------------------- Route::prefix('/customer')->group(function () { Route::get('/invoices/{email_log:token}', [CustomerInvoicePdfController::class, 'getInvoice']); Route::get('/invoices/view/{email_log:token}', [CustomerInvoicePdfController::class, 'getPdf'])->name('invoice'); Route::get('/estimates/{email_log:token}', [CustomerEstimatePdfController::class, 'getEstimate']); Route::get('/estimates/view/{email_log:token}', [CustomerEstimatePdfController::class, 'getPdf'])->name('estimate'); Route::get('/payments/{email_log:token}', [CustomerPaymentPdfController::class, 'getPayment']); Route::get('/payments/view/{email_log:token}', [CustomerPaymentPdfController::class, 'getPdf'])->name('payment'); }); // Setup for installation of app // ---------------------------------------------- Route::get('/installation', function () { return view('app'); })->name('install')->middleware('redirect-if-installed'); // 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']);