from sqlalchemy.orm import Session import models, schemas def get_or_create_user(db: Session, username: str): user = db.query(models.User).filter(models.User.username == username).first() if not user: user = models.User(username=username) db.add(user) db.commit() db.refresh(user) return user def add_message(db: Session, message: schemas.MessageBase, username: str): user = get_or_create_user(db, username) message = models.Message(**message.dict()) message.user = user db.add(message) db.commit() db.refresh(message) return message def get_user_chat_history(db: Session, username: str): user = db.query(models.User).filter(models.User.username == username).first() if not user: return [] return user.messages