| | |
| | | from app.service.auth import authenticate_user, create_access_token, is_valid_password, save_register_user, \ |
| | | update_user_token, UserAppDao |
| | | from app.service.bisheng import BishengService |
| | | from app.service.common.app_register import AppRegisterDao |
| | | from app.service.v2.app_register import AppRegisterDao |
| | | from app.service.difyService import DifyService |
| | | from app.service.ragflow import RagflowService |
| | | from sqlalchemy.future import select |
| | |
| | | @router.get("/token", response_model=Response) |
| | | async def token_api(db: Session = Depends(get_db), current_user: UserModel = Depends(get_current_user)): |
| | | # 查询现有记录 |
| | | token = get_token(db, current_user.id) |
| | | token = await get_token(db, current_user.id) |
| | | if token is None: |
| | | return Response(code=400, msg="token not found") |
| | | return Response(code=200, msg="success", data={ |
| | | "ragflow_token": token.ragflow_token, |
| | | "bisheng_token": token.bisheng_token, |
| | | }) |
| | | return Response(code=200, msg="success", data=token) |
| | | |
| | | |
| | | @router.post("/v2/login", response_model=Response) |
| | |
| | | logger.error("未知注册应用---") |
| | | continue |
| | | try: |
| | | user_app = UserAppDao(db).get_data_by_id(user.id, app["id"]) |
| | | user_app = await UserAppDao(db).get_data_by_id(user.id, app["id"]) |
| | | if user_app: |
| | | name = user_app.username |
| | | token = await service.login(name, login_data.password) |
| | |
| | | # 创建本地token |
| | | access_token = create_access_token(data={"sub": user.username, "user_id": user.id}) |
| | | |
| | | await update_token(db, user.id, access_token, token_dict) |
| | | # await update_token(db, user.id, access_token, token_dict) |
| | | await update_user_token(db, user.id, token_dict) |
| | | result = await pdb.execute(select(AppToken).where(AppToken.id == user.id)) |
| | | db_app_token = result.scalars().first() |
| | |
| | | try: |
| | | name = app["id"] + str(int(time.time())) |
| | | register_info = await service.register(name, user.password) |
| | | print(register_info) |
| | | # print(register_info) |
| | | register_dict[app['id']] = {"id":register_info.get("id"), "name": name, "email": register_info.get("email")} |
| | | except Exception as e: |
| | | return Response(code=500, msg=f"Failed to register with {app['id']}: {str(e)}") |