<?php

use App\Http\Middleware\Api;
use App\Http\Middleware\Cors;
use App\Http\Middleware\CAMEMiddleware;
use App\Http\Middleware\NormalizarInputs;
use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;

return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__ . '/../routes/web.php',
        api: __DIR__ . '/../routes/api.php',
        commands: __DIR__ . '/../routes/console.php',
        //health: '/up',
        then: function () {
            Route::middleware('api')
                ->domain('api.fidelitas.com.ar')
                ->namespace('App\Http\Controllers')
                ->group(base_path('routes/api.php'));

            Route::middleware('api')
                ->domain(env('API_ROUTE'))
                ->namespace('App\Http\Controllers')
                ->group(base_path('routes/api.php'));

            Route::middleware('api')
                ->domain('api.fidelitas.cloud')
                ->namespace('App\Http\Controllers')
                ->group(base_path('routes/api.php'));
            Route::middleware('api')
                ->domain('10.20.40.20')
                ->namespace('App\Http\Controllers')
                ->group(base_path('routes/api.php'));

            /* Route::middleware('web')
                ->prefix('web')
                ->domain(env('API_ROUTE'))
                ->group(base_path('routes/web.php')); */
        }
    )
    ->withMiddleware(function (Middleware $middleware) {
        //
        $middleware->alias([
            'cors' => Cors::class,
            'api_auth' => Api::class,
            'came' => CAMEMiddleware::class,
	    'normalizar_inputs' => NormalizarInputs::class
        ]);
    })
    ->withExceptions(function (Exceptions $exceptions) {
        //
    })->create();
