honcho/api2/api/models.py

31 lines
960 B
Python

from sqlalchemy import Boolean, Column, ForeignKey, Integer, String, DateTime
import datetime
from sqlalchemy.orm import relationship
from .db import Base
class Session(Base):
__tablename__ = "sessions"
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
user_id = Column(String, index=True)
location_id = Column(String, index=True)
is_active = Column(Boolean, default=True)
session_data = Column(String)
created_at = Column(DateTime, default=datetime.datetime.utcnow)
messages = relationship("Message", back_populates="session")
class Message(Base):
__tablename__ = "messages"
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
session_id = Column(Integer, ForeignKey("sessions.id"))
message_type = Column(String, index=True)
content = Column(String)
session = relationship("Session", back_populates="messages")
# TODO: add metacognitive data to messages