mirror of
https://github.com/i701/sarlink-portal-api.git
synced 2025-07-03 22:08:22 +00:00
refactor(portal-api): Device serializers to include user information and ensure consistent Meta class formatting 🔨
This commit is contained in:
@ -8,7 +8,7 @@ class CreateDeviceSerializer(serializers.ModelSerializer):
|
|||||||
name = serializers.CharField(required=True)
|
name = serializers.CharField(required=True)
|
||||||
mac = serializers.CharField(required=True)
|
mac = serializers.CharField(required=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta: # type: ignore
|
||||||
model = Device
|
model = Device
|
||||||
fields = [
|
fields = [
|
||||||
"name",
|
"name",
|
||||||
@ -25,17 +25,25 @@ class BlockDeviceSerializer(serializers.ModelSerializer):
|
|||||||
choices=[("ADMIN", "Admin"), ("PARENT", "Parent")], required=True
|
choices=[("ADMIN", "Admin"), ("PARENT", "Parent")], required=True
|
||||||
)
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta: # type: ignore
|
||||||
model = Device
|
model = Device
|
||||||
fields = ["blocked", "reason_for_blocking", "blocked_by"]
|
fields = ["blocked", "reason_for_blocking", "blocked_by"]
|
||||||
|
|
||||||
|
|
||||||
class DeviceSerializer(serializers.ModelSerializer):
|
class DeviceSerializer(serializers.ModelSerializer):
|
||||||
pending_payment_id = serializers.SerializerMethodField()
|
pending_payment_id = serializers.SerializerMethodField()
|
||||||
|
user = serializers.SerializerMethodField()
|
||||||
|
|
||||||
class Meta:
|
def get_user(self, obj):
|
||||||
model = Device
|
user = obj.user
|
||||||
fields = "__all__"
|
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_pending_payment_id(self, obj):
|
def get_pending_payment_id(self, obj):
|
||||||
# Query the last unpaid payment for the device
|
# Query the last unpaid payment for the device
|
||||||
@ -46,6 +54,10 @@ class DeviceSerializer(serializers.ModelSerializer):
|
|||||||
)
|
)
|
||||||
return unpaid_payment.id if unpaid_payment else None
|
return unpaid_payment.id if unpaid_payment else None
|
||||||
|
|
||||||
|
class Meta: # type: ignore
|
||||||
|
model = Device
|
||||||
|
fields = "__all__"
|
||||||
|
|
||||||
|
|
||||||
class ReadOnlyDeviceSerializer(serializers.ModelSerializer):
|
class ReadOnlyDeviceSerializer(serializers.ModelSerializer):
|
||||||
user = CustomReadOnlyUserSerializer(read_only=True)
|
user = CustomReadOnlyUserSerializer(read_only=True)
|
||||||
|
Reference in New Issue
Block a user