Taskflow-App / src /models /conversation.py
Tahasaif3's picture
'code
34e27fb
Raw History Blame Contribute Delete
1.18 kB
from sqlmodel import SQLModel, Field, Relationship
from typing import Optional, List
from datetime import datetime
from sqlalchemy import Column, DateTime
import uuid
from .user import User # Import User model for relationship
class ConversationBase(SQLModel):
user_id: uuid.UUID = Field(foreign_key="user.id", index=True)
class Conversation(ConversationBase, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
user_id: uuid.UUID = Field(foreign_key="user.id", index=True)
created_at: datetime = Field(sa_column=Column(DateTime, default=datetime.utcnow))
updated_at: datetime = Field(sa_column=Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow))
# Relationship to user
owner: Optional["User"] = Relationship(back_populates="conversations")
# Relationship to messages
messages: List["Message"] = Relationship(back_populates="conversation")
class ConversationCreate(ConversationBase):
pass
class ConversationRead(ConversationBase):
id: int
created_at: datetime
updated_at: datetime
class Config:
from_attributes = True
class ConversationUpdate(SQLModel):
pass