from rest_framework import serializers
from .models import Usuario, Combo, Plato, PlatoCombo, Descuento

class UsuarioSerializer(serializers.ModelSerializer):
    class Meta:
        model = Usuario
        fields = ['id', 'username', 'nombre', 'apellido', 'email', 'contrasenia', 'domicilio', 'telefono', 'rol', 'img', 'creado_en', 'actualizado_en']
        extra_kwargs = {'contrasenia': {'write_only': True}}

    def create(self, validated_data):
        usuario = Usuario.objects.create(**validated_data)
        usuario.set_password(validated_data['contrasenia'])
        usuario.save()
        return usuario

class ComboSerializer(serializers.ModelSerializer):
    class Meta:
        model = Combo
        fields = '__all__'

class PlatoSerializer(serializers.ModelSerializer):
    class Meta:
        model = Plato
        fields = '__all__'

class PlatoComboSerializer(serializers.ModelSerializer):
    class Meta:
        model = PlatoCombo
        fields = '__all__'

class DescuentoSerializer(serializers.ModelSerializer):
    class Meta:
        model = Descuento
        fields = '__all__'