Backend / app /crud.py
Damien Benveniste
deployment test
d038098
raw
history blame
1.1 kB
from sqlalchemy.orm import Session
import models, schemas
from fastapi import HTTPException
# def create_user(db: Session, user: schemas.UserCreate):
# db_user = models.User(username=user.username)
# db.add(db_user)
# db.commit()
# db.refresh(db_user)
# return db_user
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 db.query(models.Message).filter(models.Message.user_id == user.id).all()