"""
URL configuration for the enrollments app.
"""
from django.urls import path
from apps.enrollments import views

app_name = 'enrollments'

urlpatterns = [
    # Student URLs
    path('enroll/<slug:slug>/', views.EnrollView.as_view(), name='enroll'),
    path('my/', views.MyEnrollmentsView.as_view(), name='my_enrollments'),
    path('<int:pk>/upload-payment/', views.UploadPaymentView.as_view(), name='upload_payment'),
    path('<int:pk>/apply-promo/', views.ApplyEnrollmentPromoView.as_view(), name='apply_promo'),
    path('<int:pk>/clear-promo/', views.ClearEnrollmentPromoView.as_view(), name='clear_promo'),
    path('<int:pk>/pay/stripe/', views.StripeCheckoutView.as_view(), name='stripe_checkout'),
    path('<int:pk>/pay/success/', views.StripeSuccessView.as_view(), name='stripe_success'),

    # Stripe webhook (CSRF exempt)
    path('webhooks/stripe/', views.StripeWebhookView.as_view(), name='stripe_webhook'),

    # Admin URLs
    path('review/', views.EnrollmentListAdminView.as_view(), name='enrollment_review'),
    path('<int:pk>/approve/', views.EnrollmentApproveView.as_view(), name='enrollment_approve'),
    path('<int:pk>/reject/', views.EnrollmentRejectView.as_view(), name='enrollment_reject'),
    path('<int:pk>/detail/', views.EnrollmentDetailView.as_view(), name='enrollment_detail'),

    # Teacher URLs — student roster for assigned courses (no payment approval)
    path('teacher/review/', views.TeacherEnrollmentListView.as_view(), name='teacher_enrollment_review'),
    path('teacher/<int:pk>/detail/', views.TeacherEnrollmentDetailView.as_view(), name='teacher_enrollment_detail'),
]
