Merge branch 'refactor/backend-architecture' into development
This commit is contained in:
36
api/app/features/plan/router.py
Normal file
36
api/app/features/plan/router.py
Normal file
@@ -0,0 +1,36 @@
|
||||
"""
|
||||
订阅计划路由。
|
||||
"""
|
||||
from typing import List
|
||||
|
||||
from fastapi import APIRouter, Depends
|
||||
|
||||
from app.core.dependencies import get_current_user
|
||||
from app.features.plan.deps import get_plan_service
|
||||
from app.features.plan.schemas import CurrentPlanResponse, PlanResponse
|
||||
from app.features.plan.service import PlanService, get_plans_for_api
|
||||
from app.features.user.models import User
|
||||
|
||||
router = APIRouter(
|
||||
prefix="/api/plans",
|
||||
tags=["plans"],
|
||||
responses={
|
||||
401: {"description": "认证失败"},
|
||||
404: {"description": "资源不存在"},
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@router.get("", response_model=List[PlanResponse])
|
||||
async def get_plans():
|
||||
"""获取所有可用的订阅计划(开发环境 ENABLE_TEST_PLAN=1 时包含「一分钱测试版」)。"""
|
||||
return get_plans_for_api()
|
||||
|
||||
|
||||
@router.get("/current", response_model=CurrentPlanResponse)
|
||||
async def get_current_plan(
|
||||
current_user: User = Depends(get_current_user),
|
||||
service: PlanService = Depends(get_plan_service),
|
||||
):
|
||||
"""获取当前用户的订阅计划信息"""
|
||||
return await service.get_current_plan_response(current_user)
|
||||
Reference in New Issue
Block a user