You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
2.1 KiB
53 lines
2.1 KiB
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 .auth import ObtainToken
|
|
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(<str:format>.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('api-token-auth/', ObtainToken.as_view(), name='api-token-auth'),
|
|
path('', include((router.urls, 'api-root')), name='api-root'),
|
|
]
|
|
|