Spaces:
Running
Running
File size: 968 Bytes
84c328d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
"""Conversation model for AI chatbot.
[Task]: T005
[From]: specs/004-ai-chatbot/plan.md
"""
import uuid
from datetime import datetime
from typing import Optional
from sqlmodel import Field, SQLModel
from sqlalchemy import Column, DateTime
class Conversation(SQLModel, table=True):
"""Conversation model representing a chat session.
A conversation groups multiple messages between a user and the AI assistant.
Conversations persist indefinitely (until 90-day auto-deletion).
"""
__tablename__ = "conversation"
id: uuid.UUID = Field(default_factory=uuid.uuid4, primary_key=True)
user_id: uuid.UUID = Field(foreign_key="users.id", index=True)
created_at: datetime = Field(
default_factory=datetime.utcnow,
sa_column=Column(DateTime(timezone=True), nullable=False)
)
updated_at: datetime = Field(
default_factory=datetime.utcnow,
sa_column=Column(DateTime(timezone=True), nullable=False)
)
|