Files
BUT2/mini-crm/routes/web.php
T

42 lines
1.5 KiB
PHP

<?php
use App\Http\Controllers\AuthController;
use App\Http\Controllers\ClientController;
use App\Http\Controllers\ContactController;
use App\Http\Controllers\HomeController;
use App\Http\Controllers\ProductController;
use Illuminate\Support\Facades\Route;
Route::middleware('guest')->group(function (): void {
Route::get('/login', [AuthController::class, 'create'])->name('login');
Route::post('/login', [AuthController::class, 'store'])
->middleware('throttle:5,1')
->name('login.store');
});
Route::middleware('auth')->group(function (): void {
Route::get('/', [HomeController::class, 'index'])->name('home');
Route::view('/dashboard', 'dashboard')->name('dashboard');
Route::get('/bonjour/{nom}', function (string $nom): string {
return 'Bonjour '.$nom.' ! ';
});
Route::get('/contact', function (): string {
return '<h1>Contactez-nous<h1>';
});
Route::get('/produit/{nom}', function (string $nom): string {
return '<h1>Vous consultez le produit : <h1>'.$nom;
});
// TP4 : chaque resource fournit le CRUD ; TP7 : le groupe auth protège le Mini-CRM.
Route::resource('clients', ClientController::class);
Route::resource('products', ProductController::class);
Route::get('/contacts', [ContactController::class, 'index']);
// TP8 bonus : seul l'administrateur peut atteindre cette page.
Route::view('/admin', 'admin')->middleware('can:viewAdmin')->name('admin');
Route::post('/logout', [AuthController::class, 'destroy'])->name('logout');
});