""" Analytics app URLs with comprehensive CRUD operations. """ from django.urls import path, include from . import views app_name = 'analytics' urlpatterns = [ # ============================================================================ # DASHBOARD AND OVERVIEW # ============================================================================ path('', views.AnalyticsDashboardView.as_view(), name='dashboard'), # ============================================================================ # DASHBOARD URLS (FULL CRUD - Master Data) # ============================================================================ path('dashboards/', views.DashboardListView.as_view(), name='dashboard_list'), path('dashboards/create/', views.DashboardCreateView.as_view(), name='dashboard_create'), path('dashboards//', views.DashboardDetailView.as_view(), name='dashboard_detail'), path('dashboards//update/', views.DashboardUpdateView.as_view(), name='dashboard_update'), path('dashboards//delete/', views.DashboardDeleteView.as_view(), name='dashboard_delete'), # ============================================================================ # DASHBOARD WIDGET URLS (FULL CRUD - Operational Data) # ============================================================================ path('widgets/', views.DashboardWidgetListView.as_view(), name='dashboard_widget_list'), path('widgets/create/', views.DashboardWidgetCreateView.as_view(), name='dashboard_widget_create'), path('widgets//', views.DashboardWidgetDetailView.as_view(), name='dashboard_widget_detail'), path('widgets//update/', views.DashboardWidgetUpdateView.as_view(), name='dashboard_widget_update'), path('widgets//delete/', views.DashboardWidgetDeleteView.as_view(), name='dashboard_widget_delete'), # ============================================================================ # DATA SOURCE URLS (FULL CRUD - Master Data) # ============================================================================ path('data-sources/', views.DataSourceListView.as_view(), name='data_source_list'), path('data-sources/create/', views.DataSourceCreateView.as_view(), name='data_source_create'), path('data-sources//', views.DataSourceDetailView.as_view(), name='data_source_detail'), path('data-sources//update/', views.DataSourceUpdateView.as_view(), name='data_source_update'), path('data-sources//delete/', views.DataSourceDeleteView.as_view(), name='data_source_delete'), # ============================================================================ # REPORT URLS (FULL CRUD - Operational Data) # ============================================================================ path('reports/', views.ReportListView.as_view(), name='report_list'), path('reports/create/', views.ReportCreateView.as_view(), name='report_create'), path('reports//', views.ReportDetailView.as_view(), name='report_detail'), path('reports//update/', views.ReportUpdateView.as_view(), name='report_update'), path('reports//delete/', views.ReportDeleteView.as_view(), name='report_delete'), path('ajax/report-list/', views.report_list, name='report_list_data'), # ============================================================================ # REPORT EXECUTION URLS (READ-ONLY - System Generated) # ============================================================================ path('executions/', views.ReportExecutionListView.as_view(), name='report_execution_list'), path('executions//', views.ReportExecutionDetailView.as_view(), name='report_execution_detail'), # ============================================================================ # METRIC DEFINITION URLS (FULL CRUD - Master Data) # ============================================================================ path('metrics/', views.MetricDefinitionListView.as_view(), name='metric_definition_list'), path('metrics/create/', views.MetricDefinitionCreateView.as_view(), name='metric_definition_create'), path('metrics//', views.MetricDefinitionDetailView.as_view(), name='metric_definition_detail'), path('metrics//update/', views.MetricDefinitionUpdateView.as_view(), name='metric_definition_update'), path('metrics//delete/', views.MetricDefinitionDeleteView.as_view(), name='metric_definition_delete'), path('ajax/metric-stats/', views.metric_stats, name='metric_stats'), path('ajax/metric-list/', views.metric_list, name='metric_list'), # ============================================================================ # METRIC VALUE URLS (READ-ONLY - System Generated) # ============================================================================ path('metric-values/', views.MetricValueListView.as_view(), name='metric_value_list'), # ============================================================================ # HTMX ENDPOINTS FOR REAL-TIME UPDATES # ============================================================================ path('htmx/stats/', views.analytics_stats, name='analytics_stats'), path('htmx/dashboard-search/', views.dashboard_search, name='dashboard_search'), # ============================================================================ # ACTION URLS FOR WORKFLOW OPERATIONS # ============================================================================ path('data-sources//test/', views.test_data_source, name='test_data_source'), path('reports//execute/', views.execute_report, name='execute_report'), path('metrics//calculate/', views.calculate_metric, name='calculate_metric'), # ============================================================================ # API ENDPOINTS # ============================================================================ path('api/', include('analytics.api.urls')), ]