# -*- coding: utf-8 -*-
"""
Channels App URLs

This module contains URL patterns for the channels app including channel management,
zones, codecs, EPG, jingles, and schedules with comprehensive permission system.
"""

from django.urls import path
from apps.channels import views

app_name = 'channels'

urlpatterns = [
    # Dashboard
    path('', views.ChannelDashboardView.as_view(), name='dashboard'),
    
    # Channel Management (Class-Based Views)
    path('channels/', views.ChannelListView.as_view(), name='channel_list'),
    path('channels/<int:pk>/', views.ChannelDetailView.as_view(), name='channel_detail'),
    path('channels/create/', views.ChannelCreateView.as_view(), name='channel_create'),
    path('channels/<int:pk>/edit/', views.ChannelUpdateView.as_view(), name='channel_edit'),
    path('channels/<int:pk>/delete/', views.ChannelDeleteView.as_view(), name='channel_delete'),
    
    # Channel Zone Management (Class-Based Views)
    path('zones/', views.ChannelZoneListView.as_view(), name='zone_list'),
    path('zones/<int:pk>/', views.ChannelZoneDetailView.as_view(), name='zone_detail'),
    path('zones/create/', views.ChannelZoneCreateView.as_view(), name='zone_create'),
    path('zones/<int:pk>/edit/', views.ChannelZoneUpdateView.as_view(), name='zone_edit'),
    path('zones/<int:pk>/delete/', views.ChannelZoneDeleteView.as_view(), name='zone_delete'),
    
    # Channel Codec Management (Class-Based Views)
    path('codecs/', views.ChannelCodecListView.as_view(), name='codec_list'),
    path('codecs/<int:pk>/', views.ChannelCodecDetailView.as_view(), name='codec_detail'),
    path('codecs/create/', views.ChannelCodecCreateView.as_view(), name='codec_create'),
    path('codecs/<int:pk>/edit/', views.ChannelCodecUpdateView.as_view(), name='codec_edit'),
    path('codecs/<int:pk>/delete/', views.ChannelCodecDeleteView.as_view(), name='codec_delete'),
    
    # EPG Program Management (Class-Based Views)
    path('epg/', views.EPGProgramListView.as_view(), name='epg_list'),
    path('epg/<int:pk>/', views.EPGProgramDetailView.as_view(), name='epg_detail'),
    path('epg/create/', views.EPGProgramCreateView.as_view(), name='epg_create'),
    path('epg/<int:pk>/edit/', views.EPGProgramUpdateView.as_view(), name='epg_edit'),
    path('epg/<int:pk>/delete/', views.EPGProgramDeleteView.as_view(), name='epg_delete'),
    
    # Jingle Management (Class-Based Views)
    path('jingles/', views.JingleListView.as_view(), name='jingle_list'),
    path('jingles/<int:pk>/', views.JingleDetailView.as_view(), name='jingle_detail'),
    path('jingles/create/', views.JingleCreateView.as_view(), name='jingle_create'),
    path('jingles/<int:pk>/edit/', views.JingleUpdateView.as_view(), name='jingle_edit'),
    path('jingles/<int:pk>/delete/', views.JingleDeleteView.as_view(), name='jingle_delete'),
    
    # API Endpoints (Class-Based Views)
    path('api/channels/<int:pk>/health-check/', views.ChannelHealthCheckAPIView.as_view(), name='channel_health_check_api'),
    path('api/channels/<int:pk>/stats/', views.ChannelStatsAPIView.as_view(), name='channel_stats_api'),
    
    # Backward Compatibility URLs
    path('legacy/dashboard/', views.dashboard, name='legacy_dashboard'),
    path('legacy/list/', views.channel_list, name='legacy_list'),
    path('legacy/create/', views.channel_create, name='legacy_create'),
    path('legacy/<int:pk>/', views.channel_detail, name='legacy_detail'),
    path('legacy/<int:pk>/edit/', views.channel_edit, name='legacy_edit'),
    path('legacy/<int:pk>/health-check/', views.channel_health_check, name='legacy_health_check'),
    path('legacy/<int:pk>/stats/', views.channel_stats_api, name='legacy_stats_api'),
]
