zhaoqingang
2024-12-04 cdb5f8bf45f117831959291c89e0694606ebb479
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()