From f6b2863303625ef7ef3809c4e08edbd2e0b4530b Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期二, 25 二月 2025 11:19:57 +0800
Subject: [PATCH] 鉴权

---
 app/models/user_model.py |   65 +++++++++++++++++++++++---------
 1 files changed, 47 insertions(+), 18 deletions(-)

diff --git a/app/models/user_model.py b/app/models/user_model.py
index eeaf3e6..8dc7183 100644
--- a/app/models/user_model.py
+++ b/app/models/user_model.py
@@ -39,6 +39,7 @@
     sex = Column(String(1))
     permission = Column(String(16), default="general")
     age = Column(Integer)
+    sync_flag = Column(String(36))
     created_at = Column(DateTime, default=datetime.now())
     updated_at = Column(DateTime, default=datetime.now(), onupdate=datetime.now())
 
@@ -111,21 +112,26 @@
 
         # if len(self.roles) > 0:
         roles = {role.id: role.to_dict() for role in self.roles}
-        ogt_set = set()
-        for ogt in self.organizations:
-            if ogt.id in ogt_set:
-                continue
-            ogt_set.add(ogt.id)
-            for role in ogt.roles:
-                roles[role.id] = role.to_dict()
-            parent_ogt = ogt.parent
-            while parent_ogt:
-                if parent_ogt.id not in ogt_set:
-                    ogt_set.add(ogt.id)
-                    for role in ogt.roles:
-                        roles[role.id] = role.to_dict()
-                    parent_ogt = ogt.parent
+        # ogt_set = set()
+        # for ogt in self.organizations:
+        #     if ogt.id in ogt_set:
+        #         continue
+        #     print(ogt.id)
+        #     ogt_set.add(ogt.id)
+        #     for role in ogt.roles:
+        #         roles[role.id] = role.to_dict()
+        #     parent_ogt = ogt.parent
+        #     while parent_ogt:
+        #         if parent_ogt.id not in ogt_set:
+        #             ogt_set.add(ogt.id)
+        #             for role in parent_ogt.roles:
+        #                 roles[role.id] = role.to_dict()
+        #             parent_ogt = parent_ogt.parent
+        #         else:
+        #             break
+
         json['roles'] = list(roles.values())
+        json['depts'] = [i.to_base_json() for i in self.organizations]
         return json
 
 
@@ -220,9 +226,32 @@
             "app_type": self.app_type,
             'status': self.status,
         }
-
-    def encrypted_password(self, password):
+    @staticmethod
+    def encrypted_password(password):
         return cipher_suite.encrypt(password.encode("utf-8")).decode("utf-8")
 
-    def decrypted_password(self):
-        return cipher_suite.decrypt(self.password).decode("utf-8")
\ No newline at end of file
+    @staticmethod
+    def decrypted_password(password):
+        return cipher_suite.decrypt(password).decode("utf-8")
+
+
+class UserTokenModel(Base):
+    __tablename__ = "user_token"
+    id = Column(String(16), primary_key=True)
+    account = Column(String(255))
+    password = Column(String(255))
+    access_token = Column(String(1000))
+    refresh_token = Column(String(1000))
+    created_at = Column(DateTime, default=datetime.now())
+    updated_at = Column(DateTime, default=datetime.now())
+
+    def to_json(self):
+        return {
+            'id': self.id,
+            'account': self.username,
+            'createTime': self.created_at,
+            'updateTime': self.updated_at,
+            'password': self.password,
+            'access_token': self.access_token,
+            'refresh_token': self.refresh_token,
+        }
\ No newline at end of file

--
Gitblit v1.8.0