Add atoll and island fields to user serializer; implement island and atoll serializers with depth handling
All checks were successful
Build and Push Docker Images / Build and Push Docker Images (push) Successful in 3m49s

This commit is contained in:
i701 2025-06-09 21:42:10 +05:00
parent 69ab87f502
commit 26d7fb6dd1
Signed by: i701
GPG Key ID: 54A0DA1E26D8E587
2 changed files with 21 additions and 15 deletions

View File

@ -14,6 +14,7 @@ class UserFilter(django_filters.FilterSet):
"last_name",
"first_name",
"email",
"verified",
"is_active",
"id_card",
"mobile",

View File

@ -6,6 +6,21 @@ from django.contrib.auth.models import Permission
from rest_framework import serializers
class IslandSerializer(serializers.ModelSerializer):
class Meta: # type: ignore
model = Island
fields = "__all__"
class AtollSerializer(serializers.ModelSerializer):
islands = IslandSerializer(many=True, read_only=True)
class Meta: # type: ignore
model = Atoll
fields = "__all__"
depth = 2
class CustomUserSerializer(serializers.ModelSerializer):
"""serializer for the user object"""
@ -58,11 +73,16 @@ class CustomReadOnlyUserSerializer(serializers.ModelSerializer):
"email",
"first_name",
"last_name",
"atoll",
"island",
"dob",
"verified",
"username",
"mobile",
"address",
"id_card",
)
depth = 1
class CustomReadOnlyUserByIDCardSerializer(serializers.ModelSerializer):
@ -135,21 +155,6 @@ class KnoxTokenSerializer(serializers.ModelSerializer):
fields = "__all__"
class IslandSerializer(serializers.ModelSerializer):
class Meta: # type: ignore
model = Island
fields = "__all__"
class AtollSerializer(serializers.ModelSerializer):
islands = IslandSerializer(many=True, read_only=True)
class Meta: # type: ignore
model = Atoll
fields = "__all__"
depth = 2
class OTPVerificationSerializer(serializers.Serializer):
mobile = serializers.CharField(required=True, allow_blank=False)
otp = serializers.CharField(required=True, allow_blank=False)