Initial commit: Lash Vanshy - Complete project with admin panel, gallery, products, and contact

This commit is contained in:
2026-04-08 00:23:16 -06:00
commit e07e065791
111 changed files with 17939 additions and 0 deletions

79
routes/admin.php Executable file
View File

@@ -0,0 +1,79 @@
<?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');
});
});