From 91eb9674b159c2e5b9c82d7793a98c5a46bf97a9 Mon Sep 17 00:00:00 2001 From: Serghei Date: Sun, 18 Jun 2017 17:33:05 +0200 Subject: [PATCH] add civil_status generic API interface (#16768) --- passerelle/civil_status/__init__.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 passerelle/civil_status/__init__.py diff --git a/passerelle/civil_status/__init__.py b/passerelle/civil_status/__init__.py new file mode 100644 index 0000000..69dd259 --- /dev/null +++ b/passerelle/civil_status/__init__.py @@ -0,0 +1,33 @@ +import json + +from passerelle.utils.api import endpoint +from passerelle.utils.jsonresponse import APIError + +MANDATORY_FIELDS = ('display_id',) + + +class CivilStatusMixin(object): + + def check_mandatory_fields(self, data): + for key in MANDATORY_FIELDS: + if key not in data: + raise APIError('%s is required' % key) + + @endpoint(serializer_type='json-api', perm='can_access', methods=['post']) + def create(self, request, *args, **kwargs): + formdata = json.loads(request.body) + self.check_mandatory_fields(formdata) + return self.create_demand(formdata) + + @endpoint(serializer_type='json-api', perm='can_access') + def status(self, request, *args, **kwargs): + demand_id = request.GET.get('demand_id', None) + if not demand_id: + raise APIError('demand_id is required') + return self.get_status(demand_id) + + def create_demand(self, data): + raise NotImplementedError + + def get_status(self, demand_id): + raise NotImplementedError -- 2.11.0