from sqlalchemy.orm import Session
from app.models.message import Message
from app.models.visitor import Visitor
from app.schemas.message import MessageCreate
from app.services.client import get_client_by_widget

def save_message(db: Session, data: MessageCreate):
    get_client_by_widget
    client = get_client_by_widget(db, data.client_widget_id)
    
    if not client:
        return None

    visitor = db.query(Visitor).filter(Visitor.visitor_id == data.visitor_id).first()

    msg = Message(
        client_id=client.id,
        visitor_id=visitor.id,
        sender=data.sender,
        text=data.text
    )

    db.add(msg)
    db.commit()
    db.refresh(msg)
    return msg
