"""Comprehensive URL routes for Rides domain (API v1). This file exposes a maximal set of "full-fat" endpoints implemented in `apps.api.v1.rides.views`. Endpoints are intentionally expansive (aliases, bulk operations, action endpoints, analytics, import/export) so the backend surface matches the frontend's expectations. Implementations for specific actions (bulk, publish, export, import, recommendations) should be added to the views module when business logic is available. """ from django.urls import path, include from rest_framework.routers import DefaultRouter from .views import ( RideListCreateAPIView, RideDetailAPIView, FilterOptionsAPIView, CompanySearchAPIView, RideModelSearchAPIView, RideSearchSuggestionsAPIView, RideImageSettingsAPIView, ) from .photo_views import RidePhotoViewSet # Create router for nested photo endpoints router = DefaultRouter() router.register(r"", RidePhotoViewSet, basename="ridephoto") app_name = "api_v1_rides" urlpatterns = [ # Core list/create endpoints path("", RideListCreateAPIView.as_view(), name="ride-list-create"), # Filter options path("filter-options/", FilterOptionsAPIView.as_view(), name="ride-filter-options"), # Autocomplete / suggestion endpoints path( "search/companies/", CompanySearchAPIView.as_view(), name="ride-search-companies", ), path( "search/ride-models/", RideModelSearchAPIView.as_view(), name="ride-search-ride-models", ), path( "search-suggestions/", RideSearchSuggestionsAPIView.as_view(), name="ride-search-suggestions", ), # Ride model management endpoints - nested under rides/manufacturers path("manufacturers//", include("apps.api.v1.rides.manufacturers.urls")), # Detail and action endpoints path("/", RideDetailAPIView.as_view(), name="ride-detail"), # Ride image settings endpoint path("/image-settings/", RideImageSettingsAPIView.as_view(), name="ride-image-settings"), # Ride photo endpoints - domain-specific photo management path("/photos/", include(router.urls)), ]