@things-factory/integration-marketplace 5.0.14 → 6.0.0-alpha.3
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/dist-server/controllers/lazada/client/lazada.js +2 -2
- package/dist-server/controllers/lazada/client/lazada.js.map +1 -1
- package/dist-server/controllers/magento/apis/create-order-ship.js +1 -1
- package/dist-server/controllers/magento/apis/create-order-ship.js.map +1 -1
- package/dist-server/controllers/shopee/index.js +10 -1
- package/dist-server/controllers/shopee/index.js.map +1 -1
- package/dist-server/controllers/shopee/platform-action.js +33 -1
- package/dist-server/controllers/shopee/platform-action.js.map +1 -1
- package/dist-server/controllers/shopee/refresh-access-token.js +2 -1
- package/dist-server/controllers/shopee/refresh-access-token.js.map +1 -1
- package/dist-server/controllers/shopee/shopee.js +81 -0
- package/dist-server/controllers/shopee/shopee.js.map +1 -1
- package/dist-server/controllers/shopify/apis/get-store-orders.js +45 -30
- package/dist-server/controllers/shopify/apis/get-store-orders.js.map +1 -1
- package/dist-server/controllers/shopify/apis/get-store-products.js +5 -10
- package/dist-server/controllers/shopify/apis/get-store-products.js.map +1 -1
- package/dist-server/controllers/shopify/shopify.js +15 -19
- package/dist-server/controllers/shopify/shopify.js.map +1 -1
- package/dist-server/controllers/store-api/index.js +32 -4
- package/dist-server/controllers/store-api/index.js.map +1 -1
- package/dist-server/controllers/tiktok/apis/get-store-order.js +20 -18
- package/dist-server/controllers/tiktok/apis/get-store-order.js.map +1 -1
- package/dist-server/controllers/tiktok/apis/get-store-orders.js +1 -1
- package/dist-server/controllers/tiktok/apis/get-store-orders.js.map +1 -1
- package/dist-server/controllers/tiktok/apis/update-order-status.js +4 -4
- package/dist-server/controllers/tiktok/apis/update-order-status.js.map +1 -1
- package/dist-server/controllers/tiktok/platform-action.js +14 -3
- package/dist-server/controllers/tiktok/platform-action.js.map +1 -1
- package/dist-server/engine/connector/lazada-connector.js +5 -5
- package/dist-server/engine/connector/lazada-connector.js.map +1 -1
- package/dist-server/engine/task/marketplace-api.js +4 -4
- package/dist-server/engine/task/marketplace-api.js.map +1 -1
- package/dist-server/entities/marketplace-distributor.js +3 -4
- package/dist-server/entities/marketplace-distributor.js.map +1 -1
- package/dist-server/entities/marketplace-setting.js +3 -4
- package/dist-server/entities/marketplace-setting.js.map +1 -1
- package/dist-server/entities/marketplace-store.js +3 -4
- package/dist-server/entities/marketplace-store.js.map +1 -1
- package/dist-server/entities/marketplace-transporter.js +6 -6
- package/dist-server/entities/marketplace-transporter.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-distributor/create-marketplace-distributor.js +1 -1
- package/dist-server/graphql/resolvers/marketplace-distributor/create-marketplace-distributor.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributor.js +2 -2
- package/dist-server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributor.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributors.js +3 -2
- package/dist-server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributors.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-distributor/marketplace-distributor-query.js +8 -6
- package/dist-server/graphql/resolvers/marketplace-distributor/marketplace-distributor-query.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-distributor/update-marketplace-distributor.js +4 -2
- package/dist-server/graphql/resolvers/marketplace-distributor/update-marketplace-distributor.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-distributor/update-multiple-marketplace-distributor.js +6 -3
- package/dist-server/graphql/resolvers/marketplace-distributor/update-multiple-marketplace-distributor.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-setting/create-marketplace-setting.js +2 -2
- package/dist-server/graphql/resolvers/marketplace-setting/create-marketplace-setting.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-setting/delete-marketplace-setting.js +2 -2
- package/dist-server/graphql/resolvers/marketplace-setting/delete-marketplace-setting.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-setting/delete-marketplace-settings.js +2 -1
- package/dist-server/graphql/resolvers/marketplace-setting/delete-marketplace-settings.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-setting/marketplace-setting-query.js +7 -5
- package/dist-server/graphql/resolvers/marketplace-setting/marketplace-setting-query.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-setting/update-marketplace-setting.js +8 -2
- package/dist-server/graphql/resolvers/marketplace-setting/update-marketplace-setting.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-setting/update-multiple-marketplace-setting.js +6 -3
- package/dist-server/graphql/resolvers/marketplace-setting/update-multiple-marketplace-setting.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/create-marketplace-store.js +2 -2
- package/dist-server/graphql/resolvers/marketplace-store/create-marketplace-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/delete-marketplace-store.js +4 -4
- package/dist-server/graphql/resolvers/marketplace-store/delete-marketplace-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/delete-marketplace-stores.js +4 -3
- package/dist-server/graphql/resolvers/marketplace-store/delete-marketplace-stores.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/lazada/deactivate-lazada-store.js +3 -3
- package/dist-server/graphql/resolvers/marketplace-store/lazada/deactivate-lazada-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/lazada/generate-lazada-access-token.js +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/lazada/generate-lazada-access-token.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/lazada/get-lazada-auth-url.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/magento/activate-magento-store.js +4 -2
- package/dist-server/graphql/resolvers/marketplace-store/magento/activate-magento-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/magento/deactivate-magento-store.js +3 -4
- package/dist-server/graphql/resolvers/marketplace-store/magento/deactivate-magento-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/magento/get-magento-auth-url.js +2 -2
- package/dist-server/graphql/resolvers/marketplace-store/magento/get-magento-auth-url.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/marketplace-store.js +3 -3
- package/dist-server/graphql/resolvers/marketplace-store/marketplace-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/marketplace-stores.js +1 -2
- package/dist-server/graphql/resolvers/marketplace-store/marketplace-stores.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/shopee/deactivate-shopee-store.js +3 -3
- package/dist-server/graphql/resolvers/marketplace-store/shopee/deactivate-shopee-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/shopee/generate-shopee-access-token.js +2 -2
- package/dist-server/graphql/resolvers/marketplace-store/shopee/generate-shopee-access-token.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/shopee/get-shopee-auth-url.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/shopify/deactivate-shopify-store.js +3 -3
- package/dist-server/graphql/resolvers/marketplace-store/shopify/deactivate-shopify-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/shopify/get-shopify-auth-url.js +3 -3
- package/dist-server/graphql/resolvers/marketplace-store/shopify/get-shopify-auth-url.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/update-marketplace-store.js +3 -3
- package/dist-server/graphql/resolvers/marketplace-store/update-marketplace-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/update-multiple-marketplace-store.js +3 -3
- package/dist-server/graphql/resolvers/marketplace-store/update-multiple-marketplace-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/woocommerce/deactivate-woocommerce-store.js +4 -4
- package/dist-server/graphql/resolvers/marketplace-store/woocommerce/deactivate-woocommerce-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/woocommerce/get-woocommerce-auth-url.js +2 -2
- package/dist-server/graphql/resolvers/marketplace-store/woocommerce/get-woocommerce-auth-url.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/zalora/deactivate-zalora-store.js +3 -3
- package/dist-server/graphql/resolvers/marketplace-store/zalora/deactivate-zalora-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/zalora/generate-zalora-access-token.js +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/zalora/generate-zalora-access-token.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-transporter/create-marketplace-transporter.js +4 -4
- package/dist-server/graphql/resolvers/marketplace-transporter/create-marketplace-transporter.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporter.js +2 -2
- package/dist-server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporter.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporters.js +2 -1
- package/dist-server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporters.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-transporter/marketplace-transporter-query.js +10 -6
- package/dist-server/graphql/resolvers/marketplace-transporter/marketplace-transporter-query.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-transporter/update-marketplace-transporter.js +5 -2
- package/dist-server/graphql/resolvers/marketplace-transporter/update-marketplace-transporter.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-transporter/update-multiple-marketplace-transporter.js +6 -3
- package/dist-server/graphql/resolvers/marketplace-transporter/update-multiple-marketplace-transporter.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/accept-store-order-cancellation.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/cancel-store-order.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/get-store-order-document.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/get-store-order-items.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/get-store-order.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/get-store-orders.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/reject-store-order-cancellation.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/set-store-order-status-packed-by-marketplace.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/set-store-order-status-ready-to-ship.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/create-store-product-variations.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/create-store-product.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/delete-store-product.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/get-store-product-brands.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/get-store-product-categories.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/get-store-product-category-attributes.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/get-store-product.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/get-store-products.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/update-store-product.js.map +1 -1
- package/dist-server/routers/magento-private-router.js +7 -8
- package/dist-server/routers/magento-private-router.js.map +1 -1
- package/dist-server/routers/shopify-install-private-router.js +8 -9
- package/dist-server/routers/shopify-install-private-router.js.map +1 -1
- package/dist-server/routers/shopify-install-public-router.js +2 -3
- package/dist-server/routers/shopify-install-public-router.js.map +1 -1
- package/dist-server/routers/shopify-private-router.js +6 -7
- package/dist-server/routers/shopify-private-router.js.map +1 -1
- package/dist-server/routers/shopify-public-router.js +7 -8
- package/dist-server/routers/shopify-public-router.js.map +1 -1
- package/dist-server/routers/woocommerce-router.js +6 -6
- package/dist-server/routers/woocommerce-router.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +16 -16
- package/server/controllers/lazada/client/lazada.ts +2 -1
- package/server/controllers/magento/apis/create-order-ship.ts +1 -1
- package/server/controllers/shopee/apis2/create-shipping-document.ts +27 -0
- package/server/controllers/shopee/apis2/echo.ts +14 -0
- package/server/controllers/shopee/apis2/get-logistics-param.ts +66 -0
- package/server/controllers/shopee/apis2/get-shipping-document-result.ts +21 -0
- package/server/controllers/shopee/apis2/get-store-logistics.ts +23 -0
- package/server/controllers/shopee/apis2/get-store-order-by-batch.ts +97 -0
- package/server/controllers/shopee/apis2/get-store-order-document.ts +39 -0
- package/server/controllers/shopee/apis2/get-store-order-payout-dates.ts +33 -0
- package/server/controllers/shopee/apis2/get-store-order-transaction-details.ts +28 -0
- package/server/controllers/shopee/apis2/get-store-order.ts +93 -0
- package/server/controllers/shopee/apis2/get-store-orders.ts +40 -0
- package/server/controllers/shopee/apis2/get-store-product-variations.ts +17 -0
- package/server/controllers/shopee/apis2/get-store-product.ts +105 -0
- package/server/controllers/shopee/apis2/get-store-products.ts +28 -0
- package/server/controllers/shopee/apis2/get-store-refund-order-details.ts +39 -0
- package/server/controllers/shopee/apis2/get-store-refund-orders.ts +37 -0
- package/server/controllers/shopee/apis2/get-tracking-number.ts +17 -0
- package/server/controllers/shopee/apis2/index.ts +20 -0
- package/server/controllers/shopee/apis2/init-logistics.ts +39 -0
- package/server/controllers/shopee/apis2/update-store-product-stock.ts +26 -0
- package/server/controllers/shopee/apis2/update-store-product-variation-stock.ts +28 -0
- package/server/controllers/shopee/index.ts +11 -2
- package/server/controllers/shopee/platform-action.ts +36 -0
- package/server/controllers/shopee/refresh-access-token.ts +78 -0
- package/server/controllers/shopee/shopee.ts +95 -0
- package/server/controllers/shopify/apis/get-store-orders.ts +46 -30
- package/server/controllers/shopify/apis/get-store-products.ts +3 -8
- package/server/controllers/shopify/shopify.ts +15 -15
- package/server/controllers/store-api/index.ts +14 -2
- package/server/controllers/tiktok/apis/get-store-order.ts +26 -24
- package/server/controllers/tiktok/apis/get-store-orders.ts +1 -1
- package/server/controllers/tiktok/apis/update-order-status.ts +4 -4
- package/server/controllers/tiktok/platform-action.ts +14 -14
- package/server/engine/connector/lazada-connector.ts +5 -4
- package/server/engine/task/marketplace-api.ts +4 -3
- package/server/graphql/resolvers/marketplace-distributor/create-marketplace-distributor.ts +2 -2
- package/server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributor.ts +4 -3
- package/server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributors.ts +6 -3
- package/server/graphql/resolvers/marketplace-distributor/marketplace-distributor-query.ts +13 -9
- package/server/graphql/resolvers/marketplace-distributor/update-marketplace-distributor.ts +5 -5
- package/server/graphql/resolvers/marketplace-distributor/update-multiple-marketplace-distributor.ts +7 -3
- package/server/graphql/resolvers/marketplace-setting/create-marketplace-setting.ts +3 -3
- package/server/graphql/resolvers/marketplace-setting/delete-marketplace-setting.ts +4 -4
- package/server/graphql/resolvers/marketplace-setting/delete-marketplace-settings.ts +9 -7
- package/server/graphql/resolvers/marketplace-setting/marketplace-setting-query.ts +11 -8
- package/server/graphql/resolvers/marketplace-setting/update-marketplace-setting.ts +9 -3
- package/server/graphql/resolvers/marketplace-setting/update-multiple-marketplace-setting.ts +32 -29
- package/server/graphql/resolvers/marketplace-store/create-marketplace-store.ts +3 -2
- package/server/graphql/resolvers/marketplace-store/delete-marketplace-store.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/delete-marketplace-stores.ts +6 -3
- package/server/graphql/resolvers/marketplace-store/lazada/deactivate-lazada-store.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/lazada/generate-lazada-access-token.ts +2 -2
- package/server/graphql/resolvers/marketplace-store/lazada/get-lazada-auth-url.ts +1 -1
- package/server/graphql/resolvers/marketplace-store/magento/activate-magento-store.ts +5 -3
- package/server/graphql/resolvers/marketplace-store/magento/deactivate-magento-store.ts +4 -4
- package/server/graphql/resolvers/marketplace-store/magento/get-magento-auth-url.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/marketplace-store.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/marketplace-stores.ts +3 -3
- package/server/graphql/resolvers/marketplace-store/shopee/deactivate-shopee-store.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/shopee/generate-shopee-access-token.ts +3 -3
- package/server/graphql/resolvers/marketplace-store/shopee/get-shopee-auth-url.ts +1 -1
- package/server/graphql/resolvers/marketplace-store/shopify/deactivate-shopify-store.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/shopify/get-shopify-auth-url.ts +4 -4
- package/server/graphql/resolvers/marketplace-store/update-marketplace-store.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/update-multiple-marketplace-store.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/woocommerce/deactivate-woocommerce-store.ts +5 -5
- package/server/graphql/resolvers/marketplace-store/woocommerce/get-woocommerce-auth-url.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/zalora/deactivate-zalora-store.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/zalora/generate-zalora-access-token.ts +2 -2
- package/server/graphql/resolvers/marketplace-transporter/create-marketplace-transporter.ts +7 -5
- package/server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporter.ts +4 -4
- package/server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporters.ts +9 -7
- package/server/graphql/resolvers/marketplace-transporter/marketplace-transporter-query.ts +17 -12
- package/server/graphql/resolvers/marketplace-transporter/update-marketplace-transporter.ts +8 -5
- package/server/graphql/resolvers/marketplace-transporter/update-multiple-marketplace-transporter.ts +32 -29
- package/server/graphql/resolvers/store-order/accept-store-order-cancellation.ts +1 -1
- package/server/graphql/resolvers/store-order/cancel-store-order.ts +1 -1
- package/server/graphql/resolvers/store-order/get-store-order-document.ts +1 -1
- package/server/graphql/resolvers/store-order/get-store-order-items.ts +1 -1
- package/server/graphql/resolvers/store-order/get-store-order.ts +1 -1
- package/server/graphql/resolvers/store-order/get-store-orders.ts +1 -1
- package/server/graphql/resolvers/store-order/reject-store-order-cancellation.ts +1 -1
- package/server/graphql/resolvers/store-order/set-store-order-status-packed-by-marketplace.ts +1 -1
- package/server/graphql/resolvers/store-order/set-store-order-status-ready-to-ship.ts +1 -1
- package/server/graphql/resolvers/store-product/create-store-product-variations.ts +1 -1
- package/server/graphql/resolvers/store-product/create-store-product.ts +1 -1
- package/server/graphql/resolvers/store-product/delete-store-product.ts +1 -1
- package/server/graphql/resolvers/store-product/get-store-product-brands.ts +1 -1
- package/server/graphql/resolvers/store-product/get-store-product-categories.ts +1 -1
- package/server/graphql/resolvers/store-product/get-store-product-category-attributes.ts +1 -1
- package/server/graphql/resolvers/store-product/get-store-product.ts +1 -1
- package/server/graphql/resolvers/store-product/get-store-products.ts +1 -1
- package/server/graphql/resolvers/store-product/update-store-product.ts +1 -1
- package/server/routers/magento-private-router.ts +3 -4
- package/server/routers/shopify-install-private-router.ts +4 -5
- package/server/routers/shopify-install-public-router.ts +1 -2
- package/server/routers/shopify-private-router.ts +6 -6
- package/server/routers/shopify-public-router.ts +6 -5
- package/server/routers/woocommerce-router.ts +4 -3
|
@@ -4,7 +4,7 @@ exports.Lazada = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const form_data_1 = tslib_1.__importDefault(require("form-data"));
|
|
6
6
|
const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
|
|
7
|
-
const
|
|
7
|
+
const shell_1 = require("@things-factory/shell");
|
|
8
8
|
const entities_1 = require("../../../entities");
|
|
9
9
|
const signature_1 = require("./signature");
|
|
10
10
|
const types_1 = require("./types");
|
|
@@ -38,7 +38,7 @@ class Lazada {
|
|
|
38
38
|
},
|
|
39
39
|
body: JSON.stringify(body)
|
|
40
40
|
});
|
|
41
|
-
const repository = (0,
|
|
41
|
+
const repository = (0, shell_1.getRepository)(entities_1.MarketplaceStore);
|
|
42
42
|
const store = await repository.findOne({
|
|
43
43
|
where: { id: storeId }
|
|
44
44
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazada.js","sourceRoot":"","sources":["../../../../server/controllers/lazada/client/lazada.ts"],"names":[],"mappings":";;;;AAAA,kEAAgC;AAChC,oEAA8B;
|
|
1
|
+
{"version":3,"file":"lazada.js","sourceRoot":"","sources":["../../../../server/controllers/lazada/client/lazada.ts"],"names":[],"mappings":"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","sourcesContent":["import FormData from 'form-data'\nimport fetch from 'node-fetch'\n\nimport { getRepository } from '@things-factory/shell'\n\nimport { MarketplaceStore } from '../../../entities'\nimport { makeSystemParameters } from './signature'\nimport { Endpoint, Parameter } from './types'\nimport { xmlize } from './xml'\n\nexport class Lazada {\n endpoint: string\n appKey: string\n appSecret: string\n accessToken: string\n\n constructor(countryCode: string, appKey: string, appSecret: string) {\n this.endpoint = Endpoint[countryCode]\n this.appKey = appKey\n this.appSecret = appSecret\n }\n\n async generateAccessToken(payload: {\n code: string // oauth code, get from app callback URL\n uuid?: string // unique identifier, anti-replay\n }) {\n const apiPath = '/auth/token/create'\n\n const body = {\n ...payload,\n ...makeSystemParameters(this.appKey, this.appSecret, apiPath, undefined, payload)\n }\n\n const response = await fetch(Endpoint.auth + apiPath, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(body)\n })\n\n return await response.json()\n }\n\n public static async refreshAccessToken(payload: { refresh_token: string }, appKey, appSecret, storeId) {\n /* CONFIRM-ME not qualified */\n const apiPath = '/auth/token/refresh'\n\n const body = {\n ...payload,\n ...makeSystemParameters(appKey, appSecret, apiPath, undefined, payload)\n }\n\n const response = await fetch(Endpoint.auth + apiPath, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(body)\n })\n\n const repository = getRepository(MarketplaceStore)\n const store: MarketplaceStore = await repository.findOne({\n where: { id: storeId }\n })\n\n const refreshTokenInfo = await response.json()\n const { access_token, refresh_token } = refreshTokenInfo\n\n var patch = {\n accessToken: access_token,\n refreshToken: refresh_token,\n accessInfo: JSON.stringify(refreshTokenInfo, null, 2)\n }\n\n await repository.save({\n ...store,\n ...patch\n })\n\n return await response.json()\n }\n\n async get(path: string, params: Parameter, accessToken?: string) {\n const qs = Object.entries({\n ...params,\n ...makeSystemParameters(this.appKey, this.appSecret, path, accessToken || this.accessToken, params)\n })\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const response = await fetch(this.endpoint + path + '?' + qs, {\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n\n if (!response.ok) {\n throw response\n }\n\n return await response.json()\n }\n\n async post(path: string, params: Parameter, accessToken?: string) {\n if ('payload' in params) {\n params.payload = xmlize(params.payload)\n }\n\n const { app_key, timestamp, access_token, sign_method, sign } = makeSystemParameters(\n this.appKey,\n this.appSecret,\n path,\n accessToken || this.accessToken,\n params\n )\n\n const body = new FormData()\n\n body.append('app_key', app_key)\n body.append('timestamp', timestamp)\n body.append('access_token', access_token)\n body.append('sign_method', sign_method)\n body.append('sign', sign)\n\n for (let key in params) {\n body.append(key, params[key])\n }\n\n const response = await fetch(this.endpoint + path, {\n method: 'post',\n headers: body.getHeaders(),\n body\n })\n\n if (!response.ok) {\n throw response\n }\n\n return await response.json()\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-order-ship.js","sourceRoot":"","sources":["../../../../server/controllers/magento/apis/create-order-ship.ts"],"names":[],"mappings":";AAAA,qGAAqG;AACrG,4BAA4B;;;AAE5B,SAAgB,eAAe;IAC7B,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,uBAAuB;QAC7B,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,IAAI,EAAE,CAAA;YAE/D,MAAM,KAAK,GAAU,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAC9C,OAAO;oBACL,oBAAoB,EAAE,EAAE;oBACxB,aAAa,EAAE,SAAS,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"create-order-ship.js","sourceRoot":"","sources":["../../../../server/controllers/magento/apis/create-order-ship.ts"],"names":[],"mappings":";AAAA,qGAAqG;AACrG,4BAA4B;;;AAE5B,SAAgB,eAAe;IAC7B,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,uBAAuB;QAC7B,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,IAAI,EAAE,CAAA;YAE/D,MAAM,KAAK,GAAU,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAC9C,OAAO;oBACL,oBAAoB,EAAE,EAAE;oBACxB,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;oBACvC,GAAG,EAAE,SAAS,CAAC,GAAG;iBACnB,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,MAAM,GAAU,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC7C,OAAO;oBACL,oBAAoB,EAAE,EAAE;oBACxB,YAAY,EAAE,QAAQ,CAAC,WAAW;oBAClC,YAAY,EAAE,QAAQ,CAAC,UAAU;iBAClC,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,iBAAiB,GAAU,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBAC5D,OAAO;oBACL,oBAAoB,EAAE;wBACpB,WAAW,EAAE,UAAU;qBACxB;iBACF,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,OAAO;gBACL,QAAQ,EAAE,EAAE,OAAO,EAAE;gBACrB,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE;aAC5D,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,OAAO,GAAG,CAAA;QACZ,CAAC;KACF,CAAA;AACH,CAAC;AAxCD,0CAwCC","sourcesContent":["/* https://magento.redoc.ly/2.4.2-admin/tag/orderorderIdship#operation/salesShipOrderV1ExecutePost */\n/* /orders/{orderId}/ship */\n\nexport function createOrderShip() {\n return {\n method: 'post',\n path: '/order/{orderId}/ship',\n denormalize(req) {\n var { orderId, orderItems, shippings, sourceCodes } = req || {}\n\n const items: any[] = orderItems.map(orderItem => {\n return {\n extension_attributes: {},\n order_item_id: parseInt(orderItem.name),\n qty: orderItem.qty\n }\n })\n\n const tracks: any[] = shippings.map(shipping => {\n return {\n extension_attributes: {},\n carrier_code: shipping.carrierCode,\n track_number: shipping.trackingNo\n }\n })\n\n const shipmentArguments: any[] = sourceCodes.map(sourceCode => {\n return {\n extension_attributes: {\n source_code: sourceCode\n }\n }\n })\n\n return {\n resource: { orderId },\n payload: { items, tracks, arguments: shipmentArguments[0] }\n }\n },\n normalize(res) {\n return res\n }\n }\n}\n"]}
|
|
@@ -2,8 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./shopee"), exports);
|
|
5
|
+
const env_1 = require("@things-factory/env");
|
|
5
6
|
const store_api_1 = require("../store-api");
|
|
6
7
|
const platform_action_1 = require("./platform-action");
|
|
7
8
|
const APIS = tslib_1.__importStar(require("./apis"));
|
|
8
|
-
|
|
9
|
+
const APISV2 = tslib_1.__importStar(require("./apis2"));
|
|
10
|
+
const shopeeConfig = env_1.config.get('marketplaceIntegrationShopee', {});
|
|
11
|
+
const { v2 } = shopeeConfig;
|
|
12
|
+
if (v2) {
|
|
13
|
+
store_api_1.StoreAPI.registerPlatform('shopee', platform_action_1.actionV2, APISV2);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
store_api_1.StoreAPI.registerPlatform('shopee', platform_action_1.action, APIS);
|
|
17
|
+
}
|
|
9
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/controllers/shopee/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AAExB,4CAAuC;AACvC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/controllers/shopee/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AAExB,6CAA4C;AAC5C,4CAAuC;AACvC,uDAAoD;AACpD,qDAA8B;AAC9B,wDAAiC;AAEjC,MAAM,YAAY,GAAG,YAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;AACnE,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,CAAA;AAE3B,IAAI,EAAE,EAAE;IACJ,oBAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,0BAAQ,EAAE,MAAM,CAAC,CAAA;CACxD;KAAM;IACH,oBAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,wBAAM,EAAE,IAAI,CAAC,CAAA;CACpD","sourcesContent":["export * from './shopee'\n\nimport { config } from '@things-factory/env'\nimport { StoreAPI } from '../store-api'\nimport { action, actionV2 } from './platform-action'\nimport * as APIS from './apis'\nimport * as APISV2 from './apis2'\n\nconst shopeeConfig = config.get('marketplaceIntegrationShopee', {})\nconst { v2 } = shopeeConfig\n\nif (v2) {\n StoreAPI.registerPlatform('shopee', actionV2, APISV2)\n} else {\n StoreAPI.registerPlatform('shopee', action, APIS)\n}\n"]}
|
|
@@ -1,10 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.action = void 0;
|
|
3
|
+
exports.action = exports.actionV2 = void 0;
|
|
4
4
|
const shopee_1 = require("./shopee");
|
|
5
5
|
const env_1 = require("@things-factory/env");
|
|
6
|
+
const refresh_access_token_1 = require("./refresh-access-token");
|
|
6
7
|
const shopeeConfig = env_1.config.get('marketplaceIntegrationShopee', {});
|
|
7
8
|
const { partnerId, partnerKey, isUAT } = shopeeConfig;
|
|
9
|
+
const actionV2 = async ({ store, path, request, method = 'post' }) => {
|
|
10
|
+
let response = await _action({ store, path, request, method });
|
|
11
|
+
if (response.error) {
|
|
12
|
+
if (response.error == 'error_auth') {
|
|
13
|
+
try {
|
|
14
|
+
const { accessToken } = await (0, refresh_access_token_1.refreshAccessToken)(store.id, store.storeId, store.refreshToken, store.accessToken);
|
|
15
|
+
store = Object.assign(Object.assign({}, store), { accessToken });
|
|
16
|
+
response = await _action({ store, path, request, method });
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
throw e;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
throw response;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return response.response || response;
|
|
27
|
+
};
|
|
28
|
+
exports.actionV2 = actionV2;
|
|
29
|
+
const _action = async ({ store, path, request, method = 'post' }) => {
|
|
30
|
+
const client = new shopee_1.Shopee({
|
|
31
|
+
isUAT: isUAT,
|
|
32
|
+
shopid: Number(store.storeId),
|
|
33
|
+
partner_id: partnerId,
|
|
34
|
+
partner_key: partnerKey,
|
|
35
|
+
access_token: store.accessToken
|
|
36
|
+
});
|
|
37
|
+
var response = await client[method](path, request);
|
|
38
|
+
return response;
|
|
39
|
+
};
|
|
8
40
|
const action = async ({ store, path, request }) => {
|
|
9
41
|
const client = new shopee_1.Shopee({
|
|
10
42
|
isUAT: isUAT,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-action.js","sourceRoot":"","sources":["../../../server/controllers/shopee/platform-action.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAEjC,6CAA4C;AAC5C,MAAM,YAAY,GAAG,YAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;AACnE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,YAAY,CAAA;AAE9C,MAAM,MAAM,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IACvD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC;QACxB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7B,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE,KAAK,CAAC,WAAW;KAChC,CAAC,CAAA;IAEF,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC/C,IAAI,QAAQ,CAAC,KAAK,EAAE;QAClB,MAAM,QAAQ,CAAA;KACf;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAfY,QAAA,MAAM,UAelB","sourcesContent":["import { Shopee } from './shopee'\n\nimport { config } from '@things-factory/env'\nconst shopeeConfig = config.get('marketplaceIntegrationShopee', {})\nconst { partnerId, partnerKey, isUAT } = shopeeConfig\n\nexport const action = async ({ store, path, request }) => {\n const client = new Shopee({\n isUAT: isUAT,\n shopid: Number(store.storeId),\n partner_id: partnerId,\n partner_key: partnerKey,\n access_token: store.accessToken\n })\n\n var response = await client.post(path, request)\n if (response.error) {\n throw response\n }\n\n return response\n}\n"]}
|
|
1
|
+
{"version":3,"file":"platform-action.js","sourceRoot":"","sources":["../../../server/controllers/shopee/platform-action.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAEjC,6CAA4C;AAC5C,iEAA2D;AAC3D,MAAM,YAAY,GAAG,YAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;AACnE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,YAAY,CAAA;AAE9C,MAAM,QAAQ,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE;IAC1E,IAAI,QAAQ,GAAG,MAAM,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;IAC9D,IAAI,QAAQ,CAAC,KAAK,EAAE;QAClB,IAAI,QAAQ,CAAC,KAAK,IAAI,YAAY,EAAE;YAClC,IAAI;gBACF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,yCAAkB,EAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;gBAChH,KAAK,mCACA,KAAK,KACR,WAAW,GACZ,CAAA;gBACD,QAAQ,GAAG,MAAM,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;aAC3D;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,CAAA;aACR;SACF;aAAM;YACL,MAAM,QAAQ,CAAA;SACf;KACF;IACD,OAAO,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAA;AACtC,CAAC,CAAA;AAnBY,QAAA,QAAQ,YAmBpB;AAED,MAAM,OAAO,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE;IAClE,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC;QACxB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7B,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE,KAAK,CAAC,WAAW;KAChC,CAAC,CAAA;IAEF,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAElD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAEM,MAAM,MAAM,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IACvD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC;QACxB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7B,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE,KAAK,CAAC,WAAW;KAChC,CAAC,CAAA;IAEF,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC/C,IAAI,QAAQ,CAAC,KAAK,EAAE;QAClB,MAAM,QAAQ,CAAA;KACf;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAfY,QAAA,MAAM,UAelB","sourcesContent":["import { Shopee } from './shopee'\n\nimport { config } from '@things-factory/env'\nimport { refreshAccessToken } from './refresh-access-token'\nconst shopeeConfig = config.get('marketplaceIntegrationShopee', {})\nconst { partnerId, partnerKey, isUAT } = shopeeConfig\n\nexport const actionV2 = async ({ store, path, request, method = 'post' }) => {\n let response = await _action({ store, path, request, method })\n if (response.error) {\n if (response.error == 'error_auth') {\n try {\n const { accessToken } = await refreshAccessToken(store.id, store.storeId, store.refreshToken, store.accessToken)\n store = {\n ...store,\n accessToken\n }\n response = await _action({ store, path, request, method })\n } catch (e) {\n throw e\n }\n } else {\n throw response\n }\n }\n return response.response || response\n}\n\nconst _action = async ({ store, path, request, method = 'post' }) => {\n const client = new Shopee({\n isUAT: isUAT,\n shopid: Number(store.storeId),\n partner_id: partnerId,\n partner_key: partnerKey,\n access_token: store.accessToken\n })\n\n var response = await client[method](path, request)\n\n return response\n}\n\nexport const action = async ({ store, path, request }) => {\n const client = new Shopee({\n isUAT: isUAT,\n shopid: Number(store.storeId),\n partner_id: partnerId,\n partner_key: partnerKey,\n access_token: store.accessToken\n })\n\n var response = await client.post(path, request)\n if (response.error) {\n throw response\n }\n\n return response\n}\n"]}
|
|
@@ -6,12 +6,13 @@ const crypto_1 = tslib_1.__importDefault(require("crypto"));
|
|
|
6
6
|
const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
|
|
7
7
|
const typeorm_1 = require("typeorm");
|
|
8
8
|
const env_1 = require("@things-factory/env");
|
|
9
|
+
const shell_1 = require("@things-factory/shell");
|
|
9
10
|
const entities_1 = require("../../entities");
|
|
10
11
|
const shopeeConfig = env_1.config.get('marketplaceIntegrationShopee', {});
|
|
11
12
|
const { partnerId, partnerKey, isUAT } = shopeeConfig;
|
|
12
13
|
const refreshPath = '/auth/access_token/get';
|
|
13
14
|
const refreshAccessToken = async (store_uuid, shop_id, refresh_token, old_access_token) => {
|
|
14
|
-
let marketplaceStore = await (0,
|
|
15
|
+
let marketplaceStore = await (0, shell_1.getRepository)(entities_1.MarketplaceStore)
|
|
15
16
|
.createQueryBuilder('ms')
|
|
16
17
|
.where('ms.id = :id', { id: store_uuid })
|
|
17
18
|
.getOne();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-access-token.js","sourceRoot":"","sources":["../../../server/controllers/shopee/refresh-access-token.ts"],"names":[],"mappings":";;;;AAAA,4DAA2B;AAC3B,oEAA8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"refresh-access-token.js","sourceRoot":"","sources":["../../../server/controllers/shopee/refresh-access-token.ts"],"names":[],"mappings":"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","sourcesContent":["import crypto from 'crypto'\nimport fetch from 'node-fetch'\nimport { createQueryBuilder } from 'typeorm'\n\nimport { config, logger } from '@things-factory/env'\nimport { getRepository } from '@things-factory/shell'\n\nimport { MarketplaceStore } from '../../entities'\n\nconst shopeeConfig = config.get('marketplaceIntegrationShopee', {})\nconst { partnerId, partnerKey, isUAT } = shopeeConfig\nconst refreshPath = '/auth/access_token/get'\n\nexport const refreshAccessToken = async (store_uuid, shop_id, refresh_token, old_access_token) => {\n let marketplaceStore: MarketplaceStore = await getRepository(MarketplaceStore)\n .createQueryBuilder('ms')\n .where('ms.id = :id', { id: store_uuid })\n .getOne()\n\n if (old_access_token != marketplaceStore.accessToken) {\n return {\n accessToken: marketplaceStore.accessToken\n }\n }\n\n const timestamp = Math.floor(Date.now() / 1000)\n const sign = crypto\n .createHmac('sha256', partnerKey)\n .update(partnerId + '/api/v2' + refreshPath + timestamp)\n .digest('hex')\n\n const auth = {\n partner_id: partnerId,\n sign: sign,\n timestamp: timestamp\n }\n\n const qs = Object.entries(auth)\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const data = {\n refresh_token: refresh_token,\n partner_id: partnerId,\n shop_id: parseInt(shop_id)\n }\n\n const jsondata = JSON.stringify(data)\n\n const response = await fetch(`${getAuthUrl()}?${qs}`, {\n method: 'post',\n body: jsondata\n })\n\n if (!response.ok) {\n throw 'Failed to get response to refresh Shopee access token'\n }\n\n const result = await response.json()\n\n if (result.error) {\n logger.error(`Failed to refresh Shopee token: ${result.error} - shop ID (${shop_id})`)\n throw result.error\n }\n\n const tokens = {\n accessToken: result.access_token, // expires in 4 hours\n refreshToken: result.refresh_token // expires in 30 days\n }\n\n await createQueryBuilder().update(MarketplaceStore).set(tokens).where('id = :id', { id: store_uuid }).execute()\n\n return tokens\n}\n\nfunction getAuthUrl() {\n return `https://partner${isUAT ? '.test-stable' : ''}.shopeemobile.com/api/v2${refreshPath}`\n}\n"]}
|
|
@@ -4,6 +4,7 @@ exports.Shopee = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const crypto_1 = tslib_1.__importDefault(require("crypto"));
|
|
6
6
|
const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
|
|
7
|
+
const integration_base_1 = require("@things-factory/integration-base");
|
|
7
8
|
const debug = require('debug')('things-factory:integration-marketplace:shopee');
|
|
8
9
|
class Shopee {
|
|
9
10
|
constructor(config) {
|
|
@@ -62,6 +63,86 @@ class Shopee {
|
|
|
62
63
|
debug('response result', result);
|
|
63
64
|
return result;
|
|
64
65
|
}
|
|
66
|
+
async getV2(endpoint, data = {}) {
|
|
67
|
+
const { partner_id, shopid, access_token, partner_key } = this.config;
|
|
68
|
+
const timestamp = Math.floor(Date.now() / 1000);
|
|
69
|
+
const sign = crypto_1.default
|
|
70
|
+
.createHmac('sha256', partner_key)
|
|
71
|
+
.update(partner_id + '/api/v2' + endpoint + timestamp + access_token + shopid)
|
|
72
|
+
.digest('hex');
|
|
73
|
+
data.partner_id = partner_id;
|
|
74
|
+
data.timestamp = timestamp;
|
|
75
|
+
data.access_token = access_token;
|
|
76
|
+
data.shop_id = shopid;
|
|
77
|
+
data.sign = sign;
|
|
78
|
+
debug('data', data);
|
|
79
|
+
const qs = Object.entries(data)
|
|
80
|
+
.map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)
|
|
81
|
+
.join('&');
|
|
82
|
+
const response = await (0, node_fetch_1.default)(`${this.getBaseUrl()}/api/v2/${endpoint}${qs ? '?' + qs : ''}`, {
|
|
83
|
+
method: 'get'
|
|
84
|
+
});
|
|
85
|
+
const result = await response.json();
|
|
86
|
+
try {
|
|
87
|
+
(0, integration_base_1.createPayloadLog)(shopid, endpoint, qs, result, {
|
|
88
|
+
state: { domain: null }
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
catch (e) { }
|
|
92
|
+
debug('response result', result);
|
|
93
|
+
return result;
|
|
94
|
+
}
|
|
95
|
+
async postV2(endpoint, data = {}) {
|
|
96
|
+
const { partner_id, shopid, access_token, partner_key } = this.config;
|
|
97
|
+
const timestamp = Math.floor(Date.now() / 1000);
|
|
98
|
+
const sign = crypto_1.default
|
|
99
|
+
.createHmac('sha256', partner_key)
|
|
100
|
+
.update(partner_id + '/api/v2' + endpoint + timestamp + access_token + shopid)
|
|
101
|
+
.digest('hex');
|
|
102
|
+
let auth = {
|
|
103
|
+
partner_id: partner_id,
|
|
104
|
+
access_token: access_token,
|
|
105
|
+
shop_id: shopid,
|
|
106
|
+
sign: sign,
|
|
107
|
+
timestamp: timestamp
|
|
108
|
+
};
|
|
109
|
+
const qs = Object.entries(auth)
|
|
110
|
+
.map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)
|
|
111
|
+
.join('&');
|
|
112
|
+
const jsondata = JSON.stringify(data);
|
|
113
|
+
debug('data', data);
|
|
114
|
+
const response = await (0, node_fetch_1.default)(`${this.getBaseUrl()}/api/v2/${endpoint}${qs ? '?' + qs : ''}`, {
|
|
115
|
+
method: 'post',
|
|
116
|
+
body: jsondata,
|
|
117
|
+
headers: {
|
|
118
|
+
'Content-Type': 'application/json'
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
let result;
|
|
122
|
+
if (endpoint == '/logistics/download_shipping_document') {
|
|
123
|
+
try {
|
|
124
|
+
let awb = await response.buffer();
|
|
125
|
+
result = {
|
|
126
|
+
awb,
|
|
127
|
+
data
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
catch (_a) {
|
|
131
|
+
result = await response.json();
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
result = await response.json();
|
|
136
|
+
try {
|
|
137
|
+
(0, integration_base_1.createPayloadLog)(shopid, endpoint, jsondata, result, {
|
|
138
|
+
state: { domain: null }
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
catch (e) { }
|
|
142
|
+
}
|
|
143
|
+
debug('response result', result);
|
|
144
|
+
return result;
|
|
145
|
+
}
|
|
65
146
|
}
|
|
66
147
|
exports.Shopee = Shopee;
|
|
67
148
|
//# sourceMappingURL=shopee.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shopee.js","sourceRoot":"","sources":["../../../server/controllers/shopee/shopee.ts"],"names":[],"mappings":";;;;AAAA,4DAA2B;AAC3B,oEAA8B;AAE9B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,+CAA+C,CAAC,CAAA;AAa/E,MAAa,MAAM;IAGjB,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,qBACN,MAAM,CACV,CAAA;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACzD,CAAC;IAED,UAAU;QACR,OAAO,kBAAkB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAA;IACrF,CAAC;IAED,YAAY,CAAC,QAAQ,GAAG,KAAK;QAC3B,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAE7D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;QAEzD,MAAM,QAAQ,GAAG,gBAAgB,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,EAAE,CAAA;QACpF,MAAM,IAAI,GAAG,gBAAM;aAChB,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC;aACjC,MAAM,CAAC,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;aACzC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEhB,IAAI,OAAO,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,QAAQ,EAAE,CAAA;QAC/C,OAAO,IAAI,eAAe,UAAU,EAAE,CAAA;QACtC,OAAO,IAAI,aAAa,YAAY,EAAE,CAAA;QACtC,OAAO,IAAI,cAAc,SAAS,EAAE,CAAA;QACpC,OAAO,IAAI,SAAS,IAAI,EAAE,CAAA;QAE1B,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAC1B,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED,qBAAqB,CAAC,IAAI,EAAE,IAAI;QAC9B,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,CAAA;QACrD,OAAO,gBAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC3F,CAAC;IAED,gBAAgB,CAAC,MAAM,EAAE,SAAS;QAChC,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE,CAAA;QACtD,MAAM,MAAM,GAAG,gBAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEjG,OAAO,MAAM,KAAK,SAAS,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAY,EAAE;QACjC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAE1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAC9C,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;SACrB;QAED,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAErC,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,QAAQ,EAAE,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,UAAU,QAAQ,EAAE,EAAE,QAAQ,CAAC;aAC1E;YACD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACpC,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA;QAEhC,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AA/ED,wBA+EC","sourcesContent":["import crypto from 'crypto'\nimport fetch from 'node-fetch'\n\nconst debug = require('debug')('things-factory:integration-marketplace:shopee')\n\nexport type ShopeeConfig = {\n partner_id: number\n partner_key: string\n shopid?: number\n code?: string\n redirect_uri?: string\n webhook_url?: string\n isUAT?: boolean\n access_token?: string\n}\n\nexport class Shopee {\n private config: ShopeeConfig\n\n constructor(config: ShopeeConfig) {\n this.config = {\n ...config\n }\n\n this.config.partner_id = Number(this.config.partner_id)\n }\n\n getBaseUrl() {\n return `https://partner${this.config.isUAT ? '.test-stable' : ''}.shopeemobile.com`\n }\n\n buildAuthURL(isCancel = false) {\n const { partner_key, partner_id, redirect_uri } = this.config\n\n const timestamp = Math.round(new Date().getTime() / 1000)\n\n const authPath = `/api/v2/shop/${isCancel ? 'cancel_auth_partner' : 'auth_partner'}`\n const sign = crypto\n .createHmac('sha256', partner_key)\n .update(partner_id + authPath + timestamp)\n .digest('hex')\n\n let authUrl = `${this.getBaseUrl()}${authPath}`\n authUrl += `?partner_id=${partner_id}`\n authUrl += `&redirect=${redirect_uri}`\n authUrl += `×tamp=${timestamp}`\n authUrl += `&sign=${sign}`\n\n debug('auth-url', authUrl)\n return authUrl\n }\n\n buildCancelAuthUrl() {\n return this.buildAuthURL(true)\n }\n\n generateAuthorization(path, data) {\n const message = `${this.getBaseUrl() + path}|${data}`\n return crypto.createHmac('sha256', this.config.partner_key).update(message).digest('hex')\n }\n\n isValidSignature(params, signature) {\n const message = `${this.config.webhook_url}|${params}`\n const digest = crypto.createHmac('sha256', this.config.partner_key).update(message).digest('hex')\n\n return digest === signature\n }\n\n async post(endpoint, data: any = {}) {\n const { partner_id, shopid } = this.config\n\n data.partner_id = partner_id\n data.timestamp = Math.floor(Date.now() / 1000)\n if (shopid) {\n data.shopid = shopid\n }\n\n debug('data', data)\n\n const jsondata = JSON.stringify(data)\n\n const response = await fetch(`${this.getBaseUrl()}/api/v1/${endpoint}`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: this.generateAuthorization(`/api/v1${endpoint}`, jsondata)\n },\n body: jsondata\n })\n\n const result = await response.json()\n debug('response result', result)\n\n return result\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"shopee.js","sourceRoot":"","sources":["../../../server/controllers/shopee/shopee.ts"],"names":[],"mappings":"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","sourcesContent":["import crypto from 'crypto'\nimport fetch from 'node-fetch'\nimport { createPayloadLog } from '@things-factory/integration-base'\n\nconst debug = require('debug')('things-factory:integration-marketplace:shopee')\n\nexport type ShopeeConfig = {\n partner_id: number\n partner_key: string\n shopid?: number\n code?: string\n redirect_uri?: string\n webhook_url?: string\n isUAT?: boolean\n access_token?: string\n}\n\nexport class Shopee {\n private config: ShopeeConfig\n\n constructor(config: ShopeeConfig) {\n this.config = {\n ...config\n }\n\n this.config.partner_id = Number(this.config.partner_id)\n }\n\n getBaseUrl() {\n return `https://partner${this.config.isUAT ? '.test-stable' : ''}.shopeemobile.com`\n }\n\n buildAuthURL(isCancel = false) {\n const { partner_key, partner_id, redirect_uri } = this.config\n\n const timestamp = Math.round(new Date().getTime() / 1000)\n\n const authPath = `/api/v2/shop/${isCancel ? 'cancel_auth_partner' : 'auth_partner'}`\n const sign = crypto\n .createHmac('sha256', partner_key)\n .update(partner_id + authPath + timestamp)\n .digest('hex')\n\n let authUrl = `${this.getBaseUrl()}${authPath}`\n authUrl += `?partner_id=${partner_id}`\n authUrl += `&redirect=${redirect_uri}`\n authUrl += `×tamp=${timestamp}`\n authUrl += `&sign=${sign}`\n\n debug('auth-url', authUrl)\n return authUrl\n }\n\n buildCancelAuthUrl() {\n return this.buildAuthURL(true)\n }\n\n generateAuthorization(path, data) {\n const message = `${this.getBaseUrl() + path}|${data}`\n return crypto.createHmac('sha256', this.config.partner_key).update(message).digest('hex')\n }\n\n isValidSignature(params, signature) {\n const message = `${this.config.webhook_url}|${params}`\n const digest = crypto.createHmac('sha256', this.config.partner_key).update(message).digest('hex')\n\n return digest === signature\n }\n\n async post(endpoint, data: any = {}) {\n const { partner_id, shopid } = this.config\n\n data.partner_id = partner_id\n data.timestamp = Math.floor(Date.now() / 1000)\n if (shopid) {\n data.shopid = shopid\n }\n\n debug('data', data)\n\n const jsondata = JSON.stringify(data)\n\n const response = await fetch(`${this.getBaseUrl()}/api/v1/${endpoint}`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: this.generateAuthorization(`/api/v1${endpoint}`, jsondata)\n },\n body: jsondata\n })\n\n const result = await response.json()\n debug('response result', result)\n\n return result\n }\n\n async getV2(endpoint, data: any = {}) {\n const { partner_id, shopid, access_token, partner_key } = this.config\n\n const timestamp = Math.floor(Date.now() / 1000)\n const sign = crypto\n .createHmac('sha256', partner_key)\n .update(partner_id + '/api/v2' + endpoint + timestamp + access_token + shopid)\n .digest('hex')\n\n data.partner_id = partner_id\n data.timestamp = timestamp\n data.access_token = access_token\n data.shop_id = shopid\n data.sign = sign\n\n debug('data', data)\n\n const qs = Object.entries(data)\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const response = await fetch(`${this.getBaseUrl()}/api/v2/${endpoint}${qs ? '?' + qs : ''}`, {\n method: 'get'\n })\n\n const result = await response.json()\n try {\n createPayloadLog(shopid, endpoint, qs, result, {\n state: { domain: null }\n })\n } catch (e) {}\n debug('response result', result)\n\n return result\n }\n\n async postV2(endpoint, data: any = {}) {\n const { partner_id, shopid, access_token, partner_key } = this.config\n\n const timestamp = Math.floor(Date.now() / 1000)\n const sign = crypto\n .createHmac('sha256', partner_key)\n .update(partner_id + '/api/v2' + endpoint + timestamp + access_token + shopid)\n .digest('hex')\n\n let auth = {\n partner_id: partner_id,\n access_token: access_token,\n shop_id: shopid,\n sign: sign,\n timestamp: timestamp\n }\n\n const qs = Object.entries(auth)\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const jsondata = JSON.stringify(data)\n\n debug('data', data)\n\n const response = await fetch(`${this.getBaseUrl()}/api/v2/${endpoint}${qs ? '?' + qs : ''}`, {\n method: 'post',\n body: jsondata,\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n\n let result\n if (endpoint == '/logistics/download_shipping_document') {\n try {\n let awb = await response.buffer()\n result = {\n awb,\n data\n }\n } catch {\n result = await response.json()\n }\n } else {\n result = await response.json()\n try {\n createPayloadLog(shopid, endpoint, jsondata, result, {\n state: { domain: null }\n })\n } catch (e) {}\n }\n\n debug('response result', result)\n\n return result\n }\n}\n"]}
|
|
@@ -7,23 +7,27 @@ function getStoreOrders() {
|
|
|
7
7
|
method: 'get',
|
|
8
8
|
path: '/orders.json',
|
|
9
9
|
denormalize(req) {
|
|
10
|
-
var { pagination, fromCreatedDate, toCreatedDate, fromUpdatedDate, toUpdatedDate, lastOrderId } = req || {};
|
|
10
|
+
var { pagination, fromCreatedDate, toCreatedDate, fromUpdatedDate, toUpdatedDate, lastOrderId, nextCursor } = req || {};
|
|
11
11
|
var { page = 0, limit = 100 } = pagination || {};
|
|
12
12
|
var payload = {
|
|
13
|
-
limit
|
|
14
|
-
status: 'any'
|
|
13
|
+
limit
|
|
15
14
|
};
|
|
16
|
-
if (
|
|
15
|
+
if (nextCursor) {
|
|
16
|
+
payload.page_info = nextCursor;
|
|
17
|
+
}
|
|
18
|
+
if (fromCreatedDate && toCreatedDate && !nextCursor) {
|
|
17
19
|
var created_at_min = new Date(fromCreatedDate).toISOString();
|
|
18
20
|
var created_at_max = new Date(toCreatedDate).toISOString();
|
|
19
21
|
payload.created_at_min = created_at_min;
|
|
20
22
|
payload.created_at_max = created_at_max;
|
|
23
|
+
payload.status = 'any';
|
|
21
24
|
}
|
|
22
|
-
if (fromUpdatedDate && toUpdatedDate) {
|
|
25
|
+
if (fromUpdatedDate && toUpdatedDate && !nextCursor) {
|
|
23
26
|
var updated_at_min = new Date(fromUpdatedDate).toISOString();
|
|
24
27
|
var updated_at_max = new Date(toUpdatedDate).toISOString();
|
|
25
28
|
payload.updated_at_min = updated_at_min;
|
|
26
29
|
payload.updated_at_max = updated_at_max;
|
|
30
|
+
payload.status = 'any';
|
|
27
31
|
}
|
|
28
32
|
if (lastOrderId)
|
|
29
33
|
payload.since_id = Number(lastOrderId);
|
|
@@ -34,8 +38,10 @@ function getStoreOrders() {
|
|
|
34
38
|
// removed item -> fulfillable_quantity = 0
|
|
35
39
|
const linkParams = res.link;
|
|
36
40
|
var more = false;
|
|
41
|
+
let nextCursor = null;
|
|
37
42
|
if (linkParams) {
|
|
38
|
-
more = checkNextPage(linkParams);
|
|
43
|
+
more = checkNextPage(linkParams).nextPage;
|
|
44
|
+
nextCursor = checkNextPage(linkParams).nextCursor;
|
|
39
45
|
}
|
|
40
46
|
const orderSourceNames = ['pos'];
|
|
41
47
|
var { orders } = res;
|
|
@@ -122,7 +128,9 @@ function getStoreOrders() {
|
|
|
122
128
|
variationSku: lineItem.sku,
|
|
123
129
|
channelSku: lineItem.sku,
|
|
124
130
|
variationName: lineItem.name,
|
|
125
|
-
originalPrice: lineItem.price
|
|
131
|
+
originalPrice: lineItem.price,
|
|
132
|
+
total: lineItem.price,
|
|
133
|
+
subtotal: lineItem.price
|
|
126
134
|
};
|
|
127
135
|
lineItems.push(lineItem);
|
|
128
136
|
}
|
|
@@ -136,7 +144,9 @@ function getStoreOrders() {
|
|
|
136
144
|
variationSku: lineItem.sku,
|
|
137
145
|
channelSku: lineItem.sku,
|
|
138
146
|
variationName: lineItem.name,
|
|
139
|
-
originalPrice: lineItem.price
|
|
147
|
+
originalPrice: lineItem.price,
|
|
148
|
+
total: lineItem.price,
|
|
149
|
+
subtotal: lineItem.price
|
|
140
150
|
};
|
|
141
151
|
if (lineItem.qty >= 0)
|
|
142
152
|
lineItems.push(lineItem);
|
|
@@ -180,49 +190,54 @@ function getStoreOrders() {
|
|
|
180
190
|
let shippingAddress = order === null || order === void 0 ? void 0 : order.shipping_address;
|
|
181
191
|
let billingAddress = (order === null || order === void 0 ? void 0 : order.billing_address) || shippingAddress;
|
|
182
192
|
result.shipping = {
|
|
183
|
-
address_1: shippingAddress.address1,
|
|
184
|
-
address_2: shippingAddress.address2,
|
|
185
|
-
address_3: shippingAddress.province,
|
|
186
|
-
postcode: shippingAddress.zip,
|
|
187
|
-
country: shippingAddress.country_code,
|
|
188
|
-
city: shippingAddress.city,
|
|
189
|
-
first_name: shippingAddress.first_name,
|
|
190
|
-
last_name: shippingAddress.last_name,
|
|
191
|
-
phone: shippingAddress.phone,
|
|
192
|
-
email: order.email
|
|
193
|
+
address_1: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.address1,
|
|
194
|
+
address_2: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.address2,
|
|
195
|
+
address_3: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.province,
|
|
196
|
+
postcode: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.zip,
|
|
197
|
+
country: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.country_code,
|
|
198
|
+
city: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.city,
|
|
199
|
+
first_name: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.first_name,
|
|
200
|
+
last_name: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.last_name,
|
|
201
|
+
phone: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.phone,
|
|
202
|
+
email: order === null || order === void 0 ? void 0 : order.email
|
|
193
203
|
};
|
|
194
204
|
result.billing = {
|
|
195
|
-
address_1: billingAddress.address1,
|
|
196
|
-
address_2: billingAddress.address2,
|
|
197
|
-
address_3: billingAddress.province,
|
|
198
|
-
postcode: billingAddress.zip,
|
|
199
|
-
country: billingAddress.country_code,
|
|
200
|
-
city: billingAddress.city,
|
|
201
|
-
first_name: billingAddress.first_name,
|
|
202
|
-
last_name: billingAddress.last_name,
|
|
203
|
-
phone: billingAddress.phone,
|
|
204
|
-
email: order.email
|
|
205
|
+
address_1: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.address1,
|
|
206
|
+
address_2: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.address2,
|
|
207
|
+
address_3: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.province,
|
|
208
|
+
postcode: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.zip,
|
|
209
|
+
country: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.country_code,
|
|
210
|
+
city: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.city,
|
|
211
|
+
first_name: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.first_name,
|
|
212
|
+
last_name: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.last_name,
|
|
213
|
+
phone: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.phone,
|
|
214
|
+
email: order === null || order === void 0 ? void 0 : order.email
|
|
205
215
|
};
|
|
206
216
|
result.isSOF = true;
|
|
207
217
|
result.firstName = ((_a = order === null || order === void 0 ? void 0 : order.customer) === null || _a === void 0 ? void 0 : _a.first_name) || '';
|
|
208
218
|
result.lastName = ((_b = order === null || order === void 0 ? void 0 : order.customer) === null || _b === void 0 ? void 0 : _b.last_name) || '';
|
|
219
|
+
result.sellercraftDisplayOrderNo = order.name;
|
|
209
220
|
}
|
|
210
221
|
itemCount = result.orderItems.length;
|
|
211
222
|
result.itemCount = itemCount;
|
|
212
223
|
return result;
|
|
213
224
|
});
|
|
214
|
-
return { results, more };
|
|
225
|
+
return { results, more, nextCursor };
|
|
215
226
|
}
|
|
216
227
|
};
|
|
217
228
|
}
|
|
218
229
|
exports.getStoreOrders = getStoreOrders;
|
|
219
230
|
function checkNextPage(link) {
|
|
220
231
|
let nextPage = false;
|
|
232
|
+
let nextCursor = null;
|
|
221
233
|
// If there's a previous link, remove the first part of the string entirely
|
|
222
234
|
if (link.indexOf(`rel="next"`) > -1) {
|
|
235
|
+
let nextLink = link.split(' ');
|
|
236
|
+
nextLink = nextLink[nextLink.indexOf(`rel="next"`) - 1];
|
|
237
|
+
nextCursor = new URLSearchParams(nextLink.substring(nextLink.indexOf('<') + 1, nextLink.lastIndexOf('>'))).get('page_info');
|
|
223
238
|
nextPage = true;
|
|
224
239
|
}
|
|
225
|
-
return nextPage;
|
|
240
|
+
return { nextPage, nextCursor };
|
|
226
241
|
}
|
|
227
242
|
function getSellercraftStatus(fulfillmentStatus, paymentStatus) {
|
|
228
243
|
if ((fulfillmentStatus == 'unfulfilled' || !fulfillmentStatus) &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-store-orders.js","sourceRoot":"","sources":["../../../../server/controllers/shopify/apis/get-store-orders.ts"],"names":[],"mappings":"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","sourcesContent":["/* https://open.shopee.com/documents?module=4&type=1&id=399 */\n\nexport function getStoreOrders() {\n return {\n method: 'get',\n path: '/orders.json',\n denormalize(req) {\n var { pagination, fromCreatedDate, toCreatedDate, fromUpdatedDate, toUpdatedDate, lastOrderId } = req || {}\n var { page = 0, limit = 100 } = pagination || {}\n\n var payload: any = {\n limit,\n status: 'any'\n }\n\n if (fromCreatedDate && toCreatedDate) {\n var created_at_min = new Date(fromCreatedDate).toISOString()\n var created_at_max = new Date(toCreatedDate).toISOString()\n payload.created_at_min = created_at_min\n payload.created_at_max = created_at_max\n }\n\n if (fromUpdatedDate && toUpdatedDate) {\n var updated_at_min = new Date(fromUpdatedDate).toISOString()\n var updated_at_max = new Date(toUpdatedDate).toISOString()\n payload.updated_at_min = updated_at_min\n payload.updated_at_max = updated_at_max\n }\n\n if (lastOrderId) payload.since_id = Number(lastOrderId)\n\n return { payload }\n },\n async normalize(res, { store }) {\n // return res.orders\n\n // removed item -> fulfillable_quantity = 0\n\n const linkParams = res.link\n var more: boolean = false\n\n if (linkParams) {\n more = checkNextPage(linkParams)\n }\n\n const orderSourceNames: any = ['pos']\n var { orders } = res\n\n const results: any[] = orders\n .filter(item => !orderSourceNames.includes(item.source_name))\n .map(order => {\n const orderId = order.id\n const fulfillmentStatus = order.fulfillment_status\n const paymentStatus = order?.financial_status || ''\n let orderStatus = order?.cancelled_at ? 'cancelled' : fulfillmentStatus ? fulfillmentStatus : 'unfulfilled'\n let sellercraftStatus = getSellercraftStatus(fulfillmentStatus, paymentStatus)\n\n let itemCount: Number = 0\n let result: any\n\n if (fulfillmentStatus != null) {\n const fulfillment = order.fulfillments[0]\n\n result = {\n name: fulfillment.order_id,\n orderNo: order.name,\n currency: order.currency,\n totalAmount: order.current_total_price,\n remark: order.note,\n orderCreatedAt: new Date(order.created_at).toUTCString(),\n orderUpdatedAt: new Date(order.updated_at).toUTCString(),\n discountValue: order.total_discounts,\n status: order.financial_status == 'pending' ? 'unpaid' : orderStatus,\n sellercraftStatus,\n trackingNo: fulfillment.tracking_number,\n shippingProvider: fulfillment.tracking_company,\n recipientAddress:\n fulfillment.billing_address == null ? fulfillment.shipping_address : fulfillment.billing_address,\n reason: order.cancel_reason,\n orderItems: fulfillment.line_items.map(lineItem => {\n return {\n name: lineItem.id.toString(),\n qty: lineItem.quantity,\n status: lineItem.status,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price,\n total: lineItem.price,\n subtotal: lineItem.price\n }\n })\n }\n } else {\n let lineItems = []\n\n const refundItems = order.refunds\n .reduce((acc, curr) => {\n const refundLineItems = curr.refund_line_items\n acc.push(...refundLineItems)\n\n return acc\n }, [])\n .reduce((acc, curr) => {\n let sum = acc.findIndex(x => x.line_item_id === curr.line_item_id)\n if (sum >= 0) {\n acc[sum].quantity += curr.quantity\n } else {\n acc.push(curr)\n }\n\n return acc\n }, [])\n\n let filteredLineItems = []\n if (orderStatus == 'cancelled') {\n filteredLineItems = order.line_items\n } else {\n filteredLineItems = order.line_items.filter(item => item.fulfillable_quantity > 0)\n }\n\n filteredLineItems.map(lineItem => {\n const matchedLineItem = refundItems.find(item => item.line_item_id == lineItem.id)\n\n if (!matchedLineItem) {\n lineItem = {\n name: lineItem.id.toString(),\n qty: lineItem.quantity,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price\n }\n\n lineItems.push(lineItem)\n } else {\n lineItem = {\n name: lineItem.id.toString(),\n qty: orderStatus == 'cancelled' ? lineItem.quantity : lineItem.quantity - matchedLineItem.quantity,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price\n }\n\n if (lineItem.qty >= 0) lineItems.push(lineItem)\n }\n })\n\n result = {\n name: orderId,\n orderNo: order.name,\n currency: order.currency,\n totalAmount: orderStatus == 'cancelled' ? order.total_price : order.current_total_price,\n remark: order.note,\n orderCreatedAt: new Date(order.created_at).toUTCString(),\n orderUpdatedAt: new Date(order.updated_at).toUTCString(),\n discountValue: order.total_discounts,\n recipientAddress: order.billing_address,\n status: order.financial_status == 'pending' ? 'unpaid' : orderStatus,\n sellercraftStatus,\n reason: order.cancel_reason,\n orderItems: lineItems\n }\n }\n\n if (order?.shipping_address || order?.billing_address) {\n const {\n address1,\n address2,\n phone,\n zip: postCode,\n city,\n country,\n first_name,\n last_name,\n province: state\n } = order?.shipping_address ? order.shipping_address : order.billing_address\n\n var orderShipping = {\n address1,\n address2,\n address3: null,\n address4: null,\n address5: null,\n phone1: phone,\n phone2: null,\n postCode,\n city,\n state,\n country: country === 'MY' ? 'Malaysia' : country,\n collectionCurrency: order.currency,\n attentionTo: `${first_name} ${last_name}`\n }\n\n result.orderShipping = orderShipping\n\n // For SC mapping\n\n let shippingAddress = order?.shipping_address\n let billingAddress = order?.billing_address || shippingAddress\n\n result.shipping = {\n address_1: shippingAddress.address1,\n address_2: shippingAddress.address2,\n address_3: shippingAddress.province,\n postcode: shippingAddress.zip,\n country: shippingAddress.country_code,\n city: shippingAddress.city,\n first_name: shippingAddress.first_name,\n last_name: shippingAddress.last_name,\n phone: shippingAddress.phone,\n email: order.email\n }\n result.billing = {\n address_1: billingAddress.address1,\n address_2: billingAddress.address2,\n address_3: billingAddress.province,\n postcode: billingAddress.zip,\n country: billingAddress.country_code,\n city: billingAddress.city,\n first_name: billingAddress.first_name,\n last_name: billingAddress.last_name,\n phone: billingAddress.phone,\n email: order.email\n }\n result.isSOF = true\n result.firstName = order?.customer?.first_name || ''\n result.lastName = order?.customer?.last_name || ''\n }\n\n itemCount = result.orderItems.length\n result.itemCount = itemCount\n\n return result\n })\n\n return { results, more }\n }\n }\n}\n\nfunction checkNextPage(link) {\n let nextPage: boolean = false\n\n // If there's a previous link, remove the first part of the string entirely\n if (link.indexOf(`rel=\"next\"`) > -1) {\n nextPage = true\n }\n\n return nextPage\n}\n\nfunction getSellercraftStatus(fulfillmentStatus, paymentStatus) {\n if (\n (fulfillmentStatus == 'unfulfilled' || !fulfillmentStatus) &&\n (paymentStatus == 'pending' || paymentStatus == 'unpaid')\n )\n return 'payment_pending'\n if ((fulfillmentStatus == 'unfulfilled' || !fulfillmentStatus) && paymentStatus == 'paid') return 'processing'\n if (fulfillmentStatus == 'fulfilled' && paymentStatus == 'paid') return 'shipped'\n if (paymentStatus == 'refunded') return 'refunded'\n if (paymentStatus == 'voided') return 'cancelled'\n if (paymentStatus == 'overdue') return 'cancelled'\n}\n"]}
|
|
1
|
+
{"version":3,"file":"get-store-orders.js","sourceRoot":"","sources":["../../../../server/controllers/shopify/apis/get-store-orders.ts"],"names":[],"mappings":"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","sourcesContent":["/* https://open.shopee.com/documents?module=4&type=1&id=399 */\n\nexport function getStoreOrders() {\n return {\n method: 'get',\n path: '/orders.json',\n denormalize(req) {\n var { pagination, fromCreatedDate, toCreatedDate, fromUpdatedDate, toUpdatedDate, lastOrderId, nextCursor } = req || {}\n var { page = 0, limit = 100 } = pagination || {}\n\n var payload: any = {\n limit\n }\n\n if (nextCursor) {\n payload.page_info = nextCursor\n }\n\n if (fromCreatedDate && toCreatedDate && !nextCursor) {\n var created_at_min = new Date(fromCreatedDate).toISOString()\n var created_at_max = new Date(toCreatedDate).toISOString()\n payload.created_at_min = created_at_min\n payload.created_at_max = created_at_max\n payload.status = 'any'\n }\n\n if (fromUpdatedDate && toUpdatedDate && !nextCursor) {\n var updated_at_min = new Date(fromUpdatedDate).toISOString()\n var updated_at_max = new Date(toUpdatedDate).toISOString()\n payload.updated_at_min = updated_at_min\n payload.updated_at_max = updated_at_max\n payload.status = 'any'\n }\n\n if (lastOrderId) payload.since_id = Number(lastOrderId)\n\n return { payload }\n },\n async normalize(res, { store }) {\n // return res.orders\n\n // removed item -> fulfillable_quantity = 0\n\n const linkParams = res.link\n var more: boolean = false\n let nextCursor: any = null\n\n if (linkParams) {\n more = checkNextPage(linkParams).nextPage\n nextCursor = checkNextPage(linkParams).nextCursor\n }\n\n const orderSourceNames: any = ['pos']\n var { orders } = res\n\n const results: any[] = orders\n .filter(item => !orderSourceNames.includes(item.source_name))\n .map(order => {\n const orderId = order.id\n const fulfillmentStatus = order.fulfillment_status\n const paymentStatus = order?.financial_status || ''\n let orderStatus = order?.cancelled_at ? 'cancelled' : fulfillmentStatus ? fulfillmentStatus : 'unfulfilled'\n let sellercraftStatus = getSellercraftStatus(fulfillmentStatus, paymentStatus)\n\n let itemCount: Number = 0\n let result: any\n\n if (fulfillmentStatus != null) {\n const fulfillment = order.fulfillments[0]\n\n result = {\n name: fulfillment.order_id,\n orderNo: order.name,\n currency: order.currency,\n totalAmount: order.current_total_price,\n remark: order.note,\n orderCreatedAt: new Date(order.created_at).toUTCString(),\n orderUpdatedAt: new Date(order.updated_at).toUTCString(),\n discountValue: order.total_discounts,\n status: order.financial_status == 'pending' ? 'unpaid' : orderStatus,\n sellercraftStatus,\n trackingNo: fulfillment.tracking_number,\n shippingProvider: fulfillment.tracking_company,\n recipientAddress:\n fulfillment.billing_address == null ? fulfillment.shipping_address : fulfillment.billing_address,\n reason: order.cancel_reason,\n orderItems: fulfillment.line_items.map(lineItem => {\n return {\n name: lineItem.id.toString(),\n qty: lineItem.quantity,\n status: lineItem.status,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price,\n total: lineItem.price,\n subtotal: lineItem.price\n }\n })\n }\n } else {\n let lineItems = []\n\n const refundItems = order.refunds\n .reduce((acc, curr) => {\n const refundLineItems = curr.refund_line_items\n acc.push(...refundLineItems)\n\n return acc\n }, [])\n .reduce((acc, curr) => {\n let sum = acc.findIndex(x => x.line_item_id === curr.line_item_id)\n if (sum >= 0) {\n acc[sum].quantity += curr.quantity\n } else {\n acc.push(curr)\n }\n\n return acc\n }, [])\n\n let filteredLineItems = []\n if (orderStatus == 'cancelled') {\n filteredLineItems = order.line_items\n } else {\n filteredLineItems = order.line_items.filter(item => item.fulfillable_quantity > 0)\n }\n\n filteredLineItems.map(lineItem => {\n const matchedLineItem = refundItems.find(item => item.line_item_id == lineItem.id)\n\n if (!matchedLineItem) {\n lineItem = {\n name: lineItem.id.toString(),\n qty: lineItem.quantity,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price,\n total: lineItem.price,\n subtotal: lineItem.price\n }\n\n lineItems.push(lineItem)\n } else {\n lineItem = {\n name: lineItem.id.toString(),\n qty: orderStatus == 'cancelled' ? lineItem.quantity : lineItem.quantity - matchedLineItem.quantity,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price,\n total: lineItem.price,\n subtotal: lineItem.price\n }\n\n if (lineItem.qty >= 0) lineItems.push(lineItem)\n }\n })\n\n result = {\n name: orderId,\n orderNo: order.name,\n currency: order.currency,\n totalAmount: orderStatus == 'cancelled' ? order.total_price : order.current_total_price,\n remark: order.note,\n orderCreatedAt: new Date(order.created_at).toUTCString(),\n orderUpdatedAt: new Date(order.updated_at).toUTCString(),\n discountValue: order.total_discounts,\n recipientAddress: order.billing_address,\n status: order.financial_status == 'pending' ? 'unpaid' : orderStatus,\n sellercraftStatus,\n reason: order.cancel_reason,\n orderItems: lineItems\n }\n }\n\n if (order?.shipping_address || order?.billing_address) {\n const {\n address1,\n address2,\n phone,\n zip: postCode,\n city,\n country,\n first_name,\n last_name,\n province: state\n } = order?.shipping_address ? order.shipping_address : order.billing_address\n\n var orderShipping = {\n address1,\n address2,\n address3: null,\n address4: null,\n address5: null,\n phone1: phone,\n phone2: null,\n postCode,\n city,\n state,\n country: country === 'MY' ? 'Malaysia' : country,\n collectionCurrency: order.currency,\n attentionTo: `${first_name} ${last_name}`\n }\n\n result.orderShipping = orderShipping\n\n // For SC mapping\n\n let shippingAddress = order?.shipping_address\n let billingAddress = order?.billing_address || shippingAddress\n\n result.shipping = {\n address_1: shippingAddress?.address1,\n address_2: shippingAddress?.address2,\n address_3: shippingAddress?.province,\n postcode: shippingAddress?.zip,\n country: shippingAddress?.country_code,\n city: shippingAddress?.city,\n first_name: shippingAddress?.first_name,\n last_name: shippingAddress?.last_name,\n phone: shippingAddress?.phone,\n email: order?.email\n }\n result.billing = {\n address_1: billingAddress?.address1,\n address_2: billingAddress?.address2,\n address_3: billingAddress?.province,\n postcode: billingAddress?.zip,\n country: billingAddress?.country_code,\n city: billingAddress?.city,\n first_name: billingAddress?.first_name,\n last_name: billingAddress?.last_name,\n phone: billingAddress?.phone,\n email: order?.email\n }\n result.isSOF = true\n result.firstName = order?.customer?.first_name || ''\n result.lastName = order?.customer?.last_name || ''\n result.sellercraftDisplayOrderNo = order.name\n }\n\n itemCount = result.orderItems.length\n result.itemCount = itemCount\n\n return result\n })\n\n return { results, more, nextCursor }\n }\n }\n}\n\nfunction checkNextPage(link) {\n let nextPage: boolean = false\n let nextCursor = null\n\n // If there's a previous link, remove the first part of the string entirely\n if (link.indexOf(`rel=\"next\"`) > -1) {\n let nextLink = link.split(' ')\n nextLink = nextLink[nextLink.indexOf(`rel=\"next\"`)-1]\n nextCursor = new URLSearchParams(nextLink.substring(nextLink.indexOf('<') + 1, nextLink.lastIndexOf('>'))).get('page_info')\n nextPage = true\n }\n\n return { nextPage, nextCursor }\n}\n\nfunction getSellercraftStatus(fulfillmentStatus, paymentStatus) {\n if (\n (fulfillmentStatus == 'unfulfilled' || !fulfillmentStatus) &&\n (paymentStatus == 'pending' || paymentStatus == 'unpaid')\n )\n return 'payment_pending'\n if ((fulfillmentStatus == 'unfulfilled' || !fulfillmentStatus) && paymentStatus == 'paid') return 'processing'\n if (fulfillmentStatus == 'fulfilled' && paymentStatus == 'paid') return 'shipped'\n if (paymentStatus == 'refunded') return 'refunded'\n if (paymentStatus == 'voided') return 'cancelled'\n if (paymentStatus == 'overdue') return 'cancelled'\n}\n"]}
|