from django.urls import path, re_path
from . import views
# 仓库模块API路由配置
urlpatterns = [
    # 仓库基础API端点:列表查询和创建操作
    path(r'', views.APIViewSet.as_view({"get": "list", "post": "create"}), name="warehouse"),
    
    # 单个仓库资源操作端点:详情/更新/部分更新/删除
    re_path(r'^(?P<pk>\d+)/$', views.APIViewSet.as_view({
        'get': 'retrieve',
        'put': 'update',
        'patch': 'partial_update',
        'delete': 'destroy'
    }), name="warehouse_1"),
    
    path(r'department/', views.DepartmentAPIViewSet.as_view({"get": "list", "post": "create"}), name="department"),
    re_path(r'department/(?P<pk>\d+)/$', views.DepartmentAPIViewSet.as_view({
        'get': 'retrieve',
        'put': 'update',
        'patch': 'partial_update',
        'delete': 'destroy'
    }), name="department_1"),

    path(r'boundtype/', views.BoundTypeAPIViewSet.as_view({"get": "list", "post": "create"}), name="boundtype"),
    re_path(r'boundtype/(?P<pk>\d+)/$', views.BoundTypeAPIViewSet.as_view({
        'get': 'retrieve',
        'put': 'update',    
        'patch': 'partial_update',
        'delete': 'destroy'
    }), name="boundtype_1"),

    path(r'boundcodetype/', views.BoundCodeTypeAPIViewSet.as_view({"get": "list", "post": "create"}), name="boundcodetype"),
    re_path(r'boundcodetype/(?P<pk>\d+)/$', views.BoundCodeTypeAPIViewSet.as_view({
        'get': 'retrieve',
        'put': 'update',
        'patch': 'partial_update',
        'delete': 'destroy'
    }), name="boundcodetype_1"),

    path(r'boundbusiness/', views.BoundBusinessAPIViewSet.as_view({"get": "list", "post": "create"}), name="boundbusiness"),
    re_path(r'boundbusiness/(?P<pk>\d+)/$', views.BoundBusinessAPIViewSet.as_view({
        'get': 'retrieve',
        'put': 'update',
        'patch': 'partial_update',
        'delete': 'destroy'
    }), name="boundbusiness_1"),

    path(r'status/', views.BoundStatusAPIViewSet.as_view({"get": "list", "post": "create"}), name="status"),
    re_path(r'status/(?P<pk>\d+)/$', views.BoundStatusAPIViewSet.as_view({
        'get': 'retrieve',
        'put': 'update',
        'patch': 'partial_update',
        'delete': 'destroy'
    }), name="status_1"),
        # 批量操作基础端点:批量查询接口
    path(r'multiple/', views.MultipleViewSet.as_view({"get": "list"}), name="warehouse"),

    path(r'product/', views.ProductAPIViewSet.as_view({"get": "list", "post": "create"}), name="product"),
    re_path(r'product/(?P<pk>\d+)/$', views.ProductAPIViewSet.as_view({
        'get': 'retrieve',
        'put': 'update',
        'patch': 'partial_update',
        'delete': 'destroy'
    }), name="product_1"),  
  
    

]