<?php

use App\Http\Controllers\Front\CombustiblesController;
use App\Http\Controllers\Front\FilesController;
use App\Http\Controllers\Front\InternaController;
use App\Http\Controllers\Front\PromocionesController;
use App\Http\Controllers\Health\HealthcheckController;
use App\Http\Controllers\HomeController;
use App\Http\Controllers\TestViewsController;
use Illuminate\Support\Facades\Route;

//TODO:::> RUTAS PARA ENDPOINTS (SOLO DATOS)
Route::prefix('endpoint')->group(function () {
    include __DIR__ . '/endpoint.php';
});

if (config('app.test_preview_routes_enabled')) {
    Route::controller(TestViewsController::class)->prefix('test')->group(function () {
        Route::get('/email', 'email');
        Route::get('/difusion', 'difusion');
    });
}

//TODO:::> RUTAS PARA VISTAS
Route::get('/', [HomeController::class, 'home']);
Route::controller(InternaController::class)->group(function () {
    Route::get('/interna/{slug_modulo}', 'listView');
    Route::get('/interna/{slug_modulo}/{id}/{slug}', 'show');
});

Route::controller(CombustiblesController::class)->group(function () {
    Route::get('/combustibles/{id}/{slug}', 'view');
});

Route::controller(PromocionesController::class)->group(function () {
    Route::get('/promociones/{id}/{slug}', 'view');
});

Route::controller(FilesController::class)->group(function () {
    Route::get('/files/{id}', 'show');
});

Route::get('/healthcheck', HealthcheckController::class)
    ->name('healthcheck');

Route::get('/{any}', [HomeController::class, 'home'])
    ->where('any', '.*')->fallback();
