From 48e33c7fbd6969d05b2affda0321595d2d6b370a Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期一, 10 二月 2025 14:51:06 +0800
Subject: [PATCH] 增加ping機制
---
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