core/utils: response folder va response mixin qoshildi
This commit is contained in:
124
core/utils/response/mixin.py
Normal file
124
core/utils/response/mixin.py
Normal file
@@ -0,0 +1,124 @@
|
||||
# rest framework
|
||||
from rest_framework.response import Response
|
||||
from rest_framework import status
|
||||
|
||||
|
||||
class ResponseMixin:
|
||||
SUCCESS = "success" # 200
|
||||
FAILURE = "failure" # 400
|
||||
ERROR = "error" # 500
|
||||
NOT_FOUND = "not_found" # 404
|
||||
DELETED = "deleted" # 204
|
||||
CREATED = "created" # 201
|
||||
|
||||
@classmethod
|
||||
def success_response(cls, data=None, message=None):
|
||||
"""
|
||||
Docstring for success_response
|
||||
|
||||
:param cls: Description
|
||||
:param data: Description
|
||||
:param message: Description
|
||||
"""
|
||||
response_data = {
|
||||
"status_code": status.HTTP_200_OK,
|
||||
"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=response_data["status_code"])
|
||||
|
||||
@classmethod
|
||||
def failure_response(cls, data=None, message=None):
|
||||
"""
|
||||
Docstring for failure_response
|
||||
|
||||
:param cls: Description
|
||||
:param data: Description
|
||||
:param message: Description
|
||||
"""
|
||||
response_data = {
|
||||
"status_code": status.HTTP_400_BAD_REQUEST,
|
||||
"status": cls.FAILURE
|
||||
}
|
||||
if message is not None:
|
||||
response_data["message"] = message
|
||||
if data is not None:
|
||||
response_data["data"] = data
|
||||
return
|
||||
|
||||
@classmethod
|
||||
def not_found_response(cls, data=None, message=None):
|
||||
"""
|
||||
Docstring for not_found_response
|
||||
|
||||
:param cls: Description
|
||||
:param data: Description
|
||||
:param message: Description
|
||||
"""
|
||||
response_data = {
|
||||
"status_code": status.HTTP_404_NOT_FOUND,
|
||||
"status": cls.NOT_FOUND
|
||||
}
|
||||
if message is not None:
|
||||
response_data["message"] = message
|
||||
if data is not None:
|
||||
response_data["data"] = data
|
||||
return Response(response_data, status=response_data['status_code'])
|
||||
|
||||
@classmethod
|
||||
def deleted_response(cls,message=None):
|
||||
"""
|
||||
Docstring for deleted_response
|
||||
|
||||
:param cls: Description
|
||||
:param message: Description
|
||||
"""
|
||||
|
||||
response_data = {
|
||||
"status_code": status.HTTP_204_NO_CONTENT,
|
||||
"status": cls.DELETED
|
||||
}
|
||||
if message is not None:
|
||||
response_data["message"] = message
|
||||
return Response(response_data, status=response_data['status_code'])
|
||||
|
||||
@classmethod
|
||||
def created_response(cls, data=None, message=None):
|
||||
"""
|
||||
Docstring for created_response
|
||||
|
||||
:param cls: Description
|
||||
:param data: Description
|
||||
:param message: Description
|
||||
"""
|
||||
response_data = {
|
||||
"status_code": status.HTTP_201_CREATED,
|
||||
"status": cls.CREATED
|
||||
}
|
||||
if message is not None:
|
||||
response_data["message"] = message
|
||||
if data is not None:
|
||||
response_data["data"] = data
|
||||
return Response(response_data, status=response_data['status_code'])
|
||||
|
||||
@classmethod
|
||||
def error_response(cls, data=None, message=None):
|
||||
"""
|
||||
Docstring for error_response
|
||||
|
||||
:param cls: Description
|
||||
:param data: Description
|
||||
:param message: Description
|
||||
"""
|
||||
response_data = {
|
||||
"status_code": status.HTTP_500_INTERNAL_SERVER_ERROR,
|
||||
"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=response_data["status_code"])
|
||||
Reference in New Issue
Block a user