konova/api/views/v1/views.py

56 lines
1.5 KiB
Python
Raw Normal View History

"""
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