from django.contrib.auth.decorators import login_required
from django.urls import path

from verification.views import dashboard_view

from .views import (
    CustomLogoutView,
    CustomPasswordChangeView,
    CustomPasswordResetCompleteView,
    CustomPasswordResetConfirmView,
    CustomPasswordResetDoneView,
    CustomPasswordResetView,
    home_redirect,
    register_view,
    resend_otp_view,
    signin_view,
    user_edit_view,
    verify_otp_view,
)

app_name = "accounts"

urlpatterns = [
    path("", home_redirect, name="home"),
    path("dashboard/", dashboard_view, name="dashboard"),
    path("signin/", signin_view, name="signin"),
    path("register/", register_view, name="register"),
    path("users/<int:pk>/edit/", user_edit_view, name="user_edit"),
    path("verify-otp/", verify_otp_view, name="verify_otp"),
    path("resend-otp/", resend_otp_view, name="resend_otp"),
    path("logout/", CustomLogoutView.as_view(), name="logout"),
    path("change-password/", login_required(CustomPasswordChangeView.as_view()), name="change_password"),
    path("forgot-password/", CustomPasswordResetView.as_view(), name="forgot_password"),
    path("forgot-password/done/", CustomPasswordResetDoneView.as_view(), name="password_reset_done"),
    path("reset/<uidb64>/<token>/", CustomPasswordResetConfirmView.as_view(), name="password_reset_confirm"),
    path("reset/done/", CustomPasswordResetCompleteView.as_view(), name="password_reset_complete"),
]
