from fastapi import APIRouter, HTTPException
from app.schemas.schemas import LogRequest
from app.models import save_chat_log, get_history_from_db
from app.models.report_db_module import save_report_log

router = APIRouter()

# 1. 히스토리 불러오기 (공통 기능)
@router.get("/goal-skill-t/api/history/{mode}/{session_id}")
async def get_history(mode: str, session_id: str):
    try:
        rows = get_history_from_db(session_id, mode)
        return {"history": rows}
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))

# 2. 프론트엔드 로그 저장 (공통 기능)
@router.post("/goal-skill-t/api/log")
async def log_message(req: LogRequest):
    try:
        # Report 모드일 때는 report_db_module 사용, 나머지는 db_module 사용
        if req.mode == "Report":
            save_report_log(req.session_id, req.sender, req.message)
        else:
            save_chat_log(req.session_id, req.mode, req.sender, req.message)
        return {"status": "ok"}
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))
