from datetime import datetime from typing import Optional from pydantic import BaseModel from sqlalchemy import Column, Integer, String, BigInteger, ForeignKey, DateTime, Text, JSON from sqlalchemy.orm import relationship, backref from app.models.base_model import Base class DialogModel(Base): __tablename__ = 'dialogs' __mapper_args__ = { # "order_by": 'SEQ' } id = Column(String(36), primary_key=True) # id create_date = Column(DateTime, default=datetime.now()) # 创建时间 update_date = Column(DateTime, default=datetime.now(), onupdate=datetime.now()) # 更新时间 tenant_id = Column(String(36)) # 创建人 name = Column(String(255)) # 名称 description = Column(Text) # 说明 icon = Column(Text, default="intelligentFrame1") # 图标 status = Column(String(1), default="1") # 状态 dialog_type = Column(String(1)) # 平台 # agent_id = Column(String(36)) mode = Column(String(36)) def get_id(self): return str(self.id) def to_json(self): return { 'id': self.id, 'create_date': self.create_date.strftime('%Y-%m-%d %H:%M:%S'), 'update_date': self.update_date.strftime('%Y-%m-%d %H:%M:%S'), 'user_id': self.tenant_id, 'name': self.name, 'description': self.description, 'icon': self.icon, 'status': self.status, 'agentType': self.dialog_type, # 'agentId': self.agent_id, 'mode': self.mode, } class ConversationModel(Base): __tablename__ = 'conversation' id = Column(String(32), primary_key=True) # id create_date = Column(DateTime) # 创建时间 create_time = Column(BigInteger) update_date = Column(DateTime) # 更新时间 update_time = Column(BigInteger) tenant_id = Column(Integer) # 创建人 dialog_id = Column(String(32)) name = Column(String(255)) # 名称 message = Column(JSON) # 说明 reference = Column(JSON) # 图标 def get_id(self): return str(self.id) def to_json(self): return { 'id': self.id, 'updated_time': self.update_time, 'update_date': datetime.fromtimestamp(self.update_time / 1000.0).strftime('%Y-%m-%d %H:%M:%S'), 'name': self.name, } class dialogData(BaseModel): id: str name: str description: Optional[str] = "" dialogType: str icon: str mode: str class dialogDataUpdate(BaseModel): id: str status: Optional[str] = "1"