mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 12:11:13 -05:00
87 lines
2.7 KiB
Python
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",
|
|
),
|
|
]
|