Projet

Général

Profil

0001-jsondatastore-return-datetimes-in-results.patch

Valentin Deniaud, 02 octobre 2019 14:56

Télécharger (2,27 ko)

Voir les différences:

Subject: [PATCH] jsondatastore: return datetimes in results

 passerelle/apps/jsondatastore/models.py | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)
passerelle/apps/jsondatastore/models.py
54 54
            self.text = template.render(context).strip()
55 55
        return super(JsonData, self).save(*args, **kwargs)
56 56

  
57
    def to_json(self):
58
        return {
59
            'id': self.uuid,
60
            'text': self.text,
61
            'content': self.content,
62
            'creation_datetime': str(self.creation_datetime),
63
            'last_update_datetime': str(self.last_update_datetime),
64
        }
65

  
57 66

  
58 67
class JsonDataStore(BaseResource):
59 68
    category = _('Data Sources')
......
69 78
        objects = JsonData.objects.filter(datastore=self)
70 79
        if name_id is not None:
71 80
            objects = objects.filter(name_id=name_id)
72
        return {'data': [{'id': x.uuid, 'text': x.text, 'content': x.content} for x in objects]}
81
        return {'data': [x.to_json() for x in objects]}
73 82

  
74 83
    @endpoint(perm='can_access', methods=['post'], name='data',
75 84
              pattern=r'create$',
......
111 120
        elif request.method == 'PATCH':
112 121
            data.content.update(json.loads(request.body))
113 122
            data.save()
114
        return {'id': data.uuid, 'text': data.text, 'content': data.content}
123
        return data.to_json()
115 124

  
116 125
    @endpoint(perm='can_access', methods=['post'], name='data',
117 126
              description=_('Delete'),
......
138 147
            objects = objects.filter(name_id=name_id)
139 148
        for data in objects:
140 149
            if data.content and data.content.get(attribute) == value:
141
                return {'id': data.uuid, 'text': data.text, 'content': data.content}
150
                return data.to_json()
142 151
        raise APIError('no such object')
143
-