Files
video/server/build/lib/app/api/v1/membership.py
T
2026-10-16 13:51:00 +08:00

29 lines
998 B
Python

"""会员模块路由(/membership/*,对应《03-接口文档》第 7 章)"""
from fastapi import APIRouter, Depends
from sqlalchemy.ext.asyncio import AsyncSession
from app.core.response import ok
from app.database import get_db
from app.deps import Identity, require_user
from app.schemas.common import RedeemReq
from app.services import membership_service
router = APIRouter(prefix="/membership", tags=["会员"])
@router.get("/plans")
async def list_plans():
return ok(membership_service.list_plans())
@router.get("/me")
async def get_my_membership(db: AsyncSession = Depends(get_db),
identity: Identity = Depends(require_user)):
return ok(await membership_service.get_my_membership(db, identity.user_id))
@router.post("/redeem")
async def redeem(req: RedeemReq, db: AsyncSession = Depends(get_db),
identity: Identity = Depends(require_user)):
return ok(await membership_service.redeem(db, identity.user_id, req.plan_code))