from django.urls import path, include from rest_framework import permissions from rest_framework.routers import DefaultRouter from drf_yasg.views import get_schema_view from drf_yasg import openapi from .views import ( CategoryViewSet, CourseViewSet, MaterialViewSet, LikeViewSet, ImageViewSet, TextViewSet, ImageTextViewSet, VideoViewSet, GalleryViewSet, GalleryImageViewSet, UserViewSet, LessonViewSet, ImageObjectViewSet, ) router = DefaultRouter() router.register(r'courses', CourseViewSet, base_name='courses') router.register(r'categories', CategoryViewSet, base_name='categories') router.register(r'materials', MaterialViewSet, base_name='materials') router.register(r'lessons', LessonViewSet, base_name='lessons') router.register(r'likes', LikeViewSet, base_name='likes') router.register(r'image-objects', ImageObjectViewSet, base_name='image-objects') router.register(r'images', ImageViewSet, base_name='images') router.register(r'texts', TextViewSet, base_name='texts') router.register(r'image-texts', ImageTextViewSet, base_name='image-texts') router.register(r'videos', VideoViewSet, base_name='videos') router.register(r'galleries', GalleryViewSet, base_name='galleries') router.register(r'gallery-images', GalleryImageViewSet, base_name='gallery-images') router.register(r'users', UserViewSet, base_name='users') schema_view = get_schema_view( openapi.Info( title="Lil Sity API", default_version='v1', description="Routes of Lil City project", ), validators=['flex', 'ssv'], public=False, permission_classes=(permissions.AllowAny,), ) urlpatterns = [ path('swagger(.json|.yaml)', schema_view.without_ui(cache_timeout=None), name='schema-json'), path('swagger/', schema_view.with_ui('swagger', cache_timeout=None), name='schema-swagger-ui'), path('redoc/', schema_view.with_ui('redoc', cache_timeout=None), name='schema-redoc'), path('', include((router.urls, 'api-root')), name='api-root') ]