from django.urls import path
from .views import (
    DistributorLevelProgressListView,
    FranchiseMonthlyIncentiveDetailView,
    FranchiseMonthlyIncentiveListCreateView,
    UserBonanzaCounterDetailView,
    UserBonanzaCounterListCreateView,
    RewardAchievementListView,
    ServiceListView,
    ServiceClaimCreateView,
    ServiceClaimListView,
    ServiceClaimDetailView,
    AdminServiceClaimListView,
    AdminServiceClaimApproveView,
    AdminServiceClaimCompleteView,
    AdminServiceClaimRejectView,
    GiftListView,
    GiftClaimCreateView,
    GiftClaimListView,
    GiftClaimDetailView,
    AdminGiftClaimListView,
    AdminGiftClaimApproveView,
    AdminGiftClaimCompleteView,
    AdminGiftClaimRejectView,
)

urlpatterns = [
    # Legacy endpoints
    path('level-progress/', DistributorLevelProgressListView.as_view(), name='level-progress-list'),
    path('bonanza-counters/', UserBonanzaCounterListCreateView.as_view(), name='bonanza-counter-list-create'),
    path('bonanza-counters/<uuid:pk>/', UserBonanzaCounterDetailView.as_view(), name='bonanza-counter-detail'),
    path('franchise-monthly-incentives/', FranchiseMonthlyIncentiveListCreateView.as_view(), name='franchise-monthly-incentive-list-create'),
    path('franchise-monthly-incentives/<uuid:pk>/', FranchiseMonthlyIncentiveDetailView.as_view(), name='franchise-monthly-incentive-detail'),
    
    # Rewards (Supercoins)
    path('rewards/', RewardAchievementListView.as_view(), name='reward-achievement-list'),
    
    # Services/Trips
    path('services/', ServiceListView.as_view(), name='service-list'),
    path('service-claims/', ServiceClaimListView.as_view(), name='service-claim-list'),
    path('service-claims/create/', ServiceClaimCreateView.as_view(), name='service-claim-create'),
    path('service-claims/<uuid:pk>/', ServiceClaimDetailView.as_view(), name='service-claim-detail'),
    
    # Admin - Service Claims
    path('admin/service-claims/', AdminServiceClaimListView.as_view(), name='admin-service-claim-list'),
    path('admin/service-claims/<uuid:pk>/approve/', AdminServiceClaimApproveView.as_view(), name='admin-service-claim-approve'),
    path('admin/service-claims/<uuid:pk>/complete/', AdminServiceClaimCompleteView.as_view(), name='admin-service-claim-complete'),
    path('admin/service-claims/<uuid:pk>/reject/', AdminServiceClaimRejectView.as_view(), name='admin-service-claim-reject'),
    
    # Gifts
    path('gifts/', GiftListView.as_view(), name='gift-list'),
    path('gift-claims/', GiftClaimListView.as_view(), name='gift-claim-list'),
    path('gift-claims/create/', GiftClaimCreateView.as_view(), name='gift-claim-create'),
    path('gift-claims/<uuid:pk>/', GiftClaimDetailView.as_view(), name='gift-claim-detail'),
    
    # Admin - Gift Claims
    path('admin/gift-claims/', AdminGiftClaimListView.as_view(), name='admin-gift-claim-list'),
    path('admin/gift-claims/<uuid:pk>/approve/', AdminGiftClaimApproveView.as_view(), name='admin-gift-claim-approve'),
    path('admin/gift-claims/<uuid:pk>/complete/', AdminGiftClaimCompleteView.as_view(), name='admin-gift-claim-complete'),
    path('admin/gift-claims/<uuid:pk>/reject/', AdminGiftClaimRejectView.as_view(), name='admin-gift-claim-reject'),
]
