from django.urls import path

from ..views.frontend import NotImplementedView
from ..views.admin.vessels import AdminVesselsListView, AdminVesselsListDataTableView, AdminVesselsCreateView, AdminVesselsUpdateView, AdminVesselsDeleteView
from ..views.admin.replication.sources import AdminReplicationSourcesListView, AdminReplicationSourcesListDataTableView, AdminReplicationSourcesCreateView, AdminReplicationSourcesUpdateView, AdminReplicationSourcesDeleteView
from ..views.admin.replication.targets import AdminReplicationTargetsListView, AdminReplicationTargetsListDataTableView, AdminReplicationTargetsCreateView, AdminReplicationTargetsUpdateView, AdminReplicationTargetsDeleteView


urlpatterns = [
    path("", NotImplementedView.as_view(), name="admin"),

    path("vessels/", AdminVesselsListView.as_view(), name="admin_vessels"),
    path("vessels/new/", AdminVesselsCreateView.as_view(),
         name="admin_vessels_create"),
    path("vessels/datatable/", AdminVesselsListDataTableView.as_view(),
         name="admin_vessels_datatable"),
    path("vessels/<int:pk>/", AdminVesselsUpdateView.as_view(),
         name="admin_vessels_edit"),
    path("vessels/<int:pk>/delete/", AdminVesselsDeleteView.as_view(),
         name="admin_vessels_delete"),

    path("replication/sources/", AdminReplicationSourcesListView.as_view(),
         name="admin_replication_sources"),
    path("replication/sources/new/", AdminReplicationSourcesCreateView.as_view(),
         name="admin_replication_sources_create"),
    path("replication/sources/datatable/", AdminReplicationSourcesListDataTableView.as_view(),
         name="admin_replication_sources_datatable"),
    path("replication/sources/<int:pk>/", AdminReplicationSourcesUpdateView.as_view(),
         name="admin_replication_sources_edit"),
    path("replication/sources/<int:pk>/delete/", AdminReplicationSourcesDeleteView.as_view(),
         name="admin_replication_sources_delete"),

    path("replication/targets/", AdminReplicationTargetsListView.as_view(),
         name="admin_replication_targets"),
    path("replication/targets/new/", AdminReplicationTargetsCreateView.as_view(),
         name="admin_replication_targets_create"),
    path("replication/targets/datatable/", AdminReplicationTargetsListDataTableView.as_view(),
         name="admin_replication_targets_datatable"),
    path("replication/targets/<int:pk>/", AdminReplicationTargetsUpdateView.as_view(),
         name="admin_replication_targets_edit"),
    path("replication/targets/<int:pk>/delete/", AdminReplicationTargetsDeleteView.as_view(),
         name="admin_replication_targets_delete"),
]
