from rest_framework.views import exception_handler


def custom_exception_handler(exc, context):
    """Uniform error response shape."""
    response = exception_handler(exc, context)

    if response is not None:
        custom_data = {
            "success": False,
            "error": {
                "code": response.status_code,
                "detail": response.data,
            },
        }
        response.data = custom_data

    return response
