from django.urls import include, path from rest_framework.routers import SimpleRouter from apps.library.views import ( CategoryListView, PinnedBookCollectionListView, MiddleBookCollectionListView, BookListView, BookDetailView, AuthorListView, AuthorDetailView, AuthorBookListView, DownloadedBooksListView, BookDownloadCreateAPIView, ) from apps.library.views_admin import ( AdminAuthorViewSet, AdminBookViewSet, AdminLibraryCategoryViewSet, AdminLibraryCollectionViewSet, DovodiAdminLibraryCategoryViewSet, DovodiAdminLibraryCollectionViewSet, ) admin_router = SimpleRouter() admin_router.register(r'books', AdminBookViewSet, basename='admin-library-books') admin_router.register(r'authors', AdminAuthorViewSet, basename='admin-library-authors') admin_router.register(r'categories', AdminLibraryCategoryViewSet, basename='admin-library-categories') admin_router.register(r'dovodi-categories', DovodiAdminLibraryCategoryViewSet, basename='admin-library-dovodi-categories') admin_router.register(r'collections', AdminLibraryCollectionViewSet, basename='admin-library-collections') admin_router.register(r'dovodi-collections', DovodiAdminLibraryCollectionViewSet, basename='admin-library-dovodi-collections') # Hide admin viewsets from swagger for prefix, viewset, basename in admin_router.registry: viewset.swagger_schema = None urlpatterns = [ path('admin/', include(admin_router.urls)), path('categories/', CategoryListView.as_view(), name='category-list'), path('pinned-collections/', PinnedBookCollectionListView.as_view(), name='pinned-collection-list'), path('collections/', MiddleBookCollectionListView.as_view(), name='collection-list'), path('authors/', AuthorListView.as_view(), name='author-list'), path('authors//', AuthorDetailView.as_view(), name='author-detail'), path('authors//books/', AuthorBookListView.as_view(), name='author-books'), path('books/', BookListView.as_view(), name='book-list'), path('books//', BookDetailView.as_view(), name='book-detail'), path('books/downloaded/', DownloadedBooksListView.as_view(), name='downloaded-books-list'), path('books/download/', BookDownloadCreateAPIView.as_view(), name='book-download'), ]