2022-01-01 22:34:23 +00:00
|
|
|
from rest_framework import serializers
|
2022-01-06 21:36:22 +00:00
|
|
|
from .models import Order
|
2022-01-01 22:34:23 +00:00
|
|
|
|
2022-02-17 19:50:10 +00:00
|
|
|
|
2022-01-05 00:13:08 +00:00
|
|
|
class ListOrderSerializer(serializers.ModelSerializer):
|
2022-02-17 19:50:10 +00:00
|
|
|
|
2022-01-01 22:34:23 +00:00
|
|
|
class Meta:
|
|
|
|
model = Order
|
2022-02-17 19:50:10 +00:00
|
|
|
fields = (
|
|
|
|
"id",
|
|
|
|
"status",
|
|
|
|
"created_at",
|
|
|
|
"expires_at",
|
|
|
|
"type",
|
|
|
|
"currency",
|
|
|
|
"amount",
|
2022-03-21 23:27:36 +00:00
|
|
|
"has_range",
|
|
|
|
"min_amount",
|
|
|
|
"max_amount",
|
2022-02-17 19:50:10 +00:00
|
|
|
"payment_method",
|
|
|
|
"is_explicit",
|
|
|
|
"premium",
|
|
|
|
"satoshis",
|
2022-03-22 17:49:57 +00:00
|
|
|
"bondless_taker",
|
2022-02-17 19:50:10 +00:00
|
|
|
"maker",
|
|
|
|
"taker",
|
2022-04-29 18:54:20 +00:00
|
|
|
"escrow_duration",
|
2022-02-17 19:50:10 +00:00
|
|
|
)
|
|
|
|
|
2022-01-01 22:34:23 +00:00
|
|
|
|
|
|
|
class MakeOrderSerializer(serializers.ModelSerializer):
|
2022-02-17 19:50:10 +00:00
|
|
|
|
2022-01-01 22:34:23 +00:00
|
|
|
class Meta:
|
|
|
|
model = Order
|
2022-02-17 19:50:10 +00:00
|
|
|
fields = (
|
|
|
|
"type",
|
|
|
|
"currency",
|
|
|
|
"amount",
|
2022-03-21 23:27:36 +00:00
|
|
|
"has_range",
|
|
|
|
"min_amount",
|
|
|
|
"max_amount",
|
2022-02-17 19:50:10 +00:00
|
|
|
"payment_method",
|
|
|
|
"is_explicit",
|
|
|
|
"premium",
|
|
|
|
"satoshis",
|
2022-03-18 21:21:13 +00:00
|
|
|
"public_duration",
|
2022-04-29 18:54:20 +00:00
|
|
|
"escrow_duration",
|
2022-03-18 22:09:38 +00:00
|
|
|
"bond_size",
|
2022-03-21 23:27:36 +00:00
|
|
|
"bondless_taker",
|
2022-02-17 19:50:10 +00:00
|
|
|
)
|
|
|
|
|
2022-01-06 20:33:40 +00:00
|
|
|
class UpdateOrderSerializer(serializers.Serializer):
|
2022-02-17 19:50:10 +00:00
|
|
|
invoice = serializers.CharField(max_length=2000,
|
|
|
|
allow_null=True,
|
|
|
|
allow_blank=True,
|
|
|
|
default=None)
|
|
|
|
statement = serializers.CharField(max_length=10000,
|
|
|
|
allow_null=True,
|
|
|
|
allow_blank=True,
|
|
|
|
default=None)
|
|
|
|
action = serializers.ChoiceField(
|
|
|
|
choices=(
|
2022-04-29 18:54:20 +00:00
|
|
|
"pause",
|
2022-02-17 19:50:10 +00:00
|
|
|
"take",
|
|
|
|
"update_invoice",
|
|
|
|
"submit_statement",
|
|
|
|
"dispute",
|
|
|
|
"cancel",
|
|
|
|
"confirm",
|
|
|
|
"rate_user",
|
|
|
|
"rate_platform",
|
|
|
|
),
|
|
|
|
allow_null=False,
|
|
|
|
)
|
|
|
|
rating = serializers.ChoiceField(
|
|
|
|
choices=("1", "2", "3", "4", "5"),
|
|
|
|
allow_null=True,
|
|
|
|
allow_blank=True,
|
|
|
|
default=None,
|
|
|
|
)
|
2022-03-22 17:49:57 +00:00
|
|
|
amount = serializers.DecimalField(max_digits=18, decimal_places=8, allow_null=True, required=False, default=None)
|
2022-03-06 16:08:28 +00:00
|
|
|
|
2022-05-23 11:21:01 +00:00
|
|
|
class UserGenSerializer(serializers.Serializer):
|
|
|
|
# Mandatory fields
|
|
|
|
token_sha256 = serializers.CharField(max_length=64,
|
|
|
|
allow_null=False,
|
|
|
|
allow_blank=False,
|
|
|
|
required=True,
|
|
|
|
help_text="SHA256 of user secret")
|
|
|
|
public_key = serializers.CharField(max_length=999,
|
|
|
|
allow_null=False,
|
|
|
|
allow_blank=False,
|
|
|
|
required=True,
|
|
|
|
help_text="Armored ASCII PGP public key block")
|
|
|
|
encrypted_private_key = serializers.CharField(max_length=999,
|
|
|
|
allow_null=False,
|
|
|
|
allow_blank=False,
|
|
|
|
required=True,
|
|
|
|
help_text="Armored ASCII PGP encrypted private key block")
|
|
|
|
|
|
|
|
# Optional fields
|
|
|
|
ref_code = serializers.CharField(max_length=30,
|
|
|
|
allow_null=True,
|
|
|
|
allow_blank=True,
|
|
|
|
required=False,
|
|
|
|
default=None)
|
|
|
|
counts = serializers.ListField(child=serializers.IntegerField(),
|
|
|
|
allow_null=True,
|
|
|
|
required=False,
|
|
|
|
default=None)
|
|
|
|
length = serializers.IntegerField(allow_null=True,
|
|
|
|
default=None,
|
|
|
|
required=False,
|
|
|
|
min_value=1)
|
|
|
|
unique_values = serializers.IntegerField(allow_null=True,
|
|
|
|
default=None,
|
|
|
|
required=False,
|
|
|
|
min_value=1)
|
|
|
|
|
2022-03-06 16:08:28 +00:00
|
|
|
class ClaimRewardSerializer(serializers.Serializer):
|
|
|
|
invoice = serializers.CharField(max_length=2000,
|
|
|
|
allow_null=True,
|
|
|
|
allow_blank=True,
|
2022-03-12 11:24:11 +00:00
|
|
|
default=None)
|
|
|
|
|
|
|
|
class PriceSerializer(serializers.Serializer):
|
|
|
|
pass
|