from django.urls import path
from jobs_company.views.job_contact import JobContactInformationAPIView, JobContactInformationDetailAPIView
from jobs_company.views.job_review import JobReviewDetailAPIView, JobReviewListCreateAPIView, JobReviewPublicListAPIView
from jobs_company.views.jobs_views import JobsListCreateAPIView, JobsDetailAPIView, JobsAPIView, JobsPublicListAPIView, JobsSearchAPIView
from jobs_company.views.company_review_view import ReviewOnlyJobsDetailAPIView
from jobs_company.views.flag_review import (
    JobFlagAPIView, JobFlaggedListAPIView, JobUnflagAPIView,
    
)

urlpatterns = [
    path("jobs/public/", JobsPublicListAPIView.as_view(), name="job-public-list"), 
    path("jobs/search/", JobsSearchAPIView.as_view(), name="job-search"), 
    path("jobs/", JobsListCreateAPIView.as_view(), name="job-list-create"),
    path("jobs/<int:pk>/", JobsDetailAPIView.as_view(), name="job-detail"),
    path('jobs/review/<int:pk>/', ReviewOnlyJobsDetailAPIView.as_view(), name='review-only-jobs'),
    path('jobs/list', JobsAPIView.as_view(), name="job-list"),

    # Flag endpoints
    path("jobs/<int:pk>/unflag/", JobUnflagAPIView.as_view(), name="job-unflag"),
    path("jobs/<int:pk>/flag/", JobFlagAPIView.as_view(), name="job-flag"),
    path("jobs/flagged-list/", JobFlaggedListAPIView.as_view(), name="job-flagged-list"),
    
    # Job Review endpoints
    path("jobs-reviews/public/", JobReviewPublicListAPIView.as_view(), name="job-review-public-list"),
    path("jobs-reviews/", JobReviewListCreateAPIView.as_view(), name="job-review-list-create"),
    path("jobs-reviews/<int:pk>/", JobReviewDetailAPIView.as_view(), name="job-review-detail"),

    # Job Contact endpoints
    path("jobs-contact/", JobContactInformationAPIView.as_view(), name="job-contact-list-create"),
    path("jobs-contact/<int:pk>/", JobContactInformationDetailAPIView.as_view(), name="job-contact-detail"),

    
]