# Copyright (C) 2020 by Animath
# SPDX-License-Identifier: GPL-3.0-or-later

from django.urls import path
from django.views.generic import TemplateView

from .views import CreateTeamView, JoinTeamView, MyParticipationDetailView, MyTeamDetailView, NoteUpdateView, \
    ParticipationDetailView, PassageCreateView, PassageDetailView, PassageUpdateView, PoolCreateView, PoolDetailView, \
    PoolUpdateTeamsView, PoolUpdateView, SolutionUploadView, SynthesisUploadView, TeamAuthorizationsView, \
    TeamDetailView, TeamLeaveView, TeamListView, TeamUpdateView, TeamUploadMotivationLetterView, TournamentCreateView, \
    TournamentDetailView, TournamentListView, TournamentUpdateView


app_name = "participation"

urlpatterns = [
    path("create_team/", CreateTeamView.as_view(), name="create_team"),
    path("join_team/", JoinTeamView.as_view(), name="join_team"),
    path("teams/", TeamListView.as_view(), name="team_list"),
    path("team/", MyTeamDetailView.as_view(), name="my_team_detail"),
    path("team/<int:pk>/", TeamDetailView.as_view(), name="team_detail"),
    path("team/<int:pk>/update/", TeamUpdateView.as_view(), name="update_team"),
    path("team/<int:pk>/upload-motivation-letter/", TeamUploadMotivationLetterView.as_view(),
         name="upload_team_motivation_letter"),
    path("team/<int:pk>/authorizations/", TeamAuthorizationsView.as_view(), name="team_authorizations"),
    path("team/leave/", TeamLeaveView.as_view(), name="team_leave"),
    path("detail/", MyParticipationDetailView.as_view(), name="my_participation_detail"),
    path("detail/<int:pk>/", ParticipationDetailView.as_view(), name="participation_detail"),
    path("detail/<int:pk>/solution/", SolutionUploadView.as_view(), name="upload_solution"),
    path("tournament/", TournamentListView.as_view(), name="tournament_list"),
    path("tournament/create/", TournamentCreateView.as_view(), name="tournament_create"),
    path("tournament/<int:pk>/", TournamentDetailView.as_view(), name="tournament_detail"),
    path("tournament/<int:pk>/update/", TournamentUpdateView.as_view(), name="tournament_update"),
    path("pools/create/", PoolCreateView.as_view(), name="pool_create"),
    path("pools/<int:pk>/", PoolDetailView.as_view(), name="pool_detail"),
    path("pools/<int:pk>/update/", PoolUpdateView.as_view(), name="pool_update"),
    path("pools/<int:pk>/update-teams/", PoolUpdateTeamsView.as_view(), name="pool_update_teams"),
    path("pools/passages/add/<int:pk>/", PassageCreateView.as_view(), name="passage_create"),
    path("pools/passages/<int:pk>/", PassageDetailView.as_view(), name="passage_detail"),
    path("pools/passages/<int:pk>/update/", PassageUpdateView.as_view(), name="passage_update"),
    path("pools/passages/<int:pk>/solution/", SynthesisUploadView.as_view(), name="upload_synthesis"),
    path("pools/passages/notes/<int:pk>/", NoteUpdateView.as_view(), name="update_notes"),
    path("chat/", TemplateView.as_view(template_name="participation/chat.html"), name="chat")
]
