"""
URL Configuration for Authentication APIs
Maps URLs to view functions.
"""

from django.urls import path
from . import views
# Localization endpoints parked — re-import when language switching is re-enabled.
# from . import views_localization

urlpatterns = [
    # Registration endpoints
    path('register/', views.register_user, name='register'),
    path('verify-otp/', views.verify_otp, name='verify-otp'),
    path('resend-otp/', views.resend_otp, name='resend-otp'),
    path('resend-verification/', views.resend_otp, name='resend-verification'),  # Alias for Flutter app

    # Login endpoints
    path('login/', views.login_user, name='login'),
    path('google-login/', views.google_login, name='google-login'),
    path('apple-login/', views.apple_login, name='apple-login'),
    path('impersonate/exchange/', views.impersonate_exchange, name='impersonate-exchange'),
    path('impersonate/end/', views.impersonate_end, name='impersonate-end'),

    # Password management
    path('forget-password/', views.forget_password, name='forget-password'),
    path('forgot-password/', views.forget_password, name='forgot-password'),  # Alias
    path('change-password/', views.change_password, name='change-password'),

    # Profile and logout
    path('profile/', views.get_user_profile, name='profile'),
    path('logout/', views.logout_user, name='logout'),
    path('delete-account/', views.delete_account, name='delete-account'),

    # Device registration for push notifications
    path('register-device/', views.register_device, name='register-device'),
    path('unregister-device/', views.unregister_device, name='unregister-device'),

    # JWT Token refresh
    path('token/refresh/', views.CookieTokenRefreshView.as_view(), name='token-refresh'),

    # Localization endpoints (parked — language switching disabled)
    # path('languages/', views_localization.get_available_languages, name='languages'),
    # path('set-language/', views_localization.set_language, name='set-language'),
    # path('translations/', views_localization.get_translations, name='translations'),
]
