from django.urls import include, path
from rest_framework.routers import DefaultRouter

from .views import (
    AdminStageViewSet, StageListView, JobApplicationViewSet,
    JobRankingView, ScreeningEmailView, RankScoreOverrideView, RankParameterViewSet,
    InterviewFeedbackViewSet, InterviewScheduleViewSet, RoundListView,
    ShortlistCreateView, PublicShortlistView, FinalTranscriptNotesView,
    PipelineLogViewSet,
)

router = DefaultRouter()
router.register("admin/stages", AdminStageViewSet, basename="admin-stages")
router.register("applications", JobApplicationViewSet, basename="applications")
router.register("rank-parameters", RankParameterViewSet, basename="rank-parameters")
router.register("feedback", InterviewFeedbackViewSet, basename="interview-feedback")
router.register("schedules", InterviewScheduleViewSet, basename="interview-schedules")
router.register("logs", PipelineLogViewSet, basename="pipeline-logs")

urlpatterns = [
    path("stages/", StageListView.as_view(), name="pipeline-stages"),
    path("rank/<int:job_id>/", JobRankingView.as_view(), name="job-ranking"),
    path("rank/<int:job_id>/send-emails/", ScreeningEmailView.as_view(), name="rank-send-emails"),
    path("rank-score/<int:pk>/", RankScoreOverrideView.as_view(), name="rank-score-override"),
    path("round-list/", RoundListView.as_view(), name="round-list"),
    path("shortlists/", ShortlistCreateView.as_view(), name="shortlists"),
    path("shortlist/<str:token>/", PublicShortlistView.as_view(), name="public-shortlist"),
    path("final-notes/", FinalTranscriptNotesView.as_view(), name="final-notes"),
    path("", include(router.urls)),
]
