from django.urls import path from .views.category import HadisCategorySectListView, HadisCategoryTreeView, CategoriesView, CategoriesBySectView, HadisCategorySelectBySectView, HadisCategorySelectBySectSourceView , HadisCategoryTreeNormalView from .views.hadis import HadisCollectionListView, HadisListView, HadisBasicView, HadisDetailView, HadisSyncView, HadisTransmittersView, HadisCorrectionsView,HadisMainListView, HadisFiltersView from .views.transmitter import TransmitterView ,TransmitterDetailView, TransmitterSyncView,TransmitterOpinionView, TransmitterOriginalTextView, TransmitterFiltersView from .views.reference import BookDetailView, BookReferencesView, BookReferenceSyncView, BookAttributeView from .views.info import HadisInfoView urlpatterns = [ # Most specific first (with parameters) path('collections/', HadisCollectionListView.as_view(), name='hadis-collection-list'), path('sync/sects/', HadisCategorySectListView.as_view(), name='hadis-sect-list'), path('sync/categories/tree/', HadisCategoryTreeView.as_view(), name='hadis-category-tree'), path('sync/hadis/', HadisSyncView.as_view(), name='hadis-sync'), path('sync/narrators/', TransmitterSyncView.as_view(), name='transmitter-sync'), path('sync/references/', BookReferenceSyncView.as_view(), name='reference-sync'), path('info/', HadisInfoView.as_view(), name='hadis-info'), # Category paths (more specific first) path('categories/tree/', HadisCategoryTreeNormalView.as_view(), name='hadis-category-tree-normal'), path('categories////', HadisCategorySelectBySectSourceView.as_view(), name='categories-tree-by-sect-source'), path('categories///', HadisCategorySelectBySectView.as_view(), name='categories-tree-by-sect'), path('categories//', CategoriesBySectView.as_view(), name='categories-by-sect'), path('categories/', CategoriesView.as_view(), name='categories'), # ← Least specific LAST # Hadis paths path('category//', HadisListView.as_view(), name='hadis-list'), path('arguments/', HadisMainListView.as_view(), name='hadis-main-list'), path('arguments/filters/', HadisFiltersView.as_view(), name='hadis-filters'), # Narrator paths path('narrators//opinions', TransmitterOpinionView.as_view(), name='narrator-opinions'), path('narrators//original_texts', TransmitterOriginalTextView.as_view(), name='narrator-original-texts'), path('narrators/', TransmitterDetailView.as_view(), name='narrator-detail'), path('narrators/', TransmitterView.as_view(), name='narrators'), path('narrators/filters/', TransmitterFiltersView.as_view(), name='narrator-filters'), # Reference paths path('references/', BookDetailView.as_view(), name='reference-detail'), path('references/', BookReferencesView.as_view(), name='references'), # Hadis detail paths (with slug, more specific) path('/detail/', HadisDetailView.as_view(), name='hadis-detail'), path('/transmitters/', HadisTransmittersView.as_view(), name='hadis-transmitters'), path('/corrections/', HadisCorrectionsView.as_view(), name='hadis-corrections'), path('/', HadisBasicView.as_view(), name='hadis-basic'), # ← Least specific LAST ]