From 5eff7ec9d00fa835a76c354bad7cc7f284d28b11 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期四, 26 十二月 2024 13:51:27 +0800
Subject: [PATCH] 新增用户增加rg数据同步

---
 app/service/auth.py |   28 +++++++++++++++++++---------
 1 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/app/service/auth.py b/app/service/auth.py
index a0a1952..d32d8db 100644
--- a/app/service/auth.py
+++ b/app/service/auth.py
@@ -1,6 +1,8 @@
 import re
+import uuid
 from datetime import datetime, timedelta
 from typing import Type
+from uuid import uuid4
 
 from jwt import encode, decode, exceptions
 from passlib.context import CryptContext
@@ -9,9 +11,11 @@
 
 from Log import logger
 from app.config.config import settings
-from app.config.const import RAGFLOW, BISHENG, DIFY
-from app.models import RoleModel, GroupModel
+from app.config.const import RAGFLOW, BISHENG, DIFY, USER_STATSU_DELETE
+from app.models import RoleModel, GroupModel, TokenModel
 from app.models.user_model import UserModel, UserAppModel
+# from app.service.ragflow import RagflowService
+# from app.service.service_token import get_new_token
 from app.service.v2.app_register import AppRegisterDao
 
 SECRET_KEY = settings.secret_key
@@ -30,7 +34,7 @@
 
 
 def authenticate_user(db, username: str, password: str):
-    user = db.query(UserModel).filter(UserModel.username == username).first()
+    user = db.query(UserModel).filter(UserModel.username == username, UserModel.status != USER_STATSU_DELETE).first()
     if not user:
         return False
     if not verify_password(password, user.hashed_password):
@@ -58,7 +62,7 @@
 
 
 def is_valid_password(password: str) -> bool:
-    if len(password) <= 8:
+    if len(password) < 8:
         return False
     has_digit = re.search(r'[0-9]', password)
     has_letter = re.search(r'[A-Za-z]', password)
@@ -67,12 +71,13 @@
     return has_digit is not None and has_letter is not None
 
 
-async def save_register_user(db, username, password, email, register_dict):
+async def save_register_user(db, username, password, email, app_password, register_dict):
     user_id = ""
+    sync_flag = str(uuid.uuid4())
     try:
         hashed_password = pwd_context.hash(password)
-        db_user = UserModel(username=username, hashed_password=hashed_password, email=email)
-        pwd = db_user.encrypted_password(password)
+        db_user = UserModel(username=username, hashed_password=hashed_password, email=email, sync_flag=sync_flag)
+        pwd = db_user.encrypted_password(app_password)
         db_user.password = pwd
         db_user.roles = [db.query(RoleModel).filter(RoleModel.role_type == 2).first()]
         db_user.groups = [db.query(GroupModel).filter(GroupModel.group_type == 2).first()]
@@ -90,7 +95,7 @@
             db.query(UserModel).filter(UserModel.id == user_id).delete()
             db.commit
         return False
-    return True
+    return sync_flag
 
 
 async def update_user_token(db, user_id, token_dict):
@@ -137,7 +142,7 @@
     # db.commit()
     # db.refresh(db_user)
 
-    is_sava = await save_register_user(db, user.username, user.password, user.email, register_dict)
+    # is_sava = await save_register_user(db, user.username, user.password, user.email, register_dict)
 
 class UserAppDao:
     def __init__(self, db: Session):
@@ -189,3 +194,8 @@
 
     async def get_user_datas(self, user_id: int):
         return self.db.query(UserAppModel).filter_by(user_id=user_id).all()
+
+
+
+
+

--
Gitblit v1.8.0