From 52ba4076f5ad55fdf3239a33a2a376eaa0e0dea5 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期一, 09 十二月 2024 17:53:01 +0800 Subject: [PATCH] m --- app/models/user_model.py | 57 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 47 insertions(+), 10 deletions(-) diff --git a/app/models/user_model.py b/app/models/user_model.py index 9d6acdb..a1d61dd 100644 --- a/app/models/user_model.py +++ b/app/models/user_model.py @@ -1,7 +1,7 @@ from datetime import datetime -# from cryptography.fernet import Fernet -from sqlalchemy import Column, Integer, String, Table, ForeignKey, DateTime +from cryptography.fernet import Fernet +from sqlalchemy import Column, Integer, String, Table, ForeignKey, DateTime, UniqueConstraint from sqlalchemy.orm import relationship, backref from app.config.config import settings @@ -18,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")) +cipher_suite = Fernet(settings.PASSWORD_KEY.encode("utf-8")) class UserModel(Base): @@ -27,20 +27,21 @@ 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="") + compellation = Column(String(255), default="") + phone = Column(String(255), default="") + email = Column(String(255), default="") + description = Column(String(255), default="") ragflow_id = Column(String(32)) bisheng_id = Column(Integer) login_name = Column(String(100)) - status = Column(String(10), nullable=False, default="1") + status = Column(String(10), default="1") creator = Column(String(36)) sex = Column(String(1)) - permission = Column(String(16), nullable=False, default="general") + permission = Column(String(16), default="general") age = Column(Integer) created_at = Column(DateTime, default=datetime.now()) updated_at = Column(DateTime, default=datetime.now(), onupdate=datetime.now()) + organizations = relationship('OrganizationModel', @@ -81,6 +82,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): @@ -172,4 +176,37 @@ 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 + return cipher_suite.decrypt(self.password).decode("utf-8") + + + +class UserAppModel(Base): + __tablename__ = "user_app" + __table_args__ = (UniqueConstraint('user_id', 'app_type', name='user_app_id_ix'),) + id = Column(Integer, primary_key=True, index=True) + username = Column(String(255)) + password = Column(String(255)) + email = Column(String(255), default="") + user_id = Column(Integer) + app_id = Column(String(36)) + app_type = Column(String(16)) + status = Column(String(10), default="1") + access_token = Column(String(1000)) + refresh_token = Column(String(1000)) + token_at = Column(DateTime, default=datetime.now()) + created_at = Column(DateTime, default=datetime.now()) + updated_at = Column(DateTime, default=datetime.now(), onupdate=datetime.now()) + + def to_json(self): + return { + 'id': self.id, + 'userName': self.username, + 'createTime': self.created_at.strftime('%Y-%m-%d %H:%M:%S') if self.created_at else "", + 'updateTime': self.updated_at.strftime('%Y-%m-%d %H:%M:%S') if self.created_at else "", + 'password': self.password, + 'email': self.email, + 'user_id': self.user_id, + 'app_id': self.app_id, + "app_type": self.app_type, + 'status': self.status, + } -- Gitblit v1.8.0