"""Content Engine — URL routing.

All paths relative to `/api/v1/content/`.
"""

from __future__ import annotations

from django.urls import path

from simorgh.apps.content import views

app_name = "content"

urlpatterns = [
    # Categories
    path("categories/",                views.category_list,    name="content-category-list"),
    path("categories/tree/",           views.category_tree_view, name="content-category-tree"),
    path("categories/<int:pk>/",       views.category_detail,  name="content-category-detail"),

    # Items — search + special views must be before <public_id> to avoid shadowing
    path("items/search/",              views.item_search,      name="content-item-search"),
    path("items/my/",                  views.my_items,         name="content-my-items"),
    path("items/recent/",             views.recent_items,     name="content-recent-items"),
    path("items/",                     views.item_list,        name="content-item-list"),
    path("items/<str:public_id>/",     views.item_detail,      name="content-item-detail"),
    path("items/<str:public_id>/submit/",  views.item_submit,  name="content-item-submit"),
    path("items/<str:public_id>/approve/", views.item_approve, name="content-item-approve"),
    path("items/<str:public_id>/publish/", views.item_publish, name="content-item-publish"),
    path("items/<str:public_id>/archive/", views.item_archive, name="content-item-archive"),
    path("items/<str:public_id>/revert/",  views.item_revert,  name="content-item-revert"),
    path("items/<str:public_id>/versions/", views.item_versions, name="content-item-versions"),
    path("items/<str:public_id>/versions/<int:version>/", views.item_version_detail, name="content-item-version-detail"),
    path("items/<str:public_id>/feedback/", views.item_feedback, name="content-item-feedback"),

    # Public portal
    path("public/<slug:slug>/",        views.public_item,      name="content-public-item"),
]
