from django.urls import path

from apps.alumni.engagement import views

app_name = "alumni_engagement"

urlpatterns = [
    path("events/", views.EventListView.as_view(), name="event_list"),
    path("events/subscribe.ics", views.events_ics_feed, name="events_ics_feed"),
    path("events/new/", views.EventCreateView.as_view(), name="event_create"),
    path(
        "events/pending/",
        views.EventApprovalQueueView.as_view(),
        name="event_approval_queue",
    ),
    path("events/<slug:slug>/", views.EventDetailView.as_view(), name="event_detail"),
    path(
        "events/<slug:slug>/edit/",
        views.EventUpdateView.as_view(),
        name="event_edit",
    ),
    path("events/<slug:slug>/approve/", views.event_approve_view, name="event_approve"),
    path("events/<slug:slug>/reject/", views.event_reject_view, name="event_reject"),
    path("events/<slug:slug>/rsvp/", views.event_rsvp, name="event_rsvp"),
    path(
        "events/<slug:slug>/feedback/",
        views.event_feedback,
        name="event_feedback",
    ),
    path(
        "events/<slug:slug>/attendance/",
        views.event_attendance,
        name="event_attendance",
    ),
    path("events/<slug:slug>/calendar.ics", views.event_ics, name="event_ics"),
    path("mentorship/", views.MyMentorshipsView.as_view(), name="mentorship_list"),
    path(
        "mentorship/discover/",
        views.MentorshipDiscoverView.as_view(),
        name="mentorship_discover",
    ),
    path(
        "mentorship/request/<int:pk>/",
        views.mentorship_request_view,
        name="mentorship_request",
    ),
    path(
        "mentorship/<int:pk>/",
        views.MentorshipDetailView.as_view(),
        name="mentorship_detail",
    ),
    path(
        "mentorship/<int:pk>/respond/",
        views.mentorship_respond_view,
        name="mentorship_respond",
    ),
    path(
        "mentorship/<int:pk>/log/",
        views.mentorship_log_session_view,
        name="mentorship_log_session",
    ),
    path(
        "mentorship/<int:pk>/complete/",
        views.mentorship_complete_view,
        name="mentorship_complete",
    ),
    path(
        "mentorship/<int:pk>/withdraw/",
        views.mentorship_withdraw_view,
        name="mentorship_withdraw",
    ),
    path("groups/", views.NetworkGroupListView.as_view(), name="network_group_list"),
    path(
        "groups/new/",
        views.NetworkGroupCreateView.as_view(),
        name="network_group_create",
    ),
    path(
        "groups/leadership-requests/",
        views.ChapterLeadershipQueueView.as_view(),
        name="leadership_request_queue",
    ),
    path(
        "groups/leadership-requests/<int:pk>/approve/",
        views.leadership_request_approve_view,
        name="leadership_request_approve",
    ),
    path(
        "groups/leadership-requests/<int:pk>/decline/",
        views.leadership_request_decline_view,
        name="leadership_request_decline",
    ),
    path(
        "groups/<slug:slug>/",
        views.NetworkGroupDetailView.as_view(),
        name="network_group_detail",
    ),
    path("groups/<slug:slug>/join/", views.group_join_view, name="group_join"),
    path("groups/<slug:slug>/leave/", views.group_leave_view, name="group_leave"),
    path(
        "groups/<slug:slug>/lead-request/",
        views.group_lead_request_view,
        name="group_lead_request",
    ),
    path(
        "groups/<slug:slug>/manage/",
        views.GroupManageView.as_view(),
        name="network_group_manage",
    ),
    path(
        "groups/<slug:slug>/edit/",
        views.GroupEditView.as_view(),
        name="network_group_edit",
    ),
    path(
        "groups/<slug:slug>/announce/",
        views.group_announce_view,
        name="network_group_announce",
    ),
    path(
        "groups/<slug:slug>/members/<int:user_pk>/role/",
        views.group_member_role_view,
        name="group_member_role",
    ),
    path(
        "groups/<slug:slug>/members/<int:user_pk>/remove/",
        views.group_member_remove_view,
        name="group_member_remove",
    ),
]
