from django.urls import path
from .views import (
    UserRegistrationView, 
    UserLoginView, 
    UserChangePasswordView, 
    SendPasswordResetEmailView, 
    UserPasswordResetView, 
    LogoutView, 
    UserTypeListView, 
    UserTypeBySubtypeView, 
    CheckUniqueUsernameOrEmailAPIView, 
    UserCheckView, 
    login_page, 
    register_page,  
    UserDetailView,
    CustomTokenRefreshView,
    VerifyEmailView,
    ResendVerificationCodeView
)
from services.send_test_email import SendCodeView, VerifyCodeView, SendEmailView

urlpatterns = [
    path('register', UserRegistrationView.as_view(), name='register'),
    path('login', UserLoginView.as_view(), name='login'),
    path('logout',LogoutView.as_view(),name='logout'),
    path('send-code', SendCodeView.as_view(), name='send_code'),
    path('verify-code', VerifyCodeView.as_view(), name='verify_code'),
    path('check-unique-username-email', CheckUniqueUsernameOrEmailAPIView.as_view(), name='usernameoremail'),
    path('usertype', UserTypeListView.as_view(), name='usertype'),
    path('user-types/<int:subtype>', UserTypeBySubtypeView.as_view(), name='user_types_by_subtype'),
    path('change-password', UserChangePasswordView.as_view(), name='changepassword'),
    path('email-pass-reset', SendPasswordResetEmailView.as_view(), name='send-reset-password-email'),
    path('reset-password/<str:uid>/<str:token>', UserPasswordResetView.as_view(), name='reset-password'),
    path('users/<int:user_id>', UserCheckView.as_view(), name='user_check'),
    path('loginpage', login_page, name='login_page'),
    path('registerpage', register_page, name='register_page'),
    path('send-email', SendEmailView.as_view(), name='send-email'),
    path('userdetails', UserDetailView.as_view(), name='user-detail'),
    path('token', CustomTokenRefreshView.as_view(), name='refresh-token'),
    path('verify-email', VerifyEmailView.as_view(), name='email-verification'),
    path('resend-verification', ResendVerificationCodeView.as_view(), name='resend-verification'),
]