from django.urls import path
from . import views
from django.contrib.auth import views as av

app_name = 'BookDatabase'
urlpatterns = [
    path('', views.index, name='index'),
    path('search/', views.BookSearch.as_view(), name='search'),
    path('<int:book_id>/', views.index, name='details'),
    path('add/', views.BookCreate.as_view(), name='add'),
    path('reshelve/<int:shelf_id>/', views.Reshelve.as_view(), name='reshelve'),
    path('reshelve/', views.ShelfSelect.as_view(), name='bookSelectShelf'),
    path('reshelve/full/<int:shelf_id>/', views.FullReshelve.as_view(), name='fullReshelve'),
    path('edit/<int:pk>', views.BookUpdate.as_view(), name='editBook'),
    path('edit/', views.BookSearch.as_view(), name='editBookSelect'),
    path('missing/<int:book_id>', views.missing, name='missing'),

    # api1 paths
    path('api1/isbn', views.getISBN, name='api_isbn'),
    path('api1/search', views.search, name='api_search'),
    path('api1/move', views.move, name='api_move'),

    # script paths
    path('scripts/isbnSearch.js', views.isbnSearchJS, name='js_isbnSearch'),
    path('scripts/isbnResourceSearch.js', views.isbnLookupJS, name='js_isbnResourceSearch'),

    # auth addresses:
    path('login/', av.LoginView.as_view(template_name='BookDatabase/login.html'), name='login'),
    path('logout/', av.LogoutView.as_view(template_name='BookDatabase/base.html'), name='logout'),
    path('reset/',
         av.PasswordResetView.as_view(template_name='BookDatabase/reset.html', success_url='done/',
                                      email_template_name='BookDatabase/resetemail.html',
                                      subject_template_name='BookDatabase/resetemailsubject.txt'),
         name='pwReset'),
    path('reset/done/', av.PasswordResetDoneView.as_view(template_name='BookDatabase/resetDone.html'),
         name='pwResetDone'),
    path('reset/confirm/<slug:uidb64>/<slug:token>',
         av.PasswordResetConfirmView.as_view(template_name='BookDatabase/resetConfirm.html',
                                             success_url='../../complete/'),
         name='pwResetConfirm'),
    path('reset/complete/', av.PasswordResetCompleteView.as_view(template_name='BookDatabase/resetComplete.html'),
         name='pwResetComplete')

]
