import logging
from fastapi import APIRouter, HTTPException

logger = logging.getLogger(__name__)
router = APIRouter()

@router.get("/api/agent/n8n/products", summary="N8N Specific: Get Sample Products")
async def n8n_get_sample_products(limit: int = 10):
    """
    API DÀNH RIÊNG CHO N8N để lấy danh sách sản phẩm thực tế làm data cho AI sinh câu hỏi.
    - Code hoàn toàn tách biệt khỏi hệ thống cũ (không đụng vào logic SearchItem/Embedding)
    - Trả về danh sách ngẫu nhiên từ StarRocks
    """
    try:
        from common.starrocks_connection import get_db_connection
        db = get_db_connection()

        # Lấy random các sản phẩm có hiển thị trên web, có giá
        query = f"""
            SELECT
                magento_ref_code,
                product_name,
                description_text,
                original_price,
                sale_price,
                master_color,
                gender_by_product,
                product_web_url,
                product_image_url_thumbnail
            FROM shared_source.magento_product_dimension_with_text_embedding
            WHERE sale_price > 0 AND quantity_sold > 0
            ORDER BY rand()
            LIMIT {limit}
        """
        products = await db.execute_query_async(query)

        return {
            "status": "success",
            "total": len(products),
            "products": products
        }
    except Exception as e:
        logger.error(f"❌ Error in N8N Dedicated Product Fetch API: {e!s}", exc_info=True)
        raise HTTPException(status_code=500, detail=f"N8N API Error: {e!s}")
