30 lines
884 B
Python
30 lines
884 B
Python
from fastapi import APIRouter, Depends
|
|
from ..services.user_coupon_service import get_user_coupons_service, apply_coupon_service, redeem_coupon_service
|
|
from pydantic import BaseModel
|
|
|
|
class GetUserCouponsRequest(BaseModel):
|
|
token: str
|
|
|
|
class CouponApplyRequest(BaseModel):
|
|
token: str
|
|
coupon_id: int
|
|
order_id: int
|
|
|
|
class RedeemCouponRequest(BaseModel):
|
|
token: str
|
|
coupon_code: str
|
|
|
|
router = APIRouter()
|
|
|
|
@router.post("/user/coupons")
|
|
def get_user_coupons(request: GetUserCouponsRequest):
|
|
return get_user_coupons_service(request.token)
|
|
|
|
@router.post("/user/apply-coupon")
|
|
def apply_coupon(request: CouponApplyRequest):
|
|
return apply_coupon_service(request.token, request.coupon_id, request.order_id)
|
|
|
|
@router.post("/user/redeem-coupon")
|
|
def redeem_coupon(request: RedeemCouponRequest):
|
|
return redeem_coupon_service(request.token, request.coupon_code)
|