From 08c8e8c9a4d65677de6a493446a605d70efee631 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期二, 10 十二月 2024 16:32:07 +0800
Subject: [PATCH] 12.10 16

---
 app/models/user_model.py |   50 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 42 insertions(+), 8 deletions(-)

diff --git a/app/models/user_model.py b/app/models/user_model.py
index 77d8a4b..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 sqlalchemy import Column, Integer, String, Table, ForeignKey, DateTime, UniqueConstraint
 from sqlalchemy.orm import relationship, backref
 
 from app.config.config import settings
@@ -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',
@@ -175,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