import models
from models import Prompt
from sqlalchemy.orm import Session

def load_system_prompt(db: Session, tenant_id: int):
    """Load the default system prompt for this tenant."""
    prompt = (
        db.query(Prompt)
        .filter_by(tenant_id=tenant_id, role="system", is_default=True)
        .first()
    )
    if prompt is None:
        # Fallback message if no prompt is found
        return "You are a helpful assistant."
    return prompt.content

def build_messages_payload(db: Session, case_id: int, tenant_id: int):
    """Assemble OpenAI chat messages array: system + past conversation."""
    system = load_system_prompt(db, tenant_id)
    # Fetch all prior messages for the case in chronological order
    msgs = db.query(models.Message).filter_by(case_id=case_id).order_by(models.Message.timestamp).all()
    chat = [{"role":"system","content": system}]
    for m in msgs:
        chat.append({"role": m.role, "content": m.content})
    return chat