LawBot / src /apps /models.py
Vishwanath77's picture
Upload models.py
0a7afc4 verified
Raw
History Blame Contribute Delete
1.28 kB
from sqlalchemy import Column, Integer, String, Text, DateTime, ForeignKey
from sqlalchemy.orm import relationship
from datetime import datetime
from database import Base
class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True, index=True)
username = Column(String, unique=True, index=True)
email = Column(String, unique=True, index=True)
hashed_password = Column(String)
role = Column(String)
mobile_number = Column(String, nullable=True)
reset_token = Column(String, nullable=True)
question_count = Column(Integer, default=0)
# Relationship to chat interactions
interactions = relationship("ChatInteraction", back_populates="user")
class ChatInteraction(Base):
__tablename__ = "chat_interactions"
id = Column(Integer, primary_key=True, index=True)
user_id = Column(Integer, ForeignKey("users.id"), nullable=True)
case_id = Column(String, nullable=True)
role = Column(String, index=True, nullable=False) # Role context for this interaction
query = Column(Text)
response = Column(Text)
created_at = Column(DateTime, default=datetime.utcnow)
# Relationship to user
user = relationship("User", back_populates="interactions")