from django.urls import path, include
from rest_framework_nested import routers
from apps.users.views.user import UserViewSet
from apps.users.views.otp import OTPViewSet
from apps.users.views.google_auth import GoogleLoginView
from apps.leaderboard.views import LeaderboardViewSet
from apps.bonus.views import BonusViewSet
from apps.package.views import PackageViewSet
from apps.level.views import LevelViewSet
from apps.downline.views import DownlineViewSet
from apps.profiles.views import ProfileViewSet
from apps.core.views.permission import PermissionsAPIView
from rest_framework_simplejwt.views import TokenRefreshView
from apps.users.views.passwoed_reset import PasswordResetRequestView, PasswordResetConfirmView
from apps.withdraw.views import WithdrawViewSet
from apps.payment.views import PaymentMethodViewSet
from apps.reviews.views import TestimonialViewSet
from apps.deposite.views import DepositViewSet
from apps.blance_transfer.views import TransferViewSet
from apps.daily_cheack.views import DailyCheckViewSet
# Create main router
router = routers.SimpleRouter()
router.register(r'users', UserViewSet, basename='user')
router.register(r'otp', OTPViewSet, basename='otp')
router.register(r'leaderboard', LeaderboardViewSet, basename='leaderboard')
router.register(r'bonuses', BonusViewSet, basename='bonus')
router.register(r'packages', PackageViewSet, basename='package')
router.register(r'levels', LevelViewSet, basename='level')
router.register(r'downlines', DownlineViewSet, basename='downline')
router.register(r'profiles', ProfileViewSet, basename='profile')
router.register(r'withdraws', WithdrawViewSet, basename='withdraw')
router.register(r'deposits', DepositViewSet, basename='deposit')
router.register(r'pyment-methods', PaymentMethodViewSet, basename='pyment-method')
router.register(r'testimonials', TestimonialViewSet, basename='testimonial')
router.register(r'transfers', TransferViewSet, basename='transfer')
router.register(r'daily-work', DailyCheckViewSet, basename='daily-work')


urlpatterns = [
    path('', include(router.urls)),
    path('google/login/', GoogleLoginView.as_view(), name='google-login'), 
    path('permissions/', PermissionsAPIView.as_view(), name='permission'),
    path('users/token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
    path('users/password-reset/request/', PasswordResetRequestView.as_view(), name='password_reset_request'),
    path('users/password-reset/confirm/', PasswordResetConfirmView.as_view(), name='password_reset_confirm'),

]