Backend / crud.py
sravan
rag app
8e70769
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_data = get_or_create_user(db, username)
db_message = models.Message(
message=message.message,
type=message.type,
timestamp=message.timestamp,
user_id=user_data.id
)
db.add(db_message)
db.commit()
db.refresh(db_message)
# raise NotImplemented
return message
def get_user_chat_history(db: Session, username: str):
# chat_history = db.
user_data = get_or_create_user(db, username)
messages = db.query(models.Message.message,
models.Message.type,
models.Message.timestamp
).filter(models.Message.user_id==user_data.id).all()
if not messages:
return []
return messages
# raise NotImplemented