from rest_framework import serializers
from .models import Evento, Reserva, ListaEspera, Noticia


class EventoSerializer(serializers.ModelSerializer):
    class Meta:
        model = Evento
        fields = '__all__'  # Incluir todos los campos del modelo


class ReservaSerializer(serializers.ModelSerializer):
    usuario_email = serializers.CharField(source='usuario.email', read_only=True)
    evento_nombre = serializers.CharField(source='evento.nombre', read_only=True)

    class Meta:
        model = Reserva
        fields = ['id', 'usuario', 'usuario_email', 'evento', 'fecha_reserva', 'evento_nombre']


class ListaEsperaSerializer(serializers.ModelSerializer):
    usuario_email = serializers.CharField(source='usuario.email', read_only=True)
    evento_nombre = serializers.CharField(source='evento.nombre', read_only=True)

    class Meta:
        model = ListaEspera
        fields = ['id', 'fecha_apuntado', 'usuario_email', 'evento_nombre']


class NoticiaSerializer(serializers.ModelSerializer):
    usuario_email = serializers.CharField(source='autor.email', read_only=True)

    class Meta:
        model = Noticia
        fields = ['id', 'titulo', 'contenido', 'fecha_publicacion', 'publicado', 'usuario_email']
