Skip to content

json_response

django_spire.contrib.responses.json_response

error_json_response

Source code in django_spire/contrib/responses/json_response.py
def error_json_response(message: str | None = None, **kwargs) -> JsonResponse:
    return json_response(type=ResponseTypeChoices.ERROR, message=message, **kwargs)

info_json_response

Source code in django_spire/contrib/responses/json_response.py
def info_json_response(message: str | None = None, **kwargs) -> JsonResponse:
    return json_response(type=ResponseTypeChoices.INFO, message=message, **kwargs)

json_response

Source code in django_spire/contrib/responses/json_response.py
def json_response(type: ResponseTypeChoices | str, message: str | None = None, **kwargs) -> JsonResponse:
    response_choices = [choice.value for choice in ResponseTypeChoices]

    if isinstance(type, ResponseTypeChoices):
        type_value = type.value
    elif isinstance(type, str):
        if type not in response_choices:
            valid = ', '.join(response_choices)
            raise ValueError(f'{type} is not a valid option for ResponseTypeChoices: [{valid}]')
        type_value = type
    else:
        valid = ', '.join(response_choices)
        raise ValueError(f'{type} is not a valid option for ResponseTypeChoices: [{valid}]')

    return_data = {
        'type': type_value,
        **kwargs,
    }

    if message is not None:
        return_data['message'] = message

    return JsonResponse(return_data)

success_json_response

Source code in django_spire/contrib/responses/json_response.py
def success_json_response(message: str | None = None, **kwargs) -> JsonResponse:
    return json_response(type=ResponseTypeChoices.SUCCESS, message=message, **kwargs)

warning_json_response

Source code in django_spire/contrib/responses/json_response.py
def warning_json_response(message: str | None = None, **kwargs) -> JsonResponse:
    return json_response(type=ResponseTypeChoices.WARNING, message=message, **kwargs)