Projet

Général

Profil

0001-add-civil_status-generic-API-interface-16768.patch

Voir les différences:

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