<?php

namespace App\Filters;

use CodeIgniter\Filters\FilterInterface;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;

class AdminFilter implements FilterInterface
{
    public function before(RequestInterface $request, $arguments = null)
    {
        // Si no hay sesión activa, redirige a login
        if (!session()->get('isLoggedIn')) {
            return redirect()->to(base_url('login'))->with('error', 'Por favor, inicia sesión para continuar.');
        }

        // Si no es administrador (id_rol !== 1)
        if ((int)session()->get('user_id_rol') !== 1) {
            return redirect()->to(base_url('/'))->with('error', 'Acceso denegado. Se requieren permisos de administrador.');
        }
    }

    public function after(RequestInterface $request, ResponseInterface $response, $arguments = null)
    {
        // No requiere acción posterior
    }
}
