Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adds documentation api #13

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 23 additions & 3 deletions http_urls.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from django.urls import path, re_path
from django.urls import path, re_path ,include,URLPattern
from rest_framework.routers import SimpleRouter
from buy_and_sell.views.sale_product_views import SaleProductList
from buy_and_sell.views.constants import ConstantViewSet
Expand All @@ -10,7 +10,10 @@
from buy_and_sell.views.search_view import GlobalSearchList
from buy_and_sell.views.who_am_i import WhoAmI
from buy_and_sell.views.picture_views import PictureList

from rest_framework import permissions
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
from drf_yasg.generators import OpenAPISchemaGenerator

app_name = 'buy_and_sell'
router = SimpleRouter()
Expand Down Expand Up @@ -49,6 +52,23 @@
re_path(r'^search/$', GlobalSearchList.as_view(), name="search"),
path('who_am_i/', WhoAmI.as_view(), name='who_am_i'),
path('picture/', PictureList.as_view(), name='product_picture'),
path('', include(router.urls)),
]

schema_view = get_schema_view(
openapi.Info(
title="Your API",
default_version='v1',
description="API documentation",
),
public=True,
permission_classes=(permissions.AllowAny,),
patterns=urlpatterns,

)
urlpatterns += [
path('swagger<format>/', schema_view.without_ui(cache_timeout=0), name='schema-json'),
path('swagger.json/', schema_view.without_ui(cache_timeout=0), name='schema-json'),
path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
]

urlpatterns += router.urls
1 change: 1 addition & 0 deletions serializers/categories.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,4 @@ class Meta:
'slug',
'sub_categories'
)
ref_name= "BuyandSellCategory"
6 changes: 6 additions & 0 deletions serializers/constants.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from rest_framework import serializers

class ConstantSerializer(serializers.Serializer):
periodicity = serializers.DictField(child=serializers.CharField())


1 change: 1 addition & 0 deletions serializers/picture.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ class PictureSerializer(serializers.ModelSerializer):
class Meta:
model = Picture
fields = '__all__'
ref_name="picture_serializer"
7 changes: 3 additions & 4 deletions serializers/search.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
from rest_framework import serializers

from buy_and_sell.models import SaleProduct
from buy_and_sell.models import RequestProduct
from buy_and_sell.models import SaleProduct, RequestProduct
from buy_and_sell.serializers.sale_product import SaleProductSerializer
from buy_and_sell.serializers.request_product import RequestProductSerializer


class GlobalSearchSerializer(serializers.ModelSerializer):
"""
Serializer to serialize the search results
"""

class Meta:
model = SaleProduct
fields = '__all__'
ref_name = "GlobalSearchSerializer"

def to_representation(self, obj):
if isinstance(obj, SaleProduct):
Expand Down
3 changes: 2 additions & 1 deletion views/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from rest_framework.response import Response
from rest_framework.renderers import JSONRenderer
from buy_and_sell import constants

from buy_and_sell.serializers.constants import ConstantSerializer

class ConstantViewSet(
mixins.ListModelMixin,
Expand All @@ -12,6 +12,7 @@ class ConstantViewSet(
List view for constants and their codes
"""
renderer_classes = [JSONRenderer,]
serializer_class = ConstantSerializer

def list(self, request):
"""
Expand Down