#31 API code cleaning
* splits large AbstractModelAPISerializer into different reusable Mixins to increase reusability of code for similar models
This commit is contained in:
@@ -8,7 +8,8 @@ Created on: 24.01.22
|
||||
from django.db import transaction
|
||||
from django.db.models import QuerySet
|
||||
|
||||
from api.utils.serializer.v1.serializer import AbstractModelAPISerializerV1
|
||||
from api.utils.serializer.v1.serializer import AbstractModelAPISerializerV1, \
|
||||
ResponsibilityAPISerializerV1Mixin, LegalAPISerializerV1Mixin
|
||||
from codelist.settings import CODELIST_CONSERVATION_OFFICE_ID, CODELIST_REGISTRATION_OFFICE_ID, \
|
||||
CODELIST_PROCESS_TYPE_ID, CODELIST_LAW_ID
|
||||
from intervention.models import Intervention, Responsibility, Legal
|
||||
@@ -17,7 +18,7 @@ from konova.tasks import celery_update_parcels
|
||||
from user.models import UserActionLogEntry
|
||||
|
||||
|
||||
class InterventionAPISerializerV1(AbstractModelAPISerializerV1):
|
||||
class InterventionAPISerializerV1(AbstractModelAPISerializerV1, ResponsibilityAPISerializerV1Mixin, LegalAPISerializerV1Mixin):
|
||||
model = Intervention
|
||||
|
||||
def compensations_to_json(self, qs: QuerySet):
|
||||
@@ -27,6 +28,17 @@ class InterventionAPISerializerV1(AbstractModelAPISerializerV1):
|
||||
)
|
||||
)
|
||||
|
||||
def payments_to_json(self, qs: QuerySet):
|
||||
""" Serializes payments into json
|
||||
|
||||
Args:
|
||||
qs (QuerySet): A queryset of Payment entries
|
||||
|
||||
Returns:
|
||||
serialized_json (list)
|
||||
"""
|
||||
return list(qs.values("amount", "due_on", "comment"))
|
||||
|
||||
def extend_properties_data(self, entry):
|
||||
self.properties_data["responsible"] = self.responsible_to_json(entry.responsible)
|
||||
self.properties_data["legal"] = self.legal_to_json(entry.legal)
|
||||
|
||||
Reference in New Issue
Block a user