from tastypie.api import Api

from django.urls import include, path

from . import api, views, views_search

v1_api = Api(api_name="v1")
v1_api.register(api.LieuResource())
v1_api.register(api.StageResource())
v1_api.register(api.AuteurResource())

app_name = "avisstage"
urlpatterns = [
    path("", views.index, name="index"),
    path("perso/", views.perso, name="perso"),
    path("faq/", views.faq, name="faq"),
    path("stage/nouveau/", views.manage_stage, name="stage_ajout"),
    path("stage/<int:pk>/", views.StageView.as_view(), name="stage"),
    path("stage/<int:pk>/edit/", views.manage_stage, name="stage_edit"),
    path("stage/<int:pk>/publication/", views.publier_stage, name="stage_publication"),
    path("403/archicubes/", views.archicubes_interdits, name="403-archicubes"),
    path("lieu/save/", views.save_lieu, name="lieu_ajout"),
    path("profil/show/<str:username>/", views.ProfilView.as_view(), name="profil"),
    path("profil/edit/", views.ProfilEdit.as_view(), name="profil_edit"),
    path("profil/parametres/", views.MesParametres.as_view(), name="parametres"),
    path(
        "profil/emails/<str:email>/aconfirmer/",
        views.AdresseAConfirmer.as_view(),
        name="emails_aconfirmer",
    ),
    path(
        "profil/emails/<str:email>/supprime/",
        views.SupprimeAdresse.as_view(),
        name="emails_supprime",
    ),
    path(
        "profil/emails/<str:email>/reconfirme/",
        views.ReConfirmeAdresse.as_view(),
        name="emails_reconfirme",
    ),
    path(
        "profil/emails/<str:email>/principal/",
        views.RendAdressePrincipale.as_view(),
        name="emails_principal",
    ),
    path(
        "profil/emails/confirme/<str:key>/",
        views.ConfirmeAdresse.as_view(),
        name="emails_confirme",
    ),
    path(
        "profil/mdp/demande/", views.EnvoieLienMotDePasse.as_view(), name="mdp_demande"
    ),
    path(
        "profil/mdp/<str:uidb64>/<str:token>/",
        views.DefinirMotDePasse.as_view(),
        name="mdp_edit",
    ),
    path("recherche/", views_search.recherche, name="recherche"),
    path(
        "recherche/resultats/",
        views_search.recherche_resultats,
        name="recherche_resultats",
    ),
    path("recherche/items/", views_search.stage_items, name="stage_items"),
    path("feedback/", views.feedback, name="feedback"),
    path("moderation/", views.statistiques, name="moderation"),
    path("api/", include(v1_api.urls)),
]