From cc04b89890cc057a64e976a271b5491df7dbd721 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期五, 06 十二月 2024 16:04:08 +0800
Subject: [PATCH] 增加数据库一建迁移能力
---
app/models/user_model.py | 36 +++++++++++++++++++++++++++++++++---
1 files changed, 33 insertions(+), 3 deletions(-)
diff --git a/app/models/user_model.py b/app/models/user_model.py
index 2f87e11..0cf9fd5 100644
--- a/app/models/user_model.py
+++ b/app/models/user_model.py
@@ -1,8 +1,10 @@
from datetime import datetime
+from cryptography.fernet import Fernet
from sqlalchemy import Column, Integer, String, Table, ForeignKey, DateTime
from sqlalchemy.orm import relationship, backref
+from app.config.config import settings
from app.models.base_model import Base
user_organization_table = Table('user_organization',Base.metadata
@@ -16,7 +18,7 @@
user_group_table = Table('user_group', Base.metadata
, Column('user_id', Integer, ForeignKey('user.id', ondelete='CASCADE'))
, Column('group_id', Integer, ForeignKey('group.id', ondelete='CASCADE')))
-
+cipher_suite = Fernet(settings.PASSWORD_KEY.encode("utf-8"))
class UserModel(Base):
@@ -24,6 +26,7 @@
id = Column(Integer, primary_key=True, index=True)
username = Column(String(255), unique=True, index=True)
hashed_password = Column(String(255))
+ password = Column(String(255))
compellation = Column(String(255), nullable=False, default="")
phone = Column(String(255), nullable=False, default="")
email = Column(String(255), nullable=False, default="")
@@ -34,10 +37,12 @@
status = Column(String(10), nullable=False, default="1")
creator = Column(String(36))
sex = Column(String(1))
- permission = Column(String(16), nullable=False, default="1")
+ permission = Column(String(16), nullable=False, default="general")
age = Column(Integer)
created_at = Column(DateTime, default=datetime.now())
updated_at = Column(DateTime, default=datetime.now(), onupdate=datetime.now())
+ updated_at11 = Column(Integer)
+
organizations = relationship('OrganizationModel',
@@ -78,6 +83,9 @@
'userName': self.username,
'loginName': self.login_name if self.login_name else "",
'status': self.status,
+ 'email': self.email,
+ 'phone': self.phone,
+ 'permission':self.permission
}
def to_json(self):
@@ -162,4 +170,26 @@
user_id_list = [user.ID for user in users]
for user in users:
user_id_list.extend(user.get_children())
- return user_id_list
\ No newline at end of file
+ return user_id_list
+
+
+ def encrypted_password(self, 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")
+
+
+
+class UserModel(Base):
+ __tablename__ = "user_test"
+ id = Column(Integer, primary_key=True, index=True)
+ username = Column(String(255), unique=True, index=True)
+ hashed_password = Column(String(255))
+ password = Column(String(255))
+ compellation = Column(String(255), nullable=False, default="")
+ phone = Column(String(255), nullable=False, default="")
+ email = Column(String(255), nullable=False, default="")
+ description = Column(String(255), nullable=False, default="")
+ ragflow_id = Column(String(32))
+ bisheng_id = Column(Integer)
\ No newline at end of file
--
Gitblit v1.8.0