from django.urls import path

from apps.alumni.careers import views

app_name = "rep_career"

urlpatterns = [
    path("career/", views.JobBoardView.as_view(), name="job_board"),
    path("career/resources/", views.CareerResourceListView.as_view(), name="resource_library"),
    path("career/resources/new/", views.CareerResourceCreateView.as_view(), name="resource_create"),
    path("career/resources/<slug:slug>/", views.CareerResourceDetailView.as_view(), name="resource_detail"),
    path("career/jobs/<int:pk>/", views.JobDetailView.as_view(), name="job_detail"),
    path(
        "career/jobs/<int:listing_pk>/applications/",
        views.JobApplicationsListView.as_view(),
        name="job_applications",
    ),
    path(
        "career/jobs/<int:listing_pk>/applications/<int:pk>/",
        views.JobApplicationDetailView.as_view(),
        name="job_application_detail",
    ),
    path(
        "career/jobs/<int:listing_pk>/applications/<int:pk>/decide/",
        views.JobApplicationDecideView.as_view(),
        name="job_application_decide",
    ),
    path("career/jobs/new/", views.JobCreateView.as_view(), name="job_create"),
    path("career/jobs/<int:pk>/edit/", views.JobUpdateView.as_view(), name="job_edit"),
    # FRREP-TS008 — saved jobs / bookmarks.
    path("career/jobs/<int:pk>/save/", views.JobSaveToggleView.as_view(), name="job_save_toggle"),
    path("career/jobs/saved/", views.MySavedJobsListView.as_view(), name="my_saved_jobs"),
    path("career/jobs/reviews/", views.EmployerListingReviewListView.as_view(), name="listing_reviews"),
    path("career/jobs/reviews/<int:pk>/", views.EmployerListingReviewUpdateView.as_view(), name="listing_review_detail"),
    path("career/cv/", views.CVBuilderView.as_view(), name="cv_builder"),
    # WS5.8 / FRREP-TS006 — CV PDF download.
    path("career/cv/download.pdf", views.CVDownloadPDFView.as_view(), name="cv_download_pdf"),
    # In-browser preview — same template as the PDF export, served as HTML for iframe embedding.
    path("career/cv/preview/", views.CVPreviewView.as_view(), name="cv_preview"),
    path("career/applications/", views.MyApplicationsView.as_view(), name="my_applications"),
]
