add:bonus store
This commit is contained in:
41
app/api/bonuses.py
Normal file
41
app/api/bonuses.py
Normal file
@ -0,0 +1,41 @@
|
||||
from fastapi import APIRouter, Query, Body
|
||||
from fastapi import HTTPException
|
||||
from datetime import datetime, timedelta
|
||||
from app.models.bonus import PurchaseBonus
|
||||
import uuid
|
||||
|
||||
router = APIRouter(
|
||||
prefix="/api/bonuses",
|
||||
tags=["Bonuses"]
|
||||
)
|
||||
|
||||
@router.get("/effects")
|
||||
async def get_user_effects(username: str):
|
||||
"""Получить активные эффекты пользователя для плагина"""
|
||||
from app.services.bonus import BonusService
|
||||
return await BonusService().get_user_active_effects(username)
|
||||
|
||||
@router.get("/types")
|
||||
async def get_bonus_types():
|
||||
"""Получить доступные типы бонусов"""
|
||||
from app.services.bonus import BonusService
|
||||
return await BonusService().list_available_bonuses()
|
||||
|
||||
@router.get("/user/{username}")
|
||||
async def get_user_bonuses(username: str):
|
||||
"""Получить активные бонусы пользователя"""
|
||||
from app.services.bonus import BonusService
|
||||
return await BonusService().get_user_bonuses(username)
|
||||
|
||||
@router.post("/purchase")
|
||||
async def purchase_bonus(purchase_bonus: PurchaseBonus):
|
||||
"""Купить бонус"""
|
||||
from app.services.bonus import BonusService
|
||||
return await BonusService().purchase_bonus(purchase_bonus.username, purchase_bonus.bonus_type_id)
|
||||
|
||||
@router.post("/upgrade")
|
||||
async def upgrade_user_bonus(username: str = Body(...), bonus_id: str = Body(...)):
|
||||
"""Улучшить существующий бонус"""
|
||||
from app.services.bonus import BonusService
|
||||
return await BonusService().upgrade_bonus(username, bonus_id)
|
||||
|
Reference in New Issue
Block a user