mirror of
https://github.com/i701/sarlink-portal-api.git
synced 2025-07-07 06:06:31 +00:00
Some checks failed
Build and Push Docker Images / Build and Push Docker Images (push) Has been cancelled
56 lines
1.4 KiB
Python
56 lines
1.4 KiB
Python
from rest_framework import serializers
|
|
from .models import Payment, Topup
|
|
from devices.serializers import DeviceSerializer
|
|
|
|
|
|
class PaymentSerializer(serializers.ModelSerializer):
|
|
devices = DeviceSerializer(many=True, read_only=True)
|
|
|
|
class Meta: # type: ignore
|
|
model = Payment
|
|
fields = "__all__"
|
|
|
|
|
|
class UpdatePaymentSerializer(serializers.ModelSerializer):
|
|
class Meta: # type: ignore
|
|
model = Payment
|
|
fields = [
|
|
"number_of_months",
|
|
]
|
|
|
|
|
|
class TopupSerializer(serializers.ModelSerializer):
|
|
user = serializers.SerializerMethodField()
|
|
is_expired = serializers.SerializerMethodField()
|
|
|
|
def get_user(self, obj):
|
|
user = obj.user
|
|
if user:
|
|
return {
|
|
"id": user.id,
|
|
"name": user.first_name + " " + user.last_name,
|
|
"id_card": user.id_card,
|
|
"mobile": user.mobile,
|
|
}
|
|
return None
|
|
|
|
def get_is_expired(self, obj):
|
|
return obj.is_expired
|
|
|
|
class Meta: # type: ignore
|
|
model = Topup
|
|
fields = [
|
|
"id",
|
|
"amount",
|
|
"user",
|
|
"paid",
|
|
"paid_at",
|
|
"status",
|
|
"mib_reference",
|
|
"is_expired",
|
|
"expires_at",
|
|
"created_at",
|
|
"updated_at",
|
|
]
|
|
read_only_fields = ["id", "created_at", "updated_at"]
|