from django.urls import path, include from rest_framework.routers import DefaultRouter from .views import ( stock_change_views, purchase_order, healthy, user_info, inventory, product_image, stateflow, users, ) from .views.stock_change_views.snapshot import StockSnapshotListView from .views.printing.views import PrintingOrderViewSet, PrintingJobViewSet, PlateOrderViewSet from .views.upload import UploadFileViewSet from .views.products import ProductQuickViewSet from .views.parameters import StateParameterViewSet from .views.users import CreateUserWithProfileView # 创建 DRF Router for Stateflow stateflow_router = DefaultRouter() stateflow_router.register(r'states', stateflow.StateViewSet, basename='state') stateflow_router.register(r'processes', stateflow.ProcessViewSet, basename='process') stateflow_router.register(r'business-objects', stateflow.BusinessObjectViewSet, basename='business-object') # 创建主 Router main_router = DefaultRouter() main_router.register(r'printing-orders', PrintingOrderViewSet, basename='printing-order') main_router.register(r'printing-jobs', PrintingJobViewSet, basename='printing-job') main_router.register(r'plate-orders', PlateOrderViewSet, basename='plate-order') main_router.register(r'upload', UploadFileViewSet, basename='upload') main_router.register(r'products/quick', ProductQuickViewSet, basename='product-quick') main_router.register(r'parameters', StateParameterViewSet, basename='parameter') urlpatterns = [ # 库存变动相关API path('stock-snapshots/', StockSnapshotListView.as_view(), name='list_stock_snapshots'), path('stock-changes/', stock_change_views.list_stock_changes, name='list_stock_changes'), path('stock-change-details/', stock_change_views.list_stock_change_details, name='list_stock_change_details'), path('stock-change/', stock_change_views.create_full_stock_change, name='create_full_stock_change'), path('stock-change/relaxed/', stock_change_views.create_relaxed_stock_change, name='create_relaxed_stock_change'), path('stock-change/restrict/', stock_change_views.create_restrict_stock_change, name='create_restrict_stock_change'), path('stock-change//', stock_change_views.get_stock_change, name='get_stock_change'), path( 'set-merchant-auto-complete-stock-change/', stock_change_views.set_merchant_auto_complete_stock_change, name='set_merchant_auto_complete_stock_change', ), # 用户信息 API path('user-info/', user_info.user_info, name='user_info'), # 用户创建 API path('users/create/', CreateUserWithProfileView.as_view(), name='create_user_with_profile'), # 库存查询 API path('inventory/', inventory.InventoryAPIView.as_view(), name='inventory'), path('purchase-orders/', purchase_order.PurchaseOrderView.as_view(), name='purchase_orders'), path('health/', healthy.HealthCheckView.as_view(), name='health_check'), # 产品图片上传 API path('products//image/', product_image.ProductImageUploadView.as_view(), name='product_image_upload'), # Stateflow API (使用 Router) path('stateflow/', include(stateflow_router.urls)), # 主 Router (printing-orders 等) path('', include(main_router.urls)), ]