40 lines
1.2 KiB
Python
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)
|