from rest_polymorphic.serializers import PolymorphicSerializer

from ..models.articolo import Articolo
from ..models.prodotto_combinato import ProdottoCombinato
from ..models.prodotto_variante import ProdottoVariante
from ..models.servizio import Servizio
from .articolo import ArticoloSerializer
from .prodotto_combinato import ProdottoCombinatoSerializer
from .prodotto_variante import ProdottoVarianteSerializer
from .servizio import ServizioSerializer


class ProdottoSerializer(PolymorphicSerializer):
    model_serializer_mapping = {
        Articolo: ArticoloSerializer,
        Servizio: ServizioSerializer,
        ProdottoVariante: ProdottoVarianteSerializer,
        ProdottoCombinato: ProdottoCombinatoSerializer,
    }
