from django.urls import path
from . import views

urlpatterns = [
    # Public endpoints
    path('slots/', views.PromotionSlotsListView.as_view(), name='promotion-slots'),
    path('trending/', views.TrendingProductsView.as_view(), name='trending-products'),
    path('flash-deals/', views.FlashDealsView.as_view(), name='flash-deals'),
    path('featured/', views.FeaturedProductsView.as_view(), name='featured-products'),

    # Vendor endpoints
    path('my-promotions/', views.VendorPromotionsView.as_view(), name='vendor-promotions'),
    path('purchase/', views.PurchasePromotionView.as_view(), name='purchase-promotion'),

    # Admin endpoints
    path('admin/slots/', views.AdminPromotionSlotsView.as_view(), name='admin-promotion-slots'),
    path('admin/slots/<int:slot_id>/', views.AdminPromotionSlotDetailView.as_view(), name='admin-promotion-slot-detail'),

    # Sponsored ads endpoints
    path('sponsored-ads/', views.ActiveSponsoredAdsView.as_view(), name='active-sponsored-ads'),
    path('sponsored-ads/price/', views.SponsoredAdPriceView.as_view(), name='sponsored-ad-price'),
    path('sponsored-ads/<int:ad_id>/impression/', views.SponsoredAdImpressionView.as_view(), name='sponsored-ad-impression'),
    path('sponsored-ads/<int:ad_id>/click/', views.SponsoredAdClickView.as_view(), name='sponsored-ad-click'),
    path('sponsored-ads/my-ads/', views.VendorSponsoredAdsView.as_view(), name='vendor-sponsored-ads'),
    path('sponsored-ads/purchase/', views.PurchaseSponsoredAdView.as_view(), name='purchase-sponsored-ad'),

    # Admin sponsored ads endpoints
    path('admin/sponsored-ads/', views.AdminSponsoredAdsListView.as_view(), name='admin-sponsored-ads'),
    path('admin/sponsored-ads/stats/', views.AdminSponsoredAdStatsView.as_view(), name='admin-sponsored-ad-stats'),
    path('admin/sponsored-ads/<int:ad_id>/deactivate/', views.AdminDeactivateSponsoredAdView.as_view(), name='admin-deactivate-sponsored-ad'),
    path('admin/sponsored-ads/max-slots/', views.AdminSponsoredAdMaxSlotsView.as_view(), name='admin-sponsored-ad-max-slots'),
    path('admin/sponsored-ads/retry-payment/<int:payment_id>/', views.AdminRetryProcessAdView.as_view(), name='admin-retry-process-ad'),
    path('admin/sponsored-ads/failed-payments/', views.AdminFailedAdPaymentsView.as_view(), name='admin-failed-ad-payments'),
]
