from rest_framework import serializers
from .models import Device
from api.serializers import CustomReadOnlyUserSerializer


class CreateDeviceSerializer(serializers.ModelSerializer):
    class Meta:
        model = Device
        fields = ["name", "mac"]


class BlockDeviceSerializer(serializers.ModelSerializer):
    blocked = serializers.BooleanField(required=True)

    class Meta:
        model = Device
        fields = ["blocked"]


class DeviceSerializer(serializers.ModelSerializer):
    class Meta:
        model = Device
        fields = "__all__"


class ReadOnlyDeviceSerializer(serializers.ModelSerializer):
    user = CustomReadOnlyUserSerializer(read_only=True)

    class Meta:  # type: ignore
        depth = 2
        model = Device
        fields = "__all__"