from django.urls import path


from knox import views as knox_views
from .views import (
    LoginView,
    CreateUserView,
    ManageUserView,
    KnoxTokenListApiView,
    ListUserView,
    UserDetailAPIView,
    healthcheck,
    test_email,
    ListAtollView,
    CreateAtollView,
    RetrieveUpdateDestroyAtollView,
    ListCreateIslandView,
    RetrieveUpdateDestroyIslandView,
    filter_user,
)


urlpatterns = [
    path("create/", CreateUserView.as_view(), name="create"),
    path("profile/", ManageUserView.as_view(), name="profile"),
    path("login/", LoginView.as_view(), name="knox_login"),
    path("logout/", knox_views.LogoutView.as_view(), name="knox_logout"),
    path("logoutall/", knox_views.LogoutAllView.as_view(), name="knox_logoutall"),
    path("tokens/", KnoxTokenListApiView.as_view(), name="knox_tokens"),
    # path("auth/", CustomAuthToken.as_view()),
    path("users/", ListUserView.as_view(), name="users"),
    path("users/<int:pk>/", UserDetailAPIView.as_view(), name="user-detail"),
    path("users/filter/", filter_user, name="filter-users"),
    path("healthcheck/", healthcheck, name="healthcheck"),
    path("test/", test_email, name="testemail"),
    path("atolls/", ListAtollView.as_view(), name="atolls"),
    path("atolls/new/", CreateAtollView.as_view(), name="atoll-new"),
    path(
        "atolls/<int:pk>/",
        RetrieveUpdateDestroyAtollView.as_view(),
        name="atoll-detail",
    ),
    path("islands/", ListCreateIslandView.as_view(), name="islands"),
    path(
        "islands/<int:pk>/",
        RetrieveUpdateDestroyIslandView.as_view(),
        name="island-detail",
    ),
]