From 84e62e4041f66ba3bb70b1113be62acee5353cc0 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 21 十月 2024 17:41:28 +0800
Subject: [PATCH] 获取第三方token接口

---
 app/api/auth.py           |   15 +++++++++++++--
 app/models/token_model.py |    7 ++++++-
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/app/api/auth.py b/app/api/auth.py
index 588d7c8..ac974d3 100644
--- a/app/api/auth.py
+++ b/app/api/auth.py
@@ -1,10 +1,10 @@
 from fastapi import APIRouter, Depends
 from sqlalchemy.orm import Session
 
-from app.api import Response, pwd_context
+from app.api import Response, pwd_context, get_current_user
 from app.config.config import settings
 from app.models.base_model import get_db
-from app.models.token_model import upsert_token
+from app.models.token_model import upsert_token, get_token
 from app.models.user import UserCreate, LoginData
 from app.models.user_model import UserModel
 from app.service.auth import authenticate_user, create_access_token
@@ -76,3 +76,14 @@
         "username": user.username,
         "nickname": "",
     })
+
+
+@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)
+    if token is None:
+        return Response(code=400, msg="token not found")
+    return Response(code=200, msg="success", data={
+        "ragflow_token": token.ragflow_token,
+    })
diff --git a/app/models/token_model.py b/app/models/token_model.py
index 6ab8d56..764d999 100644
--- a/app/models/token_model.py
+++ b/app/models/token_model.py
@@ -1,6 +1,7 @@
 from datetime import datetime
+from typing import Type
 
-from sqlalchemy import Column, Integer, String, DateTime, Text
+from sqlalchemy import Column, Integer, DateTime, Text
 from sqlalchemy.orm import Session
 
 from app.models.base_model import Base
@@ -49,3 +50,7 @@
     except Exception as e:
         # 寮傚父澶勭悊
         db.rollback()  # 鍥炴粴浜嬪姟
+
+
+def get_token(db: Session, user_id: int) -> Type[TokenModel] | None:
+    return db.query(TokenModel).filter_by(user_id=user_id).first()

--
Gitblit v1.8.0