Files
thrillwiki_django_no_react/apps/rides/urls.py
2025-09-21 20:19:12 -04:00

87 lines
2.7 KiB
Python

from django.urls import path
from . import views
app_name = "rides"
urlpatterns = [
# Global list views
path("", views.RideListView.as_view(), name="global_ride_list"),
# Global category views
path(
"roller-coasters/",
views.SingleCategoryListView.as_view(),
{"category": "RC"},
name="global_roller_coasters",
),
path(
"dark-rides/",
views.SingleCategoryListView.as_view(),
{"category": "DR"},
name="global_dark_rides",
),
path(
"flat-rides/",
views.SingleCategoryListView.as_view(),
{"category": "FR"},
name="global_flat_rides",
),
path(
"water-rides/",
views.SingleCategoryListView.as_view(),
{"category": "WR"},
name="global_water_rides",
),
path(
"transports/",
views.SingleCategoryListView.as_view(),
{"category": "TR"},
name="global_transports",
),
path(
"others/",
views.SingleCategoryListView.as_view(),
{"category": "OT"},
name="global_others",
),
# Search endpoints (must come before slug patterns)
path("search/models/", views.search_ride_models, name="search_ride_models"),
path("search/companies/", views.search_companies, name="search_companies"),
# HTMX endpoints (must come before slug patterns)
path("coaster-fields/", views.show_coaster_fields, name="coaster_fields"),
path(
"search-suggestions/",
views.get_search_suggestions,
name="search_suggestions",
),
# Ranking endpoints
path("rankings/", views.RideRankingsView.as_view(), name="rankings"),
path(
"rankings/<slug:ride_slug>/",
views.RideRankingDetailView.as_view(),
name="ranking_detail",
),
path(
"rankings/<slug:ride_slug>/history-chart/",
views.ranking_history_chart,
name="ranking_history_chart",
),
path(
"rankings/<slug:ride_slug>/comparisons/",
views.ranking_comparisons,
name="ranking_comparisons",
),
# Company list views
path("manufacturers/", views.ManufacturerListView.as_view(), name="manufacturer_list"),
path("designers/", views.DesignerListView.as_view(), name="designer_list"),
# API endpoints moved to centralized backend/api/v1/rides/ structure
# Frontend requests to /api/ are proxied to /api/v1/ by Vite
# Park-specific URLs
path("create/", views.RideCreateView.as_view(), name="ride_create"),
path("<slug:ride_slug>/", views.RideDetailView.as_view(), name="ride_detail"),
path(
"<slug:ride_slug>/update/",
views.RideUpdateView.as_view(),
name="ride_update",
),
]