core/utils: response folder va response mixin qoshildi

This commit is contained in:
behruz-dev
2025-12-05 15:51:34 +05:00
parent 172e2d23c0
commit d0cb49ac9c
5 changed files with 126 additions and 3 deletions

View File

@@ -2,4 +2,3 @@ from .djangorestframework import *
from .simple_jwt import *
from .jazzmin import *
from .cors_headers import *
from .redis import *

View File

@@ -19,8 +19,8 @@ schema_view = get_schema_view(
contact=openapi.Contact(email="xoliqberdiyevbehruz12@gmail.com"),
license=openapi.License(name="Behruz's-Organization License"),
),
public=False,
permission_classes=(permissions.IsAdminUser,),
public=True,
permission_classes=(permissions.AllowAny,),
)
urlpatterns = [

0
core/utils/__init__.py Normal file
View File

View File

View 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"])