from django.urls import path
from django.contrib.auth import views as auth_views
from . import views
from core.dashboard_api import bookings_by_vertical, bookings_by_subcategory, bookings_by_service, top_customers,tickets_assigned_to_consultant
from core.customer_api import customer_bookings_by_vertical, customer_bookings_by_subcategory, customer_bookings_by_service

urlpatterns = [
    path('', views.home, name='home'),

    # Auth
    path('signup/', views.signup_view, name='signup'),
    path('verify-otp/', views.verify_otp_view, name='verify_otp'),
    path('login/', views.login_combined_view, name='login'),
    path('send-otp/', views.send_mobile_otp, name='send_mobile_otp'),
    path('send-email-otp/', views.send_signup_email_otp, name='send_signup_email_otp'),
    path('logout/', views.handlelogout, name='handlelogout'),
    path('password_reset/', auth_views.PasswordResetView.as_view(template_name='auth/password_reset.html'), name='password_reset'),
    path('password_reset/done/', auth_views.PasswordResetDoneView.as_view(template_name='auth/password_reset_done.html'), name='password_reset_done'),
    path('reset/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(template_name='auth/password_reset_confirm.html'), name='password_reset_confirm'),
    path('reset/done/', auth_views.PasswordResetCompleteView.as_view(template_name='auth/password_reset_complete.html'), name='password_reset_complete'),

    path('consultant/profile/', views.consultant_profile_update, name='consultant_profile_update'),
    path('consultant/services/', views.consultant_my_services, name='consultant_my_services'),    
    path('consultant/services/list/', views.consultant_services_list, name='consultant_services_list'),
    path('consultant/services/delete/<int:pk>/', views.consultant_service_delete, name='consultant_service_delete'),
    path('consultant/assigned-services/', views.consultant_assigned_bookings, name='consultant_assigned_bookings'),
    path('customer/profile/', views.customer_profile_update, name='customer_profile_update'),
    path('book-services/', views.book_services_view, name='book_services'),
    path('edit-booking/<int:booking_id>/', views.edit_service_booking, name='edit_booking'),
    path('ajax/load-subcategories/', views.load_subcategories, name='ajax_load_subcategories'),
    path('ajax/load-services/', views.load_services, name='ajax_load_services'),
    path('booking-success/', views.booking_success_view, name='booking_success'),
    path('my-bookings/', views.my_bookings_view, name='my_bookings'),
    path('cancel-booking/<int:booking_id>/', views.cancel_booking_view, name='cancel_booking'),
    # Dashboards
    
    path('customer/dashboard/', views.customer_dashboard, name='customer_dashboard'),
    path('consultant/dashboard/', views.consultant_dashboard, name='consultant_dashboard'),

   # Dependent select url
    path('get-subtypes/', views.get_subtypes, name='get_subtypes'),
    path('get-rank-subtypes/', views.get_rank_subtypes, name='get_rank_subtypes'),
    path('get-states/', views.get_states, name='get_states'),
    path('get-cities/', views.get_cities, name='get_cities'),
    
    path('send-otps/', views.send_otps, name='send_otps'),
    path('verify-otps/', views.verify_otps, name='verify_otps'),
    path('register/', views.register, name='register'),
    
    path("api/bookings-by-vertical/", bookings_by_vertical, name="bookings_by_vertical"),
    path("api/bookings-by-subcategory/", bookings_by_subcategory, name="bookings_by_subcategory"),
    path("api/bookings-by-service/", bookings_by_service, name="bookings_by_service"),
    
    path("api/top-customers/", top_customers, name="top_customers"),
    
    path("api/tickets-assigned-to-consultant/", tickets_assigned_to_consultant, name="tickets_assigned_to_consultant"),
    
    path("api/customer-bookings-by-vertical/", customer_bookings_by_vertical, name="customer_bookings_by_vertical"),
    path("api/customer-bookings-by-subcategory/", customer_bookings_by_subcategory, name="customer_bookings_by_subcategory"),
    path("api/customer-bookings-by-service/", customer_bookings_by_service, name="customer_bookings_by_service"),
    
   
  
]
