From 9ea07e00fc8b92e9b75849859c1ecce77c7096d1 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期四, 10 四月 2025 13:31:23 +0800
Subject: [PATCH] 优化

---
 app/models/knowledge_model.py |   77 +++++++++++++++++++++++++++++++-------
 1 files changed, 63 insertions(+), 14 deletions(-)

diff --git a/app/models/knowledge_model.py b/app/models/knowledge_model.py
index 487e91d..a7f0494 100644
--- a/app/models/knowledge_model.py
+++ b/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))              # 鍒涘缓浜篿d
     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
\ No newline at end of file
+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
\ No newline at end of file

--
Gitblit v1.8.0