<?php
/**
 * ASISMA CRM - Modelo Usuario
 */
class Usuario extends Model {
    protected $table = 'usuarios';

    /**
     * Obtiene los usuarios filtrados por franquicia (multi-tenant)
     */
    public function getUsuariosPorFranquicia($franquiciadoId = null) {
        $where = "u.activo = 1";
        $params = [];

        if ($franquiciadoId !== null) {
            $where .= " AND u.franquiciado_id = :franquiciado_id";
            $params['franquiciado_id'] = $franquiciadoId;
        }

        $sql = "SELECT u.id, u.nombre, u.email, u.rol, u.telefono, u.ultimo_login, u.activo,
                       ef.nombre_fantasia as empresa_nombre
                FROM usuarios u
                INNER JOIN empresas_franquiciados ef ON u.empresa_id = ef.id
                WHERE {$where}
                ORDER BY u.nombre ASC";

        return $this->db->fetchAll($sql, $params);
    }
}
