from django.urls import path

from . import views

urlpatterns = [
    path("plan-archivio/items", views.PlanArchivioAPIView.as_view({'post': 'get_items'})), 
    path("plan-archivio/items-week", views.PlanArchivioAPIView.as_view({'post': 'get_items_week'})), 
    path("plan-archivio/items-archivio", views.PlanArchivioAPIView.as_view({'post': 'get_items_archivio'})), 
    path("plan-archivio/items-fatture", views.PlanArchivioAPIView.as_view({'post': 'get_items_fatture'})), 
    path("plan-archivio/items-planner", views.PlanArchivioAPIView.as_view({'post': 'get_items_planner'})), 
    path("plan-archivio/report-data", views.PlanArchivioAPIView.as_view({'post': 'get_planner_report_data'})), 
    path("plan-archivio/report-page", views.PlanArchivioAPIView.as_view({'post': 'get_report_page'})), 
    path("plan-archivio/report-page/pratiche-by-id", views.PlanArchivioAPIView.as_view({'post': 'get_pratiche_by_ids'})), 
    path("plan-archivio/edit-planner", views.PlanArchivioAPIView.as_view({'post': 'edit_planner'})), 
    path("plan-archivio/report-detail", views.PlanArchivioAPIView.as_view({'post': 'get_report_data_detail'})), 
    path("plan-archivio/get-filter-list", views.PlanArchivioAPIView.as_view({'post': 'get_filters_list'})), 
    path("plan-archivio/items/save", views.PlanArchivioAPIView.as_view({'post': 'save_item'})),
    path("plan-archivio/item/delete/<int:id>", views.PlanArchivioAPIView.as_view({'delete': 'delete_item'})),
    path("plan-archivio/items/<int:pk>", views.PlanArchivioAPIView.as_view({'get': 'get_item_by_id'})), 
    path("plan-archivio/tipo-documenti", views.PlanArchivioAPIView.as_view({'get': 'get_tipo_documenti'})), 
    path("plan-archivio/<int:pk>/oreplan/items", views.ConsuntivazioneAPIView.as_view({'get': 'get_items'})), 
    path("plan-archivio/<int:pk>/prendi-in-carico", views.PlanArchivioAPIView.as_view({'post': 'take_charge'})), 
    path("plan-archivio/<int:pk>/close", views.PlanArchivioAPIView.as_view({'post': 'close_plan'})), 
    
    path("plan-archivio/<int:pk>/edit-fattura", views.PlanArchivioAPIView.as_view({'post': 'edit_fattura'})), 
    path("plan-archivio/<int:pk>/edit-stato-fattura", views.PlanArchivioAPIView.as_view({'post': 'edit_stato_fattura'})), 
    path("plan-archivio/bulk-change-fattura-status", views.PlanArchivioAPIView.as_view({'post': 'bulk_edit_stato_fattura'})), 
    path("plan-archivio/bulk-fatturazione", views.PlanArchivioAPIView.as_view({'post': 'bulk_fatturazione'})), 

    path("plan-archivio/<int:pk>/flusso/items", views.FlussoAPIView.as_view({'get': 'get_items'})), 
    path("flusso/items/savegroup", views.FlussoAPIView.as_view({'post': 'save_group'})), 
    path('flusso/<int:flusso_id>/attachments/<int:attachment_id>/download', views.FlussoAPIView.as_view({'get': 'download_flusso_attachment'})),
    path("flusso/items/save", views.FlussoAPIView.as_view({'post': 'save_flow'})), 
    path("flusso/<int:flusso_id>/save-state", views.FlussoAPIView.as_view({'post': 'change_state'})), 
    path("flusso/<int:pk>/delete", views.FlussoAPIView.as_view({'delete': 'delete_item'})), 
    path("flusso/change-flows-order", views.FlussoAPIView.as_view({'post': 'change_flows_order'})), 

    path("plan-archivio/<int:pk>/notatemporanea/items", views.NotaTemporaneaAPIView.as_view({'get': 'get_items'})), 
    path("plan-archivio/<int:pk>/notapermanente/items", views.NotaPermanenteAPIView.as_view({'get': 'get_items'})), 
    path("plan-archivio/<int:pk>/reviewticket/items", views.ReviewTicketAPIView.as_view({'get': 'get_items'})), 
    
    path("notatemporanea/save", views.NotaTemporaneaAPIView.as_view({'post': 'save_item'})),
    path("notapermanente/save", views.NotaPermanenteAPIView.as_view({'post': 'save_item'})),
    path("notatemporanea/<int:pk>/delete", views.NotaTemporaneaAPIView.as_view({'delete': 'delete_item'})),
    path("notapermanente/<int:pk>/delete", views.NotaPermanenteAPIView.as_view({'delete': 'delete_item'})), 

    path("reviewticket/save", views.ReviewTicketAPIView.as_view({'post': 'save_item'})), 
    path('reviewticket/<int:review_id>/attachments/<int:attachment_id>/download', views.ReviewTicketAPIView.as_view({'get': 'download_review_attachment'})),
    path('reviewticket/<int:review_id>/close', views.ReviewTicketAPIView.as_view({'post': 'close_review'})),

    path("ore-plan/save", views.ConsuntivazioneAPIView.as_view({'post': 'save_item'})),
    path("ore-plan/<int:pk>/delete", views.ConsuntivazioneAPIView.as_view({'delete': 'delete_item'})),


    path("pratica/items/<int:pk>", views.PraticaAPIView.as_view({'get': 'get_item_by_id'})), 
    path("pratica/save", views.PraticaAPIView.as_view({'post': 'save_item'})), 
    path("pratica/items", views.PraticaAPIView.as_view({'post': 'get_items'})), 
    path("pratica/list", views.PraticaAPIView.as_view({'get': 'get_list'})), 
    path("pratica/stati", views.PraticaAPIView.as_view({'get': 'get_stati_pratica'})), 
    
    path("commessa/items", views.CommessaAPIView.as_view({'get': 'get_items'})), 
    path("commessa/fascicoli", views.CommessaAPIView.as_view({'get': 'get_fascicoli'})), 

    path('utente/<int:pk>', views.UtenteAPIView.as_view({'post': 'get_item'})),
    path('utente/items', views.UtenteAPIView.as_view({'post': 'get_items'})),
    
    path("cliente/items", views.ClienteAPIView.as_view({'post': 'get_items'})), 
    path("cliente/save", views.ClienteAPIView.as_view({'post': 'save_item'})), 
    path("cliente/generate-master", views.ClienteAPIView.as_view({'post': 'generate_master'})), 
    path("cliente/generate-recurring", views.ClienteAPIView.as_view({'post': 'generate_recurring'})), 
    path("cliente/active-items", views.ClienteAPIView.as_view({'get': 'get_active_clients'})), 

    path("modello/items", views.ModelloAPIView.as_view({'post': 'get_items'})), 
    path("modello/save", views.ModelloAPIView.as_view({'post': 'save_item'})), 
    path("modello/list", views.ModelloAPIView.as_view({'get': 'get_list'})), 

    path("gruppo/list", views.GruppoAPIView.as_view({'get': 'get_list'})), 
    path("gruppo/items", views.GruppoAPIView.as_view({'post': 'get_items'})),
    path("gruppo/save", views.GruppoAPIView.as_view({'post': 'save_item'})),
    
    path("tag/list", views.TagAPIView.as_view({'get': 'get_list'})), 
    path("tag/items", views.TagAPIView.as_view({'post': 'get_items'})),
    path("tag/save", views.TagAPIView.as_view({'post': 'save_item'})),

    path("audit-log/items", views.AuditLogAPIView.as_view({'post': 'get_items'})),
    path("audit-log/save", views.AuditLogAPIView.as_view({'post': 'save_item'})),

]
