schon/payments/serializers.py
Egor fureunoir Gorbunov a33be30098 Features: 1) Added vendor, product tag, category tag models and metadata; 2) Introduced proper noinspection comments for Mypy warnings; 3) Extended Markdown linting rules.
Fixes: 1) Corrected `ForeignKey` type assertions across models; 2) Resolved typos and formatting inconsistencies in `.env` and README; 3) Fixed explicit boolean checks in user manager methods.

Extra: Updated type hints in multiple models, serializers, and views.
2025-06-18 15:58:49 +03:00

31 lines
1 KiB
Python

from rest_framework.fields import FloatField, JSONField, SerializerMethodField
from rest_framework.serializers import ModelSerializer, Serializer
from payments.models import Transaction
class DepositSerializer(Serializer):
amount = FloatField(required=True)
class TransactionSerializer(ModelSerializer):
class Meta:
model = Transaction
fields = "__all__"
class TransactionProcessSerializer(ModelSerializer):
process = JSONField(required=True)
order_hr_id = SerializerMethodField(read_only=True, required=False)
order_uuid = SerializerMethodField(read_only=True, required=False)
def get_order_hr_id(self, obj: Transaction):
return obj.order.human_readable_id if obj.order else None # type: ignore
def get_order_uuid(self, obj: Transaction):
return obj.order.uuid if obj.order else None # type: ignore
class Meta:
model = Transaction
fields = ("process", "order_hr_id", "order_uuid")
read_only_fields = ("process", "order_hr_id", "order_uuid")