Error Bubbling: Implement machine-readable rich error objects for CRUD operations
This commit is contained in:
@@ -432,8 +432,9 @@ async def post_obj(
|
||||
return mk_resp(data=resp_data, response=response)
|
||||
return mk_resp(data={"obj_id": new_obj_id, "obj_id_random": new_obj_id_random}, response=response)
|
||||
else:
|
||||
# Standardized rich error bubbling
|
||||
db_err = format_db_error(get_last_sql_error())
|
||||
return mk_resp(data=False, status_code=400, response=response, status_message="Failed to create object.", details=db_err)
|
||||
return mk_resp(data=False, status_code=400, response=response, status_message="Failed to create object.", details=db_err.dict())
|
||||
|
||||
|
||||
@router.patch('/{obj_type_l1}/{obj_id}', response_model=Resp_Body_Base)
|
||||
@@ -494,8 +495,9 @@ async def patch_obj(
|
||||
return mk_resp(data=resp_data, response=response)
|
||||
return mk_resp(data=True, response=response, status_message="Object updated successfully.")
|
||||
else:
|
||||
# Standardized rich error bubbling
|
||||
db_err = format_db_error(get_last_sql_error())
|
||||
return mk_resp(data=False, status_code=400, response=response, status_message="Failed to update object.", details=db_err)
|
||||
return mk_resp(data=False, status_code=400, response=response, status_message="Failed to update object.", details=db_err.dict())
|
||||
|
||||
|
||||
@router.delete('/{obj_type_l1}/{obj_id}', response_model=Resp_Body_Base)
|
||||
|
||||
@@ -204,8 +204,9 @@ async def post_child_obj(
|
||||
return mk_resp(data=resp_data, response=response)
|
||||
return mk_resp(data={"obj_id": new_obj_id, "obj_id_random": new_obj_id_random}, response=response)
|
||||
else:
|
||||
# Standardized rich error bubbling
|
||||
db_err = format_db_error(get_last_sql_error())
|
||||
return mk_resp(data=False, status_code=400, response=response, status_message="Failed to create child object.", details=db_err)
|
||||
return mk_resp(data=False, status_code=400, response=response, status_message="Failed to create child object.", details=db_err.dict())
|
||||
|
||||
|
||||
@router.get('/{parent_obj_type}/{parent_obj_id}/{child_obj_type}/{child_obj_id}', response_model=Resp_Body_Base)
|
||||
|
||||
Reference in New Issue
Block a user