@things-factory/operato-hub 4.3.120 → 4.3.123
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config.development.js +15 -30
- package/dist-server/routers/api/index.js +0 -1
- package/dist-server/routers/api/index.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/add-release-order.js +1 -1
- package/dist-server/routers/api/restful-apis/unstable/add-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/company/add-contact-points.js +105 -0
- package/dist-server/routers/api/restful-apis/v1/company/add-contact-points.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/add-marketplace-order.js +197 -0
- package/dist-server/routers/api/restful-apis/v1/company/add-marketplace-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/add-products.js +79 -0
- package/dist-server/routers/api/restful-apis/v1/company/add-products.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/cancel-marketplace-order.js +90 -0
- package/dist-server/routers/api/restful-apis/v1/company/cancel-marketplace-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-bizplace-list.js +49 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-bizplace-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-contact-point-list.js +62 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-contact-point-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.js +98 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-store-list.js +51 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-store-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-partner-list.js +88 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-partner-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-product-list.js +98 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-product-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/index.js +15 -0
- package/dist-server/routers/api/restful-apis/v1/company/index.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.js +62 -0
- package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-shipping-order.js +40 -0
- package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-shipping-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/index.js +2 -31
- package/dist-server/routers/api/restful-apis/v1/index.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/middlewares/business-middleware.js +70 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/business-middleware.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/index.js +40 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/index.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/logging-middleware.js +23 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/logging-middleware.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/store-middleware.js +32 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/store-middleware.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/validation-middleware.js +118 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/validation-middleware.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.js +31 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/utils/error-util.js +71 -0
- package/dist-server/routers/api/restful-apis/v1/utils/error-util.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/utils/params.js +562 -0
- package/dist-server/routers/api/restful-apis/v1/utils/params.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/utils/validate-util.js +66 -0
- package/dist-server/routers/api/restful-apis/v1/utils/validate-util.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/add-inbound-order.js +236 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/add-inbound-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/add-release-order.js +795 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/add-release-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.js +199 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-release-order.js +192 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-release-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.js +138 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.js +97 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.js +81 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.js +94 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.js +87 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.js +85 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-details.js +96 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-details.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-list.js +110 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/index.js +16 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/index.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/update-release-order-details.js +71 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/update-release-order-details.js.map +1 -0
- package/openapi/v1/inbound.yaml +5 -5
- package/openapi/v1/inventory.yaml +6 -0
- package/package.json +55 -55
- package/server/routers/api/index.ts +0 -1
- package/server/routers/api/restful-apis/unstable/add-release-order.ts +1 -1
- package/server/routers/api/restful-apis/v1/company/add-contact-points.ts +111 -0
- package/server/routers/api/restful-apis/v1/company/add-marketplace-order.ts +234 -0
- package/server/routers/api/restful-apis/v1/company/add-products.ts +106 -0
- package/server/routers/api/restful-apis/v1/company/cancel-marketplace-order.ts +94 -0
- package/server/routers/api/restful-apis/v1/company/get-bizplace-list.ts +55 -0
- package/server/routers/api/restful-apis/v1/company/get-contact-point-list.ts +67 -0
- package/server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.ts +100 -0
- package/server/routers/api/restful-apis/v1/company/get-marketplace-store-list.ts +57 -0
- package/server/routers/api/restful-apis/v1/company/get-partner-list.ts +95 -0
- package/server/routers/api/restful-apis/v1/company/get-product-list.ts +103 -0
- package/server/routers/api/restful-apis/v1/company/index.ts +12 -0
- package/server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.ts +66 -0
- package/server/routers/api/restful-apis/v1/company/update-marketplace-shipping-order.ts +51 -0
- package/server/routers/api/restful-apis/v1/index.ts +2 -31
- package/server/routers/api/restful-apis/v1/middlewares/business-middleware.ts +72 -0
- package/server/routers/api/restful-apis/v1/middlewares/index.ts +26 -0
- package/server/routers/api/restful-apis/v1/middlewares/logging-middleware.ts +24 -0
- package/server/routers/api/restful-apis/v1/middlewares/store-middleware.ts +34 -0
- package/server/routers/api/restful-apis/v1/middlewares/validation-middleware.ts +116 -0
- package/server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.ts +31 -0
- package/server/routers/api/restful-apis/v1/utils/error-util.ts +70 -0
- package/server/routers/api/restful-apis/v1/utils/params.ts +562 -0
- package/server/routers/api/restful-apis/v1/utils/validate-util.ts +59 -0
- package/server/routers/api/restful-apis/v1/warehouse/add-inbound-order.ts +324 -0
- package/server/routers/api/restful-apis/v1/warehouse/add-release-order.ts +976 -0
- package/server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.ts +262 -0
- package/server/routers/api/restful-apis/v1/warehouse/cancel-release-order.ts +275 -0
- package/server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.ts +141 -0
- package/server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.ts +105 -0
- package/server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.ts +83 -0
- package/server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.ts +96 -0
- package/server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.ts +112 -0
- package/server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.ts +90 -0
- package/server/routers/api/restful-apis/v1/warehouse/get-release-order-details.ts +99 -0
- package/server/routers/api/restful-apis/v1/warehouse/get-release-order-list.ts +113 -0
- package/server/routers/api/restful-apis/v1/warehouse/index.ts +13 -0
- package/server/routers/api/restful-apis/v1/warehouse/update-release-order-details.ts +96 -0
- package/dist-server/routers/api/restful-apis/v1/add-contact-point.js +0 -64
- package/dist-server/routers/api/restful-apis/v1/add-contact-point.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/add-draft-release-order.js +0 -171
- package/dist-server/routers/api/restful-apis/v1/add-draft-release-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js +0 -213
- package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js +0 -144
- package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/add-products.js +0 -88
- package/dist-server/routers/api/restful-apis/v1/add-products.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/add-release-order.js +0 -774
- package/dist-server/routers/api/restful-apis/v1/add-release-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/bizplace.js +0 -45
- package/dist-server/routers/api/restful-apis/v1/bizplace.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/cancel-marketplace-order.js +0 -63
- package/dist-server/routers/api/restful-apis/v1/cancel-marketplace-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js +0 -66
- package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js +0 -103
- package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js +0 -47
- package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js +0 -124
- package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js +0 -164
- package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js +0 -120
- package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js +0 -115
- package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js +0 -125
- package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js +0 -88
- package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/get-inventory-product-group.js +0 -101
- package/dist-server/routers/api/restful-apis/v1/get-inventory-product-group.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.js +0 -146
- package/dist-server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js +0 -79
- package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js +0 -110
- package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/get-partners.js +0 -23
- package/dist-server/routers/api/restful-apis/v1/get-partners.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/get-products.js +0 -210
- package/dist-server/routers/api/restful-apis/v1/get-products.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js +0 -122
- package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js +0 -191
- package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/get-warehouses.js +0 -20
- package/dist-server/routers/api/restful-apis/v1/get-warehouses.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/reject-inbound-order.js +0 -35
- package/dist-server/routers/api/restful-apis/v1/reject-inbound-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-delivered.js +0 -45
- package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-delivered.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.js +0 -45
- package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/update-marketplace-order.js +0 -93
- package/dist-server/routers/api/restful-apis/v1/update-marketplace-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/update-marketplace-shipping-order.js +0 -85
- package/dist-server/routers/api/restful-apis/v1/update-marketplace-shipping-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js +0 -82
- package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/add-contact-point.js +0 -64
- package/dist-server/routers/api/restful-apis/v2/add-contact-point.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/add-draft-release-order.js +0 -171
- package/dist-server/routers/api/restful-apis/v2/add-draft-release-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js +0 -213
- package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js +0 -144
- package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/add-products.js +0 -88
- package/dist-server/routers/api/restful-apis/v2/add-products.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/add-release-order.js +0 -774
- package/dist-server/routers/api/restful-apis/v2/add-release-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/bizplace.js +0 -45
- package/dist-server/routers/api/restful-apis/v2/bizplace.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/cancel-marketplace-order.js +0 -63
- package/dist-server/routers/api/restful-apis/v2/cancel-marketplace-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js +0 -66
- package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/get-contact-point-list.js +0 -103
- package/dist-server/routers/api/restful-apis/v2/get-contact-point-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/get-delivery-order-detail.js +0 -47
- package/dist-server/routers/api/restful-apis/v2/get-delivery-order-detail.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/get-delivery-order-list.js +0 -124
- package/dist-server/routers/api/restful-apis/v2/get-delivery-order-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js +0 -164
- package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js +0 -120
- package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/get-inbound-order-detail.js +0 -115
- package/dist-server/routers/api/restful-apis/v2/get-inbound-order-detail.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/get-inbound-order-list.js +0 -125
- package/dist-server/routers/api/restful-apis/v2/get-inbound-order-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/get-inventory-overall-product-group.js +0 -88
- package/dist-server/routers/api/restful-apis/v2/get-inventory-overall-product-group.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/get-inventory-product-group.js +0 -101
- package/dist-server/routers/api/restful-apis/v2/get-inventory-product-group.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.js +0 -146
- package/dist-server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/get-marketplace-store-list.js +0 -79
- package/dist-server/routers/api/restful-apis/v2/get-marketplace-store-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js +0 -110
- package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/get-partners.js +0 -23
- package/dist-server/routers/api/restful-apis/v2/get-partners.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/get-products.js +0 -210
- package/dist-server/routers/api/restful-apis/v2/get-products.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/get-release-order-detail.js +0 -122
- package/dist-server/routers/api/restful-apis/v2/get-release-order-detail.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/get-release-order-list.js +0 -191
- package/dist-server/routers/api/restful-apis/v2/get-release-order-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/get-warehouses.js +0 -20
- package/dist-server/routers/api/restful-apis/v2/get-warehouses.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/index.js +0 -34
- package/dist-server/routers/api/restful-apis/v2/index.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/reject-inbound-order.js +0 -35
- package/dist-server/routers/api/restful-apis/v2/reject-inbound-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-delivered.js +0 -45
- package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-delivered.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.js +0 -45
- package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/update-marketplace-order.js +0 -93
- package/dist-server/routers/api/restful-apis/v2/update-marketplace-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/update-marketplace-shipping-order.js +0 -85
- package/dist-server/routers/api/restful-apis/v2/update-marketplace-shipping-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js +0 -82
- package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js.map +0 -1
- package/server/routers/api/restful-apis/v1/add-contact-point.ts +0 -77
- package/server/routers/api/restful-apis/v1/add-draft-release-order.ts +0 -196
- package/server/routers/api/restful-apis/v1/add-inbound-order.ts +0 -242
- package/server/routers/api/restful-apis/v1/add-marketplace-order.ts +0 -172
- package/server/routers/api/restful-apis/v1/add-products.ts +0 -112
- package/server/routers/api/restful-apis/v1/add-release-order.ts +0 -967
- package/server/routers/api/restful-apis/v1/bizplace.ts +0 -45
- package/server/routers/api/restful-apis/v1/cancel-marketplace-order.ts +0 -81
- package/server/routers/api/restful-apis/v1/cancel-release-order.ts +0 -91
- package/server/routers/api/restful-apis/v1/get-contact-point-list.ts +0 -110
- package/server/routers/api/restful-apis/v1/get-delivery-order-detail.ts +0 -46
- package/server/routers/api/restful-apis/v1/get-delivery-order-list.ts +0 -121
- package/server/routers/api/restful-apis/v1/get-delivery-orders.ts +0 -178
- package/server/routers/api/restful-apis/v1/get-goods-received-notes.ts +0 -134
- package/server/routers/api/restful-apis/v1/get-inbound-order-detail.ts +0 -128
- package/server/routers/api/restful-apis/v1/get-inbound-order-list.ts +0 -126
- package/server/routers/api/restful-apis/v1/get-inventory-overall-product-group.ts +0 -99
- package/server/routers/api/restful-apis/v1/get-inventory-product-group.ts +0 -112
- package/server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.ts +0 -156
- package/server/routers/api/restful-apis/v1/get-marketplace-store-list.ts +0 -81
- package/server/routers/api/restful-apis/v1/get-onhand-inventories.ts +0 -125
- package/server/routers/api/restful-apis/v1/get-partners.ts +0 -24
- package/server/routers/api/restful-apis/v1/get-products.ts +0 -216
- package/server/routers/api/restful-apis/v1/get-release-order-detail.ts +0 -134
- package/server/routers/api/restful-apis/v1/get-release-order-list.ts +0 -198
- package/server/routers/api/restful-apis/v1/get-warehouses.ts +0 -18
- package/server/routers/api/restful-apis/v1/reject-inbound-order.ts +0 -46
- package/server/routers/api/restful-apis/v1/set-marketplace-order-delivered.ts +0 -60
- package/server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.ts +0 -60
- package/server/routers/api/restful-apis/v1/update-marketplace-order.ts +0 -111
- package/server/routers/api/restful-apis/v1/update-marketplace-shipping-order.ts +0 -104
- package/server/routers/api/restful-apis/v1/update-release-order-details.ts +0 -94
- package/server/routers/api/restful-apis/v2/add-contact-point.ts +0 -77
- package/server/routers/api/restful-apis/v2/add-draft-release-order.ts +0 -196
- package/server/routers/api/restful-apis/v2/add-inbound-order.ts +0 -242
- package/server/routers/api/restful-apis/v2/add-marketplace-order.ts +0 -172
- package/server/routers/api/restful-apis/v2/add-products.ts +0 -112
- package/server/routers/api/restful-apis/v2/add-release-order.ts +0 -967
- package/server/routers/api/restful-apis/v2/bizplace.ts +0 -45
- package/server/routers/api/restful-apis/v2/cancel-marketplace-order.ts +0 -81
- package/server/routers/api/restful-apis/v2/cancel-release-order.ts +0 -91
- package/server/routers/api/restful-apis/v2/get-contact-point-list.ts +0 -110
- package/server/routers/api/restful-apis/v2/get-delivery-order-detail.ts +0 -46
- package/server/routers/api/restful-apis/v2/get-delivery-order-list.ts +0 -121
- package/server/routers/api/restful-apis/v2/get-delivery-orders.ts +0 -178
- package/server/routers/api/restful-apis/v2/get-goods-received-notes.ts +0 -134
- package/server/routers/api/restful-apis/v2/get-inbound-order-detail.ts +0 -128
- package/server/routers/api/restful-apis/v2/get-inbound-order-list.ts +0 -126
- package/server/routers/api/restful-apis/v2/get-inventory-overall-product-group.ts +0 -99
- package/server/routers/api/restful-apis/v2/get-inventory-product-group.ts +0 -112
- package/server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.ts +0 -156
- package/server/routers/api/restful-apis/v2/get-marketplace-store-list.ts +0 -81
- package/server/routers/api/restful-apis/v2/get-onhand-inventories.ts +0 -125
- package/server/routers/api/restful-apis/v2/get-partners.ts +0 -24
- package/server/routers/api/restful-apis/v2/get-products.ts +0 -216
- package/server/routers/api/restful-apis/v2/get-release-order-detail.ts +0 -134
- package/server/routers/api/restful-apis/v2/get-release-order-list.ts +0 -198
- package/server/routers/api/restful-apis/v2/get-warehouses.ts +0 -18
- package/server/routers/api/restful-apis/v2/index.ts +0 -31
- package/server/routers/api/restful-apis/v2/reject-inbound-order.ts +0 -46
- package/server/routers/api/restful-apis/v2/set-marketplace-order-delivered.ts +0 -60
- package/server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.ts +0 -60
- package/server/routers/api/restful-apis/v2/update-marketplace-order.ts +0 -111
- package/server/routers/api/restful-apis/v2/update-marketplace-shipping-order.ts +0 -104
- package/server/routers/api/restful-apis/v2/update-release-order-details.ts +0 -94
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
import { getConnection, EntityManager, IsNull, SelectQueryBuilder } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { restfulApiRouter as router } from '@things-factory/api'
|
|
4
|
+
import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
|
|
5
|
+
import { v4 as uuidv4 } from 'uuid'
|
|
6
|
+
import { MarketplaceStore } from '@things-factory/integration-marketplace'
|
|
7
|
+
import { Product, ProductBundle, ProductBundleSetting } from '@things-factory/product-base'
|
|
8
|
+
import {
|
|
9
|
+
MarketplaceOrder as MarketplaceOrderEntity,
|
|
10
|
+
MarketplaceOrderItem as MarketplaceOrderItemEntity,
|
|
11
|
+
MarketplaceOrderShipping as MarketplaceOrderShippingEntity,
|
|
12
|
+
MarketplaceOrderShippingItem as MarketplaceOrderShippingItemEntity,
|
|
13
|
+
MarketplaceProductVariation as MarketplaceProductVariationEntity,
|
|
14
|
+
NoGenerator
|
|
15
|
+
} from '@things-factory/marketplace-base'
|
|
16
|
+
import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
|
|
17
|
+
|
|
18
|
+
router.post(
|
|
19
|
+
'/v1/company/add-marketplace-order',
|
|
20
|
+
businessMiddleware,
|
|
21
|
+
validationMiddleware,
|
|
22
|
+
loggingMiddleware,
|
|
23
|
+
async (context, next) => {
|
|
24
|
+
try {
|
|
25
|
+
await getConnection().transaction(async (tx: EntityManager) => {
|
|
26
|
+
const { user, domain } = context.state
|
|
27
|
+
const marketplaceOrder = context.request.body.data
|
|
28
|
+
|
|
29
|
+
const marketplaceStore: MarketplaceStore = await tx.getRepository(MarketplaceStore).findOne({
|
|
30
|
+
where: { name: marketplaceOrder.storeId, domain }
|
|
31
|
+
})
|
|
32
|
+
if (!marketplaceStore) throw new ApiError('E04', 'storeId')
|
|
33
|
+
|
|
34
|
+
let invalidQty = marketplaceOrder.marketplaceOrderItems.find(itm => itm.qty <= 0)
|
|
35
|
+
if (invalidQty) {
|
|
36
|
+
throw new ApiError('E01', 'qty')
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
let marketplaceOrderItems: MarketplaceOrderItemEntity[] = []
|
|
40
|
+
|
|
41
|
+
let newMarketplaceOrder: MarketplaceOrderEntity = Object.assign({}, marketplaceOrder)
|
|
42
|
+
const itemCount: number = marketplaceOrder.marketplaceOrderItems?.length
|
|
43
|
+
|
|
44
|
+
const currentDate = new Date()
|
|
45
|
+
newMarketplaceOrder.name = `MO-${currentDate.getFullYear()}${
|
|
46
|
+
currentDate.getMonth() + 1
|
|
47
|
+
}${currentDate.getDate()}${currentDate.getHours()}${currentDate.getMinutes()}${currentDate.getSeconds()}${currentDate.getMilliseconds()}`
|
|
48
|
+
newMarketplaceOrder.itemCount = itemCount
|
|
49
|
+
newMarketplaceOrder.marketplaceStore = marketplaceStore
|
|
50
|
+
newMarketplaceOrder.domain = domain
|
|
51
|
+
newMarketplaceOrder.creator = user
|
|
52
|
+
newMarketplaceOrder = await tx.getRepository(MarketplaceOrderEntity).save(newMarketplaceOrder)
|
|
53
|
+
|
|
54
|
+
let newMarketplaceOrderShipping: MarketplaceOrderShippingEntity
|
|
55
|
+
if (marketplaceOrder?.marketplaceOrderShipping) {
|
|
56
|
+
const marketplaceOrderShipping: any = marketplaceOrder.marketplaceOrderShipping
|
|
57
|
+
newMarketplaceOrderShipping = Object.assign({}, marketplaceOrderShipping)
|
|
58
|
+
newMarketplaceOrderShipping.name = marketplaceOrderShipping?.shippingId
|
|
59
|
+
? marketplaceOrderShipping.shippingId
|
|
60
|
+
: NoGenerator.orderShipping()
|
|
61
|
+
newMarketplaceOrderShipping.transporter =
|
|
62
|
+
marketplaceOrderShipping?.transporter === '' ? null : marketplaceOrderShipping.transporter
|
|
63
|
+
newMarketplaceOrderShipping.ownTransporter =
|
|
64
|
+
marketplaceOrderShipping?.transporter === '' ? null : marketplaceOrderShipping.transporter
|
|
65
|
+
newMarketplaceOrderShipping.marketplaceStore = marketplaceStore
|
|
66
|
+
newMarketplaceOrderShipping.orderNoRef = newMarketplaceOrder.orderNo
|
|
67
|
+
newMarketplaceOrderShipping.subOrderNoRef = newMarketplaceOrder.orderNo
|
|
68
|
+
newMarketplaceOrderShipping.domain = domain
|
|
69
|
+
newMarketplaceOrderShipping.creator = user
|
|
70
|
+
newMarketplaceOrderShipping = await tx
|
|
71
|
+
.getRepository(MarketplaceOrderShippingEntity)
|
|
72
|
+
.save(newMarketplaceOrderShipping)
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
marketplaceOrderItems = await Promise.all(
|
|
76
|
+
marketplaceOrder?.marketplaceOrderItems.map(async orderItem => {
|
|
77
|
+
let marketplaceOrderItem: MarketplaceOrderItemEntity = Object.assign({}, orderItem)
|
|
78
|
+
|
|
79
|
+
const marketplaceProductVariation = orderItem.marketplaceProductVariation
|
|
80
|
+
const qb: SelectQueryBuilder<MarketplaceProductVariationEntity> = await tx
|
|
81
|
+
.getRepository(MarketplaceProductVariationEntity)
|
|
82
|
+
.createQueryBuilder('mpv')
|
|
83
|
+
.leftJoin('mpv.marketplaceProduct', 'mp')
|
|
84
|
+
.leftJoin('mp.marketplaceStore', 'ms')
|
|
85
|
+
.where('mpv.domain_id = :domainId')
|
|
86
|
+
.andWhere('mpv.variation_id = :variationId')
|
|
87
|
+
.andWhere('ms.id = :marketplaceStoreId')
|
|
88
|
+
.setParameters({
|
|
89
|
+
domainId: domain.id,
|
|
90
|
+
variationId: marketplaceProductVariation.variationId,
|
|
91
|
+
marketplaceStoreId: marketplaceStore.id
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
let foundVariation: MarketplaceProductVariationEntity = await qb.getOne()
|
|
95
|
+
|
|
96
|
+
if (!foundVariation) {
|
|
97
|
+
let newVariation: MarketplaceProductVariationEntity = Object.assign({}, marketplaceProductVariation)
|
|
98
|
+
newVariation.status = 'ACTIVE'
|
|
99
|
+
newVariation.domain = domain
|
|
100
|
+
|
|
101
|
+
await tx.getRepository(MarketplaceProductVariationEntity).save(newVariation)
|
|
102
|
+
foundVariation = newVariation
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
marketplaceOrderItem.marketplaceProductVariation = foundVariation
|
|
106
|
+
marketplaceOrderItem.name = orderItem.orderItemId
|
|
107
|
+
marketplaceOrderItem.marketplaceOrder = newMarketplaceOrder
|
|
108
|
+
marketplaceOrderItem.domain = domain
|
|
109
|
+
marketplaceOrderItem.creator = user
|
|
110
|
+
|
|
111
|
+
return marketplaceOrderItem
|
|
112
|
+
})
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
marketplaceOrderItems = await tx.getRepository(MarketplaceOrderItemEntity).save(marketplaceOrderItems)
|
|
116
|
+
|
|
117
|
+
await Promise.all(
|
|
118
|
+
marketplaceOrderItems.map(async marketplaceOrderItem => {
|
|
119
|
+
const marketplaceProductVariation = marketplaceOrderItem.marketplaceProductVariation
|
|
120
|
+
|
|
121
|
+
let product: Product = await tx.getRepository(Product).findOne({
|
|
122
|
+
where: { domain: marketplaceStore.domain, sku: marketplaceProductVariation.sku, deletedAt: IsNull() },
|
|
123
|
+
relations: ['productDetails']
|
|
124
|
+
})
|
|
125
|
+
|
|
126
|
+
let productBundle: ProductBundle
|
|
127
|
+
if (!product) {
|
|
128
|
+
productBundle = await tx.getRepository(ProductBundle).findOne({
|
|
129
|
+
where: { domain: marketplaceStore.domain, sku: marketplaceProductVariation.sku },
|
|
130
|
+
relations: ['productBundleSettings', 'productBundleSettings.product']
|
|
131
|
+
})
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
let existingMarketplaceOrderShippingItems: MarketplaceOrderShippingItemEntity[] = await tx
|
|
135
|
+
.getRepository(MarketplaceOrderShippingItemEntity)
|
|
136
|
+
.find({
|
|
137
|
+
where: { domain: marketplaceStore.domain, marketplaceOrderItem }
|
|
138
|
+
})
|
|
139
|
+
|
|
140
|
+
if (existingMarketplaceOrderShippingItems && existingMarketplaceOrderShippingItems?.length) {
|
|
141
|
+
} else {
|
|
142
|
+
if (productBundle) {
|
|
143
|
+
const productBundleSettings: ProductBundleSetting[] = productBundle.productBundleSettings
|
|
144
|
+
let marketplaceOrderShippingItems: MarketplaceOrderShippingItemEntity[] = []
|
|
145
|
+
productBundleSettings.map(productBundleSetting => {
|
|
146
|
+
let marketplaceOrderShippingItem: MarketplaceOrderShippingItemEntity =
|
|
147
|
+
new MarketplaceOrderShippingItemEntity()
|
|
148
|
+
marketplaceOrderShippingItem.name = uuidv4()
|
|
149
|
+
marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty * productBundleSetting.bundleQty
|
|
150
|
+
marketplaceOrderShippingItem.domain = marketplaceStore.domain
|
|
151
|
+
marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem
|
|
152
|
+
marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping
|
|
153
|
+
marketplaceOrderShippingItem.product = productBundleSetting.product
|
|
154
|
+
|
|
155
|
+
marketplaceOrderShippingItems.push(marketplaceOrderShippingItem)
|
|
156
|
+
})
|
|
157
|
+
|
|
158
|
+
await tx.getRepository(MarketplaceOrderShippingItemEntity).save(marketplaceOrderShippingItems)
|
|
159
|
+
} else {
|
|
160
|
+
let marketplaceOrderShippingItem: MarketplaceOrderShippingItemEntity =
|
|
161
|
+
new MarketplaceOrderShippingItemEntity()
|
|
162
|
+
marketplaceOrderShippingItem.name = uuidv4()
|
|
163
|
+
marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty
|
|
164
|
+
marketplaceOrderShippingItem.domain = marketplaceStore.domain
|
|
165
|
+
marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem
|
|
166
|
+
marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping
|
|
167
|
+
marketplaceOrderShippingItem.product = product ? product : null
|
|
168
|
+
|
|
169
|
+
await tx.getRepository(MarketplaceOrderShippingItemEntity).save(marketplaceOrderShippingItem)
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
})
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
let marketplaceOrderItemsData = []
|
|
176
|
+
for (const item of marketplaceOrderItems) {
|
|
177
|
+
const datapoint = {
|
|
178
|
+
marketplaceOrderVariation: {
|
|
179
|
+
variationId: item.marketplaceProductVariation.variationId,
|
|
180
|
+
sku: item.marketplaceProductVariation.sku,
|
|
181
|
+
variationSku: item.marketplaceProductVariation.variationSku,
|
|
182
|
+
variationName: item.marketplaceProductVariation.variationName
|
|
183
|
+
},
|
|
184
|
+
marketplaceOrderShipping: {
|
|
185
|
+
attentionTo: item.marketplaceOrderShipping.attentionTo,
|
|
186
|
+
address1: item.marketplaceOrderShipping.address1,
|
|
187
|
+
address2: item.marketplaceOrderShipping.address2,
|
|
188
|
+
address3: item.marketplaceOrderShipping.address3,
|
|
189
|
+
address4: item.marketplaceOrderShipping.address4,
|
|
190
|
+
address5: item.marketplaceOrderShipping.address5,
|
|
191
|
+
state: item.marketplaceOrderShipping.state,
|
|
192
|
+
city: item.marketplaceOrderShipping.city,
|
|
193
|
+
postCode: item.marketplaceOrderShipping.postCode,
|
|
194
|
+
country: item.marketplaceOrderShipping.country,
|
|
195
|
+
phone1: item.marketplaceOrderShipping.phone1,
|
|
196
|
+
phone2: item.marketplaceOrderShipping.phone2,
|
|
197
|
+
email: item.marketplaceOrderShipping.email,
|
|
198
|
+
freightType: item.marketplaceOrderShipping.freightType,
|
|
199
|
+
parcelType: item.marketplaceOrderShipping.parcelType,
|
|
200
|
+
deliveryMethod: item.marketplaceOrderShipping.deliveryMethod,
|
|
201
|
+
totalWeight: item.marketplaceOrderShipping.totalWeight,
|
|
202
|
+
totalVolume: item.marketplaceOrderShipping.totalVolume,
|
|
203
|
+
transporter: item.marketplaceOrderShipping.transporter
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
marketplaceOrderItemsData.push(datapoint)
|
|
207
|
+
}
|
|
208
|
+
const data = {
|
|
209
|
+
orderNo: newMarketplaceOrder.orderNo,
|
|
210
|
+
itemCount,
|
|
211
|
+
paymentMethod: newMarketplaceOrder.paymentMethod,
|
|
212
|
+
remark: newMarketplaceOrder.remark,
|
|
213
|
+
giftOption: newMarketplaceOrder.giftOption,
|
|
214
|
+
orderCreatedAt: newMarketplaceOrder.orderCreatedAt,
|
|
215
|
+
orderUpdatedAt: newMarketplaceOrder.orderUpdatedAt,
|
|
216
|
+
marketplaceOrderItems: marketplaceOrderItemsData,
|
|
217
|
+
orderItemId: newMarketplaceOrder.orderItemId,
|
|
218
|
+
qty: newMarketplaceOrder.qty,
|
|
219
|
+
cancelBy: newMarketplaceOrder.cancelBy,
|
|
220
|
+
returnStatus: newMarketplaceOrder.returnStatus,
|
|
221
|
+
packageId: newMarketplaceOrder.packageId,
|
|
222
|
+
status: newMarketplaceOrder.status
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
context.body = {
|
|
226
|
+
data
|
|
227
|
+
}
|
|
228
|
+
})
|
|
229
|
+
} catch (e) {
|
|
230
|
+
if (e instanceof ApiError) ApiErrorHandler(context, e)
|
|
231
|
+
else throwInternalServerError(context, e)
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
)
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { getRepository, In, getConnection, EntityManager } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { restfulApiRouter as router } from '@things-factory/api'
|
|
4
|
+
import { Bizplace } from '@things-factory/biz-base'
|
|
5
|
+
import { Product, ProductDetail } from '@things-factory/product-base'
|
|
6
|
+
|
|
7
|
+
import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
|
|
8
|
+
import _ from 'lodash'
|
|
9
|
+
import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
|
|
10
|
+
|
|
11
|
+
router.post(
|
|
12
|
+
'/v1/company/add-products',
|
|
13
|
+
businessMiddleware,
|
|
14
|
+
validationMiddleware,
|
|
15
|
+
loggingMiddleware,
|
|
16
|
+
async (context, next) => {
|
|
17
|
+
try {
|
|
18
|
+
await getConnection().transaction(async (tx: EntityManager) => {
|
|
19
|
+
if (!Array.isArray(context.request.body.data)) throw new ApiError('E01', 'data field is not an array')
|
|
20
|
+
|
|
21
|
+
const products = context.request.body.data
|
|
22
|
+
const skus = products.map(p => p.sku)
|
|
23
|
+
const { user, domain } = context.state
|
|
24
|
+
|
|
25
|
+
// find bizplace
|
|
26
|
+
const bizplace = await getRepository(Bizplace).findOne({
|
|
27
|
+
where: {
|
|
28
|
+
domain
|
|
29
|
+
}
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
//check duplicate sku from request
|
|
33
|
+
let duplicateSku = skus.filter((item, index) => skus.indexOf(item) != index)
|
|
34
|
+
|
|
35
|
+
if (duplicateSku?.length > 0) {
|
|
36
|
+
throw new ApiError('E05', `duplicated products found: ${[...new Set(duplicateSku)]}`)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
//check if sku existed in db
|
|
40
|
+
let existedProducts: Product = await getRepository(Product).find({
|
|
41
|
+
where: {
|
|
42
|
+
sku: In(skus),
|
|
43
|
+
bizplace
|
|
44
|
+
}
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
if (existedProducts?.length > 0) {
|
|
48
|
+
throw new ApiError('E05', `existing products found: ${existedProducts.map(ep => ep.sku)}`)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
let response = []
|
|
52
|
+
|
|
53
|
+
// save product
|
|
54
|
+
await Promise.all(
|
|
55
|
+
products.map(async p => {
|
|
56
|
+
let product = p
|
|
57
|
+
const productDetails = p.productDetails
|
|
58
|
+
|
|
59
|
+
product.domain = domain
|
|
60
|
+
product.bizplace = bizplace
|
|
61
|
+
product.creator = user
|
|
62
|
+
product.updater = user
|
|
63
|
+
delete product.productDetails
|
|
64
|
+
|
|
65
|
+
let result = await tx.getRepository(Product).save(product)
|
|
66
|
+
|
|
67
|
+
// save product details
|
|
68
|
+
let pds = await Promise.all(
|
|
69
|
+
productDetails.map(async pd => {
|
|
70
|
+
if (pd.packingSize < 0) throw new ApiError('E01', `${pd.gtin}: packing size cannot be negative`)
|
|
71
|
+
const productDetails = pd
|
|
72
|
+
let pdResult = await tx.getRepository(ProductDetail).save({
|
|
73
|
+
...productDetails,
|
|
74
|
+
name: productDetails.gtin,
|
|
75
|
+
product: result,
|
|
76
|
+
childProductDetail: null,
|
|
77
|
+
childQty: 0,
|
|
78
|
+
domain: domain,
|
|
79
|
+
creator: user,
|
|
80
|
+
updater: user
|
|
81
|
+
})
|
|
82
|
+
delete pdResult.creator
|
|
83
|
+
delete pdResult.updater
|
|
84
|
+
delete pdResult.product
|
|
85
|
+
delete pdResult.domain
|
|
86
|
+
return pdResult
|
|
87
|
+
})
|
|
88
|
+
)
|
|
89
|
+
delete result.creator
|
|
90
|
+
delete result.updater
|
|
91
|
+
delete result.bizplace
|
|
92
|
+
delete result.domain
|
|
93
|
+
response.push({ ...result, productDetails: pds })
|
|
94
|
+
})
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
context.body = {
|
|
98
|
+
data: response
|
|
99
|
+
}
|
|
100
|
+
})
|
|
101
|
+
} catch (e) {
|
|
102
|
+
if (e instanceof ApiError) ApiErrorHandler(context, e)
|
|
103
|
+
else throwInternalServerError(context, e)
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
)
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { getConnection, EntityManager } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { restfulApiRouter as router } from '@things-factory/api'
|
|
4
|
+
import { Domain } from '@things-factory/shell'
|
|
5
|
+
import { MarketplaceOrder, MarketplaceOrderItem } from '@things-factory/marketplace-base'
|
|
6
|
+
import { MarketplaceStore } from '@things-factory/integration-marketplace'
|
|
7
|
+
|
|
8
|
+
import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
|
|
9
|
+
import { User } from '@things-factory/auth-base'
|
|
10
|
+
import { Bizplace, getCustomerBizplaces } from '@things-factory/biz-base'
|
|
11
|
+
import { FulfillmentAPI, FulfillmentCenter } from '@things-factory/integration-fulfillment'
|
|
12
|
+
import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
|
|
13
|
+
|
|
14
|
+
router.post('/v1/company/cancel-marketplace-order', businessMiddleware, validationMiddleware, loggingMiddleware, async (context, next) => {
|
|
15
|
+
try {
|
|
16
|
+
const { orderNo, remark, cancelBy } = context.request.body.data
|
|
17
|
+
const { domain, user }: { domain: Domain; user: User } = context.state
|
|
18
|
+
|
|
19
|
+
await getConnection().transaction(async (tx: EntityManager) => {
|
|
20
|
+
const marketplaceStore: MarketplaceStore = await tx.getRepository(MarketplaceStore).findOne({
|
|
21
|
+
where: { name: context.request.body.data.storeId, domain: context.state.domain }
|
|
22
|
+
})
|
|
23
|
+
if (!marketplaceStore) throw new ApiError('E04', 'storeId')
|
|
24
|
+
|
|
25
|
+
let marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
|
|
26
|
+
where: { domain, orderNo, marketplaceStore },
|
|
27
|
+
relations: ['fulfillmentCenter', 'marketplaceStore', 'marketplaceOrderItems']
|
|
28
|
+
})
|
|
29
|
+
if (!marketplaceOrder) throw new ApiError('E04', 'orderNo')
|
|
30
|
+
|
|
31
|
+
let marketplaceOrderItems: MarketplaceOrderItem[] = marketplaceOrder.marketplaceOrderItems.map(orderItem => {
|
|
32
|
+
let marketplaceOrderItem: MarketplaceOrderItem = Object.assign({}, orderItem)
|
|
33
|
+
marketplaceOrderItem.reason = remark
|
|
34
|
+
marketplaceOrderItem.status = 'cancelled'
|
|
35
|
+
marketplaceOrderItem.updater = user
|
|
36
|
+
marketplaceOrderItem.cancelBy = cancelBy
|
|
37
|
+
|
|
38
|
+
return marketplaceOrderItem
|
|
39
|
+
})
|
|
40
|
+
await tx.getRepository(MarketplaceOrderItem).save(marketplaceOrderItems)
|
|
41
|
+
|
|
42
|
+
marketplaceOrder.status = 'cancelled'
|
|
43
|
+
marketplaceOrder.remark = remark
|
|
44
|
+
marketplaceOrder.updater = user
|
|
45
|
+
marketplaceOrder = await tx.getRepository(MarketplaceOrder).save(marketplaceOrder)
|
|
46
|
+
|
|
47
|
+
const cancelStatuses: string[] = ['cancelled', 'canceled']
|
|
48
|
+
if (cancelStatuses.includes(marketplaceOrder.status) && marketplaceOrder?.releaseOrderId) {
|
|
49
|
+
if (marketplaceOrder.isSplitted) {
|
|
50
|
+
const fulfillmentCenter: FulfillmentCenter = marketplaceOrder.fulfillmentCenter
|
|
51
|
+
const centerId: string = fulfillmentCenter.centerId
|
|
52
|
+
const warehouseDomain: Domain = await tx.getRepository(Domain).findOne({ where: { subdomain: centerId } })
|
|
53
|
+
const customerBizplaces: Bizplace[] = await getCustomerBizplaces(warehouseDomain)
|
|
54
|
+
const customerBizplaceId: string = customerBizplaces[0].id
|
|
55
|
+
|
|
56
|
+
const { items: releaseOrders }: any = await FulfillmentAPI.getOutboundOrders(fulfillmentCenter, {
|
|
57
|
+
customerBizplaceId,
|
|
58
|
+
refNo: marketplaceOrder.orderNo
|
|
59
|
+
})
|
|
60
|
+
if (releaseOrders?.length) {
|
|
61
|
+
for (var a = 0; a < releaseOrders.length; a++) {
|
|
62
|
+
const releaseOrderId: string = releaseOrders[a].id
|
|
63
|
+
await FulfillmentAPI.cancelReleaseOrder(fulfillmentCenter, { customerBizplaceId, releaseOrderId })
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
} else {
|
|
67
|
+
const releaseOrderId: string = marketplaceOrder.releaseOrderId
|
|
68
|
+
const fulfillmentCenter: FulfillmentCenter = marketplaceOrder.fulfillmentCenter
|
|
69
|
+
const centerId: string = fulfillmentCenter.centerId
|
|
70
|
+
|
|
71
|
+
const warehouseDomain: Domain = await tx.getRepository(Domain).findOne({ where: { subdomain: centerId } })
|
|
72
|
+
const customerBizplaces: Bizplace[] = await getCustomerBizplaces(warehouseDomain)
|
|
73
|
+
const customerBizplaceId: string = customerBizplaces[0].id
|
|
74
|
+
await FulfillmentAPI.cancelReleaseOrder(fulfillmentCenter, { customerBizplaceId, releaseOrderId })
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const data = {
|
|
78
|
+
orderNo: marketplaceOrder.orderNo,
|
|
79
|
+
status: marketplaceOrder.status,
|
|
80
|
+
remark: marketplaceOrder.remark,
|
|
81
|
+
cancelBy: cancelBy || null,
|
|
82
|
+
createdAt: marketplaceOrder.createdAt,
|
|
83
|
+
updatedAt: marketplaceOrder.updatedAt
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
context.body = {
|
|
87
|
+
data
|
|
88
|
+
}
|
|
89
|
+
})
|
|
90
|
+
} catch (e) {
|
|
91
|
+
if (e instanceof ApiError) ApiErrorHandler(context, e)
|
|
92
|
+
else throwInternalServerError(context, e)
|
|
93
|
+
}
|
|
94
|
+
})
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { getRepository } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { restfulApiRouter as router } from '@things-factory/api'
|
|
4
|
+
import { Bizplace } from '@things-factory/biz-base'
|
|
5
|
+
|
|
6
|
+
import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
|
|
7
|
+
import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
|
|
8
|
+
|
|
9
|
+
router.get(
|
|
10
|
+
'/v1/company/get-bizplace-list',
|
|
11
|
+
businessMiddleware,
|
|
12
|
+
validationMiddleware,
|
|
13
|
+
loggingMiddleware,
|
|
14
|
+
async (context, next) => {
|
|
15
|
+
try {
|
|
16
|
+
const { limit, offset } = context.query
|
|
17
|
+
|
|
18
|
+
// get bizplaces for that company
|
|
19
|
+
const companyId = context.state.business.id
|
|
20
|
+
const [bizplaces, totalCount]: Bizplace[] = await getRepository(Bizplace).findAndCount({
|
|
21
|
+
where: { company: companyId },
|
|
22
|
+
relations: ['domain'],
|
|
23
|
+
skip: offset,
|
|
24
|
+
take: limit,
|
|
25
|
+
order: { createdAt: 'DESC' }
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
// create and format data response
|
|
29
|
+
let data = []
|
|
30
|
+
for (const bizplace of bizplaces) {
|
|
31
|
+
const datapoint = {
|
|
32
|
+
bizplace: {
|
|
33
|
+
id: bizplace.id,
|
|
34
|
+
name: bizplace.name,
|
|
35
|
+
description: bizplace.description,
|
|
36
|
+
address: bizplace.address,
|
|
37
|
+
postalCode: bizplace.postalCode
|
|
38
|
+
},
|
|
39
|
+
extType: bizplace.domain.extType
|
|
40
|
+
}
|
|
41
|
+
data.push(datapoint)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
context.body = {
|
|
45
|
+
data,
|
|
46
|
+
totalCount,
|
|
47
|
+
limit,
|
|
48
|
+
offset
|
|
49
|
+
}
|
|
50
|
+
} catch (e) {
|
|
51
|
+
if (e instanceof ApiError) ApiErrorHandler(context, e)
|
|
52
|
+
else throwInternalServerError(context, e)
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { getRepository } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { restfulApiRouter as router } from '@things-factory/api'
|
|
4
|
+
import { ContactPoint } from '@things-factory/biz-base'
|
|
5
|
+
|
|
6
|
+
import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
|
|
7
|
+
import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
|
|
8
|
+
|
|
9
|
+
router.get(
|
|
10
|
+
'/v1/company/get-contact-point-list',
|
|
11
|
+
businessMiddleware,
|
|
12
|
+
validationMiddleware,
|
|
13
|
+
loggingMiddleware,
|
|
14
|
+
async (context, next) => {
|
|
15
|
+
try {
|
|
16
|
+
// get contact points for that bizplace
|
|
17
|
+
// optional query parameter filter
|
|
18
|
+
let filter = { ...context.query }
|
|
19
|
+
const { limit, offset } = filter
|
|
20
|
+
// map query field to database column
|
|
21
|
+
filter['bizplace'] = filter['bizplaceId']
|
|
22
|
+
delete filter['bizplaceId']
|
|
23
|
+
delete filter['limit']
|
|
24
|
+
delete filter['offset']
|
|
25
|
+
const [contactPoints, totalCount]: ContactPoint[] = await getRepository(ContactPoint).findAndCount({
|
|
26
|
+
where: filter,
|
|
27
|
+
relations: ['bizplace'],
|
|
28
|
+
skip: offset,
|
|
29
|
+
take: limit,
|
|
30
|
+
order: { createdAt: 'DESC' }
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
// create and format data response
|
|
34
|
+
let data = []
|
|
35
|
+
for (const contactPoint of contactPoints) {
|
|
36
|
+
const datapoint = {
|
|
37
|
+
bizplace: {
|
|
38
|
+
id: contactPoint.bizplace.id,
|
|
39
|
+
name: contactPoint.bizplace.name
|
|
40
|
+
},
|
|
41
|
+
name: contactPoint.name,
|
|
42
|
+
companyName: contactPoint.companyName,
|
|
43
|
+
email: contactPoint.email,
|
|
44
|
+
fax: contactPoint.fax,
|
|
45
|
+
phone: contactPoint.phone,
|
|
46
|
+
accountNo: contactPoint.accountNo,
|
|
47
|
+
address: contactPoint.address,
|
|
48
|
+
address2: contactPoint.address2,
|
|
49
|
+
city: contactPoint.city,
|
|
50
|
+
postCode: contactPoint.postCode,
|
|
51
|
+
type: contactPoint.type
|
|
52
|
+
}
|
|
53
|
+
data.push(datapoint)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
context.body = {
|
|
57
|
+
data,
|
|
58
|
+
totalCount,
|
|
59
|
+
limit,
|
|
60
|
+
offset
|
|
61
|
+
}
|
|
62
|
+
} catch (e) {
|
|
63
|
+
if (e instanceof ApiError) ApiErrorHandler(context, e)
|
|
64
|
+
else throwInternalServerError(context, e)
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
)
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { getRepository } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { restfulApiRouter as router } from '@things-factory/api'
|
|
4
|
+
import { MarketplaceOrderShipping, MarketplaceOrder } from '@things-factory/marketplace-base'
|
|
5
|
+
|
|
6
|
+
import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
|
|
7
|
+
import _ from 'lodash'
|
|
8
|
+
import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
|
|
9
|
+
|
|
10
|
+
router.get(
|
|
11
|
+
'/v1/company/get-marketplace-order-shipping-list',
|
|
12
|
+
businessMiddleware,
|
|
13
|
+
validationMiddleware,
|
|
14
|
+
loggingMiddleware,
|
|
15
|
+
async (context, next) => {
|
|
16
|
+
try {
|
|
17
|
+
let filter = { ...context.query }
|
|
18
|
+
const { limit, offset, fromDate, toDate } = filter
|
|
19
|
+
|
|
20
|
+
let qb = getRepository(MarketplaceOrderShipping)
|
|
21
|
+
.createQueryBuilder('mos')
|
|
22
|
+
.innerJoinAndSelect('mos.marketplaceStore', 'mps')
|
|
23
|
+
.innerJoinAndSelect('mos.marketplaceOrderShippingItems', 'mosi')
|
|
24
|
+
.innerJoinAndSelect('mosi.marketplaceOrderItem', 'moi')
|
|
25
|
+
.innerJoinAndSelect('moi.marketplaceProductVariation', 'mpv')
|
|
26
|
+
.innerJoinAndMapOne('mos.marketplaceOrder', MarketplaceOrder, 'mo', 'mo.orderNo = mos.orderNoRef')
|
|
27
|
+
.where('mos.domain = :domainId', { domainId: context.state.domain.id })
|
|
28
|
+
.where('mos.createdAt BETWEEN :fromDate AND :toDate', { fromDate, toDate })
|
|
29
|
+
.andWhere('mps.name = :name', { name: filter.storeId })
|
|
30
|
+
|
|
31
|
+
// optional fields
|
|
32
|
+
if (_.has(filter, 'shippingNo')) qb.andWhere('mos.name = :shippingNo', { shippingNo: filter.shippingNo })
|
|
33
|
+
if (_.has(filter, 'orderNo')) qb.andWhere('mos.orderNoRef = :orderNoRef', { orderNoRef: filter.orderNo })
|
|
34
|
+
if (_.has(filter, 'status')) qb.andWhere('mo.status = :status', { status: filter.status })
|
|
35
|
+
|
|
36
|
+
const [marketplaceOrderShippings, totalCount]: MarketplaceOrderShipping[] = await qb
|
|
37
|
+
.limit(limit)
|
|
38
|
+
.offset(offset)
|
|
39
|
+
.getManyAndCount()
|
|
40
|
+
|
|
41
|
+
// create and format data response
|
|
42
|
+
let data = []
|
|
43
|
+
for (const marketplaceOrderShipping of marketplaceOrderShippings) {
|
|
44
|
+
const datapoint = {
|
|
45
|
+
attentionTo: marketplaceOrderShipping.attentionTo,
|
|
46
|
+
address1: marketplaceOrderShipping.address1,
|
|
47
|
+
address2: marketplaceOrderShipping.address2,
|
|
48
|
+
address3: marketplaceOrderShipping.address3,
|
|
49
|
+
address4: marketplaceOrderShipping.address4,
|
|
50
|
+
address5: marketplaceOrderShipping.address5,
|
|
51
|
+
state: marketplaceOrderShipping.state,
|
|
52
|
+
city: marketplaceOrderShipping.city,
|
|
53
|
+
postCode: marketplaceOrderShipping.postCode,
|
|
54
|
+
country: marketplaceOrderShipping.country,
|
|
55
|
+
phone1: marketplaceOrderShipping.phone1,
|
|
56
|
+
phone2: marketplaceOrderShipping.phone2,
|
|
57
|
+
email: marketplaceOrderShipping.email,
|
|
58
|
+
freightType: marketplaceOrderShipping.freightType,
|
|
59
|
+
parcelType: marketplaceOrderShipping.parcelType,
|
|
60
|
+
deliveryMethod: marketplaceOrderShipping.deliveryMethod,
|
|
61
|
+
totalWeight: marketplaceOrderShipping.totalWeight,
|
|
62
|
+
totalVolume: marketplaceOrderShipping.totalVolume,
|
|
63
|
+
transporter: marketplaceOrderShipping.transporter,
|
|
64
|
+
status: marketplaceOrderShipping.marketplaceOrder.status,
|
|
65
|
+
marketplaceStore: {
|
|
66
|
+
name: marketplaceOrderShipping.marketplaceStore.name,
|
|
67
|
+
storeId: marketplaceOrderShipping.marketplaceStore.id
|
|
68
|
+
},
|
|
69
|
+
marketplaceOrderItems: marketplaceOrderShipping.marketplaceOrderShippingItems.map(mposi => {
|
|
70
|
+
return {
|
|
71
|
+
marketplaceProductVariation: {
|
|
72
|
+
variationId: mposi.marketplaceOrderItem.marketplaceProductVariation.variationId,
|
|
73
|
+
sku: mposi.marketplaceOrderItem.marketplaceProductVariation.sku,
|
|
74
|
+
variationSku: mposi.marketplaceOrderItem.marketplaceProductVariation.variationSku,
|
|
75
|
+
variationName: mposi.marketplaceOrderItem.marketplaceProductVariation.name
|
|
76
|
+
},
|
|
77
|
+
orderItemId: mposi.marketplaceOrderItem.id,
|
|
78
|
+
qty: mposi.marketplaceOrderItem.qty,
|
|
79
|
+
cancelBy: mposi.marketplaceOrderItem.cancelBy,
|
|
80
|
+
returnStatus: mposi.marketplaceOrderItem.returnStatus,
|
|
81
|
+
packageId: mposi.marketplaceOrderItem.packageId,
|
|
82
|
+
status: mposi.marketplaceOrderItem.status
|
|
83
|
+
}
|
|
84
|
+
})
|
|
85
|
+
}
|
|
86
|
+
data.push(datapoint)
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
context.body = {
|
|
90
|
+
data,
|
|
91
|
+
totalCount,
|
|
92
|
+
limit,
|
|
93
|
+
offset
|
|
94
|
+
}
|
|
95
|
+
} catch (e) {
|
|
96
|
+
if (e instanceof ApiError) ApiErrorHandler(context, e)
|
|
97
|
+
else throwInternalServerError(context, e)
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
)
|