@ -169,12 +169,11 @@ def _build_error_response(request: Request, exc: Exception, error_id: str) -> JS
if ' unique constraint ' in orig_lower :
_store_log_state ( request , 409 , error_id , ' Conflict ' , f ' Unique constraint violation: { short } ' )
return _json_response ( 409 , f ' This record already exists. Error ID: { error_id } ' )
el if ' foreign key constraint ' in orig_lower :
if ' foreign key constraint ' in orig_lower :
_store_log_state ( request , 422 , error_id , ' Unprocessable Entity ' , f ' Foreign key constraint violation: { short } ' )
return _json_response ( 422 , f ' { _FIXED_MESSAGES [ 422 ] } . Error ID: { error_id } ' )
else :
_store_log_state ( request , 422 , error_id , ' Unprocessable Entity ' , f ' Database integrity error: { short } ' )
return _json_response ( 422 , f ' { _FIXED_MESSAGES [ 422 ] } . Error ID: { error_id } ' )
_store_log_state ( request , 422 , error_id , ' Unprocessable Entity ' , f ' Database integrity error: { short } ' )
return _json_response ( 422 , f ' { _FIXED_MESSAGES [ 422 ] } . Error ID: { error_id } ' )
if isinstance ( exc , DataError ) :
_store_log_state ( request , 422 , error_id , ' Unprocessable Entity ' , f ' Invalid data format: { short } ' )
return _json_response ( 422 , f ' { _FIXED_MESSAGES [ 422 ] } . Error ID: { error_id } ' )
@ -183,15 +182,14 @@ def _build_error_response(request: Request, exc: Exception, error_id: str) -> JS
if ' invalid input syntax ' in orig_lower or ' invalid uuid ' in orig_lower or ' invalid input for query argument ' in orig_lower :
_store_log_state ( request , 422 , error_id , ' Unprocessable Entity ' , f ' Invalid input format: { short } ' )
return _json_response ( 422 , f ' { _FIXED_MESSAGES [ 422 ] } . Error ID: { error_id } ' )
el if ' unique constraint ' in orig_lower :
if ' unique constraint ' in orig_lower :
_store_log_state ( request , 409 , error_id , ' Conflict ' , f ' Unique constraint violation: { short } ' )
return _json_response ( 409 , f ' This record already exists. Error ID: { error_id } ' )
el if ' foreign key constraint ' in orig_lower :
if ' foreign key constraint ' in orig_lower :
_store_log_state ( request , 422 , error_id , ' Unprocessable Entity ' , f ' Foreign key constraint violation: { short } ' )
return _json_response ( 422 , f ' { _FIXED_MESSAGES [ 422 ] } . Error ID: { error_id } ' )
else :
_store_log_state ( request , 500 , error_id , ' Internal Server Error ' , f ' Database query error: { short } ' )
return _json_response ( 500 , f ' An unexpected error occurred. Error ID: { error_id } ' )
_store_log_state ( request , 500 , error_id , ' Internal Server Error ' , f ' Database query error: { short } ' )
return _json_response ( 500 , f ' An unexpected error occurred. Error ID: { error_id } ' )
_store_log_state ( request , 500 , error_id , ' Internal Server Error ' , f ' Database error: { short } ' )
return _json_response ( 500 , f ' An unexpected error occurred. Error ID: { error_id } ' )
try :
@ -224,23 +222,20 @@ def handle_sqlalchemy_error(error: SQLAlchemyError):
if isinstance ( error , IntegrityError ) :
if ' unique constraint ' in str ( error ) . lower ( ) :
return ( ' This record already exists. ' , 409 )
el if ' foreign key constraint ' in str ( error ) . lower ( ) :
if ' foreign key constraint ' in str ( error ) . lower ( ) :
return ( ' Related record not found. ' , 400 )
else :
return ( ' Data integrity error. ' , 400 )
elif isinstance ( error , DataError ) or isinstance ( original_error , AsyncPGDataError ) :
return ( ' Data integrity error. ' , 400 )
if isinstance ( error , DataError ) or isinstance ( original_error , AsyncPGDataError ) :
return ( ' Invalid data provided. ' , 400 )
el if isinstance ( error , DBAPIError ) :
if isinstance ( error , DBAPIError ) :
if ' unique constraint ' in str ( error ) . lower ( ) :
return ( ' This record already exists. ' , 409 )
el if ' foreign key constraint ' in str ( error ) . lower ( ) :
if ' foreign key constraint ' in str ( error ) . lower ( ) :
return ( ' Related record not found. ' , 400 )
el if ' null value in column ' in str ( error ) . lower ( ) :
if ' null value in column ' in str ( error ) . lower ( ) :
return ( ' Required data missing. ' , 400 )
el if ' invalid input for query argument ' in str ( error ) . lower ( ) :
if ' invalid input for query argument ' in str ( error ) . lower ( ) :
return ( ' Invalid data provided. ' , 400 )
else :
return ( ' Database error. ' , 500 )
else :
log . error ( f ' Unexpected database error: { str ( error ) } ' )
return ( ' An unexpected database error occurred. ' , 500 )
return ( ' Database error. ' , 500 )
log . error ( f ' Unexpected database error: { str ( error ) } ' )
return ( ' An unexpected database error occurred. ' , 500 )