| | |
| | | from datetime import datetime |
| | | from typing import Type |
| | | |
| | | 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 |
| | | |
| | | |
| | |
| | | except Exception as e: |
| | | # 异常处理 |
| | | 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 |
| | | 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): |