@things-factory/integration-marketplace 8.0.0-beta.9 → 8.0.2
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/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -14
- package/server/controllers/index.ts +9 -0
- package/server/controllers/lazada/apis/cancel-store-order.ts +19 -0
- package/server/controllers/lazada/apis/create-store-product.ts +55 -0
- package/server/controllers/lazada/apis/delete-store-product.ts +16 -0
- package/server/controllers/lazada/apis/echo.ts +14 -0
- package/server/controllers/lazada/apis/get-store-logistics.ts +21 -0
- package/server/controllers/lazada/apis/get-store-order-document.ts +25 -0
- package/server/controllers/lazada/apis/get-store-order-item-transaction-details.ts +65 -0
- package/server/controllers/lazada/apis/get-store-order-items.ts +179 -0
- package/server/controllers/lazada/apis/get-store-order.ts +87 -0
- package/server/controllers/lazada/apis/get-store-orders.ts +127 -0
- package/server/controllers/lazada/apis/get-store-product-brands.ts +27 -0
- package/server/controllers/lazada/apis/get-store-product-categories.ts +14 -0
- package/server/controllers/lazada/apis/get-store-product-category-attributes.ts +16 -0
- package/server/controllers/lazada/apis/get-store-product.ts +42 -0
- package/server/controllers/lazada/apis/get-store-products.ts +84 -0
- package/server/controllers/lazada/apis/get-store-refund-orders.ts +52 -0
- package/server/controllers/lazada/apis/index.ts +24 -0
- package/server/controllers/lazada/apis/set-order-invoice-no.ts +24 -0
- package/server/controllers/lazada/apis/set-store-order-status-delivered.ts +17 -0
- package/server/controllers/lazada/apis/set-store-order-status-failed-delivery.ts +17 -0
- package/server/controllers/lazada/apis/set-store-order-status-packed-by-marketplace.ts +46 -0
- package/server/controllers/lazada/apis/set-store-order-status-ready-to-ship.ts +28 -0
- package/server/controllers/lazada/apis/update-store-product-stock.ts +29 -0
- package/server/controllers/lazada/apis/update-store-product-variation-stock.ts +29 -0
- package/server/controllers/lazada/apis/update-store-product.ts +51 -0
- package/server/controllers/lazada/client/index.ts +3 -0
- package/server/controllers/lazada/client/lazada.ts +142 -0
- package/server/controllers/lazada/client/signature.ts +67 -0
- package/server/controllers/lazada/client/types.ts +30 -0
- package/server/controllers/lazada/client/xml.ts +24 -0
- package/server/controllers/lazada/index.ts +8 -0
- package/server/controllers/lazada/platform-action.ts +35 -0
- package/server/controllers/magento/apis/create-order-comment.ts +32 -0
- package/server/controllers/magento/apis/create-order-refund.ts +20 -0
- package/server/controllers/magento/apis/create-order-ship.ts +43 -0
- package/server/controllers/magento/apis/echo.ts +14 -0
- package/server/controllers/magento/apis/get-store-order.ts +15 -0
- package/server/controllers/magento/apis/get-store-orders.ts +159 -0
- package/server/controllers/magento/apis/get-store-product-categories.ts +43 -0
- package/server/controllers/magento/apis/get-store-product-variations.ts +17 -0
- package/server/controllers/magento/apis/get-store-product.ts +44 -0
- package/server/controllers/magento/apis/get-store-products.ts +120 -0
- package/server/controllers/magento/apis/get-store-stock-item.ts +66 -0
- package/server/controllers/magento/apis/index.ts +16 -0
- package/server/controllers/magento/apis/update-order-status.ts +56 -0
- package/server/controllers/magento/apis/update-store-product-price.ts +24 -0
- package/server/controllers/magento/apis/update-store-product-stock.ts +42 -0
- package/server/controllers/magento/apis/update-store-product-variation-price.ts +24 -0
- package/server/controllers/magento/apis/update-store-product-variation-stock.ts +42 -0
- package/server/controllers/magento/index.ts +8 -0
- package/server/controllers/magento/magento.ts +202 -0
- package/server/controllers/magento/platform-action.ts +44 -0
- package/server/controllers/shopee/apis/accept-store-order-cancellation.ts +22 -0
- package/server/controllers/shopee/apis/cancel-store-order.ts +25 -0
- package/server/controllers/shopee/apis/create-store-product-variations.ts +33 -0
- package/server/controllers/shopee/apis/create-store-product.ts +57 -0
- package/server/controllers/shopee/apis/delete-store-product.ts +19 -0
- package/server/controllers/shopee/apis/echo.ts +14 -0
- package/server/controllers/shopee/apis/get-address.ts +32 -0
- package/server/controllers/shopee/apis/get-branch-list.ts +30 -0
- package/server/controllers/shopee/apis/get-logistics-param.ts +71 -0
- package/server/controllers/shopee/apis/get-store-logistics.ts +21 -0
- package/server/controllers/shopee/apis/get-store-order-document.ts +27 -0
- package/server/controllers/shopee/apis/get-store-order-items.ts +47 -0
- package/server/controllers/shopee/apis/get-store-order-payout-dates.ts +29 -0
- package/server/controllers/shopee/apis/get-store-order-transaction-details.ts +29 -0
- package/server/controllers/shopee/apis/get-store-order.ts +136 -0
- package/server/controllers/shopee/apis/get-store-orders.ts +39 -0
- package/server/controllers/shopee/apis/get-store-product-categories.ts +19 -0
- package/server/controllers/shopee/apis/get-store-product-category-attributes.ts +18 -0
- package/server/controllers/shopee/apis/get-store-product.ts +84 -0
- package/server/controllers/shopee/apis/get-store-products.ts +30 -0
- package/server/controllers/shopee/apis/get-store-refund-order-details.ts +41 -0
- package/server/controllers/shopee/apis/get-store-refund-orders.ts +47 -0
- package/server/controllers/shopee/apis/get-time-slot.ts +25 -0
- package/server/controllers/shopee/apis/index.ts +30 -0
- package/server/controllers/shopee/apis/init-logistics.ts +39 -0
- package/server/controllers/shopee/apis/reject-store-order-cancellation.ts +22 -0
- package/server/controllers/shopee/apis/split-order.ts +44 -0
- package/server/controllers/shopee/apis/update-store-product-stock.ts +24 -0
- package/server/controllers/shopee/apis/update-store-product-variation-stock.ts +21 -0
- package/server/controllers/shopee/apis/update-store-product.ts +85 -0
- 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 +16 -0
- package/server/controllers/shopee/platform-action.ts +58 -0
- package/server/controllers/shopee/refresh-access-token.ts +78 -0
- package/server/controllers/shopee/shopee.ts +191 -0
- package/server/controllers/shopify/apis/echo.ts +14 -0
- package/server/controllers/shopify/apis/get-airway-bill.ts +17 -0
- package/server/controllers/shopify/apis/get-inventory-level.ts +17 -0
- package/server/controllers/shopify/apis/get-store-order.ts +172 -0
- package/server/controllers/shopify/apis/get-store-orders.ts +290 -0
- package/server/controllers/shopify/apis/get-store-product-categories.ts +19 -0
- package/server/controllers/shopify/apis/get-store-product-category-attributes.ts +18 -0
- package/server/controllers/shopify/apis/get-store-product-variation-stock.ts +17 -0
- package/server/controllers/shopify/apis/get-store-products-count.ts +14 -0
- package/server/controllers/shopify/apis/get-store-products.ts +177 -0
- package/server/controllers/shopify/apis/index.ts +13 -0
- package/server/controllers/shopify/apis/set-store-order-status-ready-to-ship.ts +31 -0
- package/server/controllers/shopify/apis/update-order-status.ts +32 -0
- package/server/controllers/shopify/apis/update-store-product-price.ts +26 -0
- package/server/controllers/shopify/apis/update-store-product-stock.ts +20 -0
- package/server/controllers/shopify/apis/update-store-product-variation-price.ts +26 -0
- package/server/controllers/shopify/apis/update-store-product-variation-stock.ts +20 -0
- package/server/controllers/shopify/index.ts +8 -0
- package/server/controllers/shopify/platform-action.ts +43 -0
- package/server/controllers/shopify/shopify.ts +148 -0
- package/server/controllers/store-api/decorators.ts +44 -0
- package/server/controllers/store-api/index.ts +209 -0
- package/server/controllers/store-api/types.ts +0 -0
- package/server/controllers/tiktok/apis/echo.ts +14 -0
- package/server/controllers/tiktok/apis/get-store-order-document.ts +26 -0
- package/server/controllers/tiktok/apis/get-store-order-package.ts +46 -0
- package/server/controllers/tiktok/apis/get-store-order-packages.ts +43 -0
- package/server/controllers/tiktok/apis/get-store-order.ts +176 -0
- package/server/controllers/tiktok/apis/get-store-orders.ts +55 -0
- package/server/controllers/tiktok/apis/get-store-product-attributes.ts +29 -0
- package/server/controllers/tiktok/apis/get-store-product-categories.ts +27 -0
- package/server/controllers/tiktok/apis/get-store-product.ts +95 -0
- package/server/controllers/tiktok/apis/get-store-products.ts +45 -0
- package/server/controllers/tiktok/apis/index.ts +13 -0
- package/server/controllers/tiktok/apis/update-order-status.ts +24 -0
- package/server/controllers/tiktok/apis/update-store-product-variation-price.ts +24 -0
- package/server/controllers/tiktok/apis/update-store-product-variation-stock.ts +28 -0
- package/server/controllers/tiktok/client/index.ts +2 -0
- package/server/controllers/tiktok/client/signature.ts +78 -0
- package/server/controllers/tiktok/client/tiktok.ts +150 -0
- package/server/controllers/tiktok/client/types.ts +20 -0
- package/server/controllers/tiktok/index.ts +8 -0
- package/server/controllers/tiktok/platform-action.ts +72 -0
- package/server/controllers/woocommerce/apis/create-order-note.ts +17 -0
- package/server/controllers/woocommerce/apis/echo.ts +14 -0
- package/server/controllers/woocommerce/apis/get-customer-info.ts +18 -0
- package/server/controllers/woocommerce/apis/get-store-order.ts +116 -0
- package/server/controllers/woocommerce/apis/get-store-orders.ts +190 -0
- package/server/controllers/woocommerce/apis/get-store-product-categories.ts +18 -0
- package/server/controllers/woocommerce/apis/get-store-product-variations.ts +16 -0
- package/server/controllers/woocommerce/apis/get-store-products.ts +135 -0
- package/server/controllers/woocommerce/apis/index.ts +19 -0
- package/server/controllers/woocommerce/apis/set-store-order-status-ready-to-ship.ts +17 -0
- package/server/controllers/woocommerce/apis/update-order-status.ts +40 -0
- package/server/controllers/woocommerce/apis/update-product-attribute.ts +20 -0
- package/server/controllers/woocommerce/apis/update-store-product-price.ts +20 -0
- package/server/controllers/woocommerce/apis/update-store-product-stock.ts +17 -0
- package/server/controllers/woocommerce/apis/update-store-product-variant-price.ts +17 -0
- package/server/controllers/woocommerce/apis/update-store-product-variant-stock.ts +18 -0
- package/server/controllers/woocommerce/apis/update-store-product-variation-price.ts +20 -0
- package/server/controllers/woocommerce/apis/update-store-product-variation-stock.ts +20 -0
- package/server/controllers/woocommerce/index.ts +8 -0
- package/server/controllers/woocommerce/platform-action.ts +48 -0
- package/server/controllers/woocommerce/woocommerce.ts +104 -0
- package/server/controllers/zalora/apis/echo.ts +14 -0
- package/server/controllers/zalora/apis/get-airway-bill.ts +17 -0
- package/server/controllers/zalora/apis/get-store-order-items.ts +17 -0
- package/server/controllers/zalora/apis/get-store-order.ts +17 -0
- package/server/controllers/zalora/apis/get-store-orders.ts +21 -0
- package/server/controllers/zalora/apis/get-store-product-categories.ts +20 -0
- package/server/controllers/zalora/apis/get-store-product-category-attributes.ts +18 -0
- package/server/controllers/zalora/apis/get-store-products.ts +20 -0
- package/server/controllers/zalora/apis/index.ts +8 -0
- package/server/controllers/zalora/index.ts +8 -0
- package/server/controllers/zalora/platform-action.ts +18 -0
- package/server/controllers/zalora/zalora/index.ts +70 -0
- package/server/controllers/zalora/zalora/signature.ts +37 -0
- package/server/controllers/zalora/zalora/xml.ts +24 -0
- package/server/engine/connector/index.ts +3 -0
- package/server/engine/connector/lazada-connector.ts +49 -0
- package/server/engine/connector/marketplace-connector.ts +33 -0
- package/server/engine/connector/shopee-connector.ts +46 -0
- package/server/engine/index.ts +2 -0
- package/server/engine/task/index.ts +4 -0
- package/server/engine/task/lazada-get.ts +48 -0
- package/server/engine/task/lazada-post.ts +46 -0
- package/server/engine/task/marketplace-api.ts +72 -0
- package/server/engine/task/shopee-post.ts +51 -0
- package/server/entities/index.ts +8 -0
- package/server/entities/marketplace-distributor.ts +42 -0
- package/server/entities/marketplace-setting.ts +49 -0
- package/server/entities/marketplace-store.ts +100 -0
- package/server/entities/marketplace-transporter.ts +46 -0
- package/server/graphql/constants/index.ts +1 -0
- package/server/graphql/constants/store.ts +5 -0
- package/server/graphql/index.ts +9 -0
- package/server/graphql/resolvers/index.ts +6 -0
- package/server/graphql/resolvers/marketplace-distributor/create-marketplace-distributor.ts +15 -0
- package/server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributor.ts +13 -0
- package/server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributors.ts +18 -0
- package/server/graphql/resolvers/marketplace-distributor/index.ts +19 -0
- package/server/graphql/resolvers/marketplace-distributor/marketplace-distributor-query.ts +57 -0
- package/server/graphql/resolvers/marketplace-distributor/update-marketplace-distributor.ts +22 -0
- package/server/graphql/resolvers/marketplace-distributor/update-multiple-marketplace-distributor.ts +49 -0
- package/server/graphql/resolvers/marketplace-setting/create-marketplace-setting.ts +16 -0
- package/server/graphql/resolvers/marketplace-setting/delete-marketplace-setting.ts +13 -0
- package/server/graphql/resolvers/marketplace-setting/delete-marketplace-settings.ts +18 -0
- package/server/graphql/resolvers/marketplace-setting/index.ts +19 -0
- package/server/graphql/resolvers/marketplace-setting/marketplace-setting-query.ts +56 -0
- package/server/graphql/resolvers/marketplace-setting/update-marketplace-setting.ts +32 -0
- package/server/graphql/resolvers/marketplace-setting/update-multiple-marketplace-setting.ts +49 -0
- package/server/graphql/resolvers/marketplace-store/create-marketplace-store.ts +20 -0
- package/server/graphql/resolvers/marketplace-store/delete-marketplace-store.ts +21 -0
- package/server/graphql/resolvers/marketplace-store/delete-marketplace-stores.ts +26 -0
- package/server/graphql/resolvers/marketplace-store/index.ts +40 -0
- package/server/graphql/resolvers/marketplace-store/lazada/deactivate-lazada-store.ts +28 -0
- package/server/graphql/resolvers/marketplace-store/lazada/generate-lazada-access-token.ts +61 -0
- package/server/graphql/resolvers/marketplace-store/lazada/get-lazada-auth-url.ts +9 -0
- package/server/graphql/resolvers/marketplace-store/lazada/index.ts +12 -0
- package/server/graphql/resolvers/marketplace-store/magento/activate-magento-store.ts +82 -0
- package/server/graphql/resolvers/marketplace-store/magento/deactivate-magento-store.ts +27 -0
- package/server/graphql/resolvers/marketplace-store/magento/get-magento-auth-url.ts +12 -0
- package/server/graphql/resolvers/marketplace-store/magento/index.ts +12 -0
- package/server/graphql/resolvers/marketplace-store/marketplace-store.ts +14 -0
- package/server/graphql/resolvers/marketplace-store/marketplace-stores.ts +18 -0
- package/server/graphql/resolvers/marketplace-store/shopee/deactivate-shopee-store.ts +28 -0
- package/server/graphql/resolvers/marketplace-store/shopee/generate-shopee-access-token.ts +96 -0
- package/server/graphql/resolvers/marketplace-store/shopee/get-shopee-auth-url.ts +18 -0
- package/server/graphql/resolvers/marketplace-store/shopee/index.ts +13 -0
- package/server/graphql/resolvers/marketplace-store/shopify/deactivate-shopify-store.ts +29 -0
- package/server/graphql/resolvers/marketplace-store/shopify/get-shopify-auth-url.ts +26 -0
- package/server/graphql/resolvers/marketplace-store/shopify/index.ts +11 -0
- package/server/graphql/resolvers/marketplace-store/update-marketplace-store.ts +19 -0
- package/server/graphql/resolvers/marketplace-store/update-multiple-marketplace-store.ts +46 -0
- package/server/graphql/resolvers/marketplace-store/woocommerce/deactivate-woocommerce-store.ts +20 -0
- package/server/graphql/resolvers/marketplace-store/woocommerce/get-woocommerce-auth-url.ts +14 -0
- package/server/graphql/resolvers/marketplace-store/woocommerce/index.ts +10 -0
- package/server/graphql/resolvers/marketplace-store/zalora/deactivate-zalora-store.ts +28 -0
- package/server/graphql/resolvers/marketplace-store/zalora/generate-zalora-access-token.ts +55 -0
- package/server/graphql/resolvers/marketplace-store/zalora/index.ts +9 -0
- package/server/graphql/resolvers/marketplace-transporter/create-marketplace-transporter.ts +21 -0
- package/server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporter.ts +13 -0
- package/server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporters.ts +18 -0
- package/server/graphql/resolvers/marketplace-transporter/index.ts +19 -0
- package/server/graphql/resolvers/marketplace-transporter/marketplace-transporter-query.ts +60 -0
- package/server/graphql/resolvers/marketplace-transporter/update-marketplace-transporter.ts +25 -0
- package/server/graphql/resolvers/marketplace-transporter/update-multiple-marketplace-transporter.ts +49 -0
- package/server/graphql/resolvers/store-order/accept-store-order-cancellation.ts +9 -0
- package/server/graphql/resolvers/store-order/cancel-store-order.ts +8 -0
- package/server/graphql/resolvers/store-order/get-store-order-document.ts +8 -0
- package/server/graphql/resolvers/store-order/get-store-order-items.ts +8 -0
- package/server/graphql/resolvers/store-order/get-store-order.ts +8 -0
- package/server/graphql/resolvers/store-order/get-store-orders.ts +13 -0
- package/server/graphql/resolvers/store-order/index.ts +23 -0
- package/server/graphql/resolvers/store-order/reject-store-order-cancellation.ts +9 -0
- package/server/graphql/resolvers/store-order/set-store-order-status-packed-by-marketplace.ts +9 -0
- package/server/graphql/resolvers/store-order/set-store-order-status-ready-to-ship.ts +10 -0
- package/server/graphql/resolvers/store-product/create-store-product-variations.ts +9 -0
- package/server/graphql/resolvers/store-product/create-store-product.ts +8 -0
- package/server/graphql/resolvers/store-product/delete-store-product.ts +8 -0
- package/server/graphql/resolvers/store-product/get-store-product-brands.ts +14 -0
- package/server/graphql/resolvers/store-product/get-store-product-categories.ts +8 -0
- package/server/graphql/resolvers/store-product/get-store-product-category-attributes.ts +11 -0
- package/server/graphql/resolvers/store-product/get-store-product.ts +8 -0
- package/server/graphql/resolvers/store-product/get-store-products.ts +13 -0
- package/server/graphql/resolvers/store-product/index.ts +25 -0
- package/server/graphql/resolvers/store-product/update-store-product.ts +8 -0
- package/server/graphql/types/index.ts +6 -0
- package/server/graphql/types/marketplace-distributor/index.ts +26 -0
- package/server/graphql/types/marketplace-distributor/marketplace-distributor-list.ts +8 -0
- package/server/graphql/types/marketplace-distributor/marketplace-distributor-patch.ts +11 -0
- package/server/graphql/types/marketplace-distributor/marketplace-distributor.ts +16 -0
- package/server/graphql/types/marketplace-distributor/new-marketplace-distributor.ts +9 -0
- package/server/graphql/types/marketplace-setting/index.ts +22 -0
- package/server/graphql/types/marketplace-setting/marketplace-setting-list.ts +8 -0
- package/server/graphql/types/marketplace-setting/marketplace-setting-patch.ts +12 -0
- package/server/graphql/types/marketplace-setting/marketplace-setting.ts +17 -0
- package/server/graphql/types/marketplace-setting/new-marketplace-setting.ts +11 -0
- package/server/graphql/types/marketplace-store/index.ts +38 -0
- package/server/graphql/types/marketplace-store/marketplace-store-list.ts +8 -0
- package/server/graphql/types/marketplace-store/marketplace-store-patch.ts +21 -0
- package/server/graphql/types/marketplace-store/marketplace-store.ts +28 -0
- package/server/graphql/types/marketplace-store/new-marketplace-store.ts +19 -0
- package/server/graphql/types/marketplace-transporter/index.ts +24 -0
- package/server/graphql/types/marketplace-transporter/marketplace-transporter-list.ts +8 -0
- package/server/graphql/types/marketplace-transporter/marketplace-transporter-patch.ts +13 -0
- package/server/graphql/types/marketplace-transporter/marketplace-transporter.ts +17 -0
- package/server/graphql/types/marketplace-transporter/new-marketplace-transporter.ts +11 -0
- package/server/graphql/types/store-order/index.ts +23 -0
- package/server/graphql/types/store-order/new-store-order.ts +8 -0
- package/server/graphql/types/store-order/store-order-list.ts +8 -0
- package/server/graphql/types/store-order/store-order-patch.ts +10 -0
- package/server/graphql/types/store-order/store-order.ts +14 -0
- package/server/graphql/types/store-product/index.ts +23 -0
- package/server/graphql/types/store-product/new-store-product.ts +8 -0
- package/server/graphql/types/store-product/store-product-list.ts +8 -0
- package/server/graphql/types/store-product/store-product-patch.ts +10 -0
- package/server/graphql/types/store-product/store-product.ts +14 -0
- package/server/index.ts +9 -0
- package/server/migrations/index.ts +9 -0
- package/server/routers/magento-private-router.ts +192 -0
- package/server/routers/magento-public-router.ts +38 -0
- package/server/routers/shopify-install-private-router.ts +95 -0
- package/server/routers/shopify-install-public-router.ts +241 -0
- package/server/routers/shopify-private-router.ts +78 -0
- package/server/routers/shopify-public-router.ts +182 -0
- package/server/routers/woocommerce-router.ts +70 -0
- package/server/routes.ts +21 -0
package/server/graphql/resolvers/marketplace-distributor/update-multiple-marketplace-distributor.ts
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
2
|
+
|
3
|
+
import { MarketplaceDistributor } from '../../../entities'
|
4
|
+
|
5
|
+
export const updateMultipleMarketplaceDistributor = {
|
6
|
+
async updateMultipleMarketplaceDistributor(_: any, { patches }, context: ResolverContext) {
|
7
|
+
const { domain, user } = context.state
|
8
|
+
|
9
|
+
let results = []
|
10
|
+
const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
|
11
|
+
const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
|
12
|
+
const MarketplaceDistributorRepo = getRepository(MarketplaceDistributor)
|
13
|
+
|
14
|
+
if (_createRecords.length > 0) {
|
15
|
+
for (let i = 0; i < _createRecords.length; i++) {
|
16
|
+
const newRecord = _createRecords[i]
|
17
|
+
|
18
|
+
const result = await MarketplaceDistributorRepo.save({
|
19
|
+
...newRecord,
|
20
|
+
domain: domain,
|
21
|
+
creator: user,
|
22
|
+
updater: user
|
23
|
+
})
|
24
|
+
|
25
|
+
results.push({ ...result, cuFlag: '+' })
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
if (_updateRecords.length > 0) {
|
30
|
+
for (let i = 0; i < _updateRecords.length; i++) {
|
31
|
+
const newRecord = _updateRecords[i]
|
32
|
+
const MarketplaceDistributor = await MarketplaceDistributorRepo.findOneBy({
|
33
|
+
domain: { id: domain.id },
|
34
|
+
id: newRecord.id
|
35
|
+
})
|
36
|
+
|
37
|
+
const result = await MarketplaceDistributorRepo.save({
|
38
|
+
...MarketplaceDistributor,
|
39
|
+
...newRecord,
|
40
|
+
updater: user
|
41
|
+
})
|
42
|
+
|
43
|
+
results.push({ ...result, cuFlag: 'M' })
|
44
|
+
}
|
45
|
+
}
|
46
|
+
|
47
|
+
return results
|
48
|
+
}
|
49
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
2
|
+
|
3
|
+
import { MarketplaceSetting } from '../../../entities'
|
4
|
+
|
5
|
+
export const createMarketplaceSetting = {
|
6
|
+
async createMarketplaceSetting(_: any, { marketplaceSetting }, context: ResolverContext) {
|
7
|
+
const { domain, user } = context.state
|
8
|
+
|
9
|
+
return await getRepository(MarketplaceSetting).save({
|
10
|
+
...marketplaceSetting,
|
11
|
+
domain,
|
12
|
+
creator: user,
|
13
|
+
updater: user
|
14
|
+
})
|
15
|
+
}
|
16
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
2
|
+
|
3
|
+
import { MarketplaceSetting } from '../../../entities'
|
4
|
+
|
5
|
+
export const deleteMarketplaceSetting = {
|
6
|
+
async deleteMarketplaceSetting(_: any, { name }, context: ResolverContext) {
|
7
|
+
const { domain, user } = context.state
|
8
|
+
|
9
|
+
await getRepository(MarketplaceSetting).delete({ domain: { id: domain.id }, name })
|
10
|
+
|
11
|
+
return true
|
12
|
+
}
|
13
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { In } from 'typeorm'
|
2
|
+
|
3
|
+
import { getRepository } from '@things-factory/shell'
|
4
|
+
|
5
|
+
import { MarketplaceSetting } from '../../../entities'
|
6
|
+
|
7
|
+
export const deleteMarketplaceSettings = {
|
8
|
+
async deleteMarketplaceSettings(_: any, { names }, context: ResolverContext) {
|
9
|
+
const { domain, user } = context.state
|
10
|
+
|
11
|
+
await getRepository(MarketplaceSetting).delete({
|
12
|
+
domain: { id: domain.id },
|
13
|
+
name: In(names)
|
14
|
+
})
|
15
|
+
|
16
|
+
return true
|
17
|
+
}
|
18
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { Query, MarketplaceSetting } from './marketplace-setting-query'
|
2
|
+
|
3
|
+
import { updateMarketplaceSetting } from './update-marketplace-setting'
|
4
|
+
import { updateMultipleMarketplaceSetting } from './update-multiple-marketplace-setting'
|
5
|
+
import { createMarketplaceSetting } from './create-marketplace-setting'
|
6
|
+
import { deleteMarketplaceSetting } from './delete-marketplace-setting'
|
7
|
+
import { deleteMarketplaceSettings } from './delete-marketplace-settings'
|
8
|
+
|
9
|
+
export const MarketplaceSettingResolver = {
|
10
|
+
MarketplaceSetting,
|
11
|
+
Query,
|
12
|
+
Mutation: {
|
13
|
+
...updateMarketplaceSetting,
|
14
|
+
...updateMultipleMarketplaceSetting,
|
15
|
+
...createMarketplaceSetting,
|
16
|
+
...deleteMarketplaceSetting,
|
17
|
+
...deleteMarketplaceSettings
|
18
|
+
}
|
19
|
+
} as any
|
@@ -0,0 +1,56 @@
|
|
1
|
+
import { convertListParams, getRepository, ListParam } from '@things-factory/shell'
|
2
|
+
|
3
|
+
import { MarketplaceSetting as MarketplaceSettingEntity } from '../../../entities'
|
4
|
+
|
5
|
+
export const Query = {
|
6
|
+
async marketplaceSetting(_: any, { name }, context: ResolverContext) {
|
7
|
+
const { domain, tx, user } = context.state
|
8
|
+
const repository = tx.getRepository(MarketplaceSettingEntity)
|
9
|
+
|
10
|
+
return await repository.findOne({
|
11
|
+
where: { domain: { id: domain.id }, name },
|
12
|
+
relations: ['marketplaceStore']
|
13
|
+
})
|
14
|
+
},
|
15
|
+
|
16
|
+
async marketplaceSettings(_: any, params: ListParam, context: ResolverContext) {
|
17
|
+
const { domain, tx, user } = context.state
|
18
|
+
const convertedParams = convertListParams(params)
|
19
|
+
const [items, total] = await tx.getRepository(MarketplaceSettingEntity).findAndCount({
|
20
|
+
...convertedParams,
|
21
|
+
where: { domain: { id: domain.id } },
|
22
|
+
relations: ['marketplaceStore']
|
23
|
+
})
|
24
|
+
|
25
|
+
return { items, total }
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
export const MarketplaceSetting = {
|
30
|
+
async domain(marketplaceSetting) {
|
31
|
+
return (
|
32
|
+
await getRepository(MarketplaceSettingEntity).findOne({
|
33
|
+
where: { id: marketplaceSetting.id },
|
34
|
+
relations: ['domain']
|
35
|
+
})
|
36
|
+
)?.domain
|
37
|
+
},
|
38
|
+
|
39
|
+
async creator(marketplaceSetting) {
|
40
|
+
return (
|
41
|
+
await getRepository(MarketplaceSettingEntity).findOne({
|
42
|
+
where: { id: marketplaceSetting.id },
|
43
|
+
relations: ['creator']
|
44
|
+
})
|
45
|
+
)?.creator
|
46
|
+
},
|
47
|
+
|
48
|
+
async updater(marketplaceSetting) {
|
49
|
+
return (
|
50
|
+
await getRepository(MarketplaceSettingEntity).findOne({
|
51
|
+
where: { id: marketplaceSetting.id },
|
52
|
+
relations: ['updater']
|
53
|
+
})
|
54
|
+
)?.updater
|
55
|
+
}
|
56
|
+
}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import { MarketplaceSetting, MarketplaceStore } from '../../../entities'
|
2
|
+
|
3
|
+
export const updateMarketplaceSetting = {
|
4
|
+
async updateMarketplaceSetting(_: any, { marketplaceSettingPatch }, context: ResolverContext) {
|
5
|
+
const { domain, user, tx } = context.state
|
6
|
+
const marketplaceSettingRepo = tx.getRepository(MarketplaceSetting)
|
7
|
+
const marketplaceStoreRepo = tx.getRepository(MarketplaceStore)
|
8
|
+
|
9
|
+
await Promise.all(
|
10
|
+
marketplaceSettingPatch.map(async settingPatch => {
|
11
|
+
const marketplaceStore: MarketplaceStore = await marketplaceStoreRepo.findOneBy({
|
12
|
+
id: settingPatch?.marketplaceStore.id
|
13
|
+
})
|
14
|
+
const marketplaceSetting: MarketplaceSetting = await marketplaceSettingRepo.findOne({
|
15
|
+
where: {
|
16
|
+
domain: { id: domain.id },
|
17
|
+
marketplaceStore: { id: marketplaceStore.id },
|
18
|
+
category: settingPatch.category
|
19
|
+
}
|
20
|
+
})
|
21
|
+
|
22
|
+
await marketplaceSettingRepo.save({
|
23
|
+
...marketplaceSetting,
|
24
|
+
...settingPatch,
|
25
|
+
updater: user
|
26
|
+
})
|
27
|
+
})
|
28
|
+
)
|
29
|
+
|
30
|
+
return true
|
31
|
+
}
|
32
|
+
}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
2
|
+
|
3
|
+
import { MarketplaceSetting } from '../../../entities'
|
4
|
+
|
5
|
+
export const updateMultipleMarketplaceSetting = {
|
6
|
+
async updateMultipleMarketplaceSetting(_: any, { patches }, context: ResolverContext) {
|
7
|
+
const { domain, user } = context.state
|
8
|
+
|
9
|
+
let results = []
|
10
|
+
const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
|
11
|
+
const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
|
12
|
+
const marketplaceSettingRepo = getRepository(MarketplaceSetting)
|
13
|
+
|
14
|
+
if (_createRecords.length > 0) {
|
15
|
+
for (let i = 0; i < _createRecords.length; i++) {
|
16
|
+
const newRecord = _createRecords[i]
|
17
|
+
|
18
|
+
const result = await marketplaceSettingRepo.save({
|
19
|
+
...newRecord,
|
20
|
+
domain: domain,
|
21
|
+
creator: user,
|
22
|
+
updater: user
|
23
|
+
})
|
24
|
+
|
25
|
+
results.push({ ...result, cuFlag: '+' })
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
if (_updateRecords.length > 0) {
|
30
|
+
for (let i = 0; i < _updateRecords.length; i++) {
|
31
|
+
const newRecord = _updateRecords[i]
|
32
|
+
const marketplaceSetting = await marketplaceSettingRepo.findOneBy({
|
33
|
+
domain: { id: domain.id },
|
34
|
+
id: newRecord.id
|
35
|
+
})
|
36
|
+
|
37
|
+
const result = await marketplaceSettingRepo.save({
|
38
|
+
...marketplaceSetting,
|
39
|
+
...newRecord,
|
40
|
+
updater: user
|
41
|
+
})
|
42
|
+
|
43
|
+
results.push({ ...result, cuFlag: 'M' })
|
44
|
+
}
|
45
|
+
}
|
46
|
+
|
47
|
+
return results
|
48
|
+
}
|
49
|
+
}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
2
|
+
|
3
|
+
import { MarketplaceStore } from '../../../entities'
|
4
|
+
import { STORE_STATUS } from '../../constants'
|
5
|
+
|
6
|
+
export const createMarketplaceStore = {
|
7
|
+
async createMarketplaceStore(_: any, { marketplaceStore }, context: ResolverContext) {
|
8
|
+
const { user, domain } = context.state
|
9
|
+
const randomString: string = Math.random().toString(36).substring(5)
|
10
|
+
|
11
|
+
return await getRepository(MarketplaceStore).save({
|
12
|
+
...marketplaceStore,
|
13
|
+
name: randomString.toUpperCase(),
|
14
|
+
status: STORE_STATUS.INACTIVE,
|
15
|
+
domain,
|
16
|
+
creator: user,
|
17
|
+
updater: user
|
18
|
+
})
|
19
|
+
}
|
20
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
2
|
+
|
3
|
+
import { MarketplaceStore } from '../../../entities'
|
4
|
+
import { STORE_STATUS } from '../../constants'
|
5
|
+
|
6
|
+
export const deleteMarketplaceStore = {
|
7
|
+
async deleteMarketplaceStore(_: any, { name }, context: ResolverContext) {
|
8
|
+
const { domain, user } = context.state
|
9
|
+
const foundMarketplaceStore: MarketplaceStore = await getRepository(MarketplaceStore).findOne({
|
10
|
+
where: { domain: { id: domain.id }, name }
|
11
|
+
})
|
12
|
+
|
13
|
+
await getRepository(MarketplaceStore).save({
|
14
|
+
...foundMarketplaceStore,
|
15
|
+
status: STORE_STATUS.TERMINATED,
|
16
|
+
updater: user
|
17
|
+
})
|
18
|
+
|
19
|
+
return true
|
20
|
+
}
|
21
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { In } from 'typeorm'
|
2
|
+
|
3
|
+
import { getRepository } from '@things-factory/shell'
|
4
|
+
|
5
|
+
import { MarketplaceStore } from '../../../entities'
|
6
|
+
import { STORE_STATUS } from '../../constants'
|
7
|
+
|
8
|
+
export const deleteMarketplaceStores = {
|
9
|
+
async deleteMarketplaceStores(_: any, { names }, context: ResolverContext) {
|
10
|
+
const { domain, user } = context.state
|
11
|
+
const foundMarketplaceStores: MarketplaceStore[] = await getRepository(MarketplaceStore).find({
|
12
|
+
where: { domain: { id: domain.id }, name: In(names) }
|
13
|
+
})
|
14
|
+
|
15
|
+
const updatedMarketplaceStore = foundMarketplaceStores.map((store: MarketplaceStore) => {
|
16
|
+
return {
|
17
|
+
...store,
|
18
|
+
status: STORE_STATUS.TERMINATED,
|
19
|
+
updater: user
|
20
|
+
}
|
21
|
+
})
|
22
|
+
|
23
|
+
await getRepository(MarketplaceStore).save(updatedMarketplaceStore)
|
24
|
+
return true
|
25
|
+
}
|
26
|
+
}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { marketplaceStoreResolver } from './marketplace-store'
|
2
|
+
import { marketplaceStoresResolver } from './marketplace-stores'
|
3
|
+
import { updateMultipleMarketplaceStore } from './update-multiple-marketplace-store'
|
4
|
+
import { updateMarketplaceStore } from './update-marketplace-store'
|
5
|
+
import { createMarketplaceStore } from './create-marketplace-store'
|
6
|
+
import { deleteMarketplaceStore } from './delete-marketplace-store'
|
7
|
+
import { deleteMarketplaceStores } from './delete-marketplace-stores'
|
8
|
+
|
9
|
+
import * as Lazada from './lazada'
|
10
|
+
import * as Shopee from './shopee'
|
11
|
+
import * as Shopify from './shopify'
|
12
|
+
import * as Zalora from './zalora'
|
13
|
+
import * as Woocommerce from './woocommerce'
|
14
|
+
import * as Magento from './magento'
|
15
|
+
|
16
|
+
export const MarketplaceStoreResolver = {
|
17
|
+
Query: {
|
18
|
+
...marketplaceStoreResolver,
|
19
|
+
...marketplaceStoresResolver,
|
20
|
+
...Lazada.Query,
|
21
|
+
...Shopee.Query,
|
22
|
+
...Shopify.Query,
|
23
|
+
...Zalora.Query,
|
24
|
+
...Woocommerce.Query,
|
25
|
+
...Magento.Query
|
26
|
+
},
|
27
|
+
Mutation: {
|
28
|
+
...updateMarketplaceStore,
|
29
|
+
...updateMultipleMarketplaceStore,
|
30
|
+
...createMarketplaceStore,
|
31
|
+
...deleteMarketplaceStore,
|
32
|
+
...deleteMarketplaceStores,
|
33
|
+
...Lazada.Mutation,
|
34
|
+
...Shopee.Mutation,
|
35
|
+
...Shopify.Mutation,
|
36
|
+
...Zalora.Mutation,
|
37
|
+
...Woocommerce.Mutation,
|
38
|
+
...Magento.Mutation
|
39
|
+
}
|
40
|
+
} as any
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
2
|
+
|
3
|
+
import { MarketplaceStore } from '../../../../entities'
|
4
|
+
import { STORE_STATUS } from '../../../constants'
|
5
|
+
|
6
|
+
export const deactivateLazadaStore = {
|
7
|
+
async deactivateLazadaStore(_: any, { name }, context: ResolverContext) {
|
8
|
+
const repository = getRepository(MarketplaceStore)
|
9
|
+
const marketplaceStore: any = await repository.findOne({
|
10
|
+
where: { domain: { id: context.state.domain.id }, name }
|
11
|
+
})
|
12
|
+
|
13
|
+
var patch = {
|
14
|
+
storeId: '',
|
15
|
+
accessToken: '',
|
16
|
+
refreshToken: '',
|
17
|
+
accessInfo: '',
|
18
|
+
countryCode: '',
|
19
|
+
status: STORE_STATUS.INACTIVE
|
20
|
+
}
|
21
|
+
|
22
|
+
return await repository.save({
|
23
|
+
...marketplaceStore,
|
24
|
+
...patch,
|
25
|
+
updater: context.state.user
|
26
|
+
})
|
27
|
+
}
|
28
|
+
}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
import { v4 as uuidv4 } from 'uuid'
|
2
|
+
|
3
|
+
import { config } from '@things-factory/env'
|
4
|
+
|
5
|
+
import { Lazada } from '../../../../controllers/lazada'
|
6
|
+
import { MarketplaceSetting, MarketplaceStore } from '../../../../entities'
|
7
|
+
import { STORE_STATUS } from '../../../constants'
|
8
|
+
|
9
|
+
const lazadaConfig = config.get('marketplaceIntegrationLazada', {})
|
10
|
+
const { appKey, appSecret } = lazadaConfig
|
11
|
+
|
12
|
+
export const generateLazadaAccessToken = {
|
13
|
+
async generateLazadaAccessToken(_: any, { id, code }, context: ResolverContext) {
|
14
|
+
const { domain, tx, user } = context.state
|
15
|
+
const repository = tx.getRepository(MarketplaceStore)
|
16
|
+
const marketplaceStore: any = await repository.findOne({
|
17
|
+
where: { domain: { id: domain.id }, id }
|
18
|
+
})
|
19
|
+
|
20
|
+
const client = new Lazada(marketplaceStore.countryCode, appKey, appSecret)
|
21
|
+
const generated = await client.generateAccessToken({ code })
|
22
|
+
const { country, access_token, refresh_token, country_user_info } = generated
|
23
|
+
client.accessToken = access_token
|
24
|
+
|
25
|
+
const store = country_user_info.find(info => info.country == country)
|
26
|
+
|
27
|
+
var patch = {
|
28
|
+
accessToken: access_token,
|
29
|
+
refreshToken: refresh_token,
|
30
|
+
accessInfo: JSON.stringify(generated, null, 2),
|
31
|
+
storeId: store?.seller_id,
|
32
|
+
countryCode: country,
|
33
|
+
status: STORE_STATUS.ACTIVE
|
34
|
+
}
|
35
|
+
|
36
|
+
const marketplaceSettingCategories: any[] = ['stock_allocation', 'marketplace_order_max_weight']
|
37
|
+
|
38
|
+
marketplaceSettingCategories.forEach(async category => {
|
39
|
+
const foundMarketplaceSetting: MarketplaceSetting = await tx.getRepository(MarketplaceSetting).findOne({
|
40
|
+
where: { marketplaceStore: { id: marketplaceStore.id }, domain: { id: domain.id }, category }
|
41
|
+
})
|
42
|
+
|
43
|
+
if (!foundMarketplaceSetting) {
|
44
|
+
const marketplaceSetting = new MarketplaceSetting()
|
45
|
+
marketplaceSetting.name = uuidv4()
|
46
|
+
marketplaceSetting.marketplaceStore = marketplaceStore
|
47
|
+
marketplaceSetting.value = '100'
|
48
|
+
marketplaceSetting.category = category
|
49
|
+
marketplaceSetting.domain = domain
|
50
|
+
marketplaceSetting.creator = user
|
51
|
+
await tx.getRepository(MarketplaceSetting).save(marketplaceSetting)
|
52
|
+
}
|
53
|
+
})
|
54
|
+
|
55
|
+
return await repository.save({
|
56
|
+
...marketplaceStore,
|
57
|
+
...patch,
|
58
|
+
updater: user
|
59
|
+
})
|
60
|
+
}
|
61
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { config } from '@things-factory/env'
|
2
|
+
const lazadaConfig = config.get('marketplaceIntegrationLazada', {})
|
3
|
+
const { appKey, appSecret } = lazadaConfig
|
4
|
+
|
5
|
+
export const getLazadaAuthURL = {
|
6
|
+
async getLazadaAuthURL(_: any, { redirectUrl }, context: ResolverContext) {
|
7
|
+
return `https://auth.lazada.com/oauth/authorize?response_type=code&force_auth=true&redirect_uri=${redirectUrl}&client_id=${appKey}`
|
8
|
+
}
|
9
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { generateLazadaAccessToken } from './generate-lazada-access-token'
|
2
|
+
import { deactivateLazadaStore } from './deactivate-lazada-store'
|
3
|
+
import { getLazadaAuthURL } from './get-lazada-auth-url'
|
4
|
+
|
5
|
+
export const Query = {
|
6
|
+
...getLazadaAuthURL
|
7
|
+
}
|
8
|
+
|
9
|
+
export const Mutation = {
|
10
|
+
...generateLazadaAccessToken,
|
11
|
+
...deactivateLazadaStore
|
12
|
+
}
|
@@ -0,0 +1,82 @@
|
|
1
|
+
import fetch from 'node-fetch'
|
2
|
+
import { v4 as uuidv4 } from 'uuid'
|
3
|
+
|
4
|
+
import { MarketplaceSetting, MarketplaceStore } from '../../../../entities'
|
5
|
+
import { STORE_STATUS } from '../../../constants'
|
6
|
+
|
7
|
+
const debug = require('debug')('things-factory:integration-marketplace:activate-magento-store')
|
8
|
+
|
9
|
+
export const activateMagentoStore = {
|
10
|
+
async activateMagentoStore(_: any, { marketplaceStoreId, username, password }, context: ResolverContext) {
|
11
|
+
const { user, domain, tx } = context.state
|
12
|
+
let marketplaceStore: MarketplaceStore = await tx
|
13
|
+
.getRepository(MarketplaceStore)
|
14
|
+
.findOneBy({ id: marketplaceStoreId })
|
15
|
+
let storeURL = marketplaceStore.storeURL
|
16
|
+
storeURL = storeURL.replace(/\/$/, '')
|
17
|
+
|
18
|
+
const adminTokenURL: string = `${storeURL}/rest/V1/integration/admin/token`
|
19
|
+
|
20
|
+
const requestBody: any = {
|
21
|
+
username: username,
|
22
|
+
password: password
|
23
|
+
}
|
24
|
+
|
25
|
+
const requestTokenResponse = await fetch(`${adminTokenURL}`, {
|
26
|
+
method: 'post',
|
27
|
+
headers: {
|
28
|
+
'Content-Type': 'application/json'
|
29
|
+
},
|
30
|
+
body: JSON.stringify(requestBody)
|
31
|
+
})
|
32
|
+
|
33
|
+
if (!requestTokenResponse.ok) {
|
34
|
+
const message = `failed to request token from magento : ${
|
35
|
+
requestTokenResponse.status
|
36
|
+
}, ${await requestTokenResponse.text()}`
|
37
|
+
debug(message)
|
38
|
+
throw new Error(message)
|
39
|
+
}
|
40
|
+
|
41
|
+
const responseBody: any = await requestTokenResponse.json()
|
42
|
+
if (!responseBody) {
|
43
|
+
const message = `failed to get admin token from magento : ${JSON.stringify(responseBody, null, 2)}`
|
44
|
+
debug(message)
|
45
|
+
throw new Error(message)
|
46
|
+
}
|
47
|
+
|
48
|
+
const patch = {
|
49
|
+
accessToken: responseBody,
|
50
|
+
refreshToken: '',
|
51
|
+
accessInfo: responseBody,
|
52
|
+
status: STORE_STATUS.ACTIVE,
|
53
|
+
updater: user
|
54
|
+
}
|
55
|
+
|
56
|
+
marketplaceStore = await tx.getRepository(MarketplaceStore).save({
|
57
|
+
...marketplaceStore,
|
58
|
+
...patch
|
59
|
+
})
|
60
|
+
|
61
|
+
const marketplaceSettingCategories: any[] = ['stock_allocation', 'marketplace_order_max_weight']
|
62
|
+
|
63
|
+
marketplaceSettingCategories.forEach(async category => {
|
64
|
+
const foundMarketplaceSetting: MarketplaceSetting = await tx.getRepository(MarketplaceSetting).findOne({
|
65
|
+
where: { marketplaceStore: { id: marketplaceStore.id }, domain: { id: domain.id }, category }
|
66
|
+
})
|
67
|
+
|
68
|
+
if (!foundMarketplaceSetting) {
|
69
|
+
const marketplaceSetting = new MarketplaceSetting()
|
70
|
+
marketplaceSetting.name = uuidv4()
|
71
|
+
marketplaceSetting.marketplaceStore = marketplaceStore
|
72
|
+
marketplaceSetting.value = '100'
|
73
|
+
marketplaceSetting.category = category
|
74
|
+
marketplaceSetting.domain = domain
|
75
|
+
marketplaceSetting.creator = user
|
76
|
+
await tx.getRepository(MarketplaceSetting).save(marketplaceSetting)
|
77
|
+
}
|
78
|
+
})
|
79
|
+
|
80
|
+
return marketplaceStore
|
81
|
+
}
|
82
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
2
|
+
|
3
|
+
import { MarketplaceStore } from '../../../../entities'
|
4
|
+
import { STORE_STATUS } from '../../../constants'
|
5
|
+
|
6
|
+
export const deactivateMagentoStore = {
|
7
|
+
async deactivateMagentoStore(_: any, { name }, context: ResolverContext) {
|
8
|
+
const repository = getRepository(MarketplaceStore)
|
9
|
+
const marketplaceStore: any = await repository.findOne({
|
10
|
+
where: { domain: { id: context.state.domain.id }, name }
|
11
|
+
})
|
12
|
+
|
13
|
+
var patch = {
|
14
|
+
accessToken: '',
|
15
|
+
refreshToken: '',
|
16
|
+
accessInfo: '',
|
17
|
+
countryCode: '',
|
18
|
+
status: STORE_STATUS.INACTIVE
|
19
|
+
}
|
20
|
+
|
21
|
+
return await repository.save({
|
22
|
+
...marketplaceStore,
|
23
|
+
...patch,
|
24
|
+
updater: context.state.user
|
25
|
+
})
|
26
|
+
}
|
27
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
2
|
+
|
3
|
+
import { MarketplaceStore } from '../../../../entities'
|
4
|
+
|
5
|
+
export const getMagentoAuthURL = {
|
6
|
+
async getMagentoAuthURL(_: any, { marketplaceStoreId }, context: ResolverContext) {
|
7
|
+
let { storeURL }: MarketplaceStore = await getRepository(MarketplaceStore).findOneBy({ id: marketplaceStoreId })
|
8
|
+
storeURL = storeURL.replace(/\/$/, '')
|
9
|
+
|
10
|
+
return `${storeURL}/rest/V1/integration/admin/token`
|
11
|
+
}
|
12
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { getMagentoAuthURL } from './get-magento-auth-url'
|
2
|
+
import { activateMagentoStore } from './activate-magento-store'
|
3
|
+
import { deactivateMagentoStore } from './deactivate-magento-store'
|
4
|
+
|
5
|
+
export const Query = {
|
6
|
+
...getMagentoAuthURL
|
7
|
+
}
|
8
|
+
|
9
|
+
export const Mutation = {
|
10
|
+
...activateMagentoStore,
|
11
|
+
...deactivateMagentoStore
|
12
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
2
|
+
|
3
|
+
import { MarketplaceStore } from '../../../entities'
|
4
|
+
|
5
|
+
export const marketplaceStoreResolver = {
|
6
|
+
async marketplaceStore(_: any, { id }, context: ResolverContext) {
|
7
|
+
const { domain } = context.state
|
8
|
+
|
9
|
+
return await getRepository(MarketplaceStore).findOne({
|
10
|
+
where: { domain: { id: domain.id }, id },
|
11
|
+
relations: ['domain', 'creator', 'updater']
|
12
|
+
})
|
13
|
+
}
|
14
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { buildQuery, getRepository, ListParam } from '@things-factory/shell'
|
2
|
+
|
3
|
+
import { MarketplaceStore } from '../../../entities'
|
4
|
+
|
5
|
+
export const marketplaceStoresResolver = {
|
6
|
+
async marketplaceStores(_: any, params: ListParam, context: ResolverContext) {
|
7
|
+
const queryBuilder = getRepository(MarketplaceStore).createQueryBuilder('MS')
|
8
|
+
buildQuery(queryBuilder, params, context)
|
9
|
+
|
10
|
+
const [items, total] = await queryBuilder
|
11
|
+
.leftJoinAndSelect('MS.domain', 'DOMAIN')
|
12
|
+
.leftJoinAndSelect('MS.creator', 'CREATOR')
|
13
|
+
.leftJoinAndSelect('MS.updater', 'UPDATER')
|
14
|
+
.getManyAndCount()
|
15
|
+
|
16
|
+
return { items, total }
|
17
|
+
}
|
18
|
+
}
|