from django.urls import path
from .views import AdminCommandCenterView, RecruiterDashboardView, HiringManagerDashboardView
from .action_point_views import (
    HiringManagerActionPointsView,
    ProjectManagerActionPointsView,
)
from .pm_views import ProjectManagerDashboardView
from .recruiter_all_views import RecruiterDashboardAllView
from .recruiter_overview_views import RecruiterOverviewView
from .recruiter_work_views import RecruiterWorkView
from .ta_views import (
    TAPendingRequirementsView,
    TAPipelineSummaryView,
    TARecruiterJDAssignmentView,
    TARequirementsSummaryView,
)

urlpatterns = [
    path("command-center/", AdminCommandCenterView.as_view(), name="dashboard-command-center"),
    path("recruiter/", RecruiterDashboardView.as_view(), name="dashboard-recruiter"),
    # Quick Overview + Action Points for the logged-in recruiter (additive).
    path("recruiter/overview/", RecruiterOverviewView.as_view(), name="dashboard-recruiter-overview"),
    # Consolidated: every Recruiter Dashboard section in ONE response. The
    # endpoints above stay for backward compatibility.
    path("recruiter/all/", RecruiterDashboardAllView.as_view(), name="dashboard-recruiter-all"),
    path("hiring-manager/", HiringManagerDashboardView.as_view(), name="dashboard-hiring-manager"),
    path("project-manager/", ProjectManagerDashboardView.as_view(), name="dashboard-project-manager"),
    # Role-based Action Points (additive, RBAC-filtered server-side).
    path(
        "project-manager/action-points/",
        ProjectManagerActionPointsView.as_view(),
        name="dashboard-project-manager-action-points",
    ),
    path(
        "hiring-manager/action-points/",
        HiringManagerActionPointsView.as_view(),
        name="dashboard-hiring-manager-action-points",
    ),
    # Recruiter-wise work — read-only, server-side scoped by the caller's role.
    path("recruiter-work/", RecruiterWorkView.as_view(), name="dashboard-recruiter-work"),

    # TA dashboard (additive)
    path("ta/requirements-summary/", TARequirementsSummaryView.as_view(), name="dashboard-ta-requirements"),
    path("ta/pending-requirements/", TAPendingRequirementsView.as_view(), name="dashboard-ta-pending"),
    path("ta/recruiter-jd-assignment/", TARecruiterJDAssignmentView.as_view(), name="dashboard-ta-assignments"),
    path("ta/pipeline-summary/", TAPipelineSummaryView.as_view(), name="dashboard-ta-pipeline"),
]
