""" Author: Michel Peltriaux Organization: Struktur- und Genehmigungsdirektion Nord, Rhineland-Palatinate, Germany Contact: michel.peltriaux@sgdnord.rlp.de Created on: 21.01.22 """ from django.http import JsonResponse, HttpRequest from api.utils.v1.compensation import CompensationAPISerializerV1 from api.utils.v1.ecoaccount import EcoAccountAPISerializerV1 from api.utils.v1.ema import EmaAPISerializerV1 from api.utils.v1.intervention import InterventionAPISerializerV1 from api.views.views import AbstractModelAPIView class AbstractModelAPIViewV1(AbstractModelAPIView): """ Holds general serialization functions for API v1 """ def get(self, request: HttpRequest, id): """ Handles the GET request Performs the fetching and serialization of the data Args: request (HttpRequest): The incoming request id (str): The entries id Returns: """ try: self.serializer.prepare_lookup(id, self.user) data = self.serializer.fetch_and_serialize() except Exception as e: return self.return_error_response(e, 500) return JsonResponse(data) class InterventionAPIViewV1(AbstractModelAPIViewV1): serializer = InterventionAPISerializerV1 class CompensationAPIViewV1(AbstractModelAPIViewV1): serializer = CompensationAPISerializerV1 class EcoAccountAPIViewV1(AbstractModelAPIViewV1): serializer = EcoAccountAPISerializerV1 class EmaAPIViewV1(AbstractModelAPIViewV1): serializer = EmaAPISerializerV1