"""结果记录查询接口。"""
from __future__ import annotations

from fastapi import APIRouter, Depends, Query
from sqlalchemy.orm import Session

from app.core.deps import get_target_db
from app.core.response import ok
from app.repositories.render_record import query_records

router = APIRouter(prefix="/render", tags=["结果记录"])


@router.get("/records", summary="查询文件替换结果记录")
def list_records(
    enterprise_id: int | None = Query(default=None, description="按企业 ID 过滤"),
    status: str | None = Query(default=None, description="按状态过滤：success / partial"),
    page: int = Query(default=1, ge=1),
    size: int = Query(default=20, ge=1, le=100),
    session: Session = Depends(get_target_db),
):
    total, rows = query_records(
        session, enterprise_id=enterprise_id, status=status, page=page, size=size
    )
    return ok({
        "total": total,
        "page": page,
        "size": size,
        "items": [r.to_dict() for r in rows],
    })
