mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 02:11:08 -05:00
- Implemented PrimeProgress component with support for labels, helper text, and various styles (size, variant, color). - Created PrimeSelect component with dropdown functionality, custom templates, and validation states. - Developed PrimeSkeleton component for loading placeholders with different shapes and animations. - Updated index.ts to export new components for easy import. - Enhanced PrimeVueTest.vue to include tests for new components and their functionalities. - Introduced a custom ThrillWiki theme for PrimeVue with tailored color schemes and component styles. - Added ambient type declarations for various components to improve TypeScript support.
78 lines
2.8 KiB
Python
78 lines
2.8 KiB
Python
"""
|
|
URL configuration for ThrillWiki API v1.
|
|
|
|
This module provides unified API routing following RESTful conventions
|
|
and DRF Router patterns for automatic URL generation.
|
|
"""
|
|
|
|
from .viewsets_rankings import RideRankingViewSet, TriggerRankingCalculationView
|
|
from .views import (
|
|
LoginAPIView,
|
|
SignupAPIView,
|
|
LogoutAPIView,
|
|
CurrentUserAPIView,
|
|
PasswordResetAPIView,
|
|
PasswordChangeAPIView,
|
|
SocialProvidersAPIView,
|
|
AuthStatusAPIView,
|
|
HealthCheckAPIView,
|
|
PerformanceMetricsAPIView,
|
|
SimpleHealthAPIView,
|
|
# Trending system views
|
|
TrendingAPIView,
|
|
NewContentAPIView,
|
|
)
|
|
from django.urls import path, include
|
|
from rest_framework.routers import DefaultRouter
|
|
|
|
# Create the main API router
|
|
router = DefaultRouter()
|
|
|
|
# Register ranking endpoints
|
|
router.register(r"rankings", RideRankingViewSet, basename="ranking")
|
|
|
|
app_name = "api_v1"
|
|
|
|
urlpatterns = [
|
|
# API Documentation endpoints are handled by main Django URLs
|
|
# See backend/thrillwiki/urls.py for documentation endpoints
|
|
# Authentication endpoints
|
|
path("auth/login/", LoginAPIView.as_view(), name="login"),
|
|
path("auth/signup/", SignupAPIView.as_view(), name="signup"),
|
|
path("auth/logout/", LogoutAPIView.as_view(), name="logout"),
|
|
path("auth/user/", CurrentUserAPIView.as_view(), name="current-user"),
|
|
path("auth/password/reset/", PasswordResetAPIView.as_view(), name="password-reset"),
|
|
path(
|
|
"auth/password/change/", PasswordChangeAPIView.as_view(), name="password-change"
|
|
),
|
|
path("auth/providers/", SocialProvidersAPIView.as_view(), name="social-providers"),
|
|
path("auth/status/", AuthStatusAPIView.as_view(), name="auth-status"),
|
|
# Health check endpoints
|
|
path("health/", HealthCheckAPIView.as_view(), name="health-check"),
|
|
path("health/simple/", SimpleHealthAPIView.as_view(), name="simple-health"),
|
|
path(
|
|
"health/performance/",
|
|
PerformanceMetricsAPIView.as_view(),
|
|
name="performance-metrics",
|
|
),
|
|
# Trending system endpoints
|
|
path("trending/content/", TrendingAPIView.as_view(), name="trending"),
|
|
path("trending/new/", NewContentAPIView.as_view(), name="new-content"),
|
|
# Ranking system endpoints
|
|
path(
|
|
"rankings/calculate/",
|
|
TriggerRankingCalculationView.as_view(),
|
|
name="trigger-ranking-calculation",
|
|
),
|
|
# Domain-specific API endpoints
|
|
path("parks/", include("apps.api.v1.parks.urls")),
|
|
path("rides/", include("apps.api.v1.rides.urls")),
|
|
path("accounts/", include("apps.api.v1.accounts.urls")),
|
|
path("history/", include("apps.api.v1.history.urls")),
|
|
path("email/", include("apps.api.v1.email.urls")),
|
|
path("core/", include("apps.api.v1.core.urls")),
|
|
path("maps/", include("apps.api.v1.maps.urls")),
|
|
# Include router URLs (for rankings and any other router-registered endpoints)
|
|
path("", include(router.urls)),
|
|
]
|