from rest_framework.viewsets import ReadOnlyModelViewSet

from .api_serializers import (
    BankTransactionSerializer,
    DestinataerSerializer,
    FoerderungSerializer,
    LandSerializer,
    LandVerpachtungSerializer,
    PaechterSerializer,
    StiftungsKalenderEintragSerializer,
    StiftungsKontoSerializer,
    VeranstaltungSerializer,
    VerwaltungskostenSerializer,
)
from .models import (
    BankTransaction,
    Destinataer,
    Foerderung,
    Land,
    LandVerpachtung,
    Paechter,
    StiftungsKalenderEintrag,
    StiftungsKonto,
    Veranstaltung,
    Verwaltungskosten,
)


class DestinataerViewSet(ReadOnlyModelViewSet):
    queryset = Destinataer.objects.all()
    serializer_class = DestinataerSerializer


class LandViewSet(ReadOnlyModelViewSet):
    queryset = Land.objects.all()
    serializer_class = LandSerializer


class PaechterViewSet(ReadOnlyModelViewSet):
    queryset = Paechter.objects.all()
    serializer_class = PaechterSerializer


class FoerderungViewSet(ReadOnlyModelViewSet):
    queryset = Foerderung.objects.all()
    serializer_class = FoerderungSerializer


class StiftungsKontoViewSet(ReadOnlyModelViewSet):
    queryset = StiftungsKonto.objects.all()
    serializer_class = StiftungsKontoSerializer


class LandVerpachtungViewSet(ReadOnlyModelViewSet):
    queryset = LandVerpachtung.objects.all()
    serializer_class = LandVerpachtungSerializer


class VerwaltungskostenViewSet(ReadOnlyModelViewSet):
    queryset = Verwaltungskosten.objects.all()
    serializer_class = VerwaltungskostenSerializer


class StiftungsKalenderEintragViewSet(ReadOnlyModelViewSet):
    queryset = StiftungsKalenderEintrag.objects.all()
    serializer_class = StiftungsKalenderEintragSerializer


class BankTransactionViewSet(ReadOnlyModelViewSet):
    queryset = BankTransaction.objects.all()
    serializer_class = BankTransactionSerializer


class VeranstaltungViewSet(ReadOnlyModelViewSet):
    queryset = Veranstaltung.objects.all()
    serializer_class = VeranstaltungSerializer
