app/routes/web.php

51 lines
1.8 KiB
PHP
Raw Permalink Normal View History

<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Auth\LoginController;
use App\Http\Controllers\Auth\RegisterController;
2026-01-07 01:08:58 +01:00
use App\Http\Controllers\SubscriptionController;
Route::get('/', function () {
return redirect()->route('dashboard');
});
// Guest routes
Route::middleware('guest')->group(function () {
Route::get('/login', [LoginController::class, 'showLoginForm'])->name('login');
Route::post('/login', [LoginController::class, 'login']);
Route::get('/register', [RegisterController::class, 'showRegistrationForm'])->name('register');
Route::post('/register', [RegisterController::class, 'register']);
});
// CSRF refresh route (available to both guest and authenticated users)
Route::get('/refresh-csrf', function () {
return response()->json(['token' => csrf_token()]);
})->name('refresh-csrf');
// Authenticated routes
Route::middleware('auth')->group(function () {
Route::post('/logout', [LoginController::class, 'logout'])->name('logout');
2026-01-05 23:51:50 +01:00
// Routes requiring active subscription in SaaS mode
Route::middleware('subscription')->group(function () {
Route::get('/dashboard', function () {
return view('dashboard');
})->name('dashboard');
Route::get('/dishes', function () {
return view('dishes.index');
})->name('dishes.index');
Route::get('/schedule', function () {
return view('schedule.index');
})->name('schedule.index');
Route::get('/users', function () {
return view('users.index');
})->name('users.index');
2026-01-07 01:08:58 +01:00
Route::get('/billing', [SubscriptionController::class, 'billing'])->name('billing')->middleware('saas');
2026-01-07 01:29:58 +01:00
Route::get('/billing/portal', [SubscriptionController::class, 'billingPortal'])->name('billing.portal')->middleware('saas');
2026-01-05 23:51:50 +01:00
});
});