| | |
| | | import base64 |
| | | from datetime import datetime, timedelta |
| | | from typing import Type |
| | | from uuid import uuid4 |
| | | |
| | | from jwt import encode, decode, exceptions |
| | | from passlib.context import CryptContext |
| | |
| | | |
| | | from Log import logger |
| | | from app.config.config import settings |
| | | from app.config.const import RAGFLOW, BISHENG, DIFY, USER_STATSU_DELETE, APP_SERVICE_PATH |
| | | from app.config.const import USER_STATSU_DELETE, APP_SERVICE_PATH |
| | | 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 |
| | | |
| | | from cryptography.hazmat.backends import default_backend |
| | | from cryptography.hazmat.primitives import serialization |
| | |
| | | |
| | | SECRET_KEY = settings.secret_key |
| | | ALGORITHM = "HS256" |
| | | ACCESS_TOKEN_EXPIRE_MINUTES = 3000 |
| | | ACCESS_TOKEN_EXPIRE_MINUTES = 24*60 |
| | | |
| | | pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto") |
| | | |
| | |
| | | try: |
| | | hashed_password = pwd_context.hash(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 |
| | | # 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()] |
| | | db.add(db_user) |
| | | db.commit() |
| | | db.refresh(db_user) |
| | | ''' |
| | | user_id = db_user.id |
| | | for k, v in register_dict.items(): |
| | | await UserAppDao(db).update_and_insert_data(v.get("name"), pwd, v.get("email"), user_id, str(v.get("id")), k) |
| | | |
| | | ''' |
| | | except Exception as e: |
| | | logger.error(e) |
| | | # db.roolback() |
| | | if user_id: |
| | | db.query(UserModel).filter(UserModel.id == user_id).delete() |
| | | db.commit |
| | | db.rollback() |
| | | return False |
| | | return sync_flag |
| | | |
| | |
| | | return False |
| | | return True |
| | | |
| | | |
| | | """ |
| | | async def update_user_info(db, user_id): |
| | | app_register = AppRegisterDao(db).get_apps() |
| | | register_dict = {} |
| | |
| | | # db.refresh(db_user) |
| | | |
| | | # is_sava = await save_register_user(db, user.username, user.password, user.email, register_dict) |
| | | """ |
| | | |
| | | |
| | | class UserAppDao: |
| | | def __init__(self, db: Session): |