From cdb5f8bf45f117831959291c89e0694606ebb479 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期三, 04 十二月 2024 17:28:58 +0800
Subject: [PATCH] 增加公开api

---
 app/models/token_model.py |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/app/models/token_model.py b/app/models/token_model.py
index 066c73e..2b50bfd 100644
--- a/app/models/token_model.py
+++ b/app/models/token_model.py
@@ -4,6 +4,8 @@
 from sqlalchemy import Column, Integer, DateTime, Text
 from sqlalchemy.orm import Session
 
+from Log import logger
+from app.config.const import RAGFLOW
 from app.models.base_model import Base
 
 
@@ -52,5 +54,39 @@
         db.rollback()  # 鍥炴粴浜嬪姟
 
 
+async def update_token(db: Session, user_id: int, access_token: str, token: dict):
+    # 鍙傛暟楠岃瘉
+    if not isinstance(user_id, int) or user_id <= 0:
+        return
+    db_token = None
+    print(token)
+    try:
+        # 鏌ヨ鐜版湁璁板綍
+        db_token = db.query(TokenModel).filter_by(user_id=user_id).first()
+        if db_token:
+            # 璁板綍瀛樺湪锛岃繘琛屾洿鏂�
+            db_token.token = access_token
+            for k, v in token.items():
+                setattr(db_token, k.replace("app", "token"), v)
+        else:
+            # 璁板綍涓嶅瓨鍦紝杩涜鎻掑叆
+            db_token = TokenModel(
+                user_id=user_id,
+                token=access_token,
+            )
+            for k, v in token.items():
+                setattr(db_token, k.replace("app", "token"), v)
+            db.add(db_token)
+
+        # 鎻愪氦浜嬪姟
+        db.commit()
+        db.refresh(db_token)
+
+    except Exception as e:
+        logger.error(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