批量验证 Token
()
| 949 | |
| 950 | @router.post("/tokens/validate") |
| 951 | async def validate_tokens(): |
| 952 | """批量验证 Token""" |
| 953 | from app.services.token_dao import get_token_dao |
| 954 | from app.utils.token_pool import get_token_pool |
| 955 | |
| 956 | dao = get_token_dao() |
| 957 | |
| 958 | # 执行批量验证 |
| 959 | stats = await dao.validate_all_tokens(DEFAULT_TOKEN_NAMESPACE) |
| 960 | |
| 961 | pool = get_token_pool() |
| 962 | if pool: |
| 963 | await pool.sync_from_database(DEFAULT_TOKEN_NAMESPACE) |
| 964 | |
| 965 | valid_count = stats.get("valid", 0) |
| 966 | guest_count = stats.get("guest", 0) |
| 967 | invalid_count = stats.get("invalid", 0) |
| 968 | |
| 969 | # 生成通知消息 |
| 970 | if guest_count > 0: |
| 971 | message_class = "bg-yellow-100 border-yellow-400 text-yellow-700" |
| 972 | message = f"验证完成:有效 {valid_count} 个,匿名 {guest_count} 个,无效 {invalid_count} 个。匿名 Token 已标记。" |
| 973 | elif invalid_count > 0: |
| 974 | message_class = "bg-blue-100 border-blue-400 text-blue-700" |
| 975 | message = f"验证完成:有效 {valid_count} 个,无效 {invalid_count} 个。" |
| 976 | else: |
| 977 | message_class = "bg-green-100 border-green-400 text-green-700" |
| 978 | message = f"验证完成:所有 {valid_count} 个 Token 均有效!" |
| 979 | |
| 980 | return HTMLResponse(f""" |
| 981 | <div class="{message_class} border px-4 py-3 rounded relative" role="alert"> |
| 982 | <strong class="font-bold">批量验证完成!</strong> |
| 983 | <span class="block sm:inline">{message}</span> |
| 984 | </div> |
| 985 | """) |
| 986 | |
| 987 | |
| 988 | @router.post("/tokens/validate-single/{token_id}") |
nothing calls this directly
no test coverage detected