<?php namespace App\Http\Middleware; use App\ImaliAppVersion; use Closure; use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; use Illuminate\Support\Str; class CheckIMaliAppVersion { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse */ public function handle(Request $request, Closure $next) { // dd($request->header('X-APP-Version')); // Obtém o token do Header $header = $request->header('X-APP-Version'); // Log::info($header); Log::info('Header da APP', [ 'content' => $header ]); $imali_verson = ImaliAppVersion::query()->where('status', 1)->first(); // $user = ImaliAppVersion::where('version_number', $header)->where('status', 1)->first(); // if (!$header || !$user) return response()->json(['message' => 'Versão da APP desactualizada, vá a sua loja de Aplicativo para actualizar a APP', 'data' => $imali_verson], 400); // todo ---- new code 22 May 2025 $requiredVersion = $imali_verson->version_number; if (!$header || version_compare($header, $requiredVersion, '<')) { return response()->json([ 'message' => 'Versão da APP desactualizada, vá a sua loja de Aplicativo para actualizar a APP.', 'data' => $imali_verson // 'versao_requerida' => $requiredVersion ], 400); } // todo ---- new code 22 May 2025 // O token foi validado, continuar o fluxo da requisição return $next($request); } }