@things-factory/marketplace-base 8.0.7 → 9.0.0-beta.12

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 (229) hide show
  1. package/dist-server/tsconfig.tsbuildinfo +1 -1
  2. package/package.json +7 -7
  3. package/server/constants/attachment.ts +0 -3
  4. package/server/constants/index.ts +0 -4
  5. package/server/constants/order.ts +0 -11
  6. package/server/constants/platform.ts +0 -7
  7. package/server/constants/product.ts +0 -5
  8. package/server/constants/reserve-qty-order-statuses.ts +0 -7
  9. package/server/controllers/index.ts +0 -0
  10. package/server/entities/index.ts +0 -45
  11. package/server/entities/marketplace-order-item.ts +0 -137
  12. package/server/entities/marketplace-order-shipping-item.ts +0 -55
  13. package/server/entities/marketplace-order-shipping.ts +0 -168
  14. package/server/entities/marketplace-order.ts +0 -141
  15. package/server/entities/marketplace-product-attribute.ts +0 -83
  16. package/server/entities/marketplace-product-category.ts +0 -53
  17. package/server/entities/marketplace-product-variation-price.ts +0 -63
  18. package/server/entities/marketplace-product-variation.ts +0 -147
  19. package/server/entities/marketplace-product.ts +0 -164
  20. package/server/entities/marketplace-refund-order-item.ts +0 -56
  21. package/server/entities/marketplace-refund-order.ts +0 -51
  22. package/server/entities/marketplace-setting.ts +0 -49
  23. package/server/entities/store-replenishment-item.ts +0 -48
  24. package/server/entities/store-replenishment.ts +0 -79
  25. package/server/graphql/index.ts +0 -9
  26. package/server/graphql/resolvers/index.ts +0 -14
  27. package/server/graphql/resolvers/marketplace-order/auto-initialise-logistics-by-batch.ts +0 -164
  28. package/server/graphql/resolvers/marketplace-order/auto-update-order-ready-to-ship.ts +0 -136
  29. package/server/graphql/resolvers/marketplace-order/cancel-marketplace-order.ts +0 -64
  30. package/server/graphql/resolvers/marketplace-order/create-marketplace-order-note.ts +0 -21
  31. package/server/graphql/resolvers/marketplace-order/dashboard-marketplace-orders.ts +0 -82
  32. package/server/graphql/resolvers/marketplace-order/dashboard-marketplace-sales-average.ts +0 -82
  33. package/server/graphql/resolvers/marketplace-order/dashboard-marketplace-sales.ts +0 -93
  34. package/server/graphql/resolvers/marketplace-order/delete-marketplace-orders.ts +0 -17
  35. package/server/graphql/resolvers/marketplace-order/generate-marketplace-order.ts +0 -180
  36. package/server/graphql/resolvers/marketplace-order/get-address-list.ts +0 -9
  37. package/server/graphql/resolvers/marketplace-order/get-branch-list.ts +0 -9
  38. package/server/graphql/resolvers/marketplace-order/get-etrax-order-document.ts +0 -49
  39. package/server/graphql/resolvers/marketplace-order/get-logistics-param.ts +0 -47
  40. package/server/graphql/resolvers/marketplace-order/get-order-document.ts +0 -149
  41. package/server/graphql/resolvers/marketplace-order/get-store-logistics.ts +0 -9
  42. package/server/graphql/resolvers/marketplace-order/get-time-slot.ts +0 -9
  43. package/server/graphql/resolvers/marketplace-order/index.ts +0 -75
  44. package/server/graphql/resolvers/marketplace-order/initialise-lazada-logistics-by-batch.ts +0 -165
  45. package/server/graphql/resolvers/marketplace-order/initialise-logistics-by-batch.ts +0 -41
  46. package/server/graphql/resolvers/marketplace-order/initialise-logistics.ts +0 -29
  47. package/server/graphql/resolvers/marketplace-order/initialise-shopee-logistics-by-batch.ts +0 -97
  48. package/server/graphql/resolvers/marketplace-order/marketplace-order.ts +0 -12
  49. package/server/graphql/resolvers/marketplace-order/marketplace-orders-for-batch-init.ts +0 -52
  50. package/server/graphql/resolvers/marketplace-order/marketplace-orders-for-export.ts +0 -63
  51. package/server/graphql/resolvers/marketplace-order/marketplace-orders.ts +0 -56
  52. package/server/graphql/resolvers/marketplace-order/set-marketplace-order-delivered.ts +0 -25
  53. package/server/graphql/resolvers/marketplace-order/set-marketplace-order-failed-delivery.ts +0 -25
  54. package/server/graphql/resolvers/marketplace-order/set-own-shipping-provider-by-orders.ts +0 -39
  55. package/server/graphql/resolvers/marketplace-order/split-orders-by-batch.ts +0 -245
  56. package/server/graphql/resolvers/marketplace-order/sync-all-marketplace-order.ts +0 -39
  57. package/server/graphql/resolvers/marketplace-order/sync-marketplace-order.ts +0 -940
  58. package/server/graphql/resolvers/marketplace-order/sync-marketplace-orders-by-platform.ts +0 -31
  59. package/server/graphql/resolvers/marketplace-order/sync-shopee-awb.ts +0 -49
  60. package/server/graphql/resolvers/marketplace-order/update-marketplace-order.ts +0 -35
  61. package/server/graphql/resolvers/marketplace-order/update-order-ready-to-ship.ts +0 -142
  62. package/server/graphql/resolvers/marketplace-order-item/create-marketplace-order-item.ts +0 -14
  63. package/server/graphql/resolvers/marketplace-order-item/delete-marketplace-order-item.ts +0 -10
  64. package/server/graphql/resolvers/marketplace-order-item/delete-marketplace-order-items.ts +0 -17
  65. package/server/graphql/resolvers/marketplace-order-item/index.ts +0 -22
  66. package/server/graphql/resolvers/marketplace-order-item/marketplace-order-item.ts +0 -14
  67. package/server/graphql/resolvers/marketplace-order-item/marketplace-order-items.ts +0 -15
  68. package/server/graphql/resolvers/marketplace-order-item/update-marketplace-order-item.ts +0 -18
  69. package/server/graphql/resolvers/marketplace-order-item/update-multiple-marketplace-order-item.ts +0 -44
  70. package/server/graphql/resolvers/marketplace-order-shipping/create-marketplace-order-shipping.ts +0 -14
  71. package/server/graphql/resolvers/marketplace-order-shipping/delete-marketplace-order-shipping.ts +0 -10
  72. package/server/graphql/resolvers/marketplace-order-shipping/delete-marketplace-order-shippings.ts +0 -17
  73. package/server/graphql/resolvers/marketplace-order-shipping/index.ts +0 -23
  74. package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shipping.ts +0 -25
  75. package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings-for-batch-init.ts +0 -88
  76. package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings.ts +0 -43
  77. package/server/graphql/resolvers/marketplace-order-shipping/update-marketplace-order-shipping.ts +0 -32
  78. package/server/graphql/resolvers/marketplace-order-shipping/update-multiple-marketplace-order-shipping.ts +0 -44
  79. package/server/graphql/resolvers/marketplace-order-shipping-item/create-marketplace-order-shipping-item.ts +0 -14
  80. package/server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-item.ts +0 -10
  81. package/server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-items.ts +0 -15
  82. package/server/graphql/resolvers/marketplace-order-shipping-item/index.ts +0 -20
  83. package/server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-item.ts +0 -21
  84. package/server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-items.ts +0 -14
  85. package/server/graphql/resolvers/marketplace-order-shipping-item/update-marketplace-order-shipping-item.ts +0 -18
  86. package/server/graphql/resolvers/marketplace-order-shipping-item/update-multiple-marketplace-order-shipping-item.ts +0 -44
  87. package/server/graphql/resolvers/marketplace-product/create-marketplace-product.ts +0 -35
  88. package/server/graphql/resolvers/marketplace-product/delete-marketplace-product.ts +0 -10
  89. package/server/graphql/resolvers/marketplace-product/delete-marketplace-products.ts +0 -17
  90. package/server/graphql/resolvers/marketplace-product/index.ts +0 -27
  91. package/server/graphql/resolvers/marketplace-product/marketplace-product.ts +0 -24
  92. package/server/graphql/resolvers/marketplace-product/marketplace-products.ts +0 -23
  93. package/server/graphql/resolvers/marketplace-product/sync-all-marketplace-store-products.ts +0 -225
  94. package/server/graphql/resolvers/marketplace-product/sync-marketplace-store-products.ts +0 -222
  95. package/server/graphql/resolvers/marketplace-product/update-marketplace-product.ts +0 -24
  96. package/server/graphql/resolvers/marketplace-product/upsert-marketplace-product.ts +0 -39
  97. package/server/graphql/resolvers/marketplace-product-attribute/create-marketplace-product-attribute.ts +0 -14
  98. package/server/graphql/resolvers/marketplace-product-attribute/delete-marketplace-product-attribute.ts +0 -10
  99. package/server/graphql/resolvers/marketplace-product-attribute/delete-marketplace-product-attributes.ts +0 -17
  100. package/server/graphql/resolvers/marketplace-product-attribute/index.ts +0 -22
  101. package/server/graphql/resolvers/marketplace-product-attribute/marketplace-product-attribute.ts +0 -14
  102. package/server/graphql/resolvers/marketplace-product-attribute/marketplace-product-attributes.ts +0 -14
  103. package/server/graphql/resolvers/marketplace-product-attribute/update-marketplace-product-attribute.ts +0 -18
  104. package/server/graphql/resolvers/marketplace-product-attribute/update-multiple-marketplace-product-attribute.ts +0 -44
  105. package/server/graphql/resolvers/marketplace-product-category/create-marketplace-product-category.ts +0 -14
  106. package/server/graphql/resolvers/marketplace-product-category/delete-marketplace-product-categories.ts +0 -17
  107. package/server/graphql/resolvers/marketplace-product-category/delete-marketplace-product-category.ts +0 -10
  108. package/server/graphql/resolvers/marketplace-product-category/index.ts +0 -22
  109. package/server/graphql/resolvers/marketplace-product-category/marketplace-product-categories.ts +0 -14
  110. package/server/graphql/resolvers/marketplace-product-category/marketplace-product-category.ts +0 -14
  111. package/server/graphql/resolvers/marketplace-product-category/update-marketplace-product-category.ts +0 -18
  112. package/server/graphql/resolvers/marketplace-product-category/update-multiple-marketplace-product-category.ts +0 -44
  113. package/server/graphql/resolvers/marketplace-product-variation/create-marketplace-product-variation.ts +0 -14
  114. package/server/graphql/resolvers/marketplace-product-variation/delete-marketplace-product-variation.ts +0 -10
  115. package/server/graphql/resolvers/marketplace-product-variation/delete-marketplace-product-variations.ts +0 -17
  116. package/server/graphql/resolvers/marketplace-product-variation/index.ts +0 -30
  117. package/server/graphql/resolvers/marketplace-product-variation/link-warehouse-marketplace-product-variations.ts +0 -59
  118. package/server/graphql/resolvers/marketplace-product-variation/marketplace-product-variation.ts +0 -14
  119. package/server/graphql/resolvers/marketplace-product-variation/marketplace-product-variations.ts +0 -79
  120. package/server/graphql/resolvers/marketplace-product-variation/update-marketplace-product-variation.ts +0 -32
  121. package/server/graphql/resolvers/marketplace-product-variation/update-multiple-marketplace-product-variation-quantity.ts +0 -76
  122. package/server/graphql/resolvers/marketplace-product-variation/update-multiple-marketplace-product-variations.ts +0 -49
  123. package/server/graphql/resolvers/marketplace-product-variation-price/create-marketplace-product-variation-price.ts +0 -16
  124. package/server/graphql/resolvers/marketplace-product-variation-price/delete-marketplace-product-variation-price.ts +0 -13
  125. package/server/graphql/resolvers/marketplace-product-variation-price/delete-marketplace-product-variation-prices.ts +0 -18
  126. package/server/graphql/resolvers/marketplace-product-variation-price/index.ts +0 -19
  127. package/server/graphql/resolvers/marketplace-product-variation-price/marketplace-product-variation-price-query.ts +0 -52
  128. package/server/graphql/resolvers/marketplace-product-variation-price/update-marketplace-product-variation-price.ts +0 -20
  129. package/server/graphql/resolvers/marketplace-product-variation-price/update-multiple-marketplace-product-variation-price.ts +0 -49
  130. package/server/graphql/resolvers/marketplace-refund-order/index.ts +0 -9
  131. package/server/graphql/resolvers/marketplace-refund-order/sync-all-marketplace-refund-orders.ts +0 -122
  132. package/server/graphql/resolvers/marketplace-refund-order/sync-marketplace-refund-orders.ts +0 -106
  133. package/server/graphql/resolvers/marketplace-report/index.ts +0 -7
  134. package/server/graphql/resolvers/marketplace-report/marketplace-sales-report.ts +0 -143
  135. package/server/graphql/resolvers/store-replenishment/create-store-replenishment.ts +0 -16
  136. package/server/graphql/resolvers/store-replenishment/delete-store-replenishment.ts +0 -13
  137. package/server/graphql/resolvers/store-replenishment/delete-store-replenishments.ts +0 -18
  138. package/server/graphql/resolvers/store-replenishment/index.ts +0 -19
  139. package/server/graphql/resolvers/store-replenishment/store-replenishment-query.ts +0 -52
  140. package/server/graphql/resolvers/store-replenishment/update-multiple-store-replenishment.ts +0 -49
  141. package/server/graphql/resolvers/store-replenishment/update-store-replenishment.ts +0 -20
  142. package/server/graphql/resolvers/store-replenishment-item/create-store-replenishment-item.ts +0 -16
  143. package/server/graphql/resolvers/store-replenishment-item/delete-store-replenishment-item.ts +0 -13
  144. package/server/graphql/resolvers/store-replenishment-item/delete-store-replenishment-items.ts +0 -18
  145. package/server/graphql/resolvers/store-replenishment-item/index.ts +0 -19
  146. package/server/graphql/resolvers/store-replenishment-item/store-replenishment-item-query.ts +0 -52
  147. package/server/graphql/resolvers/store-replenishment-item/update-multiple-store-replenishment-item.ts +0 -49
  148. package/server/graphql/resolvers/store-replenishment-item/update-store-replenishment-item.ts +0 -20
  149. package/server/graphql/types/index.ts +0 -13
  150. package/server/graphql/types/marketplace-order/dashboard-order.ts +0 -13
  151. package/server/graphql/types/marketplace-order/full-logistics-detail.ts +0 -10
  152. package/server/graphql/types/marketplace-order/index.ts +0 -69
  153. package/server/graphql/types/marketplace-order/logistics-detail.ts +0 -8
  154. package/server/graphql/types/marketplace-order/logistics-info.ts +0 -27
  155. package/server/graphql/types/marketplace-order/logistics-init.ts +0 -9
  156. package/server/graphql/types/marketplace-order/logistics-time.ts +0 -9
  157. package/server/graphql/types/marketplace-order/logistics.ts +0 -21
  158. package/server/graphql/types/marketplace-order/marketplace-logistics.ts +0 -11
  159. package/server/graphql/types/marketplace-order/marketplace-order-export.ts +0 -19
  160. package/server/graphql/types/marketplace-order/marketplace-order-list.ts +0 -8
  161. package/server/graphql/types/marketplace-order/marketplace-order-patch.ts +0 -14
  162. package/server/graphql/types/marketplace-order/marketplace-order.ts +0 -40
  163. package/server/graphql/types/marketplace-order/new-marketplace-order.ts +0 -22
  164. package/server/graphql/types/marketplace-order/order-address.ts +0 -16
  165. package/server/graphql/types/marketplace-order/order-document.ts +0 -13
  166. package/server/graphql/types/marketplace-order-item/index.ts +0 -21
  167. package/server/graphql/types/marketplace-order-item/marketplace-order-item-list.ts +0 -8
  168. package/server/graphql/types/marketplace-order-item/marketplace-order-item-patch.ts +0 -10
  169. package/server/graphql/types/marketplace-order-item/marketplace-order-item.ts +0 -32
  170. package/server/graphql/types/marketplace-order-item/new-marketplace-order-item.ts +0 -17
  171. package/server/graphql/types/marketplace-order-shipping/index.ts +0 -31
  172. package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-list.ts +0 -8
  173. package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-patch.ts +0 -45
  174. package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping.ts +0 -59
  175. package/server/graphql/types/marketplace-order-shipping/new-marketplace-order-shipping.ts +0 -44
  176. package/server/graphql/types/marketplace-order-shipping-item/index.ts +0 -32
  177. package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-list.ts +0 -8
  178. package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-patch.ts +0 -13
  179. package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item.ts +0 -16
  180. package/server/graphql/types/marketplace-order-shipping-item/new-marketplace-order-shipping-item.ts +0 -12
  181. package/server/graphql/types/marketplace-product/index.ts +0 -28
  182. package/server/graphql/types/marketplace-product/marketplace-product-list.ts +0 -8
  183. package/server/graphql/types/marketplace-product/marketplace-product-patch.ts +0 -24
  184. package/server/graphql/types/marketplace-product/marketplace-product.ts +0 -30
  185. package/server/graphql/types/marketplace-product/new-marketplace-product.ts +0 -24
  186. package/server/graphql/types/marketplace-product-attribute/index.ts +0 -35
  187. package/server/graphql/types/marketplace-product-attribute/marketplace-product-attribute-list.ts +0 -8
  188. package/server/graphql/types/marketplace-product-attribute/marketplace-product-attribute-patch.ts +0 -10
  189. package/server/graphql/types/marketplace-product-attribute/marketplace-product-attribute.ts +0 -20
  190. package/server/graphql/types/marketplace-product-attribute/new-marketplace-product-attribute.ts +0 -13
  191. package/server/graphql/types/marketplace-product-category/index.ts +0 -28
  192. package/server/graphql/types/marketplace-product-category/marketplace-product-category-list.ts +0 -8
  193. package/server/graphql/types/marketplace-product-category/marketplace-product-category-patch.ts +0 -10
  194. package/server/graphql/types/marketplace-product-category/marketplace-product-category.ts +0 -17
  195. package/server/graphql/types/marketplace-product-category/new-marketplace-product-category.ts +0 -10
  196. package/server/graphql/types/marketplace-product-variation/index.ts +0 -47
  197. package/server/graphql/types/marketplace-product-variation/marketplace-product-variation-list.ts +0 -8
  198. package/server/graphql/types/marketplace-product-variation/marketplace-product-variation-patch.ts +0 -32
  199. package/server/graphql/types/marketplace-product-variation/marketplace-product-variation.ts +0 -35
  200. package/server/graphql/types/marketplace-product-variation/new-marketplace-product-variation.ts +0 -26
  201. package/server/graphql/types/marketplace-product-variation/warehouse-product.ts +0 -9
  202. package/server/graphql/types/marketplace-product-variation-price/index.ts +0 -21
  203. package/server/graphql/types/marketplace-product-variation-price/marketplace-product-variation-price-list.ts +0 -8
  204. package/server/graphql/types/marketplace-product-variation-price/marketplace-product-variation-price-patch.ts +0 -17
  205. package/server/graphql/types/marketplace-product-variation-price/marketplace-product-variation-price.ts +0 -21
  206. package/server/graphql/types/marketplace-product-variation-price/new-marketplace-product-variation-price.ts +0 -14
  207. package/server/graphql/types/marketplace-refund-order/index.ts +0 -16
  208. package/server/graphql/types/marketplace-refund-order/marketplace-refund-order-list.ts +0 -8
  209. package/server/graphql/types/marketplace-refund-order/marketplace-refund-order.ts +0 -17
  210. package/server/graphql/types/marketplace-report/index.ts +0 -10
  211. package/server/graphql/types/marketplace-report/marketplace-sales-report-list.ts +0 -8
  212. package/server/graphql/types/marketplace-report/marketplace-sales-report.ts +0 -67
  213. package/server/graphql/types/store-replenishment/index.ts +0 -21
  214. package/server/graphql/types/store-replenishment/new-store-replenishment.ts +0 -8
  215. package/server/graphql/types/store-replenishment/store-replenishment-list.ts +0 -8
  216. package/server/graphql/types/store-replenishment/store-replenishment-patch.ts +0 -10
  217. package/server/graphql/types/store-replenishment/store-replenishment.ts +0 -24
  218. package/server/graphql/types/store-replenishment-item/index.ts +0 -21
  219. package/server/graphql/types/store-replenishment-item/new-store-replenishment-item.ts +0 -8
  220. package/server/graphql/types/store-replenishment-item/store-replenishment-item-list.ts +0 -8
  221. package/server/graphql/types/store-replenishment-item/store-replenishment-item-patch.ts +0 -10
  222. package/server/graphql/types/store-replenishment-item/store-replenishment-item.ts +0 -15
  223. package/server/index.ts +0 -6
  224. package/server/middlewares/index.ts +0 -3
  225. package/server/migrations/index.ts +0 -9
  226. package/server/routes.ts +0 -26
  227. package/server/utils/index.ts +0 -1
  228. package/server/utils/no-generator.ts +0 -25
  229. package/tsconfig.json +0 -9
@@ -1,222 +0,0 @@
1
- import { getConnection, In } from 'typeorm'
2
-
3
- import { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'
4
- import { getRepository, publishProgress } from '@things-factory/shell'
5
-
6
- import { MarketplaceProduct, MarketplaceProductAttribute, MarketplaceProductVariation } from '../../../entities'
7
-
8
- const debug = require('debug')('things-factory:marketplace-base:sync-marketplace-store-product')
9
-
10
- export async function syncMarketplaceStoreProducts({ domain, user, tag, marketplaceStore }) {
11
- try {
12
- let totalPages: number = 1
13
- let processedData: number = 0
14
- let pageInfo: string
15
- var limit: number = 50
16
-
17
- for (let page = 0; page < totalPages; page++) {
18
- const {
19
- results: marketplaceProducts,
20
- total,
21
- page_info
22
- } = await StoreAPI.getStoreProducts(marketplaceStore, {
23
- pagination: { page, limit },
24
- pageInfo
25
- })
26
-
27
- if (marketplaceProducts?.length == 0) throw new Error('There is no product available to sync')
28
-
29
- if (page_info) pageInfo = page_info
30
- totalPages = Math.ceil(total / limit)
31
-
32
- // search for existing product
33
- const existingMarketplaceProducts: MarketplaceProduct[] = await getRepository(MarketplaceProduct).find({
34
- where: {
35
- domain: { id: domain.id },
36
- marketplaceStore: { id: marketplaceStore.id },
37
- itemId: In(marketplaceProducts.map(product => product.itemId.toString()))
38
- },
39
- relations: ['marketplaceProductVariations', 'marketplaceProductAttributes']
40
- })
41
-
42
- const existingItemIds: any[] = existingMarketplaceProducts.map(product => product.itemId)
43
-
44
- const newMarketplaceProducts: MarketplaceProduct[] = marketplaceProducts.filter(
45
- product => !existingItemIds.includes(product.itemId.toString())
46
- )
47
-
48
- let marketplaceProductVariations: MarketplaceProductVariation[] = []
49
- let marketplaceProductAttributes: MarketplaceProductAttribute[] = []
50
-
51
- if (existingMarketplaceProducts?.length > 0) {
52
- for (var i = 0; i < existingMarketplaceProducts.length; i++) {
53
- await getConnection().transaction(async tx => {
54
- var existingProduct: MarketplaceProduct = existingMarketplaceProducts[i]
55
-
56
- const matchedItem = marketplaceProducts.filter(
57
- product => product.itemId.toString() === existingProduct.itemId
58
- )[0]
59
-
60
- // prep marketplace product data for saving
61
- await tx.getRepository(MarketplaceProduct).save({
62
- ...existingProduct,
63
- ...matchedItem,
64
- updater: user
65
- })
66
-
67
- // pre-load all existing marketplace product variation status = 'INACTIVE'
68
- marketplaceProductVariations = existingProduct?.marketplaceProductVariations.map(variation => {
69
- return {
70
- ...variation,
71
- status: 'INACTIVE'
72
- }
73
- })
74
-
75
- // pre-load all existing marketplace product attributes status = 'INACTIVE'
76
- marketplaceProductAttributes = existingProduct?.marketplaceProductAttributes.map(attribute => {
77
- return {
78
- ...attribute,
79
- status: 'INACTIVE'
80
- }
81
- })
82
-
83
- matchedItem.variations.map(variation => {
84
- let matchedVariationIndex = marketplaceProductVariations.findIndex(
85
- itm => itm.variationId == variation.variationId
86
- )
87
-
88
- if (matchedVariationIndex >= 0) {
89
- marketplaceProductVariations[matchedVariationIndex] = {
90
- ...marketplaceProductVariations[matchedVariationIndex],
91
- ...variation,
92
- status: 'ACTIVE',
93
- updater: user
94
- }
95
- } else {
96
- marketplaceProductVariations.push({
97
- ...variation,
98
- domain: domain,
99
- marketplaceProduct: existingProduct,
100
- status: 'ACTIVE',
101
- creator: user,
102
- updater: user
103
- })
104
- }
105
- })
106
-
107
- await tx.getRepository(MarketplaceProductVariation).save(marketplaceProductVariations)
108
-
109
- // update status = 'ACTIVE' for matching existing with latest marketplace product attribute
110
- matchedItem.attributes.map(attribute => {
111
- let matchedAttributeIndex = marketplaceProductAttributes.findIndex(
112
- itm => itm.attributeId == attribute.attributeId
113
- )
114
-
115
- if (matchedAttributeIndex >= 0) {
116
- marketplaceProductAttributes[matchedAttributeIndex] = {
117
- ...marketplaceProductAttributes[matchedAttributeIndex],
118
- ...attribute,
119
- status: 'ACTIVE',
120
- updater: user
121
- }
122
- } else {
123
- marketplaceProductAttributes.push({ ...attribute, status: 'ACTIVE', creator: user, updater: user })
124
- }
125
- })
126
-
127
- await tx.getRepository(MarketplaceProductAttribute).save(marketplaceProductAttributes)
128
-
129
- processedData++
130
- debug('processed data', processedData)
131
-
132
- publishProgress({
133
- domain,
134
- tag,
135
- progress: Math.floor((processedData / total) * 100),
136
- message: `${processedData} / ${total}`
137
- })
138
- })
139
- }
140
- }
141
-
142
- if (newMarketplaceProducts?.length > 0) {
143
- for (var i = 0; i < newMarketplaceProducts.length; i++) {
144
- await getConnection().transaction(async tx => {
145
- var product: any = newMarketplaceProducts[i]
146
-
147
- // prep marketplace product data for saving
148
- let marketplaceProduct: MarketplaceProduct = new MarketplaceProduct(product)
149
- marketplaceProduct.marketplaceStore = marketplaceStore
150
- marketplaceProduct.domain = domain
151
- marketplaceProduct.creator = user
152
- marketplaceProduct.updater = user
153
- await tx.getRepository(MarketplaceProduct).save(marketplaceProduct)
154
-
155
- marketplaceProductVariations = product.variations.map(variation => {
156
- return {
157
- ...variation,
158
- status: 'ACTIVE',
159
- marketplaceProduct,
160
- domain: domain,
161
- creator: user,
162
- updater: user
163
- }
164
- })
165
- await tx.getRepository(MarketplaceProductVariation).save(marketplaceProductVariations)
166
-
167
- // pre-load all existing marketplace product attributes status = 'ACTIVE'
168
- marketplaceProductAttributes = product.attributes.map(attribute => {
169
- return {
170
- ...attribute,
171
- status: 'ACTIVE',
172
- marketplaceProduct,
173
- domain: domain,
174
- creator: user,
175
- updater: user
176
- }
177
- })
178
- await tx.getRepository(MarketplaceProductAttribute).save(marketplaceProductAttributes)
179
-
180
- processedData++
181
- debug('processed data', processedData)
182
-
183
- publishProgress({
184
- domain,
185
- tag,
186
- progress: Math.floor((processedData / total) * 100),
187
- message: `${processedData} / ${total}`
188
- })
189
- })
190
- }
191
- }
192
- }
193
- } catch (ex) {
194
- publishProgress({
195
- domain,
196
- tag,
197
- progress: -1,
198
- message: 'failed'
199
- })
200
-
201
- throw ex
202
- }
203
- }
204
-
205
- export const syncMarketplaceStoreProductsResolver = {
206
- async syncMarketplaceStoreProducts(_: any, { storeId }, context: ResolverContext) {
207
- const { domain, user } = context.state
208
-
209
- const marketplaceStore: MarketplaceStore = await StoreAPI.getMarketplaceStore(storeId)
210
- const tag = `progress-sync-product`
211
-
212
- // don't make following line asynchronous (await)
213
- syncMarketplaceStoreProducts({
214
- domain,
215
- user,
216
- tag,
217
- marketplaceStore
218
- })
219
-
220
- return
221
- }
222
- }
@@ -1,24 +0,0 @@
1
- import { EntityManager, Repository } from 'typeorm'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- import { getRepository } from '@things-factory/shell'
5
-
6
- import { MarketplaceProduct } from '../../../entities'
7
-
8
- export const updateMarketplaceProductResolver = {
9
- async updateMarketplaceProduct(_: any, { foundProduct, marketplaceProduct }, context: ResolverContext) {
10
- const { user, tx } = context.state
11
-
12
- return await updateMarketplaceProduct(foundProduct, marketplaceProduct, user, tx)
13
- }
14
- }
15
-
16
- export async function updateMarketplaceProduct(foundProduct: MarketplaceProduct, marketplaceProduct: any, user: User, trxMgr?: EntityManager): Promise<any> {
17
- const marketplaceProdRepo: Repository<MarketplaceProduct> = trxMgr?.getRepository(MarketplaceProduct) || getRepository(MarketplaceProduct)
18
-
19
- await marketplaceProdRepo.save({
20
- ...foundProduct,
21
- ...marketplaceProduct,
22
- updater: user
23
- })
24
- }
@@ -1,39 +0,0 @@
1
- import { EntityManager } from 'typeorm'
2
-
3
- import { Attachment, createAttachments } from '@things-factory/attachment-base'
4
- import { User } from '@things-factory/auth-base'
5
- import { Domain } from '@things-factory/shell'
6
-
7
- import { ATTACHMENT_TYPE } from '../../../constants'
8
- import { MarketplaceProduct } from '../../../entities'
9
- import { createMarketplaceProduct } from './create-marketplace-product'
10
- import { updateMarketplaceProduct } from './update-marketplace-product'
11
-
12
- export const upsertMarketplaceProduct = {
13
- async upsertMarketplaceProduct(_: any, { marketplaceProduct, file }, context: ResolverContext) {
14
- const { domain, user, tx } = context.state
15
-
16
- let foundProduct: MarketplaceProduct
17
- foundProduct = await tx.getRepository(MarketplaceProduct).findOne({
18
- where: { domain: { id: domain.id }, name: marketplaceProduct.name, isku: marketplaceProduct.isku }
19
- })
20
-
21
- if (foundProduct) {
22
- await updateMarketplaceProduct(foundProduct, marketplaceProduct, user, tx)
23
- } else {
24
- const foundProd: MarketplaceProduct = await createMarketplaceProduct(domain, marketplaceProduct, user, tx)
25
-
26
- if (file?.length) {
27
- const attachments: Attachment[] = file.map(attachment => {
28
- return {
29
- file: attachment,
30
- refType: ATTACHMENT_TYPE.MARKETPLACE_PRODUCT,
31
- refBy: foundProd.id,
32
- category: ATTACHMENT_TYPE.MARKETPLACE_PRODUCT /* TODO use refType */
33
- }
34
- })
35
- await createAttachments(_, { attachments }, context)
36
- }
37
- }
38
- }
39
- }
@@ -1,14 +0,0 @@
1
- import { getRepository } from '@things-factory/shell'
2
-
3
- import { MarketplaceProductAttribute } from '../../../entities'
4
-
5
- export const createMarketplaceProductAttribute = {
6
- async createMarketplaceProductAttribute(_: any, { marketplaceProductAttribute }, context: ResolverContext) {
7
- return await getRepository(MarketplaceProductAttribute).save({
8
- ...marketplaceProductAttribute,
9
- domain: context.state.domain,
10
- creator: context.state.user,
11
- updater: context.state.user
12
- })
13
- }
14
- }
@@ -1,10 +0,0 @@
1
- import { getRepository } from '@things-factory/shell'
2
-
3
- import { MarketplaceProductAttribute } from '../../../entities'
4
-
5
- export const deleteMarketplaceProductAttribute = {
6
- async deleteMarketplaceProductAttribute(_: any, { name }, context: ResolverContext) {
7
- await getRepository(MarketplaceProductAttribute).delete({ domain: { id: context.state.domain.id }, name })
8
- return true
9
- }
10
- }
@@ -1,17 +0,0 @@
1
- import { In } from 'typeorm'
2
-
3
- import { getRepository } from '@things-factory/shell'
4
-
5
- import { MarketplaceProductAttribute } from '../../../entities'
6
-
7
- export const deleteMarketplaceProductAttributes = {
8
- async deleteMarketplaceProductAttributes(_: any, { names }, context: ResolverContext) {
9
- const { domain } = context.state
10
-
11
- await getRepository(MarketplaceProductAttribute).delete({
12
- domain: { id: domain.id },
13
- name: In(names)
14
- })
15
- return true
16
- }
17
- }
@@ -1,22 +0,0 @@
1
- import { marketplaceProductAttributeResolver } from './marketplace-product-attribute'
2
- import { marketplaceProductAttributesResolver } from './marketplace-product-attributes'
3
-
4
- import { updateMarketplaceProductAttribute } from './update-marketplace-product-attribute'
5
- import { updateMultipleMarketplaceProductAttribute } from './update-multiple-marketplace-product-attribute'
6
- import { createMarketplaceProductAttribute } from './create-marketplace-product-attribute'
7
- import { deleteMarketplaceProductAttribute } from './delete-marketplace-product-attribute'
8
- import { deleteMarketplaceProductAttributes } from './delete-marketplace-product-attributes'
9
-
10
- export const MarketplaceProductAttributeResolver = {
11
- Query: {
12
- ...marketplaceProductAttributesResolver,
13
- ...marketplaceProductAttributeResolver
14
- },
15
- Mutation: {
16
- ...updateMarketplaceProductAttribute,
17
- ...updateMultipleMarketplaceProductAttribute,
18
- ...createMarketplaceProductAttribute,
19
- ...deleteMarketplaceProductAttribute,
20
- ...deleteMarketplaceProductAttributes
21
- }
22
- }
@@ -1,14 +0,0 @@
1
- import { getRepository } from '@things-factory/shell'
2
-
3
- import { MarketplaceProductAttribute } from '../../../entities'
4
-
5
- export const marketplaceProductAttributeResolver = {
6
- async marketplaceProductAttribute(_: any, { name }, context: ResolverContext) {
7
- const repository = getRepository(MarketplaceProductAttribute)
8
-
9
- return await getRepository(MarketplaceProductAttribute).findOne({
10
- where: { domain: { id: context.state.domain.id }, name },
11
- relations: ['domain', 'creator', 'updater']
12
- })
13
- }
14
- }
@@ -1,14 +0,0 @@
1
- import { convertListParams, getRepository, ListParam } from '@things-factory/shell'
2
-
3
- import { MarketplaceProductAttribute } from '../../../entities'
4
-
5
- export const marketplaceProductAttributesResolver = {
6
- async marketplaceProductAttributes(_: any, params: ListParam, context: ResolverContext) {
7
- const convertedParams = convertListParams(params)
8
- const [items, total] = await getRepository(MarketplaceProductAttribute).findAndCount({
9
- ...convertedParams,
10
- relations: ['domain', 'creator', 'updater']
11
- })
12
- return { items, total }
13
- }
14
- }
@@ -1,18 +0,0 @@
1
- import { getRepository } from '@things-factory/shell'
2
-
3
- import { MarketplaceProductAttribute } from '../../../entities'
4
-
5
- export const updateMarketplaceProductAttribute = {
6
- async updateMarketplaceProductAttribute(_: any, { name, patch }, context: ResolverContext) {
7
- const repository = getRepository(MarketplaceProductAttribute)
8
- const marketplaceProductAttribute = await repository.findOne({
9
- where: { domain: { id: context.state.domain.id }, name }
10
- })
11
-
12
- return await repository.save({
13
- ...marketplaceProductAttribute,
14
- ...patch,
15
- updater: context.state.user
16
- })
17
- }
18
- }
@@ -1,44 +0,0 @@
1
- import { getRepository } from '@things-factory/shell'
2
-
3
- import { MarketplaceProductAttribute } from '../../../entities'
4
-
5
- export const updateMultipleMarketplaceProductAttribute = {
6
- async updateMultipleMarketplaceProductAttribute(_: any, { patches }, context: ResolverContext) {
7
- let results = []
8
- const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
9
- const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
10
- const marketplaceProductAttributeRepo = getRepository(MarketplaceProductAttribute)
11
-
12
- if (_createRecords.length > 0) {
13
- for (let i = 0; i < _createRecords.length; i++) {
14
- const newRecord = _createRecords[i]
15
-
16
- const result = await marketplaceProductAttributeRepo.save({
17
- ...newRecord,
18
- domain: context.state.domain,
19
- creator: context.state.user,
20
- updater: context.state.user
21
- })
22
-
23
- results.push({ ...result, cuFlag: '+' })
24
- }
25
- }
26
-
27
- if (_updateRecords.length > 0) {
28
- for (let i = 0; i < _updateRecords.length; i++) {
29
- const newRecord = _updateRecords[i]
30
- const marketplaceProductAttribute = await marketplaceProductAttributeRepo.findOneBy({ id: newRecord.id })
31
-
32
- const result = await marketplaceProductAttributeRepo.save({
33
- ...marketplaceProductAttribute,
34
- ...newRecord,
35
- updater: context.state.user
36
- })
37
-
38
- results.push({ ...result, cuFlag: 'M' })
39
- }
40
- }
41
-
42
- return results
43
- }
44
- }
@@ -1,14 +0,0 @@
1
- import { getRepository } from '@things-factory/shell'
2
-
3
- import { MarketplaceProductCategory } from '../../../entities'
4
-
5
- export const createMarketplaceProductCategory = {
6
- async createMarketplaceProductCategory(_: any, { marketplaceProductCategory }, context: ResolverContext) {
7
- return await getRepository(MarketplaceProductCategory).save({
8
- ...marketplaceProductCategory,
9
- domain: context.state.domain,
10
- creator: context.state.user,
11
- updater: context.state.user
12
- })
13
- }
14
- }
@@ -1,17 +0,0 @@
1
- import { In } from 'typeorm'
2
-
3
- import { getRepository } from '@things-factory/shell'
4
-
5
- import { MarketplaceProductCategory } from '../../../entities'
6
-
7
- export const deleteMarketplaceProductCategories = {
8
- async deleteMarketplaceProductCategories(_: any, { names }, context: ResolverContext) {
9
- const { domain } = context.state
10
-
11
- await getRepository(MarketplaceProductCategory).delete({
12
- domain: { id: domain.id },
13
- name: In(names)
14
- })
15
- return true
16
- }
17
- }
@@ -1,10 +0,0 @@
1
- import { getRepository } from '@things-factory/shell'
2
-
3
- import { MarketplaceProductCategory } from '../../../entities'
4
-
5
- export const deleteMarketplaceProductCategory = {
6
- async deleteMarketplaceProductCategory(_: any, { name }, context: ResolverContext) {
7
- await getRepository(MarketplaceProductCategory).delete({ domain: { id: context.state.domain.id }, name })
8
- return true
9
- }
10
- }
@@ -1,22 +0,0 @@
1
- import { marketplaceProductCategoryResolver } from './marketplace-product-category'
2
- import { marketplaceProductCategoriesResolver } from './marketplace-product-categories'
3
-
4
- import { updateMarketplaceProductCategory } from './update-marketplace-product-category'
5
- import { updateMultipleMarketplaceProductCategory } from './update-multiple-marketplace-product-category'
6
- import { createMarketplaceProductCategory } from './create-marketplace-product-category'
7
- import { deleteMarketplaceProductCategory } from './delete-marketplace-product-category'
8
- import { deleteMarketplaceProductCategories } from './delete-marketplace-product-categories'
9
-
10
- export const MarketplaceProductCategoryResolver = {
11
- Query: {
12
- ...marketplaceProductCategoriesResolver,
13
- ...marketplaceProductCategoryResolver
14
- },
15
- Mutation: {
16
- ...updateMarketplaceProductCategory,
17
- ...updateMultipleMarketplaceProductCategory,
18
- ...createMarketplaceProductCategory,
19
- ...deleteMarketplaceProductCategory,
20
- ...deleteMarketplaceProductCategories
21
- }
22
- }
@@ -1,14 +0,0 @@
1
- import { convertListParams, getRepository, ListParam } from '@things-factory/shell'
2
-
3
- import { MarketplaceProductCategory } from '../../../entities'
4
-
5
- export const marketplaceProductCategoriesResolver = {
6
- async marketplaceProductCategories(_: any, params: ListParam, context: ResolverContext) {
7
- const convertedParams = convertListParams(params)
8
- const [items, total] = await getRepository(MarketplaceProductCategory).findAndCount({
9
- ...convertedParams,
10
- relations: ['domain', 'creator', 'updater']
11
- })
12
- return { items, total }
13
- }
14
- }
@@ -1,14 +0,0 @@
1
- import { getRepository } from '@things-factory/shell'
2
-
3
- import { MarketplaceProductCategory } from '../../../entities'
4
-
5
- export const marketplaceProductCategoryResolver = {
6
- async marketplaceProductCategory(_: any, { name }, context: ResolverContext) {
7
- const repository = getRepository(MarketplaceProductCategory)
8
-
9
- return await getRepository(MarketplaceProductCategory).findOne({
10
- where: { domain: { id: context.state.domain.id }, name },
11
- relations: ['domain', 'creator', 'updater']
12
- })
13
- }
14
- }
@@ -1,18 +0,0 @@
1
- import { getRepository } from '@things-factory/shell'
2
-
3
- import { MarketplaceProductCategory } from '../../../entities'
4
-
5
- export const updateMarketplaceProductCategory = {
6
- async updateMarketplaceProductCategory(_: any, { name, patch }, context: ResolverContext) {
7
- const repository = getRepository(MarketplaceProductCategory)
8
- const marketplaceProductCategory = await repository.findOne({
9
- where: { domain: { id: context.state.domain.id }, name }
10
- })
11
-
12
- return await repository.save({
13
- ...marketplaceProductCategory,
14
- ...patch,
15
- updater: context.state.user
16
- })
17
- }
18
- }
@@ -1,44 +0,0 @@
1
- import { getRepository } from '@things-factory/shell'
2
-
3
- import { MarketplaceProductCategory } from '../../../entities'
4
-
5
- export const updateMultipleMarketplaceProductCategory = {
6
- async updateMultipleMarketplaceProductCategory(_: any, { patches }, context: ResolverContext) {
7
- let results = []
8
- const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
9
- const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
10
- const marketplaceProductCategoryRepo = getRepository(MarketplaceProductCategory)
11
-
12
- if (_createRecords.length > 0) {
13
- for (let i = 0; i < _createRecords.length; i++) {
14
- const newRecord = _createRecords[i]
15
-
16
- const result = await marketplaceProductCategoryRepo.save({
17
- ...newRecord,
18
- domain: context.state.domain,
19
- creator: context.state.user,
20
- updater: context.state.user
21
- })
22
-
23
- results.push({ ...result, cuFlag: '+' })
24
- }
25
- }
26
-
27
- if (_updateRecords.length > 0) {
28
- for (let i = 0; i < _updateRecords.length; i++) {
29
- const newRecord = _updateRecords[i]
30
- const marketplaceProductCategory = await marketplaceProductCategoryRepo.findOneBy({ id: newRecord.id })
31
-
32
- const result = await marketplaceProductCategoryRepo.save({
33
- ...marketplaceProductCategory,
34
- ...newRecord,
35
- updater: context.state.user
36
- })
37
-
38
- results.push({ ...result, cuFlag: 'M' })
39
- }
40
- }
41
-
42
- return results
43
- }
44
- }
@@ -1,14 +0,0 @@
1
- import { getRepository } from '@things-factory/shell'
2
-
3
- import { MarketplaceProductVariation } from '../../../entities'
4
-
5
- export const createMarketplaceProductVariationResolver = {
6
- async createMarketplaceProductVariation(_: any, { marketplaceProductVariation }, context: ResolverContext) {
7
- return await getRepository(MarketplaceProductVariation).save({
8
- ...marketplaceProductVariation,
9
- domain: context.state.domain,
10
- creator: context.state.user,
11
- updater: context.state.user
12
- })
13
- }
14
- }
@@ -1,10 +0,0 @@
1
- import { getRepository } from '@things-factory/shell'
2
-
3
- import { MarketplaceProductVariation } from '../../../entities'
4
-
5
- export const deleteMarketplaceProductVariationResolver = {
6
- async deleteMarketplaceProductVariation(_: any, { name }, context: ResolverContext) {
7
- await getRepository(MarketplaceProductVariation).delete({ domain: { id: context.state.domain.id }, name })
8
- return true
9
- }
10
- }
@@ -1,17 +0,0 @@
1
- import { In } from 'typeorm'
2
-
3
- import { getRepository } from '@things-factory/shell'
4
-
5
- import { MarketplaceProductVariation } from '../../../entities'
6
-
7
- export const deleteMarketplaceProductVariationsResolver = {
8
- async deleteMarketplaceProductVariations(_: any, { names }, context: ResolverContext) {
9
- const { domain } = context.state
10
-
11
- await getRepository(MarketplaceProductVariation).delete({
12
- domain: { id: domain.id },
13
- name: In(names)
14
- })
15
- return true
16
- }
17
- }