xbackend/api/api_v1/endpoints/test.py
2021-08-23 11:27:02 +08:00

40 lines
1.2 KiB
Python

from typing import Any
from fastapi import APIRouter, Depends, Request
from motor.motor_asyncio import AsyncIOMotorDatabase
import crud
import schemas
from api import deps
from db import get_database
from db.ckdb import CKDrive, get_ck_db
from db.redisdb import RedisDrive, get_redis_pool
from models.behavior_analysis import BehaviorAnalysis
router = APIRouter()
@router.post("/test")
async def test(
request: Request,
rdb: RedisDrive = Depends(get_redis_pool),
db: AsyncIOMotorDatabase = Depends(get_database),
current_user: schemas.UserDB = Depends(deps.get_current_user),
):
"""api 列表"""
app = request.app
data = {}
for r in app.routes:
title = r.tags[0] if hasattr(r, 'description') else None
if not title:
continue
data.setdefault(title, {'list': []})
path = r.path
name = r.description if hasattr(r, 'description') else r.name
data[title]['list'].append({'api': path, 'title': name})
res = [{'title': k, 'list': v['list']} for k, v in data.items()]
return schemas.Msg(code=0, msg='ok', data=res)