Spaces:
Sleeping
Sleeping
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): | |
# TODO: Implement the add_message function. It should: | |
# - get or create the user with the username | |
# - create a models.Message instance | |
# - pass the retrieved user to the message instance | |
# - save the message instance to the database | |
user = get_or_create_user(db, username) | |
msg = models.Message(**message.dict()) | |
msg.user = user | |
db.add(msg) | |
db.commit() | |
db.refresh(msg) | |
return msg | |
def get_user_chat_history(db: Session, username: str): | |
user = db.query(models.User).filter(models.User.username == username).first() | |
return user.messages if user is not None else [] |