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 from .views.transmitter import TransmitterView ,TransmitterDetailView, TransmitterSyncView,TransmitterOpinionView, TransmitterOriginalTextView 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'), # 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 # 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'), # Reference paths path('references/', BookDetailView.as_view(), name='reference-detail'), path('references/', BookReferencesView.as_view(), name='references'), ]