import { ExpressController, UnauthorizedApiError } from "@erp/core/api";
import { NextFunction, Response } from "express";
import { RequestWithAuth } from "./auth-types";

/**
 * Middleware que exige presencia de usuario y companyId.
 * Debe ir DESPUÉS del middleware de autenticación.
 */
export function enforceTenant() {
  return (req: RequestWithAuth, res: Response, next: NextFunction) => {
    // Validación básica del tenant
    if (!req.user || !req.user.companyId) {
      return ExpressController.errorResponse(new UnauthorizedApiError("Unauthorized"), req, res);
    }
    next();
  };
}
