from functools import wraps from sqlalchemy.exc import DatabaseError as SqlAlchemyDatabaseError from app.database.exceptions import DatabaseError def handle_database_errors(func): @wraps(func) def wrapper(*args, **kwargs): try: return func(*args, **kwargs) except SqlAlchemyDatabaseError as e: raise DatabaseError(str(e), -1) from e return wrapper