Files
Horeka-365-backend/core/apps/shared/mixins/response.py
2025-09-02 17:03:43 +05:00

48 lines
1.5 KiB
Python

from rest_framework import status
from rest_framework.response import Response
class ResponseMixin:
SUCCESS = 'success'
FAILURE = 'failure'
ERROR = 'error'
@classmethod
def success_response(cls, data=None, message=None, status_code=status.HTTP_200_OK):
"""
Returns Success response
"""
response_data = {'status_code': status_code, 'status': cls.SUCCESS}
if message is not None:
response_data['message'] = message
if data is not None:
response_data['data'] = data
return Response(response_data, status=status_code)
@classmethod
def failure_response(
cls, data=None, message=None, status_code=status.HTTP_400_BAD_REQUEST
):
"""
Returns Failure Response
"""
response_data = {"status_code": status_code, "status": cls.FAILURE}
if message is not None:
response_data["message"] = message
if data is not None:
response_data["data"] = data
return Response(response_data, status=status_code)
@classmethod
def error_response(
cls, data=None, message=None, status_code=status.HTTP_500_INTERNAL_SERVER_ERROR
):
"""
Returns Error Response
"""
response_data = {"status_code": status_code, "status": cls.ERROR}
if message is not None:
response_data["message"] = message
if data is not None:
response_data["data"] = data
return Response(response_data, status=status_code)