| 123456789101112131415161718192021222324252627 |
- from __future__ import annotations
- from pydantic import ValidationError
- from quart import Blueprint, jsonify
- from app.api.service import DailyRankManager
- from app.api.v1.utils import ApiDependencies, DailyRankQueryRequest
- from app.api.v1.utils import parse_json, validation_error_response
- def create_rank_log_bp(deps: ApiDependencies) -> Blueprint:
- bp = Blueprint("rank_log", __name__)
- @bp.route("/daily_rank", methods=["POST"])
- async def query_daily_rank():
- """查询日榜数据"""
- try:
- _, body = await parse_json(DailyRankQueryRequest)
- except ValidationError as e:
- payload, status = validation_error_response(e)
- return jsonify(payload), status
- manager = DailyRankManager(pool=deps.db, data=body)
- result = await manager.query_daily_rank()
- return jsonify(result)
- return bp
|