dev@locazia: params validation fix
This commit is contained in:
parent
7d29d7449f
commit
3d16e344c3
|
|
@ -43,12 +43,13 @@ app.add_route(s_api_v1_blockchain_send_purchase_content_message, "/api/v1/blockc
|
||||||
@app.exception(BaseException)
|
@app.exception(BaseException)
|
||||||
async def s_handle_exception(request, exception):
|
async def s_handle_exception(request, exception):
|
||||||
response_buffer = response.json({"error": "An internal server error occurred"}, status=500)
|
response_buffer = response.json({"error": "An internal server error occurred"}, status=500)
|
||||||
response_buffer = await close_db_session(request, response_buffer)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
raise exception
|
raise exception
|
||||||
|
except AssertionError as e:
|
||||||
|
response_buffer = response.json({"error": str(e)}, status=400)
|
||||||
except BaseException as e:
|
except BaseException as e:
|
||||||
make_log("sanic_exception", f"Exception: {e}" + '\n' + str(traceback.format_exc()), level='error')
|
make_log("sanic_exception", f"Exception: {e}" + '\n' + str(traceback.format_exc()), level='error')
|
||||||
|
|
||||||
|
response_buffer = await close_db_session(request, response_buffer)
|
||||||
return response_buffer
|
return response_buffer
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,13 @@ from datetime import datetime, timedelta
|
||||||
|
|
||||||
def valid_royalty_params(royalty_params):
|
def valid_royalty_params(royalty_params):
|
||||||
assert sum([x['value'] for x in royalty_params]) == 10000, "Values of royalties should sum to 10000"
|
assert sum([x['value'] for x in royalty_params]) == 10000, "Values of royalties should sum to 10000"
|
||||||
|
for royalty_param in royalty_params:
|
||||||
for field_key, field_value in {
|
for field_key, field_value in {
|
||||||
'address': lambda x: isinstance(x, str),
|
'address': lambda x: isinstance(x, str),
|
||||||
'value': lambda x: (isinstance(x, int) and 0 <= x <= 10000)
|
'value': lambda x: (isinstance(x, int) and 0 <= x <= 10000)
|
||||||
}.items():
|
}.items():
|
||||||
assert field_key in royalty_params, f"No {field_key} provided"
|
assert field_key in royalty_param, f"No {field_key} provided"
|
||||||
assert field_value(royalty_params[field_key]), f"Invalid {field_key} provided"
|
assert field_value(royalty_param[field_key]), f"Invalid {field_key} provided"
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue