mirror of
https://github.com/BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot.git
synced 2026-01-19 19:32:10 +00:00
Update admin_promocodes.py
This commit is contained in:
@@ -249,6 +249,18 @@ def _validate_create_payload(payload: PromoCodeCreateRequest) -> None:
|
||||
"Subscription days must be positive for this promo code type"
|
||||
)
|
||||
|
||||
if payload.type == PromoCodeType.DISCOUNT:
|
||||
if payload.balance_bonus_kopeks <= 0 or payload.balance_bonus_kopeks > 100:
|
||||
raise HTTPException(
|
||||
status.HTTP_400_BAD_REQUEST,
|
||||
"Discount percent must be between 1 and 100"
|
||||
)
|
||||
if payload.subscription_days <= 0:
|
||||
raise HTTPException(
|
||||
status.HTTP_400_BAD_REQUEST,
|
||||
"Discount validity hours must be positive"
|
||||
)
|
||||
|
||||
if normalized_valid_from and normalized_valid_until and normalized_valid_from > normalized_valid_until:
|
||||
raise HTTPException(
|
||||
status.HTTP_400_BAD_REQUEST,
|
||||
@@ -289,6 +301,18 @@ def _validate_update_payload(payload: PromoCodeUpdateRequest, promocode: PromoCo
|
||||
"Subscription days must be positive for this promo code type"
|
||||
)
|
||||
|
||||
if new_type == PromoCodeType.DISCOUNT:
|
||||
if balance_bonus <= 0 or balance_bonus > 100:
|
||||
raise HTTPException(
|
||||
status.HTTP_400_BAD_REQUEST,
|
||||
"Discount percent must be between 1 and 100"
|
||||
)
|
||||
if subscription_days <= 0:
|
||||
raise HTTPException(
|
||||
status.HTTP_400_BAD_REQUEST,
|
||||
"Discount validity hours must be positive"
|
||||
)
|
||||
|
||||
valid_from = (
|
||||
_normalize_datetime(payload.valid_from)
|
||||
if payload.valid_from is not None
|
||||
|
||||
Reference in New Issue
Block a user