def patch(self, request, table_name=None):
"""Patch endpoint. Partially edit a row.
:param request: Sanic Request.
:param table_name: Name of the table to access.
"""
if not check_csrf(request):
return json({'message': 'access denied'}, status=403)
waf = get_jawaf()
table = registry.get(table_name)
target_id = request.json.get('id', None)
if not target_id:
return json({'message': 'no id'}, status=400)
if not table:
return json({'message': 'access denied'}, status=403)
request.json.pop('id')
async with Connection(table['database']) as con:
stmt = table['table'].update().where(table['table'].c.id==target_id).values(**request.json)
await con.execute(stmt)
await add_audit_action('put', 'admin', table_name, request['session']['user'])
return json({'message': 'success'}, status=200)
评论列表
文章目录