import json
from django.http import JsonResponse


def parse_body(request):
    """
    Parsea el body de la request como JSON.
    Lanza ValueError si el body está vacío o no es JSON válido.
    """
    raw = request.body
    if not raw:
        raise ValueError('El body de la petición está vacío.')
    return json.loads(raw)


def build_error_response(message, status=400, data=None):
    """Construye una respuesta de error en el formato estándar del proyecto."""
    body = {'data': data if data is not None else [], 'error': message}
    return JsonResponse({'body': body, 'mensaje': message}, status=status, safe=False)


def build_success_response(data, status=200):
    """Construye una respuesta de éxito en el formato estándar del proyecto."""
    return JsonResponse(data, status=status, safe=False)
