from django.urls import path

from .views import (
    CandidateScoresView,
    CandidatesByStageView,
    ConversionFunnelView,
    DashboardSummaryView,
    ReportExportView,
)
from .candidate_reports_views import (
    CandidateReportDetailView,
    CandidateReportDownloadView,
    CandidateReportGenerateView,
    CandidateReportListView,
    CandidateReportSummaryView,
)
from .overall_views import (
    OverallCandidatesByStageView,
    OverallConversionFunnelView,
    OverallExportView,
    OverallJobPerformanceView,
    OverallRecruiterPerformanceView,
    OverallSummaryView,
    TopPerformingJobsView,
)

urlpatterns = [
    path("dashboard-summary/", DashboardSummaryView.as_view(), name="reports-dashboard-summary"),
    path("candidates-by-stage/", CandidatesByStageView.as_view(), name="reports-candidates-by-stage"),
    path("candidate-scores/", CandidateScoresView.as_view(), name="reports-candidate-scores"),
    path("conversion-funnel/", ConversionFunnelView.as_view(), name="reports-conversion-funnel"),
    path("export/", ReportExportView.as_view(), name="reports-export"),

    # Overall ATS dashboard — active JDs only
    path("overall-dashboard/summary/", OverallSummaryView.as_view(), name="overall-summary"),
    path("overall-dashboard/candidates-by-stage/", OverallCandidatesByStageView.as_view(), name="overall-candidates-by-stage"),
    path("overall-dashboard/conversion-funnel/", OverallConversionFunnelView.as_view(), name="overall-conversion-funnel"),
    path("overall-dashboard/recruiter-performance/", OverallRecruiterPerformanceView.as_view(), name="overall-recruiter-performance"),
    path("overall-dashboard/job-performance/", OverallJobPerformanceView.as_view(), name="overall-job-performance"),
    path("overall-dashboard/top-performing-jobs/", TopPerformingJobsView.as_view(), name="overall-top-performing-jobs"),
    path("overall-dashboard/export/", OverallExportView.as_view(), name="overall-export"),

    # Candidate PDF reports
    path("candidate-reports/", CandidateReportListView.as_view(), name="candidate-reports"),
    path("candidate-reports/summary/", CandidateReportSummaryView.as_view(), name="candidate-reports-summary"),
    path("candidate-reports/<int:candidate_id>/", CandidateReportDetailView.as_view(), name="candidate-report-detail"),
    path("candidate-reports/<int:candidate_id>/generate/", CandidateReportGenerateView.as_view(), name="candidate-report-generate"),
    path("candidate-reports/<int:candidate_id>/regenerate/", CandidateReportGenerateView.as_view(), name="candidate-report-regenerate"),
    path("candidate-reports/<int:candidate_id>/download/", CandidateReportDownloadView.as_view(), name="candidate-report-download"),
]
