0001-add-civil_status-generic-API-interface-16768.patch
passerelle/civil_status/__init__.py | ||
---|---|---|
1 |
import json |
|
2 | ||
3 |
from passerelle.utils.api import endpoint |
|
4 |
from passerelle.utils.jsonresponse import APIError |
|
5 | ||
6 |
MANDATORY_FIELDS = ('display_id',) |
|
7 | ||
8 | ||
9 |
class CivilStatusMixin(object): |
|
10 | ||
11 |
def check_mandatory_fields(self, data): |
|
12 |
for key in MANDATORY_FIELDS: |
|
13 |
if key not in data: |
|
14 |
raise APIError('%s is required' % key) |
|
15 | ||
16 |
@endpoint(serializer_type='json-api', perm='can_access', methods=['post']) |
|
17 |
def create(self, request, *args, **kwargs): |
|
18 |
formdata = json.loads(request.body) |
|
19 |
self.check_mandatory_fields(formdata) |
|
20 |
return self.create_demand(formdata) |
|
21 | ||
22 |
@endpoint(serializer_type='json-api', perm='can_access') |
|
23 |
def status(self, request, *args, **kwargs): |
|
24 |
demand_id = request.GET.get('demand_id', None) |
|
25 |
if not demand_id: |
|
26 |
raise APIError('demand_id is required') |
|
27 |
return self.get_status(demand_id) |
|
28 | ||
29 |
def create_demand(self, data): |
|
30 |
raise NotImplementedError |
|
31 | ||
32 |
def get_status(self, demand_id): |
|
33 |
raise NotImplementedError |
|
0 |
- |