from django.urls import path
from . import views

app_name = 'playlists'

urlpatterns = [
    # Dashboard
    path('', views.dashboard, name='dashboard'),
    
    # Playlist Template Management
    path('templates/', views.PlaylistTemplateListView.as_view(), name='template_list'),
    path('templates/<int:pk>/', views.PlaylistTemplateDetailView.as_view(), name='template_detail'),
    path('templates/create/', views.PlaylistTemplateCreateView.as_view(), name='template_create'),
    path('templates/<int:pk>/edit/', views.PlaylistTemplateUpdateView.as_view(), name='template_edit'),
    path('templates/<int:pk>/delete/', views.PlaylistTemplateDeleteView.as_view(), name='template_delete'),
    
    # Playlist Management
    path('playlists/', views.PlaylistListView.as_view(), name='playlist_list'),
    path('playlists/<int:pk>/', views.PlaylistDetailView.as_view(), name='playlist_detail'),
    path('playlists/create/', views.PlaylistCreateView.as_view(), name='playlist_create'),
    path('playlists/<int:pk>/edit/', views.PlaylistUpdateView.as_view(), name='playlist_edit'),
    path('playlists/<int:pk>/delete/', views.PlaylistDeleteView.as_view(), name='playlist_delete'),
    
    # Playlist Actions
    path('playlists/<int:playlist_id>/activate/', views.activate_playlist, name='activate_playlist'),
    path('playlists/<int:playlist_id>/deactivate/', views.deactivate_playlist, name='deactivate_playlist'),
    path('playlists/<int:playlist_id>/duplicate/', views.duplicate_playlist, name='duplicate_playlist'),
    
    # Playlist Item Management
    path('items/', views.PlaylistItemListView.as_view(), name='item_list'),
    path('items/<int:pk>/', views.PlaylistItemDetailView.as_view(), name='item_detail'),
    path('items/create/', views.PlaylistItemCreateView.as_view(), name='item_create'),
    path('items/<int:pk>/edit/', views.PlaylistItemUpdateView.as_view(), name='item_edit'),
    path('items/<int:pk>/delete/', views.PlaylistItemDeleteView.as_view(), name='item_delete'),
    
    # AJAX Endpoints
    path('ajax/playlist-search/', views.playlist_search_ajax, name='playlist_search_ajax'),
    path('ajax/template-search/', views.template_search_ajax, name='template_search_ajax'),
    path('ajax/playlist-stats/', views.playlist_stats_ajax, name='playlist_stats_ajax'),
]