from django.urls import include, path from rest_framework.routers import DefaultRouter from rest_framework_simplejwt.views import TokenRefreshView # Import ViewSets directly from views.py file from apps.accounts import views as account_views_main # Import specific items from views from apps.accounts.views import user_settings, CustomTokenObtainPairView from .ui_views import ( bulk_deactivate_users, bulk_invite_users, bulk_resend_invitations, change_password_view, CustomPasswordResetConfirmView, export_provisional_users, login_view, logout_view, onboarding_activate, onboarding_complete, onboarding_step_activation, onboarding_step_checklist, onboarding_step_content, onboarding_welcome, password_reset_view, preview_wizard_as_role, provisional_user_list, provisional_user_progress, ) app_name = 'accounts' router = DefaultRouter() router.register(r'users', account_views_main.UserViewSet, basename='user') router.register(r'roles', account_views_main.RoleViewSet, basename='role') urlpatterns = [ # Simple Acknowledgement URLs (simplified system) path('acknowledgements/', include('apps.accounts.simple_acknowledgement_urls')), # UI Authentication URLs path('login/', login_view, name='login'), path('logout/', logout_view, name='logout'), path('settings/', user_settings, name='settings'), path('password/reset/', password_reset_view, name='password_reset'), path('password/reset/confirm///', CustomPasswordResetConfirmView.as_view(), name='password_reset_confirm'), path('password/change/', change_password_view, name='password_change'), # JWT Authentication path('token/', CustomTokenObtainPairView.as_view(), name='token_obtain_pair'), path('token/refresh/', TokenRefreshView.as_view(), name='token_refresh'), # User and Role endpoints path('', include(router.urls)), # Onboarding Wizard UI path('onboarding/activate//', onboarding_activate, name='onboarding-activate'), path('onboarding/welcome/', onboarding_welcome, name='onboarding-welcome'), path('onboarding/wizard/step//', onboarding_step_content, name='onboarding-step-content'), path('onboarding/wizard/checklist/', onboarding_step_checklist, name='onboarding-step-checklist'), path('onboarding/wizard/activation/', onboarding_step_activation, name='onboarding-step-activation'), path('onboarding/complete/', onboarding_complete, name='onboarding-complete'), # Provisional User Management path('onboarding/provisional/', provisional_user_list, name='provisional-user-list'), path('onboarding/provisional//progress/', provisional_user_progress, name='provisional-user-progress'), path('onboarding/bulk-invite/', bulk_invite_users, name='bulk-invite-users'), path('onboarding/bulk-resend/', bulk_resend_invitations, name='bulk-resend-invitations'), path('onboarding/bulk-deactivate/', bulk_deactivate_users, name='bulk-deactivate-users'), path('onboarding/export/users/', export_provisional_users, name='export-provisional-users'), path('onboarding/preview/', preview_wizard_as_role, name='preview-wizard'), path('onboarding/preview//', preview_wizard_as_role, name='preview-wizard-role'), ]