80 lines
3.9 KiB
PHP
Executable File
80 lines
3.9 KiB
PHP
Executable File
<?php
|
|
|
|
use App\Http\Controllers\Admin\AdminUserController;
|
|
use App\Http\Controllers\Admin\AuthController;
|
|
use App\Http\Controllers\Admin\ConfiguracionController;
|
|
use App\Http\Controllers\Admin\DashboardController;
|
|
use App\Http\Controllers\Admin\GaleriaController;
|
|
use App\Http\Controllers\Admin\MensajeController;
|
|
use App\Http\Controllers\Admin\ProductoController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Rutas del Panel de Administración
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Estas rutas se acceden desde /admin y tienen el prefijo 'admin.' en los nombres
|
|
|
|
|
*/
|
|
|
|
// Rutas de autenticación (públicas)
|
|
Route::middleware('guest:admin')->group(function () {
|
|
Route::get('/login', [AuthController::class, 'showLogin'])->name('admin.login');
|
|
Route::post('/login', [AuthController::class, 'login']);
|
|
});
|
|
|
|
// Rutas protegidas
|
|
Route::middleware(['admin.auth', 'security.headers'])->group(function () {
|
|
// Dashboard
|
|
Route::get('/', [DashboardController::class, 'index'])->name('admin.dashboard');
|
|
|
|
// Cerrar sesión
|
|
Route::post('/logout', [AuthController::class, 'logout'])->name('admin.logout');
|
|
|
|
// Galería
|
|
Route::prefix('galeria')->name('admin.galeria.')->group(function () {
|
|
Route::get('/', [GaleriaController::class, 'index'])->name('index');
|
|
Route::get('/create', [GaleriaController::class, 'create'])->name('create');
|
|
Route::post('/', [GaleriaController::class, 'store'])->name('store');
|
|
Route::get('/{galeria}/edit', [GaleriaController::class, 'edit'])->name('edit');
|
|
Route::put('/{galeria}', [GaleriaController::class, 'update'])->name('update');
|
|
Route::delete('/{galeria}', [GaleriaController::class, 'destroy'])->name('destroy');
|
|
});
|
|
|
|
// Productos
|
|
Route::prefix('productos')->name('admin.productos.')->group(function () {
|
|
Route::get('/', [ProductoController::class, 'index'])->name('index');
|
|
Route::get('/create', [ProductoController::class, 'create'])->name('create');
|
|
Route::post('/', [ProductoController::class, 'store'])->name('store');
|
|
Route::get('/{producto}/edit', [ProductoController::class, 'edit'])->name('edit');
|
|
Route::put('/{producto}', [ProductoController::class, 'update'])->name('update');
|
|
Route::delete('/{producto}', [ProductoController::class, 'destroy'])->name('destroy');
|
|
});
|
|
|
|
// Mensajes
|
|
Route::prefix('mensajes')->name('admin.mensajes.')->group(function () {
|
|
Route::get('/', [MensajeController::class, 'index'])->name('index');
|
|
Route::get('/{mensaje}', [MensajeController::class, 'show'])->name('show');
|
|
Route::patch('/{mensaje}/leido', [MensajeController::class, 'markRead'])->name('leido');
|
|
Route::post('/leer-todos', [MensajeController::class, 'markAllRead'])->name('leer-todos');
|
|
Route::delete('/{mensaje}', [MensajeController::class, 'destroy'])->name('destroy');
|
|
});
|
|
|
|
// Usuarios Admin (solo super_admin)
|
|
Route::prefix('usuarios')->name('admin.users.')->middleware('super_admin')->group(function () {
|
|
Route::get('/', [AdminUserController::class, 'index'])->name('index');
|
|
Route::get('/create', [AdminUserController::class, 'create'])->name('create');
|
|
Route::post('/', [AdminUserController::class, 'store'])->name('store');
|
|
Route::get('/{admin_user}/edit', [AdminUserController::class, 'edit'])->name('edit');
|
|
Route::put('/{admin_user}', [AdminUserController::class, 'update'])->name('update');
|
|
Route::delete('/{admin_user}', [AdminUserController::class, 'destroy'])->name('destroy');
|
|
});
|
|
|
|
// Configuración
|
|
Route::prefix('configuracion')->name('admin.configuracion.')->group(function () {
|
|
Route::get('/', [ConfiguracionController::class, 'index'])->name('index');
|
|
Route::put('/', [ConfiguracionController::class, 'update'])->name('update');
|
|
});
|
|
});
|