initial commit
This commit is contained in:
25
backend/models.py
Normal file
25
backend/models.py
Normal file
@@ -0,0 +1,25 @@
|
||||
from sqlalchemy import Column, Integer, String, Text, DateTime, ForeignKey
|
||||
from sqlalchemy.orm import relationship
|
||||
from datetime import datetime
|
||||
from .database import Base
|
||||
|
||||
class ChatSession(Base):
|
||||
__tablename__ = 'chat_sessions'
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
session_id = Column(String(64), unique=True, index=True, nullable=False)
|
||||
name = Column(String(100), default="New Chat", nullable=False)
|
||||
created_at = Column(DateTime, default=datetime.utcnow, nullable=False)
|
||||
|
||||
messages = relationship("ChatMessage", back_populates="session")
|
||||
|
||||
class ChatMessage(Base):
|
||||
__tablename__ = 'chat_messages'
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
session_pk = Column(Integer, ForeignKey('chat_sessions.id'), nullable=False)
|
||||
role = Column(String(16), nullable=False) # 'user' | 'assistant'
|
||||
content = Column(Text, nullable=False)
|
||||
created_at = Column(DateTime, default=datetime.utcnow, nullable=False)
|
||||
|
||||
session = relationship("ChatSession", back_populates="messages")
|
||||
Reference in New Issue
Block a user