mirror of
https://github.com/i701/sarlink-portal-api.git
synced 2025-07-04 04:18:23 +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)
|
||||
mac = serializers.CharField(required=True)
|
||||
|
||||
class Meta:
|
||||
class Meta: # type: ignore
|
||||
model = Device
|
||||
fields = [
|
||||
"name",
|
||||
@ -25,17 +25,25 @@ class BlockDeviceSerializer(serializers.ModelSerializer):
|
||||
choices=[("ADMIN", "Admin"), ("PARENT", "Parent")], required=True
|
||||
)
|
||||
|
||||
class Meta:
|
||||
class Meta: # type: ignore
|
||||
model = Device
|
||||
fields = ["blocked", "reason_for_blocking", "blocked_by"]
|
||||
|
||||
|
||||
class DeviceSerializer(serializers.ModelSerializer):
|
||||
pending_payment_id = serializers.SerializerMethodField()
|
||||
user = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = Device
|
||||
fields = "__all__"
|
||||
def get_user(self, obj):
|
||||
user = obj.user
|
||||
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):
|
||||
# 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
|
||||
|
||||
class Meta: # type: ignore
|
||||
model = Device
|
||||
fields = "__all__"
|
||||
|
||||
|
||||
class ReadOnlyDeviceSerializer(serializers.ModelSerializer):
|
||||
user = CustomReadOnlyUserSerializer(read_only=True)
|
||||
|
Reference in New Issue
Block a user