from django.urls import path
from .views import PatientGalleryView, PatientAddServiceView, PatientServiceHistoryView, PatientEditView
# from .views import (
#     PatientView, PatientCreateView, PatientEditView, PatientDeleteView,
#     PatientAddServiceView, PatientServiceHistoryView, ServiceEditView, ServiceDeleteView
#     , DeleteAllServicesView , PatientServiceUpdateDiscountView , PatientImageDeleteView , PatientGalleryView
# )
from . import views
# '2': {'first_name': 'syaband', 'last_name': 'Hossein', 'phone_number': '07504867280', 'date_of_birth': datetime.date(1986, 7, 10), 'gender': 'Male', 'address': 'duhok', 'profile_picture': <ImageFieldFile: None>}
app_name = "patient"
urlpatterns = [
    path('examination/reservation/<int:pk>/', views.ExaminationView.as_view(), name='examination'),

    # عملیات های مربوط به بیمار
    # path('<int:pk>/delete/', views.patient_delete, name='patient_delete'),
    # path('<int:pk>/update-status/', views.update_patient_status, name='update_patient_status'),

    # رزروهای بیمار
    path('<int:pk>/reservations/', views.patient_reservations, name='patient_reservations'),

    # تصاویر رزرو
    path('reservations/<int:pk>/images/', views.reservation_images, name='reservation_images'),

    path('reservations/<int:pk>/delete/', views.delete_reservation, name='delete_reservation'),
    # Patient URLs
    path('', views.PatientListView.as_view(), name='patients'),
    path('<int:pk>/', views.PatientDetailView.as_view(), name='patient-detail'),
    path('create/', views.PatientNewCreateView.as_view(), name='create-patient'),
    path('edit/', views.update_patient, name='update_patient'),
    path('api/edit/<int:patient_id>/', views.patient_edit, name='patient_edit'),
    path('api/medical-records/<int:patient_id>/', views.get_patient_medical_records,
         name='get_patient_medical_records'),
    path('api/medical-records/<int:record_id>/delete/', views.delete_medical_record, name='delete_medical_record'),

    path('wallet/<int:patient_id>/', views.patient_wallet_edit, name='patient_wallet_edit'),
    # عملیات های رزرو

    path('<int:pk>/update/', views.PatientUpdateView.as_view(), name='patient-update'),
    path('<int:pk>/delete/', views.PatientDeleteView.as_view(), name='patient-delete'),
    # Patient Image URLs
    path('<int:patient_id>/add-image/', views.add_patient_image, name='add-patient-image'),
    path('images/<int:image_id>/delete/', views.delete_patient_image, name='delete-patient-image'),
    # Medical Record URLs
    path('<int:patient_id>/medical-records/create/', views.MedicalRecordCreateView.as_view(),
         name='create-medical-record'),
    path('medical-records/<int:pk>/update/', views.MedicalRecordUpdateView.as_view(), name='update-medical-record'),
    path('medical-records/<int:pk>/delete/', views.MedicalRecordDeleteView.as_view(), name='delete-medical-record'),
    # Reservation URLs
    path('reservations/', views.ReservationListView.as_view(), name='reservation-list'),
    path('reservations/<int:pk>/', views.ReservationDetailView.as_view(), name='reservation-detail'),

    path('service/<int:id>/', PatientAddServiceView.as_view(), name='add-service'),
    path('history/<int:id>/', PatientServiceHistoryView.as_view(), name='service-history'),
    path('edit/<int:id>/', PatientEditView.as_view(), name='edit-patient'),
    path('patient/<int:id>/gallery/', PatientGalleryView.as_view(), name='patient-gallery'),

    path('reservations/create/', views.ReservationCreateView.as_view(), name='reservation-create'),
    path('reservations/tec/create/', views.ReservationCreateNewJSONView.as_view(), name='reservation-create'),
    path('doctors-by-service/', views.doctors_by_service, name='doctors-by-service'),
    path('reservations/create/<int:patient_id>/', views.ReservationCreateView.as_view(),
         name='reservation-create-for-patient'),
    path('reservations/<int:pk>/update/', views.ReservationUpdateView.as_view(), name='reservation-update'),
    path('reservations/<int:pk>/delete/', views.ReservationDeleteView.as_view(), name='reservation-delete'),
    path('reservations/<int:pk>/status/<str:status>/', views.change_reservation_status,
         name='change-reservation-status'),
    # API Endpoints
    path('api/check-availability/', views.check_availability, name='check-availability'),
    path('all_patient/', views.all_patient, name='all_patient'),
]

#
# urlpatterns = [
#     # path('', PatientView.as_view(), name='patients'),
#     path('', views.PatientsView.as_view(), name='patients'),
#     path('patiant/get/<int:pk>/', views.PatientGetView.as_view(), name='search_all_patiant'),  # API خدمات
#     path('search/patiant/all/', views.PatientsView.as_view(), name='search_all_patiant'),  # API خدمات
#     path('search/patiant/', views.search_patiants, name='search_service'),
#
#     path('patiant/create/', views.PatientNewCreateView.as_view(), name='patiant_new_create'),
#     path('patiant/update/<int:pk>/', views.PatientUpdateView.as_view(), name='patiant_update'),
#     path('patiant/change-status/', views.ChangePatientStatusView.as_view(),
#          name='service-change-status'),
#     path('patiants/delete/<int:id>/', views.PatientDeleteView.as_view(), name='delete-patiant'),
#
#     # path('patient/<int:pk>/details/', views.patient_details_api, name='patient_details_api'),  # API خدمات
#     # Patient routes
#     # path('', views.patient_list, name='patients'),
#     path('patients/<int:patient_id>/', views.patient_detail, name='patient_detail'),
#     path('patients/create/', views.patient_create, name='patient_create'),
#     path('patients/<int:patient_id>/update/', views.patient_update, name='patient_update'),
#     path('patients/<int:patient_id>/delete/', views.patient_delete, name='patient_delete'),
#
#     # Medical record routes
#     path('patients/<int:patient_id>/medical-records/create/', views.medical_record_create,
#          name='medical_record_create'),
#     path('medical-records/<int:record_id>/update/', views.medical_record_update, name='medical_record_update'),
#     path('medical-records/<int:record_id>/delete/', views.medical_record_delete, name='medical_record_delete'),
#
#     # Patient image routes
#     path('patients/<int:patient_id>/images/create/', views.patient_image_create, name='patient_image_create'),
#     path('patients/images/<int:image_id>/delete/', views.patient_image_delete, name='patient_image_delete'),
#
#     # Appointment routes
#     path('appointments/', views.appointment_list, name='appointment_list'),
#     path('appointments/create/', views.appointment_create, name='appointment_create'),
#     path('appointments/<int:appointment_id>/update/', views.appointment_update, name='appointment_update'),
#     path('appointments/<int:appointment_id>/delete/', views.appointment_delete, name='appointment_delete'),
#     path('appointments/<int:appointment_id>/status/', views.appointment_status_update,
#          name='appointment_status_update'),
#
#     # API routes
#     path('api/time-slots/', views.available_time_slots, name='available_time_slots'),
#     path('api/patient-search/', views.patient_search_api, name='patient_search_api'),
#
#
#
#
#
#
#
#
#
#
#
#
#
#     path('new/', PatientCreateView.as_view(), name='create-patient'),
#     path('delete/<int:id>/', PatientDeleteView.as_view(), name='delete-patient'),
#     path('service/<int:id>/', PatientAddServiceView.as_view(), name='add-service'),
#     path('service/edit/<int:pk>/', ServiceEditView.as_view(), name='service-edit'),
#     path('service/delete/<int:pk>/', ServiceDeleteView.as_view(), name='service-delete'),
#     path('delete-all-services/<int:id>/', DeleteAllServicesView.as_view(), name='delete-all-services'),
#     path('service/update-discount/<int:id>/', PatientServiceUpdateDiscountView.as_view(), name='service-update-discount'),
#
#
#     path('image/<int:id>/delete/', PatientImageDeleteView.as_view(), name='delete-image'),
# ]
