from rest_framework.response import Response


def standard_response(success: bool = True, data=None, message: str = '', errors=None, meta=None):
    payload = {
        'success': success,
        'data': data if data is not None else {},
        'message': message,
        'errors': errors if errors is not None else [],
        'meta': meta if meta is not None else {},
    }
    return Response(payload)

def error_response(message, code="ERROR", fields=None, status_code=400):
    from rest_framework import status as drf_status
    if isinstance(status_code, str):
        status_code = getattr(drf_status, status_code, 400)
    return Response({
        "success": False,
        "error": {
            "code": code,
            "message": message,
            "fields": fields or {}
        }
    }, status=status_code)
