242 |
242 |
@endpoint(
|
243 |
243 |
perm='can_access',
|
244 |
244 |
description=_('Fetch'),
|
245 |
245 |
parameters={
|
246 |
246 |
'uri': {'description': _('Uri')},
|
247 |
247 |
'uid': {'description': _('Uid')},
|
248 |
248 |
'text_template': {'description': _('Text template')},
|
249 |
249 |
},
|
250 |
|
display_order=1,
|
|
250 |
display_order=4,
|
251 |
251 |
)
|
252 |
252 |
def fetch(self, request, uid, uri='', text_template=''):
|
253 |
253 |
response = self.request(uri=uri, uid=uid, method='GET')
|
254 |
254 |
self.adapt_record(response, text_template)
|
255 |
255 |
return {'data': response}
|
256 |
256 |
|
257 |
257 |
@endpoint(
|
258 |
258 |
perm='can_access',
|
259 |
259 |
description=_('Creates'),
|
260 |
260 |
parameters={
|
261 |
261 |
'uri': {'description': _('Uri')},
|
262 |
262 |
},
|
263 |
263 |
methods=['post'],
|
264 |
|
display_order=2,
|
|
264 |
display_order=5,
|
265 |
265 |
)
|
266 |
266 |
def create(self, request, uri):
|
267 |
267 |
try:
|
268 |
268 |
post_data = json_loads(request.body)
|
269 |
269 |
except ValueError as e:
|
270 |
270 |
raise ParameterTypeError(str(e))
|
271 |
271 |
post_data = unflatten(post_data)
|
272 |
272 |
response = self.request(uri=uri, method='POST', json=post_data)
|
... | ... | |
275 |
275 |
@endpoint(
|
276 |
276 |
perm='can_access',
|
277 |
277 |
description=_('Update'),
|
278 |
278 |
parameters={
|
279 |
279 |
'uri': {'description': _('Uri')},
|
280 |
280 |
'uid': {'description': _('Uid')},
|
281 |
281 |
},
|
282 |
282 |
methods=['post'],
|
283 |
|
display_order=3,
|
|
283 |
display_order=6,
|
284 |
284 |
)
|
285 |
285 |
def update(self, request, uid, uri=''):
|
286 |
286 |
try:
|
287 |
287 |
post_data = json_loads(request.body)
|
288 |
288 |
except ValueError as e:
|
289 |
289 |
raise ParameterTypeError(str(e))
|
290 |
290 |
post_data = unflatten(post_data)
|
291 |
291 |
self.request(uri=uri, uid=uid, method='PATCH', json=post_data)
|
... | ... | |
294 |
294 |
@endpoint(
|
295 |
295 |
perm='can_access',
|
296 |
296 |
description=_('Remove'),
|
297 |
297 |
parameters={
|
298 |
298 |
'uri': {'description': _('Uri')},
|
299 |
299 |
'uid': {'description': _('Uid')},
|
300 |
300 |
},
|
301 |
301 |
methods=['delete'],
|
302 |
|
display_order=4,
|
|
302 |
display_order=7,
|
303 |
303 |
)
|
304 |
304 |
def remove(self, request, uid, uri=''):
|
305 |
305 |
self.request(method='DELETE', uri=uri, uid=uid)
|
306 |
306 |
return {'data': {'uid': uid, 'removed': True}}
|
307 |
307 |
|
308 |
308 |
@endpoint(
|
309 |
309 |
perm='can_access',
|
310 |
310 |
description=_('Search'),
|
311 |
|
-
|