"""
Cards module URL configuration.
"""
from django.urls import path
from django.urls import include

from rest_framework import routers

from .api import CardViewSet
from .views import CardListView
from .views import CardCreateView
from .views import CardDeleteView
from .views import CardDetailView
from .views import CardUpdateView
from .views import CardUploadView
from .views import MyCardListView
from .views import SearchListView
from .views import ContactCardView
from .views import DefaultCardView
from .views import CardTemplateListView
from .views import DefaultCardDetailView

router = routers.SimpleRouter()
router.register("cards", CardViewSet, "cards")

app_name = "cards"
urlpatterns = [
    path("", CardListView.as_view(), name="card-list"),
    path("mine/", MyCardListView.as_view(), name="my-card-list"),
    path("templates/", CardTemplateListView.as_view(), name="card-templates"),
    path("cards/upload/", CardUploadView.as_view(), name="card-upload"),
    path("search/", SearchListView.as_view(), name="card-search"),
    path("create/", CardCreateView.as_view(), name="card-create"),
    path("create/<int:pk>/", CardCreateView.as_view(), name="card-create"),
    path(
        "u/<str:username>/",
        DefaultCardDetailView.as_view(),
        name="default-card-detail",
    ),
    path("detail/<int:pk>/", CardDetailView.as_view(), name="card-detail"),
    path("edit/<int:pk>/", CardUpdateView.as_view(), name="card-edit"),
    path("default/<int:pk>/", DefaultCardView.as_view(), name="card-default"),
    path("contacts/", ContactCardView.as_view(), name="card-contact"),
    path(
        "contact/<int:pk>/",
        ContactCardView.as_view(),
        name="card-contact",
    ),
    path("delete/<int:pk>/", CardDeleteView.as_view(), name="card-delete"),
    path("api/", include(router.urls)),
]
