<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Session;
use Symfony\Component\HttpFoundation\Response;

class MultiWebMiddleware {
    /**
     * Handle an incoming request.
     *
     * @param  \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response)  $next
     */
    public function handle(Request $request, Closure $next): mixed {
        $webdata = Session::get('webdata');
        if (!$webdata) {
            $wdata = DB::selectOne('EXEC dbo.obtener_web_data ?, ?, ?', [
                /* HOST_APP -> Esto hay que reemplantearlo para el futuro, que se debe ser dinamico 
                por eso antes estaba como $_SERVER['HTTP_HOST'] */
                env('HOST_APP'),
                env('APP_ID'),
                'BACKEND'
            ]);

            // CUANDO ESTE EN PRODUCCION EN APP_ENV tendra que ser prod
            if (app()->environment('local')) {
                $wdata->uri_css1 = '/Libreria_CA/bootstrap-5.3.2/css/bootstrap.css';
                $wdata->uri_css2 = '/Libreria_CA/bootstrap-5.3.2/css/bootstrap.css';
            }

            $pers = [
                'web_id' => $wdata->web_id,
                'web_name' => $wdata->web_name,
                'web_title' => $wdata->web_title,
                'http_host' => $wdata->http_host,
                'uri_logo' => $wdata->uri_logo,
                'uri_icon' => $wdata->uri_icon,
                'uri_css1' => $wdata->uri_css1,
                'uri_css2' => $wdata->uri_css2,
                'uri_js1' => $wdata->uri_js1,
                'copyright' => $wdata->copyright,
                'servicio_contratado' => $wdata->servicio_contratado,
                'id_plataforma' => $wdata->id_plataforma,
                'app_id' => $wdata->app_id,
                'id_menu_plataforma' => $wdata->id_menu_plataforma
            ];
            Session::put('webdata', $pers);
        }

        return $next($request);
    }
}
