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, ObtainTempToken from .views import ( AuthorBalanceViewSet, AuthorRequestViewSet, BannerViewSet, ConfigViewSet, CategoryViewSet, CourseViewSet, CommentViewSet, MaterialViewSet, LikeViewSet, ImageViewSet, TextViewSet, ImageTextViewSet, VideoViewSet, GalleryViewSet, GalleryImageViewSet, UserViewSet, LessonViewSet, ImageObjectViewSet, SchoolScheduleViewSet, LiveLessonViewSet, PaymentViewSet, ObjectCommentsViewSet, ContestViewSet, ContestWorkViewSet, NotifiedAboutBonuses, AuthorBalanceUsersViewSet, CaptureEmail, FAQViewSet, UserGalleryViewSet, BonusesViewSet, PackageViewSet, TagViewSet) router = DefaultRouter() router.register(r'author-requests', AuthorRequestViewSet, base_name='author-requests') router.register(r'author-balance', AuthorBalanceViewSet, base_name='author-balance') router.register(r'baners', BannerViewSet, base_name='banners') router.register(r'categories', CategoryViewSet, base_name='categories') router.register(r'courses', CourseViewSet, base_name='courses') router.register(r'comments', CommentViewSet, base_name='comments') router.register(r'obj-comments', ObjectCommentsViewSet, base_name='obj-comments') 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'live-lesson', LiveLessonViewSet, base_name='live-lesson') router.register(r'payments', PaymentViewSet, base_name='payments') 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'faq', FAQViewSet, base_name='faq') router.register(r'school-schedules', SchoolScheduleViewSet, base_name='school-schedules') router.register(r'bonuses', BonusesViewSet, base_name='bonuses') router.register(r'users', UserViewSet, base_name='users') router.register(r'user-gallery', UserGalleryViewSet, base_name='user-gallery') router.register(r'contests', ContestViewSet, base_name='contests') router.register(r'contest-works', ContestWorkViewSet, base_name='contest_works') router.register(r'packages', PackageViewSet, base_name='packages') router.register(r'tags', TagViewSet, base_name='tags') # router.register(r'configs', ConfigViewSet, base_name='configs') 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('notified-about-bonuses/', NotifiedAboutBonuses.as_view(), name='notified-about-bonuses'), path('capture-email/', CaptureEmail.as_view(), name='capture-email'), path('author-balance-users/', AuthorBalanceUsersViewSet.as_view(), name='author-balance-users'), path('api-token-auth/', ObtainToken.as_view(), name='api-token-auth'), path('temp-auth-token/', ObtainTempToken.as_view(), name='temp-auth-token'), path('configs/', ConfigViewSet.as_view(), name='configs'), 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'), ]