from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session
from app.core.database import get_db
from app.schemas.feedback import FeedbackRequest
from app.models.feedback import Feedback
from app.models.chat_history import ChatHistory

router = APIRouter()


@router.post("/feedback")
def save_feedback(request: FeedbackRequest, db: Session = Depends(get_db)):
    feedback = Feedback(
        chat_id=request.chat_id,
        session_id=request.session_id,
        feedback_type=request.feedback_type,
        comments=request.comments
    )
    db.add(feedback)

    chat = db.query(ChatHistory).filter(ChatHistory.id == request.chat_id).first()
    if chat:
        chat.resolution_status = request.feedback_type

    db.commit()

    return {"status": "success", "message": "Feedback saved successfully"}