Files
goodtimes/manage_referrals/api/serializers.py
2024-06-07 20:34:45 +05:30

55 lines
1.4 KiB
Python

import re
from django.contrib.auth.hashers import make_password
from rest_framework import serializers
from accounts.models import (
IAmPrincipal,
IAmPrincipalType,
# IAmPrincipalKYCDetails,
)
from manage_referrals.models import (
ReferralCode,
ReferralRecord,
ReferralRecordReward,
)
from goodtimes import constants, date_utils
class ReferralCodeSerializer(serializers.ModelSerializer):
class Meta:
model = ReferralCode
fields = ["referral_code"]
class ReferralRecordSerializer(serializers.ModelSerializer):
name = serializers.SerializerMethodField()
join_at = serializers.SerializerMethodField()
class Meta:
model = ReferralRecord
fields = ["name", "join_at"]
def get_name(self, obj):
# Check if the referred_principal is set (not None) and get the full name
if obj.referred_principal:
return obj.referred_principal.get_full_name()
return None
def get_join_at(self, obj):
return date_utils.format_date_to_string(obj.created_on)
class ReferralRecordRewardSerializer(serializers.ModelSerializer):
class Meta:
model = ReferralRecordReward
fields = [
"referral_record",
"subscription",
"sell",
"coins",
"unique_token",
"value",
"created_on",
]