Initial commit
This commit is contained in:
33
subscription/serializers.py
Normal file
33
subscription/serializers.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
|
||||
class PlanSerializer(serializers.Serializer):
|
||||
id = serializers.CharField()
|
||||
title = serializers.CharField()
|
||||
price = serializers.IntegerField()
|
||||
currency = serializers.CharField(required=False)
|
||||
popular = serializers.BooleanField()
|
||||
discountPercent = serializers.IntegerField(required=False)
|
||||
durationDays = serializers.IntegerField(required=False)
|
||||
|
||||
|
||||
class PlansListResponseSerializer(serializers.Serializer):
|
||||
plans = PlanSerializer(many=True)
|
||||
|
||||
|
||||
class PurchaseRequestSerializer(serializers.Serializer):
|
||||
# هدر Idempotency-Key هم روی همین درخواست لازمه (بخش ۴.۳ سند API)؛
|
||||
# از request.headers خونده میشه، نه از بدنه.
|
||||
planId = serializers.CharField()
|
||||
paymentMethod = serializers.CharField(required=False, default='zarinpal')
|
||||
|
||||
|
||||
class PurchaseResponseSerializer(serializers.Serializer):
|
||||
orderId = serializers.CharField()
|
||||
paymentUrl = serializers.CharField()
|
||||
|
||||
|
||||
class SubscriptionStatusResponseSerializer(serializers.Serializer):
|
||||
active = serializers.BooleanField()
|
||||
planId = serializers.CharField(allow_null=True)
|
||||
expiresAt = serializers.DateTimeField(allow_null=True)
|
||||
Reference in New Issue
Block a user