mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 02:11:08 -05:00
66 lines
1.9 KiB
Python
66 lines
1.9 KiB
Python
"""
|
|
Auth domain URL Configuration for ThrillWiki API v1.
|
|
|
|
This module contains URL patterns for core authentication functionality only.
|
|
User profiles and top lists are handled by the dedicated accounts app.
|
|
"""
|
|
|
|
from django.urls import path, include
|
|
from .views import (
|
|
# Main auth views
|
|
LoginAPIView,
|
|
SignupAPIView,
|
|
LogoutAPIView,
|
|
CurrentUserAPIView,
|
|
PasswordResetAPIView,
|
|
PasswordChangeAPIView,
|
|
AuthStatusAPIView,
|
|
# Email verification views
|
|
EmailVerificationAPIView,
|
|
ResendVerificationAPIView,
|
|
)
|
|
from rest_framework_simplejwt.views import TokenRefreshView
|
|
|
|
|
|
urlpatterns = [
|
|
# Core authentication endpoints
|
|
path("login/", LoginAPIView.as_view(), name="auth-login"),
|
|
path("signup/", SignupAPIView.as_view(), name="auth-signup"),
|
|
path("logout/", LogoutAPIView.as_view(), name="auth-logout"),
|
|
path("user/", CurrentUserAPIView.as_view(), name="auth-current-user"),
|
|
|
|
# JWT token management
|
|
path("token/refresh/", TokenRefreshView.as_view(), name="auth-token-refresh"),
|
|
|
|
# Social authentication endpoints (dj-rest-auth)
|
|
path("social/", include("dj_rest_auth.registration.urls")),
|
|
|
|
path(
|
|
"password/reset/",
|
|
PasswordResetAPIView.as_view(),
|
|
name="auth-password-reset",
|
|
),
|
|
path(
|
|
"password/change/",
|
|
PasswordChangeAPIView.as_view(),
|
|
name="auth-password-change",
|
|
),
|
|
|
|
path("status/", AuthStatusAPIView.as_view(), name="auth-status"),
|
|
|
|
# Email verification endpoints
|
|
path(
|
|
"verify-email/<str:token>/",
|
|
EmailVerificationAPIView.as_view(),
|
|
name="auth-verify-email",
|
|
),
|
|
path(
|
|
"resend-verification/",
|
|
ResendVerificationAPIView.as_view(),
|
|
name="auth-resend-verification",
|
|
),
|
|
]
|
|
|
|
# Note: User profiles and top lists functionality is now handled by the accounts app
|
|
# to maintain clean separation of concerns and avoid duplicate API endpoints.
|