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

from app.db.session import get_db
from app.models import KnowledgeCategory, KnowledgeDocument, KnowledgeQA, KnowledgeTag

from common_logging import get_logger

logger = get_logger(__name__)

router = APIRouter()


@router.get("/stats")
def get_knowledge_stats(db: Session = Depends(get_db)):
    total_documents = db.query(KnowledgeDocument).count()
    published_documents = (
        db.query(KnowledgeDocument).filter(KnowledgeDocument.status == "published").count()
    )
    total_categories = db.query(KnowledgeCategory).count()
    total_tags = db.query(KnowledgeTag).count()
    total_qa = db.query(KnowledgeQA).filter(KnowledgeQA.status == "active").count()
    return {
        "total_documents": total_documents,
        "published_documents": published_documents,
        "total_categories": total_categories,
        "total_tags": total_tags,
        "total_qa": total_qa,
    }
