@things-factory/integration-sellercraft 9.0.0-beta.27 → 9.0.0-beta.29

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.
Files changed (146) hide show
  1. package/dist-server/constants/index.d.ts +2 -0
  2. package/dist-server/constants/index.js +6 -0
  3. package/dist-server/constants/index.js.map +1 -0
  4. package/dist-server/constants/order-status-mapping.d.ts +27 -0
  5. package/dist-server/constants/order-status-mapping.js +31 -0
  6. package/dist-server/constants/order-status-mapping.js.map +1 -0
  7. package/dist-server/constants/platform.d.ts +6 -0
  8. package/dist-server/constants/platform.js +10 -0
  9. package/dist-server/constants/platform.js.map +1 -0
  10. package/dist-server/controllers/index.d.ts +4 -0
  11. package/dist-server/controllers/index.js +8 -0
  12. package/dist-server/controllers/index.js.map +1 -0
  13. package/dist-server/controllers/sellercraft/apis/add-inbound-order.d.ts +8 -0
  14. package/dist-server/controllers/sellercraft/apis/add-inbound-order.js +46 -0
  15. package/dist-server/controllers/sellercraft/apis/add-inbound-order.js.map +1 -0
  16. package/dist-server/controllers/sellercraft/apis/echo.d.ts +12 -0
  17. package/dist-server/controllers/sellercraft/apis/echo.js +18 -0
  18. package/dist-server/controllers/sellercraft/apis/echo.js.map +1 -0
  19. package/dist-server/controllers/sellercraft/apis/fetch-order-document.d.ts +16 -0
  20. package/dist-server/controllers/sellercraft/apis/fetch-order-document.js +21 -0
  21. package/dist-server/controllers/sellercraft/apis/fetch-order-document.js.map +1 -0
  22. package/dist-server/controllers/sellercraft/apis/index.d.ts +8 -0
  23. package/dist-server/controllers/sellercraft/apis/index.js +12 -0
  24. package/dist-server/controllers/sellercraft/apis/index.js.map +1 -0
  25. package/dist-server/controllers/sellercraft/apis/initiate-order-document.d.ts +12 -0
  26. package/dist-server/controllers/sellercraft/apis/initiate-order-document.js +20 -0
  27. package/dist-server/controllers/sellercraft/apis/initiate-order-document.js.map +1 -0
  28. package/dist-server/controllers/sellercraft/apis/initiate-order-shipment.d.ts +17 -0
  29. package/dist-server/controllers/sellercraft/apis/initiate-order-shipment.js +26 -0
  30. package/dist-server/controllers/sellercraft/apis/initiate-order-shipment.js.map +1 -0
  31. package/dist-server/controllers/sellercraft/apis/pack-marketplace-order.d.ts +12 -0
  32. package/dist-server/controllers/sellercraft/apis/pack-marketplace-order.js +35 -0
  33. package/dist-server/controllers/sellercraft/apis/pack-marketplace-order.js.map +1 -0
  34. package/dist-server/controllers/sellercraft/apis/update-marketplace-order.d.ts +6 -0
  35. package/dist-server/controllers/sellercraft/apis/update-marketplace-order.js +17 -0
  36. package/dist-server/controllers/sellercraft/apis/update-marketplace-order.js.map +1 -0
  37. package/dist-server/controllers/sellercraft/apis/update-product.d.ts +11 -0
  38. package/dist-server/controllers/sellercraft/apis/update-product.js +23 -0
  39. package/dist-server/controllers/sellercraft/apis/update-product.js.map +1 -0
  40. package/dist-server/controllers/sellercraft/index.d.ts +1 -0
  41. package/dist-server/controllers/sellercraft/index.js +9 -0
  42. package/dist-server/controllers/sellercraft/index.js.map +1 -0
  43. package/dist-server/controllers/sellercraft/platform-action.d.ts +5 -0
  44. package/dist-server/controllers/sellercraft/platform-action.js +33 -0
  45. package/dist-server/controllers/sellercraft/platform-action.js.map +1 -0
  46. package/dist-server/controllers/sellercraft/sellercraft.d.ts +12 -0
  47. package/dist-server/controllers/sellercraft/sellercraft.js +91 -0
  48. package/dist-server/controllers/sellercraft/sellercraft.js.map +1 -0
  49. package/dist-server/controllers/sellercraft-api/decorators.d.ts +1 -0
  50. package/dist-server/controllers/sellercraft-api/decorators.js +38 -0
  51. package/dist-server/controllers/sellercraft-api/decorators.js.map +1 -0
  52. package/dist-server/controllers/sellercraft-api/index.d.ts +15 -0
  53. package/dist-server/controllers/sellercraft-api/index.js +84 -0
  54. package/dist-server/controllers/sellercraft-api/index.js.map +1 -0
  55. package/dist-server/controllers/sellercraft-api/types.d.ts +0 -0
  56. package/dist-server/controllers/sellercraft-api/types.js +1 -0
  57. package/dist-server/controllers/sellercraft-api/types.js.map +1 -0
  58. package/dist-server/controllers/sellercraft-channel-integration/apis/echo.d.ts +12 -0
  59. package/dist-server/controllers/sellercraft-channel-integration/apis/echo.js +18 -0
  60. package/dist-server/controllers/sellercraft-channel-integration/apis/echo.js.map +1 -0
  61. package/dist-server/controllers/sellercraft-channel-integration/apis/index.d.ts +6 -0
  62. package/dist-server/controllers/sellercraft-channel-integration/apis/index.js +10 -0
  63. package/dist-server/controllers/sellercraft-channel-integration/apis/index.js.map +1 -0
  64. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-categories.d.ts +8 -0
  65. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-categories.js +38 -0
  66. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-categories.js.map +1 -0
  67. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-category-attributes.d.ts +11 -0
  68. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-category-attributes.js +47 -0
  69. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-category-attributes.js.map +1 -0
  70. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order-package.d.ts +8 -0
  71. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order-package.js +48 -0
  72. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order-package.js.map +1 -0
  73. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order.d.ts +8 -0
  74. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order.js +92 -0
  75. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order.js.map +1 -0
  76. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.d.ts +8 -0
  77. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.js +90 -0
  78. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.js.map +1 -0
  79. package/dist-server/controllers/sellercraft-channel-integration/index.d.ts +1 -0
  80. package/dist-server/controllers/sellercraft-channel-integration/index.js +9 -0
  81. package/dist-server/controllers/sellercraft-channel-integration/index.js.map +1 -0
  82. package/dist-server/controllers/sellercraft-channel-integration/platform-action.d.ts +5 -0
  83. package/dist-server/controllers/sellercraft-channel-integration/platform-action.js +33 -0
  84. package/dist-server/controllers/sellercraft-channel-integration/platform-action.js.map +1 -0
  85. package/dist-server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.d.ts +12 -0
  86. package/dist-server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.js +99 -0
  87. package/dist-server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.js.map +1 -0
  88. package/dist-server/controllers/sellercraft-channel-integration-api/decorators.d.ts +1 -0
  89. package/dist-server/controllers/sellercraft-channel-integration-api/decorators.js +30 -0
  90. package/dist-server/controllers/sellercraft-channel-integration-api/decorators.js.map +1 -0
  91. package/dist-server/controllers/sellercraft-channel-integration-api/index.d.ts +13 -0
  92. package/dist-server/controllers/sellercraft-channel-integration-api/index.js +70 -0
  93. package/dist-server/controllers/sellercraft-channel-integration-api/index.js.map +1 -0
  94. package/dist-server/controllers/sellercraft-channel-integration-api/types.d.ts +0 -0
  95. package/dist-server/controllers/sellercraft-channel-integration-api/types.js +1 -0
  96. package/dist-server/controllers/sellercraft-channel-integration-api/types.js.map +1 -0
  97. package/dist-server/index.d.ts +6 -0
  98. package/dist-server/index.js +10 -0
  99. package/dist-server/index.js.map +1 -0
  100. package/dist-server/middlewares/index.d.ts +1 -0
  101. package/dist-server/middlewares/index.js +7 -0
  102. package/dist-server/middlewares/index.js.map +1 -0
  103. package/dist-server/migrations/index.d.ts +1 -0
  104. package/dist-server/migrations/index.js +12 -0
  105. package/dist-server/migrations/index.js.map +1 -0
  106. package/dist-server/routers/sellercraft-router.d.ts +1 -0
  107. package/dist-server/routers/sellercraft-router.js +284 -0
  108. package/dist-server/routers/sellercraft-router.js.map +1 -0
  109. package/dist-server/routes.d.ts +1 -0
  110. package/dist-server/routes.js +29 -0
  111. package/dist-server/routes.js.map +1 -0
  112. package/dist-server/service/index.d.ts +7 -0
  113. package/dist-server/service/index.js +23 -0
  114. package/dist-server/service/index.js.map +1 -0
  115. package/dist-server/service/marketplace-channel/index.d.ts +5 -0
  116. package/dist-server/service/marketplace-channel/index.js +9 -0
  117. package/dist-server/service/marketplace-channel/index.js.map +1 -0
  118. package/dist-server/service/marketplace-channel/marketplace-channel-order-mutation.d.ts +3 -0
  119. package/dist-server/service/marketplace-channel/marketplace-channel-order-mutation.js +391 -0
  120. package/dist-server/service/marketplace-channel/marketplace-channel-order-mutation.js.map +1 -0
  121. package/dist-server/service/marketplace-channel/marketplace-channel-product-mutation.d.ts +3 -0
  122. package/dist-server/service/marketplace-channel/marketplace-channel-product-mutation.js +244 -0
  123. package/dist-server/service/marketplace-channel/marketplace-channel-product-mutation.js.map +1 -0
  124. package/dist-server/service/marketplace-channel/marketplace-channel.d.ts +18 -0
  125. package/dist-server/service/marketplace-channel/marketplace-channel.js +84 -0
  126. package/dist-server/service/marketplace-channel/marketplace-channel.js.map +1 -0
  127. package/dist-server/service/sellercraft/index.d.ts +5 -0
  128. package/dist-server/service/sellercraft/index.js +9 -0
  129. package/dist-server/service/sellercraft/index.js.map +1 -0
  130. package/dist-server/service/sellercraft/sellercraft-mutation.d.ts +9 -0
  131. package/dist-server/service/sellercraft/sellercraft-mutation.js +111 -0
  132. package/dist-server/service/sellercraft/sellercraft-mutation.js.map +1 -0
  133. package/dist-server/service/sellercraft/sellercraft-query.d.ts +11 -0
  134. package/dist-server/service/sellercraft/sellercraft-query.js +71 -0
  135. package/dist-server/service/sellercraft/sellercraft-query.js.map +1 -0
  136. package/dist-server/service/sellercraft/sellercraft-type.d.ts +21 -0
  137. package/dist-server/service/sellercraft/sellercraft-type.js +81 -0
  138. package/dist-server/service/sellercraft/sellercraft-type.js.map +1 -0
  139. package/dist-server/service/sellercraft/sellercraft.d.ts +27 -0
  140. package/dist-server/service/sellercraft/sellercraft.js +107 -0
  141. package/dist-server/service/sellercraft/sellercraft.js.map +1 -0
  142. package/dist-server/tsconfig.tsbuildinfo +1 -0
  143. package/dist-server/utils/tokencraft-util.d.ts +2 -0
  144. package/dist-server/utils/tokencraft-util.js +64 -0
  145. package/dist-server/utils/tokencraft-util.js.map +1 -0
  146. package/package.json +13 -13
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ingest-channel-order.js","sourceRoot":"","sources":["../../../../server/controllers/sellercraft-channel-integration/apis/ingest-channel-order.ts"],"names":[],"mappings":"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","sourcesContent":["/* https://docs.sellercraft.co/docs/api-integrations/b3A6MjQzODQ4OTg-ingest-channel-order */\n\nimport { ORDER_STATUS } from '../../../constants'\n\nexport function ingestChannelOrder() {\n return {\n method: 'post',\n path: '/channel/ingest/order',\n denormalize(req) {\n const { orders } = req\n\n let newOrders = orders.map(order => {\n return {\n organisation_id: order.organisationId,\n channel_shop_id: order.channelShopId,\n native_order_id: order.id.toString(),\n native_order_display_id: order?.sellercraftDisplayOrderNo,\n ordered_at_date: new Date(order.createdAt).toISOString().slice(0, -5) + 'Z',\n ordered_at_time: new Date(order.createdAt).toISOString().slice(0, -5) + 'Z',\n updated_at_date: new Date(order.updatedAt).toISOString().slice(0, -5) + 'Z',\n updated_at_time: new Date(order.updatedAt).toISOString().slice(0, -5) + 'Z',\n customer_first_name: order.custFirstName,\n customer_last_name: order.custLastName,\n charges: order.charges.map(charge => {\n return {\n charge_type_value: charge.name,\n amount_gross: parseFloat(charge.grossAmount) || 0,\n amount_nett: parseFloat(charge.nettAmount) || 0\n }\n }),\n address_shipping: order?.shipAddress1 ? {\n first_name: order.shipFirstName,\n last_name: order.shipLastName,\n line_1: order.shipAddress1,\n line_2: order.shipAddress2,\n line_3: order.shipAddress3,\n line_4: order.shipAddress4,\n line_5: order.shipAddress5,\n city: order.shipCity,\n postal_code: order.shipPostalCode,\n country: order.shipCountry,\n phone_1: order.shipPhone1,\n phone_2: order.shipPhone2\n } : null,\n address_billing: {\n first_name: order.billFirstName,\n last_name: order.billLastName,\n line_1: order.billAddress1,\n line_2: order.billAddress2,\n line_3: order.billAddress3,\n line_4: order.billAddress4,\n line_5: order.billAddress5,\n city: order.billCity,\n postal_code: order.billPostalCode,\n country: order.billCountry,\n phone_1: order.billPhone1,\n phone_2: order.billPhone2\n },\n order_items: order.mappedOrderItems.map(orderItem => {\n return {\n native_item_id: orderItem.id.toString(),\n native_variant_id: orderItem.variationId.toString(),\n currency_code: orderItem.currency,\n ordered_at_date: new Date(order.createdAt).toISOString().slice(0, -5) + 'Z',\n ordered_at_time: new Date(order.createdAt).toISOString().slice(0, -5) + 'Z',\n updated_at_date: new Date(order.updatedAt).toISOString().slice(0, -5) + 'Z',\n updated_at_time: new Date(order.updatedAt).toISOString().slice(0, -5) + 'Z',\n sla_expires_at: orderItem?.slaExpiresAt ? new Date(orderItem.slaExpiresAt).toISOString() : null,\n charges: orderItem.charges.map(charge => {\n return {\n charge_type_value: charge.name,\n amount_gross: parseFloat(charge.grossAmount) || 0,\n amount_nett: parseFloat(charge.nettAmount) || 0\n }\n }),\n order_status_value: ORDER_STATUS[`${order.status}`]\n }\n }),\n seller_logistics: order?.isSOF,\n shipping_type: order?.shipAddress1 ? 'DROP_SHIPPING' : 'SELF_PICKUP'\n }\n })\n\n return {\n payload: [...newOrders]\n }\n },\n normalize(res) {\n return res\n }\n }\n}\n"]}
@@ -0,0 +1,8 @@
1
+ export declare function ingestChannelProduct(): {
2
+ method: string;
3
+ path: string;
4
+ denormalize(req: any): {
5
+ payload: any[];
6
+ };
7
+ normalize(res: any): any;
8
+ };
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ /* https://docs.sellercraft.co/docs/api-integrations/b3A6MTY4NjQxODU-initiate-order-shipment */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ingestChannelProduct = ingestChannelProduct;
5
+ function ingestChannelProduct() {
6
+ return {
7
+ method: 'post',
8
+ path: '/channel/ingest/product',
9
+ denormalize(req) {
10
+ const { products } = req;
11
+ let newProducts = products.map(product => {
12
+ var _a, _b;
13
+ let productVariations = product.variations.map(variant => {
14
+ return {
15
+ seller_sku: variant.variationSku,
16
+ native_variant_id: variant.variationId.toString(),
17
+ label: variant.name,
18
+ is_enabled: variant.isEnabled || true,
19
+ is_sellable: variant.isSellable || true,
20
+ is_deleted: false, // default
21
+ variant_attributes: (variant === null || variant === void 0 ? void 0 : variant.attributes)
22
+ ? variant === null || variant === void 0 ? void 0 : variant.attributes.map(attribute => {
23
+ var _a;
24
+ return Object.assign(Object.assign({}, attribute), { native_attribute_id: (_a = attribute === null || attribute === void 0 ? void 0 : attribute.native_attribute_id) === null || _a === void 0 ? void 0 : _a.toString() });
25
+ })
26
+ : [],
27
+ stock_locked: (variant === null || variant === void 0 ? void 0 : variant.stockLocked) ? variant.stockLocked : 0,
28
+ native_stock_reported: (variant === null || variant === void 0 ? void 0 : variant.stockReported) ? variant.stockReported : 0,
29
+ price_full: variant.fullPrice || 0,
30
+ price_discounted: variant.priceDiscounted || variant.fullPrice || 0,
31
+ inventory_products: (variant === null || variant === void 0 ? void 0 : variant.inventoryProducts)
32
+ ? variant.inventoryProducts.map(inventoryProduct => {
33
+ return {
34
+ quantity: inventoryProduct.qty || 0,
35
+ name: inventoryProduct.name,
36
+ inventory_sku: inventoryProduct.sku,
37
+ product_versions: (inventoryProduct === null || inventoryProduct === void 0 ? void 0 : inventoryProduct.productVersions)
38
+ ? inventoryProduct.productVersions.map(productVersion => {
39
+ return {
40
+ label: productVersion.label,
41
+ package_content: productVersion.packageContent,
42
+ package_length_mm: (productVersion === null || productVersion === void 0 ? void 0 : productVersion.packageLengthMM) ? productVersion.packageLengthMM : 0,
43
+ package_width_mm: (productVersion === null || productVersion === void 0 ? void 0 : productVersion.packageWidthMM) ? productVersion.packageWidthMM : 0,
44
+ package_height_mm: (productVersion === null || productVersion === void 0 ? void 0 : productVersion.packageHeightMM) ? productVersion.packageHeightMM : 0,
45
+ package_weight_gram: (productVersion === null || productVersion === void 0 ? void 0 : productVersion.packageWeightGram)
46
+ ? productVersion.packageWeightGram
47
+ : 0,
48
+ stock_available: productVersion.qty || 0
49
+ };
50
+ })
51
+ : []
52
+ };
53
+ })
54
+ : [],
55
+ extra_metadata: variant === null || variant === void 0 ? void 0 : variant.extraMetadata
56
+ };
57
+ });
58
+ return {
59
+ organisation_id: product.organisationId,
60
+ channel_shop_id: product.channelShopId,
61
+ channel_code: product.channelCode,
62
+ channel_country: product.channelCountry,
63
+ native_category_id: product.categoryId.toString(),
64
+ native_product_id: product.productId.toString(),
65
+ label: product.name,
66
+ brand: product.brand || '',
67
+ is_verified: product.isVerified || true,
68
+ flexible_attributes: product.channelCode == 'WCM' || product.channelCode == 'MGT' || product.channelCode == 'SPF' ? true : false, // add channels that do not support category_attributes ingestion
69
+ images: ((_a = product === null || product === void 0 ? void 0 : product.images) === null || _a === void 0 ? void 0 : _a.map(image => {
70
+ return {
71
+ file_url: image.url
72
+ };
73
+ })) || [],
74
+ product_attributes: ((_b = product === null || product === void 0 ? void 0 : product.attributes) === null || _b === void 0 ? void 0 : _b.map(attribute => {
75
+ return Object.assign(Object.assign({}, attribute), { native_attribute_id: attribute.native_attribute_id.toString() });
76
+ })) || [],
77
+ variants: productVariations,
78
+ has_all_variants: product.channelCode == 'MGT' ? false : true
79
+ };
80
+ });
81
+ return {
82
+ payload: [...newProducts]
83
+ };
84
+ },
85
+ normalize(res) {
86
+ return res;
87
+ }
88
+ };
89
+ }
90
+ //# sourceMappingURL=ingest-channel-product.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ingest-channel-product.js","sourceRoot":"","sources":["../../../../server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.ts"],"names":[],"mappings":"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","sourcesContent":["/* https://docs.sellercraft.co/docs/api-integrations/b3A6MTY4NjQxODU-initiate-order-shipment */\n\nexport function ingestChannelProduct() {\n return {\n method: 'post',\n path: '/channel/ingest/product',\n denormalize(req) {\n const { products } = req\n\n let newProducts = products.map(product => {\n let productVariations: any[] = product.variations.map(variant => {\n return {\n seller_sku: variant.variationSku,\n native_variant_id: variant.variationId.toString(),\n label: variant.name,\n is_enabled: variant.isEnabled || true,\n is_sellable: variant.isSellable || true,\n is_deleted: false, // default\n variant_attributes: variant?.attributes\n ? variant?.attributes.map(attribute => {\n return {\n ...attribute,\n native_attribute_id: attribute?.native_attribute_id?.toString()\n }\n })\n : [],\n stock_locked: variant?.stockLocked ? variant.stockLocked : 0,\n native_stock_reported: variant?.stockReported ? variant.stockReported : 0,\n price_full: variant.fullPrice || 0,\n price_discounted: variant.priceDiscounted || variant.fullPrice || 0,\n inventory_products: variant?.inventoryProducts\n ? variant.inventoryProducts.map(inventoryProduct => {\n return {\n quantity: inventoryProduct.qty || 0,\n name: inventoryProduct.name,\n inventory_sku: inventoryProduct.sku,\n product_versions: inventoryProduct?.productVersions\n ? inventoryProduct.productVersions.map(productVersion => {\n return {\n label: productVersion.label,\n package_content: productVersion.packageContent,\n package_length_mm: productVersion?.packageLengthMM ? productVersion.packageLengthMM : 0,\n package_width_mm: productVersion?.packageWidthMM ? productVersion.packageWidthMM : 0,\n package_height_mm: productVersion?.packageHeightMM ? productVersion.packageHeightMM : 0,\n package_weight_gram: productVersion?.packageWeightGram\n ? productVersion.packageWeightGram\n : 0,\n stock_available: productVersion.qty || 0\n }\n })\n : []\n }\n })\n : [],\n extra_metadata: variant?.extraMetadata\n }\n })\n\n return {\n organisation_id: product.organisationId,\n channel_shop_id: product.channelShopId,\n channel_code: product.channelCode,\n channel_country: product.channelCountry,\n native_category_id: product.categoryId.toString(),\n native_product_id: product.productId.toString(),\n label: product.name,\n brand: product.brand || '',\n is_verified: product.isVerified || true,\n flexible_attributes:\n product.channelCode == 'WCM' || product.channelCode == 'MGT' || product.channelCode == 'SPF' ? true : false, // add channels that do not support category_attributes ingestion\n images:\n product?.images?.map(image => {\n return {\n file_url: image.url\n }\n }) || [],\n product_attributes:\n product?.attributes?.map(attribute => {\n return {\n ...attribute,\n native_attribute_id: attribute.native_attribute_id.toString()\n }\n }) || [],\n variants: productVariations,\n has_all_variants: product.channelCode == 'MGT' ? false : true\n }\n })\n\n return {\n payload: [...newProducts]\n }\n },\n normalize(res) {\n return res\n }\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export * from './sellercraft-channel-integration';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const sellercraft_channel_integration_api_1 = require("../sellercraft-channel-integration-api");
5
+ const APIS = tslib_1.__importStar(require("./apis"));
6
+ const platform_action_1 = require("./platform-action");
7
+ tslib_1.__exportStar(require("./sellercraft-channel-integration"), exports);
8
+ sellercraft_channel_integration_api_1.SellercraftChannelIntegrationAPI.registerPlatform('sellercraftChannelIntegration', platform_action_1.action, APIS);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft-channel-integration/index.ts"],"names":[],"mappings":";;;AAAA,gGAAyF;AACzF,qDAA8B;AAC9B,uDAA0C;AAE1C,4EAAiD;AAEjD,sEAAgC,CAAC,gBAAgB,CAAC,+BAA+B,EAAE,wBAAM,EAAE,IAAI,CAAC,CAAA","sourcesContent":["import { SellercraftChannelIntegrationAPI } from '../sellercraft-channel-integration-api'\nimport * as APIS from './apis'\nimport { action } from './platform-action'\n\nexport * from './sellercraft-channel-integration'\n\nSellercraftChannelIntegrationAPI.registerPlatform('sellercraftChannelIntegration', action, APIS)\n"]}
@@ -0,0 +1,5 @@
1
+ export declare const action: ({ method, path, request }: {
2
+ method?: string;
3
+ path: any;
4
+ request: any;
5
+ }) => Promise<any>;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.action = void 0;
4
+ const env_1 = require("@things-factory/env");
5
+ const sellercraft_channel_integration_1 = require("./sellercraft-channel-integration");
6
+ const sellercraftConfig = env_1.config.get('sellercraftChannelIntegrationConfig', {});
7
+ const { apiKey } = sellercraftConfig;
8
+ function substitute(path, obj) {
9
+ var props = [];
10
+ var re = /{([^}]+)}/g;
11
+ var text;
12
+ while ((text = re.exec(path))) {
13
+ props.push(text[1]);
14
+ }
15
+ var result = path;
16
+ props.forEach(prop => {
17
+ let value = obj[prop.trim()];
18
+ result = result.replace(`{${prop}}`, value === undefined ? '' : value);
19
+ });
20
+ return result;
21
+ }
22
+ const action = async ({ method = 'get', path, request }) => {
23
+ const client = new sellercraft_channel_integration_1.SellercraftChannelIntegration({ apiKey });
24
+ const { resource = {}, payload = {} } = request;
25
+ path = substitute(path, resource);
26
+ var response = await client[method](path, payload);
27
+ if (response.errors) {
28
+ throw response;
29
+ }
30
+ return response;
31
+ };
32
+ exports.action = action;
33
+ //# sourceMappingURL=platform-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-action.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft-channel-integration/platform-action.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C,uFAAiF;AAEjF,MAAM,iBAAiB,GAAG,YAAM,CAAC,GAAG,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAA;AAC/E,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAA;AAEpC,SAAS,UAAU,CAAC,IAAI,EAAE,GAAG;IAC3B,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,IAAI,EAAE,GAAG,YAAY,CAAA;IACrB,IAAI,IAAI,CAAA;IAER,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACrB,CAAC;IAED,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAEM,MAAM,MAAM,GAAG,KAAK,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,IAAI,+DAA6B,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAE5D,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;IAE/C,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAEjC,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,QAAQ,CAAA;IAChB,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAbY,QAAA,MAAM,UAalB","sourcesContent":["import { config } from '@things-factory/env'\n\nimport { SellercraftChannelIntegration } from './sellercraft-channel-integration'\n\nconst sellercraftConfig = config.get('sellercraftChannelIntegrationConfig', {})\nconst { apiKey } = sellercraftConfig\n\nfunction substitute(path, obj) {\n var props = []\n var re = /{([^}]+)}/g\n var text\n\n while ((text = re.exec(path))) {\n props.push(text[1])\n }\n\n var result = path\n props.forEach(prop => {\n let value = obj[prop.trim()]\n result = result.replace(`{${prop}}`, value === undefined ? '' : value)\n })\n\n return result\n}\n\nexport const action = async ({ method = 'get', path, request }) => {\n const client = new SellercraftChannelIntegration({ apiKey })\n\n const { resource = {}, payload = {} } = request\n\n path = substitute(path, resource)\n\n var response = await client[method](path, payload)\n if (response.errors) {\n throw response\n }\n\n return response\n}\n"]}
@@ -0,0 +1,12 @@
1
+ export type SellercraftConfig = {
2
+ apiKey: string;
3
+ };
4
+ export declare class SellercraftChannelIntegration {
5
+ private config;
6
+ constructor(config: SellercraftConfig);
7
+ getBaseUrl(): string;
8
+ generateRequestId(): any;
9
+ post(path: string, data?: any): Promise<any>;
10
+ put(path: string, data?: any): Promise<any>;
11
+ get(path: string, data?: any): Promise<any>;
12
+ }
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SellercraftChannelIntegration = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
6
+ const uuid_1 = require("uuid");
7
+ const integration_base_1 = require("@things-factory/integration-base");
8
+ const debug = require('debug')('things-factory:integration-sellercraft:sellercraft');
9
+ class SellercraftChannelIntegration {
10
+ constructor(config) {
11
+ this.config = Object.assign({}, config);
12
+ }
13
+ getBaseUrl() {
14
+ return `https://open.sellercraft.co/v1`;
15
+ }
16
+ generateRequestId() {
17
+ return (0, uuid_1.v4)();
18
+ }
19
+ async post(path, data = {}) {
20
+ var _a;
21
+ const { apiKey } = this.config;
22
+ debug('data', data);
23
+ const jsondata = JSON.stringify(data);
24
+ const requestId = this.generateRequestId();
25
+ const fullPath = `${this.getBaseUrl()}${path}`;
26
+ const response = await (0, node_fetch_1.default)(fullPath, {
27
+ method: 'post',
28
+ headers: {
29
+ 'Content-Type': 'application/json',
30
+ request_id: requestId,
31
+ 'X-Api-Key': apiKey
32
+ },
33
+ body: jsondata
34
+ });
35
+ const result = await response.json();
36
+ try {
37
+ (0, integration_base_1.createPayloadLog)(((_a = JSON.parse(jsondata)[0]) === null || _a === void 0 ? void 0 : _a.channel_shop_id) || requestId, fullPath, jsondata, result, {
38
+ state: { domain: null }
39
+ });
40
+ }
41
+ catch (e) { }
42
+ if (response.ok) {
43
+ return result;
44
+ }
45
+ else {
46
+ throw new Error(`(${response.status}) ${result.detail}`);
47
+ }
48
+ }
49
+ async put(path, data = {}) {
50
+ const { apiKey } = this.config;
51
+ const jsondata = JSON.stringify(data);
52
+ const requestId = this.generateRequestId();
53
+ const fullPath = `${this.getBaseUrl()}${path}`;
54
+ debug('data', data);
55
+ const response = await (0, node_fetch_1.default)(fullPath, {
56
+ method: 'put',
57
+ headers: {
58
+ 'Content-Type': 'application/json',
59
+ request_id: requestId,
60
+ 'x-api-key': apiKey
61
+ },
62
+ body: jsondata
63
+ });
64
+ if (response.ok) {
65
+ return await response.json();
66
+ }
67
+ else {
68
+ const result = await response.json();
69
+ throw new Error(`(${response.status}) ${result.message}`);
70
+ }
71
+ }
72
+ async get(path, data = {}) {
73
+ const { apiKey } = this.config;
74
+ const qs = Object.entries(data)
75
+ .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)
76
+ .join('&');
77
+ const fullPath = `${this.getBaseUrl()}${path}`;
78
+ const endpoint = `${fullPath}${qs ? '?' + qs : ''}`;
79
+ debug('endpoint', endpoint);
80
+ const requestId = this.generateRequestId();
81
+ const response = await (0, node_fetch_1.default)(endpoint, {
82
+ method: 'get',
83
+ headers: {
84
+ 'Content-Type': 'application/json',
85
+ request_id: requestId,
86
+ 'x-api-key': apiKey
87
+ }
88
+ });
89
+ if (response.ok) {
90
+ return await response.json();
91
+ }
92
+ else {
93
+ const result = await response.json();
94
+ throw new Error(`(${response.status}) ${result.message}`);
95
+ }
96
+ }
97
+ }
98
+ exports.SellercraftChannelIntegration = SellercraftChannelIntegration;
99
+ //# sourceMappingURL=sellercraft-channel-integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sellercraft-channel-integration.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.ts"],"names":[],"mappings":"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","sourcesContent":["import fetch from 'node-fetch'\nimport { v4 as uuidv4 } from 'uuid'\nimport { createPayloadLog } from '@things-factory/integration-base'\n\nconst debug = require('debug')('things-factory:integration-sellercraft:sellercraft')\n\nexport type SellercraftConfig = {\n apiKey: string\n}\n\nexport class SellercraftChannelIntegration {\n private config: SellercraftConfig\n\n constructor(config: SellercraftConfig) {\n this.config = {\n ...config\n }\n }\n\n getBaseUrl() {\n return `https://open.sellercraft.co/v1`\n }\n\n generateRequestId() {\n return uuidv4()\n }\n\n async post(path: string, data: any = {}) {\n const { apiKey } = this.config\n\n debug('data', data)\n\n const jsondata = JSON.stringify(data)\n const requestId: string = this.generateRequestId()\n const fullPath: string = `${this.getBaseUrl()}${path}`\n\n const response: any = await fetch(fullPath, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n request_id: requestId,\n 'X-Api-Key': apiKey\n },\n body: jsondata\n })\n\n const result = await response.json()\n try {\n createPayloadLog(JSON.parse(jsondata)[0]?.channel_shop_id || requestId, fullPath, jsondata, result, {\n state: { domain: null }\n })\n } catch (e) {}\n if (response.ok) {\n return result\n } else {\n throw new Error(`(${response.status}) ${result.detail}`)\n }\n }\n\n async put(path: string, data: any = {}) {\n const { apiKey } = this.config\n\n const jsondata = JSON.stringify(data)\n const requestId: string = this.generateRequestId()\n const fullPath: string = `${this.getBaseUrl()}${path}`\n debug('data', data)\n\n const response: any = await fetch(fullPath, {\n method: 'put',\n headers: {\n 'Content-Type': 'application/json',\n request_id: requestId,\n 'x-api-key': apiKey\n },\n body: jsondata\n })\n\n if (response.ok) {\n return await response.json()\n } else {\n const result = await response.json()\n throw new Error(`(${response.status}) ${result.message}`)\n }\n }\n\n async get(path: string, data: any = {}) {\n const { apiKey } = this.config\n\n const qs = Object.entries(data)\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const fullPath: string = `${this.getBaseUrl()}${path}`\n const endpoint = `${fullPath}${qs ? '?' + qs : ''}`\n debug('endpoint', endpoint)\n\n const requestId: string = this.generateRequestId()\n\n const response: any = await fetch(endpoint, {\n method: 'get',\n headers: {\n 'Content-Type': 'application/json',\n request_id: requestId,\n 'x-api-key': apiKey\n }\n })\n\n if (response.ok) {\n return await response.json()\n } else {\n const result = await response.json()\n throw new Error(`(${response.status}) ${result.message}`)\n }\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare const api: (target: Object, property: string, descriptor: TypedPropertyDescriptor<any>) => any;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.api = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const debug_1 = tslib_1.__importDefault(require("debug"));
6
+ const debug = (0, debug_1.default)('things-factory:integration-marketplace:store-api-decorator');
7
+ const NOOP = v => v;
8
+ const api = (target, property, descriptor) => {
9
+ const method = descriptor.value;
10
+ descriptor.value = async function (store, request) {
11
+ const SellercraftChannelIntegrationAPI = this;
12
+ var { platform } = store;
13
+ var { action: platformAction, apis } = SellercraftChannelIntegrationAPI.getPlatform(platform);
14
+ var m = apis[method.name];
15
+ if (!m) {
16
+ throw Error(`Sellercraft doesn't have API ${method.name}`);
17
+ }
18
+ var { path, method: httpMethod = 'post', denormalize = NOOP, normalize = NOOP, action = platformAction } = m.apply(this, [request]);
19
+ var denormalized = await denormalize(request || {}, { store });
20
+ debug('request', denormalized);
21
+ var response = await action.apply(this, [
22
+ { store, method: httpMethod, path, request: denormalized, platformAction }
23
+ ]);
24
+ debug('response', response);
25
+ return await normalize(response, { store });
26
+ };
27
+ return descriptor;
28
+ };
29
+ exports.api = api;
30
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft-channel-integration-api/decorators.ts"],"names":[],"mappings":";;;;AAAA,0DAAyB;AAIzB,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,4DAA4D,CAAC,CAAA;AAEjF,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEZ,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAE,UAAwC,EAAO,EAAE;IACrG,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAA;IAE/B,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,KAAkB,EAAE,OAAO;QAC5D,MAAM,gCAAgC,GAAG,IAAI,CAAA;QAE7C,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;QAExB,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,gCAAgC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAE7F,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACzB,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,KAAK,CAAC,gCAAgC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5D,CAAC;QAED,IAAI,EACF,IAAI,EACJ,MAAM,EAAE,UAAU,GAAG,MAAM,EAC3B,WAAW,GAAG,IAAI,EAClB,SAAS,GAAG,IAAI,EAChB,MAAM,GAAG,cAAc,EACxB,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;QAE5B,IAAI,YAAY,GAAG,MAAM,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9D,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QAE9B,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YACtC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE;SAC3E,CAAC,CAAA;QAEF,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAE3B,OAAO,MAAM,SAAS,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAC7C,CAAC,CAAA;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AApCY,QAAA,GAAG,OAoCf","sourcesContent":["import Debug from 'debug'\n\nimport { Sellercraft } from '../../service'\n\nconst debug = Debug('things-factory:integration-marketplace:store-api-decorator')\n\nconst NOOP = v => v\n\nexport const api = (target: Object, property: string, descriptor: TypedPropertyDescriptor<any>): any => {\n const method = descriptor.value\n\n descriptor.value = async function (store: Sellercraft, request) {\n const SellercraftChannelIntegrationAPI = this\n\n var { platform } = store\n\n var { action: platformAction, apis } = SellercraftChannelIntegrationAPI.getPlatform(platform)\n\n var m = apis[method.name]\n if (!m) {\n throw Error(`Sellercraft doesn't have API ${method.name}`)\n }\n\n var {\n path,\n method: httpMethod = 'post',\n denormalize = NOOP,\n normalize = NOOP,\n action = platformAction\n } = m.apply(this, [request])\n\n var denormalized = await denormalize(request || {}, { store })\n debug('request', denormalized)\n\n var response = await action.apply(this, [\n { store, method: httpMethod, path, request: denormalized, platformAction }\n ])\n\n debug('response', response)\n\n return await normalize(response, { store })\n }\n\n return descriptor\n}\n"]}
@@ -0,0 +1,13 @@
1
+ import { Sellercraft } from '../../service';
2
+ export declare class SellercraftChannelIntegrationAPI {
3
+ static platforms: {};
4
+ static registerPlatform(name: any, action: any, apis: any): void;
5
+ static getPlatform(name: any): any;
6
+ static getSellercraft(id: any): Promise<Sellercraft>;
7
+ static echo(sellercraft: any, req: any): any;
8
+ static ingestChannelCategories(sellercraft: any, req: any): any;
9
+ static ingestChannelCategoryAttributes(sellercraft: any, req: any): any;
10
+ static ingestChannelOrderPackage(sellercraft: any, req: any): any;
11
+ static ingestChannelOrder(sellercraft: any, req: any): any;
12
+ static ingestChannelProduct(sellercraft: any, req: any): any;
13
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SellercraftChannelIntegrationAPI = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const shell_1 = require("@things-factory/shell");
6
+ const service_1 = require("../../service");
7
+ const decorators_1 = require("./decorators");
8
+ class SellercraftChannelIntegrationAPI {
9
+ static registerPlatform(name, action, apis) {
10
+ SellercraftChannelIntegrationAPI.platforms[name] = {
11
+ action,
12
+ apis
13
+ };
14
+ }
15
+ static getPlatform(name) {
16
+ return SellercraftChannelIntegrationAPI.platforms[name];
17
+ }
18
+ static async getSellercraft(id) {
19
+ const repository = (0, shell_1.getRepository)(service_1.Sellercraft);
20
+ return await repository.findOne({
21
+ where: { id },
22
+ relations: ['domain']
23
+ });
24
+ }
25
+ static echo(sellercraft, req) { }
26
+ static ingestChannelCategories(sellercraft, req) { }
27
+ static ingestChannelCategoryAttributes(sellercraft, req) { }
28
+ static ingestChannelOrderPackage(sellercraft, req) { }
29
+ static ingestChannelOrder(sellercraft, req) { }
30
+ static ingestChannelProduct(sellercraft, req) { }
31
+ }
32
+ exports.SellercraftChannelIntegrationAPI = SellercraftChannelIntegrationAPI;
33
+ SellercraftChannelIntegrationAPI.platforms = {};
34
+ tslib_1.__decorate([
35
+ decorators_1.api,
36
+ tslib_1.__metadata("design:type", Function),
37
+ tslib_1.__metadata("design:paramtypes", [Object, Object]),
38
+ tslib_1.__metadata("design:returntype", Object)
39
+ ], SellercraftChannelIntegrationAPI, "echo", null);
40
+ tslib_1.__decorate([
41
+ decorators_1.api,
42
+ tslib_1.__metadata("design:type", Function),
43
+ tslib_1.__metadata("design:paramtypes", [Object, Object]),
44
+ tslib_1.__metadata("design:returntype", Object)
45
+ ], SellercraftChannelIntegrationAPI, "ingestChannelCategories", null);
46
+ tslib_1.__decorate([
47
+ decorators_1.api,
48
+ tslib_1.__metadata("design:type", Function),
49
+ tslib_1.__metadata("design:paramtypes", [Object, Object]),
50
+ tslib_1.__metadata("design:returntype", Object)
51
+ ], SellercraftChannelIntegrationAPI, "ingestChannelCategoryAttributes", null);
52
+ tslib_1.__decorate([
53
+ decorators_1.api,
54
+ tslib_1.__metadata("design:type", Function),
55
+ tslib_1.__metadata("design:paramtypes", [Object, Object]),
56
+ tslib_1.__metadata("design:returntype", Object)
57
+ ], SellercraftChannelIntegrationAPI, "ingestChannelOrderPackage", null);
58
+ tslib_1.__decorate([
59
+ decorators_1.api,
60
+ tslib_1.__metadata("design:type", Function),
61
+ tslib_1.__metadata("design:paramtypes", [Object, Object]),
62
+ tslib_1.__metadata("design:returntype", Object)
63
+ ], SellercraftChannelIntegrationAPI, "ingestChannelOrder", null);
64
+ tslib_1.__decorate([
65
+ decorators_1.api,
66
+ tslib_1.__metadata("design:type", Function),
67
+ tslib_1.__metadata("design:paramtypes", [Object, Object]),
68
+ tslib_1.__metadata("design:returntype", Object)
69
+ ], SellercraftChannelIntegrationAPI, "ingestChannelProduct", null);
70
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft-channel-integration-api/index.ts"],"names":[],"mappings":";;;;AAAA,iDAAqD;AAErD,2CAA2C;AAC3C,6CAAkC;AAElC,MAAa,gCAAgC;IAG3C,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI;QACxC,gCAAgC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;YACjD,MAAM;YACN,IAAI;SACL,CAAA;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAI;QACrB,OAAO,gCAAgC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;QAC5B,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,qBAAW,CAAC,CAAA;QAC7C,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC;YAC9B,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC,CAAA;IACJ,CAAC;IAGM,AAAP,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAG9B,AAAP,MAAM,CAAC,uBAAuB,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAGjD,AAAP,MAAM,CAAC,+BAA+B,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAGzD,AAAP,MAAM,CAAC,yBAAyB,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAGnD,AAAP,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAG5C,AAAP,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;;AAtCvD,4EAuCC;AAtCQ,0CAAS,GAAG,EAAE,CAAA;AAsBd;IADN,gBAAG;;;;kDACiC;AAG9B;IADN,gBAAG;;;;qEACoD;AAGjD;IADN,gBAAG;;;;6EAC4D;AAGzD;IADN,gBAAG;;;;uEACsD;AAGnD;IADN,gBAAG;;;;gEAC+C;AAG5C;IADN,gBAAG;;;;kEACiD","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { Sellercraft } from '../../service'\nimport { api } from './decorators'\n\nexport class SellercraftChannelIntegrationAPI {\n static platforms = {}\n\n static registerPlatform(name, action, apis) {\n SellercraftChannelIntegrationAPI.platforms[name] = {\n action,\n apis\n }\n }\n\n static getPlatform(name) {\n return SellercraftChannelIntegrationAPI.platforms[name]\n }\n\n static async getSellercraft(id) {\n const repository = getRepository(Sellercraft)\n return await repository.findOne({\n where: { id },\n relations: ['domain']\n })\n }\n\n @api\n static echo(sellercraft, req): any {}\n\n @api\n static ingestChannelCategories(sellercraft, req): any {}\n\n @api\n static ingestChannelCategoryAttributes(sellercraft, req): any {}\n\n @api\n static ingestChannelOrderPackage(sellercraft, req): any {}\n\n @api\n static ingestChannelOrder(sellercraft, req): any {}\n\n @api\n static ingestChannelProduct(sellercraft, req): any {}\n}\n"]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft-channel-integration-api/types.ts"],"names":[],"mappings":"","sourcesContent":[""]}
@@ -0,0 +1,6 @@
1
+ import './routes';
2
+ export * from './migrations';
3
+ export * from './middlewares';
4
+ export * from './controllers';
5
+ export * from './service';
6
+ export * from './constants';
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ require("./routes");
5
+ tslib_1.__exportStar(require("./migrations"), exports);
6
+ tslib_1.__exportStar(require("./middlewares"), exports);
7
+ tslib_1.__exportStar(require("./controllers"), exports);
8
+ tslib_1.__exportStar(require("./service"), exports);
9
+ tslib_1.__exportStar(require("./constants"), exports);
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;AAAA,oBAAiB;AAEjB,uDAA4B;AAC5B,wDAA6B;AAC7B,wDAA6B;AAC7B,oDAAyB;AACzB,sDAA2B","sourcesContent":["import './routes'\n\nexport * from './migrations'\nexport * from './middlewares'\nexport * from './controllers'\nexport * from './service'\nexport * from './constants'\n"]}
@@ -0,0 +1 @@
1
+ export declare function initMiddlewares(app: any): void;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initMiddlewares = initMiddlewares;
4
+ function initMiddlewares(app) {
5
+ /* can add middlewares into app */
6
+ }
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/middlewares/index.ts"],"names":[],"mappings":";;AAAA,0CAEC;AAFD,SAAgB,eAAe,CAAC,GAAG;IACjC,kCAAkC;AACpC,CAAC","sourcesContent":["export function initMiddlewares(app) {\n /* can add middlewares into app */\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare var migrations: any[];
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.migrations = void 0;
4
+ const glob = require('glob');
5
+ const path = require('path');
6
+ exports.migrations = [];
7
+ glob.sync(path.resolve(__dirname, '.', '**', '*.js')).forEach(function (file) {
8
+ if (file.indexOf('index.js') !== -1)
9
+ return;
10
+ exports.migrations = exports.migrations.concat(Object.values(require(path.resolve(file))) || []);
11
+ });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/migrations/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAEjB,QAAA,UAAU,GAAG,EAAE,CAAA;AAE1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAS,IAAI;IACzE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAAE,OAAM;IAC3C,kBAAU,GAAG,kBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAClF,CAAC,CAAC,CAAA","sourcesContent":["const glob = require('glob')\nconst path = require('path')\n\nexport var migrations = []\n\nglob.sync(path.resolve(__dirname, '.', '**', '*.js')).forEach(function(file) {\n if (file.indexOf('index.js') !== -1) return\n migrations = migrations.concat(Object.values(require(path.resolve(file))) || [])\n})\n"]}
@@ -0,0 +1 @@
1
+ export declare const sellercraftRouter: any;