zhaoqingang
2025-04-10 9ea07e00fc8b92e9b75849859c1ecce77c7096d1
app/models/knowledge_model.py
@@ -9,42 +9,91 @@
from app.models.base_model import Base
class KnowledgeModel(Base):
    __tablename__ = 'knowledgebase'
    __tablename__ = 'knowledgebases'
    __mapper_args__ = {
        # "order_by": 'SEQ'
    }
    id = Column(String(32), primary_key=True)  # id
    id = Column(String(36), primary_key=True)  # id
    name = Column(String(128))                 # 名称
    create_date = Column(DateTime)             # 创建时间
    update_date = Column(DateTime)             # 更新时间
    avatar = Column(Text)                       # 图标
    create_date = Column(DateTime, default=datetime.now())             # 创建时间
    update_date = Column(DateTime, default=datetime.now(), onupdate=datetime.now())             # 更新时间
    permission = Column(String(32), default="me")
    tenant_id = Column(String(32))              # 创建人id
    description = Column(Text)                 # 说明
    status = Column(String(1))                    # 状态
    documents = Column(Integer, default=0)                    # 文档
    icon = Column(String(128))                    # 文档
    # kld_type = Column(String(1))                  # 知识库平台
    knowledge_type = Column(String(1))                  # 知识库平台
    embd_id = Column(String(128))
    def get_id(self):
        return str(self.id)
    def to_json(self):
    def to_json(self, user_id=""):
        return {
            'id': self.id,
            'name': self.name,
            'create_time': self.create_date,
            'update_time': self.update_date,
            'avatar': self.avatar,
            'create_time': self.create_date.strftime('%Y-%m-%d %H:%M:%S'),
            'update_time': self.update_date.strftime('%Y-%m-%d %H:%M:%S'),
            'permission': self.permission,
            'user_id': self.tenant_id,
            'description': self.description,
            'status': self.status,
            'documents': self.documents,
            'icon': self.icon
            'documents': self.documents if self.documents else 0,
            'icon': self.icon,
            'embd_id': self.embd_id,
            'link': True if (self.tenant_id == user_id or user_id == "admin" ) and self.permission == "team" else False,
        }
    def __repr__(self):
        return '<Knowledge name:%r url:%r>\n' % (self.name, self.id)
class RoleParameter(BaseModel):
    role: str
class klgParameter(BaseModel):
    id: str
    name: str
    description: Optional[str] = ""
    icon: str
    klgType: str
class klgIcon(BaseModel):
    id: str
    icon: str
class KnowledgeUserModel(Base):
    __tablename__ = 'knowledgebase_user'
    id = Column(Integer, primary_key=True)  # id
    kb_id = Column(String(36))
    user_id = Column(Integer)
    create_date = Column(DateTime, default=datetime.now())             # 创建时间
    update_date = Column(DateTime, default=datetime.now(), onupdate=datetime.now())             # 更新时间
    status = Column(Integer)  # 状态
    def get_id(self):
        return str(self.id)
    def to_json(self, user_id=""):
        return {
            'id': self.id,
            'kb_id': self.kb_id,
            'create_time': self.create_date.strftime('%Y-%m-%d %H:%M:%S'),
            'update_time': self.update_date.strftime('%Y-%m-%d %H:%M:%S'),
            'user_id': self.user_id,
            'status': self.status,
            'owner': True if str(self.user_id) == user_id else False,
        }
    def __repr__(self):
        return '<Knowledge name:%r url:%r>\n' % (self.name, self.id)
class KlgOwner(BaseModel):
    knowledgeId: str
    UserId: int