From d961b5e9290edef3bee5cd6adc4a636af209c1e7 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期四, 09 一月 2025 18:52:21 +0800 Subject: [PATCH] tmp --- app/models/token_model.py | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 52 insertions(+), 6 deletions(-) diff --git a/app/models/token_model.py b/app/models/token_model.py index 764d999..7ad0e01 100644 --- a/app/models/token_model.py +++ b/app/models/token_model.py @@ -1,9 +1,11 @@ from datetime import datetime from typing import Type -from sqlalchemy import Column, Integer, DateTime, Text +from sqlalchemy import Column, Integer, DateTime, Text, String from sqlalchemy.orm import Session +from app.config.const import RAGFLOW +# from Log import logger from app.models.base_model import Base @@ -11,9 +13,9 @@ __tablename__ = "token" id = Column(Integer, primary_key=True, index=True) user_id = Column(Integer, index=True) - token = Column(Text(10000), unique=True, index=True) - bisheng_token = Column(Text(10000), unique=True, index=True) - ragflow_token = Column(Text(10000), unique=True, index=True) + token = Column(Text(10000)) + bisheng_token = Column(Text(10000)) + ragflow_token = Column(Text(10000)) created_at = Column(DateTime, default=datetime.utcnow) @@ -52,5 +54,49 @@ db.rollback() # 鍥炴粴浜嬪姟 -def get_token(db: Session, user_id: int) -> Type[TokenModel] | None: - return db.query(TokenModel).filter_by(user_id=user_id).first() +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 + db_token.ragflow_token = token.get(RAGFLOW, "") + # 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, + ragflow_token = token.get(RAGFLOW, "") + ) + # 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() # 鍥炴粴浜嬪姟 + + + +class ApiTokenModel(Base): + __tablename__ = "chat_api_tokens" + id = Column(String(32), primary_key=True) + app_id = Column(String(32), index=True) + type = Column(String(16)) + token = Column(String(255)) + created_at = Column(DateTime, default=datetime.now()) + last_used_at = Column(DateTime, default=datetime.now()) -- Gitblit v1.8.0