@things-factory/marketplace-base 8.0.0-beta.9 → 8.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +3 -0
  4. package/server/constants/index.ts +4 -0
  5. package/server/constants/order.ts +11 -0
  6. package/server/constants/platform.ts +7 -0
  7. package/server/constants/product.ts +5 -0
  8. package/server/constants/reserve-qty-order-statuses.ts +7 -0
  9. package/server/controllers/index.ts +0 -0
  10. package/server/entities/index.ts +45 -0
  11. package/server/entities/marketplace-order-item.ts +137 -0
  12. package/server/entities/marketplace-order-shipping-item.ts +55 -0
  13. package/server/entities/marketplace-order-shipping.ts +168 -0
  14. package/server/entities/marketplace-order.ts +141 -0
  15. package/server/entities/marketplace-product-attribute.ts +83 -0
  16. package/server/entities/marketplace-product-category.ts +53 -0
  17. package/server/entities/marketplace-product-variation-price.ts +63 -0
  18. package/server/entities/marketplace-product-variation.ts +147 -0
  19. package/server/entities/marketplace-product.ts +164 -0
  20. package/server/entities/marketplace-refund-order-item.ts +56 -0
  21. package/server/entities/marketplace-refund-order.ts +51 -0
  22. package/server/entities/marketplace-setting.ts +49 -0
  23. package/server/entities/store-replenishment-item.ts +48 -0
  24. package/server/entities/store-replenishment.ts +79 -0
  25. package/server/graphql/index.ts +9 -0
  26. package/server/graphql/resolvers/index.ts +14 -0
  27. package/server/graphql/resolvers/marketplace-order/auto-initialise-logistics-by-batch.ts +164 -0
  28. package/server/graphql/resolvers/marketplace-order/auto-update-order-ready-to-ship.ts +136 -0
  29. package/server/graphql/resolvers/marketplace-order/cancel-marketplace-order.ts +64 -0
  30. package/server/graphql/resolvers/marketplace-order/create-marketplace-order-note.ts +21 -0
  31. package/server/graphql/resolvers/marketplace-order/dashboard-marketplace-orders.ts +82 -0
  32. package/server/graphql/resolvers/marketplace-order/dashboard-marketplace-sales-average.ts +82 -0
  33. package/server/graphql/resolvers/marketplace-order/dashboard-marketplace-sales.ts +93 -0
  34. package/server/graphql/resolvers/marketplace-order/delete-marketplace-orders.ts +17 -0
  35. package/server/graphql/resolvers/marketplace-order/generate-marketplace-order.ts +180 -0
  36. package/server/graphql/resolvers/marketplace-order/get-address-list.ts +9 -0
  37. package/server/graphql/resolvers/marketplace-order/get-branch-list.ts +9 -0
  38. package/server/graphql/resolvers/marketplace-order/get-etrax-order-document.ts +49 -0
  39. package/server/graphql/resolvers/marketplace-order/get-logistics-param.ts +47 -0
  40. package/server/graphql/resolvers/marketplace-order/get-order-document.ts +149 -0
  41. package/server/graphql/resolvers/marketplace-order/get-store-logistics.ts +9 -0
  42. package/server/graphql/resolvers/marketplace-order/get-time-slot.ts +9 -0
  43. package/server/graphql/resolvers/marketplace-order/index.ts +75 -0
  44. package/server/graphql/resolvers/marketplace-order/initialise-lazada-logistics-by-batch.ts +165 -0
  45. package/server/graphql/resolvers/marketplace-order/initialise-logistics-by-batch.ts +41 -0
  46. package/server/graphql/resolvers/marketplace-order/initialise-logistics.ts +29 -0
  47. package/server/graphql/resolvers/marketplace-order/initialise-shopee-logistics-by-batch.ts +97 -0
  48. package/server/graphql/resolvers/marketplace-order/marketplace-order.ts +12 -0
  49. package/server/graphql/resolvers/marketplace-order/marketplace-orders-for-batch-init.ts +52 -0
  50. package/server/graphql/resolvers/marketplace-order/marketplace-orders-for-export.ts +63 -0
  51. package/server/graphql/resolvers/marketplace-order/marketplace-orders.ts +56 -0
  52. package/server/graphql/resolvers/marketplace-order/set-marketplace-order-delivered.ts +25 -0
  53. package/server/graphql/resolvers/marketplace-order/set-marketplace-order-failed-delivery.ts +25 -0
  54. package/server/graphql/resolvers/marketplace-order/set-own-shipping-provider-by-orders.ts +39 -0
  55. package/server/graphql/resolvers/marketplace-order/split-orders-by-batch.ts +245 -0
  56. package/server/graphql/resolvers/marketplace-order/sync-all-marketplace-order.ts +39 -0
  57. package/server/graphql/resolvers/marketplace-order/sync-marketplace-order.ts +940 -0
  58. package/server/graphql/resolvers/marketplace-order/sync-marketplace-orders-by-platform.ts +31 -0
  59. package/server/graphql/resolvers/marketplace-order/sync-shopee-awb.ts +49 -0
  60. package/server/graphql/resolvers/marketplace-order/update-marketplace-order.ts +35 -0
  61. package/server/graphql/resolvers/marketplace-order/update-order-ready-to-ship.ts +142 -0
  62. package/server/graphql/resolvers/marketplace-order-item/create-marketplace-order-item.ts +14 -0
  63. package/server/graphql/resolvers/marketplace-order-item/delete-marketplace-order-item.ts +10 -0
  64. package/server/graphql/resolvers/marketplace-order-item/delete-marketplace-order-items.ts +17 -0
  65. package/server/graphql/resolvers/marketplace-order-item/index.ts +22 -0
  66. package/server/graphql/resolvers/marketplace-order-item/marketplace-order-item.ts +14 -0
  67. package/server/graphql/resolvers/marketplace-order-item/marketplace-order-items.ts +15 -0
  68. package/server/graphql/resolvers/marketplace-order-item/update-marketplace-order-item.ts +18 -0
  69. package/server/graphql/resolvers/marketplace-order-item/update-multiple-marketplace-order-item.ts +44 -0
  70. package/server/graphql/resolvers/marketplace-order-shipping/create-marketplace-order-shipping.ts +14 -0
  71. package/server/graphql/resolvers/marketplace-order-shipping/delete-marketplace-order-shipping.ts +10 -0
  72. package/server/graphql/resolvers/marketplace-order-shipping/delete-marketplace-order-shippings.ts +17 -0
  73. package/server/graphql/resolvers/marketplace-order-shipping/index.ts +23 -0
  74. package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shipping.ts +25 -0
  75. package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings-for-batch-init.ts +88 -0
  76. package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings.ts +43 -0
  77. package/server/graphql/resolvers/marketplace-order-shipping/update-marketplace-order-shipping.ts +32 -0
  78. package/server/graphql/resolvers/marketplace-order-shipping/update-multiple-marketplace-order-shipping.ts +44 -0
  79. package/server/graphql/resolvers/marketplace-order-shipping-item/create-marketplace-order-shipping-item.ts +14 -0
  80. package/server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-item.ts +10 -0
  81. package/server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-items.ts +15 -0
  82. package/server/graphql/resolvers/marketplace-order-shipping-item/index.ts +20 -0
  83. package/server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-item.ts +21 -0
  84. package/server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-items.ts +14 -0
  85. package/server/graphql/resolvers/marketplace-order-shipping-item/update-marketplace-order-shipping-item.ts +18 -0
  86. package/server/graphql/resolvers/marketplace-order-shipping-item/update-multiple-marketplace-order-shipping-item.ts +44 -0
  87. package/server/graphql/resolvers/marketplace-product/create-marketplace-product.ts +35 -0
  88. package/server/graphql/resolvers/marketplace-product/delete-marketplace-product.ts +10 -0
  89. package/server/graphql/resolvers/marketplace-product/delete-marketplace-products.ts +17 -0
  90. package/server/graphql/resolvers/marketplace-product/index.ts +27 -0
  91. package/server/graphql/resolvers/marketplace-product/marketplace-product.ts +24 -0
  92. package/server/graphql/resolvers/marketplace-product/marketplace-products.ts +23 -0
  93. package/server/graphql/resolvers/marketplace-product/sync-all-marketplace-store-products.ts +225 -0
  94. package/server/graphql/resolvers/marketplace-product/sync-marketplace-store-products.ts +222 -0
  95. package/server/graphql/resolvers/marketplace-product/update-marketplace-product.ts +24 -0
  96. package/server/graphql/resolvers/marketplace-product/upsert-marketplace-product.ts +39 -0
  97. package/server/graphql/resolvers/marketplace-product-attribute/create-marketplace-product-attribute.ts +14 -0
  98. package/server/graphql/resolvers/marketplace-product-attribute/delete-marketplace-product-attribute.ts +10 -0
  99. package/server/graphql/resolvers/marketplace-product-attribute/delete-marketplace-product-attributes.ts +17 -0
  100. package/server/graphql/resolvers/marketplace-product-attribute/index.ts +22 -0
  101. package/server/graphql/resolvers/marketplace-product-attribute/marketplace-product-attribute.ts +14 -0
  102. package/server/graphql/resolvers/marketplace-product-attribute/marketplace-product-attributes.ts +14 -0
  103. package/server/graphql/resolvers/marketplace-product-attribute/update-marketplace-product-attribute.ts +18 -0
  104. package/server/graphql/resolvers/marketplace-product-attribute/update-multiple-marketplace-product-attribute.ts +44 -0
  105. package/server/graphql/resolvers/marketplace-product-category/create-marketplace-product-category.ts +14 -0
  106. package/server/graphql/resolvers/marketplace-product-category/delete-marketplace-product-categories.ts +17 -0
  107. package/server/graphql/resolvers/marketplace-product-category/delete-marketplace-product-category.ts +10 -0
  108. package/server/graphql/resolvers/marketplace-product-category/index.ts +22 -0
  109. package/server/graphql/resolvers/marketplace-product-category/marketplace-product-categories.ts +14 -0
  110. package/server/graphql/resolvers/marketplace-product-category/marketplace-product-category.ts +14 -0
  111. package/server/graphql/resolvers/marketplace-product-category/update-marketplace-product-category.ts +18 -0
  112. package/server/graphql/resolvers/marketplace-product-category/update-multiple-marketplace-product-category.ts +44 -0
  113. package/server/graphql/resolvers/marketplace-product-variation/create-marketplace-product-variation.ts +14 -0
  114. package/server/graphql/resolvers/marketplace-product-variation/delete-marketplace-product-variation.ts +10 -0
  115. package/server/graphql/resolvers/marketplace-product-variation/delete-marketplace-product-variations.ts +17 -0
  116. package/server/graphql/resolvers/marketplace-product-variation/index.ts +30 -0
  117. package/server/graphql/resolvers/marketplace-product-variation/link-warehouse-marketplace-product-variations.ts +59 -0
  118. package/server/graphql/resolvers/marketplace-product-variation/marketplace-product-variation.ts +14 -0
  119. package/server/graphql/resolvers/marketplace-product-variation/marketplace-product-variations.ts +79 -0
  120. package/server/graphql/resolvers/marketplace-product-variation/update-marketplace-product-variation.ts +32 -0
  121. package/server/graphql/resolvers/marketplace-product-variation/update-multiple-marketplace-product-variation-quantity.ts +76 -0
  122. package/server/graphql/resolvers/marketplace-product-variation/update-multiple-marketplace-product-variations.ts +49 -0
  123. package/server/graphql/resolvers/marketplace-product-variation-price/create-marketplace-product-variation-price.ts +16 -0
  124. package/server/graphql/resolvers/marketplace-product-variation-price/delete-marketplace-product-variation-price.ts +13 -0
  125. package/server/graphql/resolvers/marketplace-product-variation-price/delete-marketplace-product-variation-prices.ts +18 -0
  126. package/server/graphql/resolvers/marketplace-product-variation-price/index.ts +19 -0
  127. package/server/graphql/resolvers/marketplace-product-variation-price/marketplace-product-variation-price-query.ts +52 -0
  128. package/server/graphql/resolvers/marketplace-product-variation-price/update-marketplace-product-variation-price.ts +20 -0
  129. package/server/graphql/resolvers/marketplace-product-variation-price/update-multiple-marketplace-product-variation-price.ts +49 -0
  130. package/server/graphql/resolvers/marketplace-refund-order/index.ts +9 -0
  131. package/server/graphql/resolvers/marketplace-refund-order/sync-all-marketplace-refund-orders.ts +122 -0
  132. package/server/graphql/resolvers/marketplace-refund-order/sync-marketplace-refund-orders.ts +106 -0
  133. package/server/graphql/resolvers/marketplace-report/index.ts +7 -0
  134. package/server/graphql/resolvers/marketplace-report/marketplace-sales-report.ts +143 -0
  135. package/server/graphql/resolvers/store-replenishment/create-store-replenishment.ts +16 -0
  136. package/server/graphql/resolvers/store-replenishment/delete-store-replenishment.ts +13 -0
  137. package/server/graphql/resolvers/store-replenishment/delete-store-replenishments.ts +18 -0
  138. package/server/graphql/resolvers/store-replenishment/index.ts +19 -0
  139. package/server/graphql/resolvers/store-replenishment/store-replenishment-query.ts +52 -0
  140. package/server/graphql/resolvers/store-replenishment/update-multiple-store-replenishment.ts +49 -0
  141. package/server/graphql/resolvers/store-replenishment/update-store-replenishment.ts +20 -0
  142. package/server/graphql/resolvers/store-replenishment-item/create-store-replenishment-item.ts +16 -0
  143. package/server/graphql/resolvers/store-replenishment-item/delete-store-replenishment-item.ts +13 -0
  144. package/server/graphql/resolvers/store-replenishment-item/delete-store-replenishment-items.ts +18 -0
  145. package/server/graphql/resolvers/store-replenishment-item/index.ts +19 -0
  146. package/server/graphql/resolvers/store-replenishment-item/store-replenishment-item-query.ts +52 -0
  147. package/server/graphql/resolvers/store-replenishment-item/update-multiple-store-replenishment-item.ts +49 -0
  148. package/server/graphql/resolvers/store-replenishment-item/update-store-replenishment-item.ts +20 -0
  149. package/server/graphql/types/index.ts +13 -0
  150. package/server/graphql/types/marketplace-order/dashboard-order.ts +13 -0
  151. package/server/graphql/types/marketplace-order/full-logistics-detail.ts +10 -0
  152. package/server/graphql/types/marketplace-order/index.ts +69 -0
  153. package/server/graphql/types/marketplace-order/logistics-detail.ts +8 -0
  154. package/server/graphql/types/marketplace-order/logistics-info.ts +27 -0
  155. package/server/graphql/types/marketplace-order/logistics-init.ts +9 -0
  156. package/server/graphql/types/marketplace-order/logistics-time.ts +9 -0
  157. package/server/graphql/types/marketplace-order/logistics.ts +21 -0
  158. package/server/graphql/types/marketplace-order/marketplace-logistics.ts +11 -0
  159. package/server/graphql/types/marketplace-order/marketplace-order-export.ts +19 -0
  160. package/server/graphql/types/marketplace-order/marketplace-order-list.ts +8 -0
  161. package/server/graphql/types/marketplace-order/marketplace-order-patch.ts +14 -0
  162. package/server/graphql/types/marketplace-order/marketplace-order.ts +40 -0
  163. package/server/graphql/types/marketplace-order/new-marketplace-order.ts +22 -0
  164. package/server/graphql/types/marketplace-order/order-address.ts +16 -0
  165. package/server/graphql/types/marketplace-order/order-document.ts +13 -0
  166. package/server/graphql/types/marketplace-order-item/index.ts +21 -0
  167. package/server/graphql/types/marketplace-order-item/marketplace-order-item-list.ts +8 -0
  168. package/server/graphql/types/marketplace-order-item/marketplace-order-item-patch.ts +10 -0
  169. package/server/graphql/types/marketplace-order-item/marketplace-order-item.ts +32 -0
  170. package/server/graphql/types/marketplace-order-item/new-marketplace-order-item.ts +17 -0
  171. package/server/graphql/types/marketplace-order-shipping/index.ts +31 -0
  172. package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-list.ts +8 -0
  173. package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-patch.ts +45 -0
  174. package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping.ts +59 -0
  175. package/server/graphql/types/marketplace-order-shipping/new-marketplace-order-shipping.ts +44 -0
  176. package/server/graphql/types/marketplace-order-shipping-item/index.ts +32 -0
  177. package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-list.ts +8 -0
  178. package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-patch.ts +13 -0
  179. package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item.ts +16 -0
  180. package/server/graphql/types/marketplace-order-shipping-item/new-marketplace-order-shipping-item.ts +12 -0
  181. package/server/graphql/types/marketplace-product/index.ts +28 -0
  182. package/server/graphql/types/marketplace-product/marketplace-product-list.ts +8 -0
  183. package/server/graphql/types/marketplace-product/marketplace-product-patch.ts +24 -0
  184. package/server/graphql/types/marketplace-product/marketplace-product.ts +30 -0
  185. package/server/graphql/types/marketplace-product/new-marketplace-product.ts +24 -0
  186. package/server/graphql/types/marketplace-product-attribute/index.ts +35 -0
  187. package/server/graphql/types/marketplace-product-attribute/marketplace-product-attribute-list.ts +8 -0
  188. package/server/graphql/types/marketplace-product-attribute/marketplace-product-attribute-patch.ts +10 -0
  189. package/server/graphql/types/marketplace-product-attribute/marketplace-product-attribute.ts +20 -0
  190. package/server/graphql/types/marketplace-product-attribute/new-marketplace-product-attribute.ts +13 -0
  191. package/server/graphql/types/marketplace-product-category/index.ts +28 -0
  192. package/server/graphql/types/marketplace-product-category/marketplace-product-category-list.ts +8 -0
  193. package/server/graphql/types/marketplace-product-category/marketplace-product-category-patch.ts +10 -0
  194. package/server/graphql/types/marketplace-product-category/marketplace-product-category.ts +17 -0
  195. package/server/graphql/types/marketplace-product-category/new-marketplace-product-category.ts +10 -0
  196. package/server/graphql/types/marketplace-product-variation/index.ts +47 -0
  197. package/server/graphql/types/marketplace-product-variation/marketplace-product-variation-list.ts +8 -0
  198. package/server/graphql/types/marketplace-product-variation/marketplace-product-variation-patch.ts +32 -0
  199. package/server/graphql/types/marketplace-product-variation/marketplace-product-variation.ts +35 -0
  200. package/server/graphql/types/marketplace-product-variation/new-marketplace-product-variation.ts +26 -0
  201. package/server/graphql/types/marketplace-product-variation/warehouse-product.ts +9 -0
  202. package/server/graphql/types/marketplace-product-variation-price/index.ts +21 -0
  203. package/server/graphql/types/marketplace-product-variation-price/marketplace-product-variation-price-list.ts +8 -0
  204. package/server/graphql/types/marketplace-product-variation-price/marketplace-product-variation-price-patch.ts +17 -0
  205. package/server/graphql/types/marketplace-product-variation-price/marketplace-product-variation-price.ts +21 -0
  206. package/server/graphql/types/marketplace-product-variation-price/new-marketplace-product-variation-price.ts +14 -0
  207. package/server/graphql/types/marketplace-refund-order/index.ts +16 -0
  208. package/server/graphql/types/marketplace-refund-order/marketplace-refund-order-list.ts +8 -0
  209. package/server/graphql/types/marketplace-refund-order/marketplace-refund-order.ts +17 -0
  210. package/server/graphql/types/marketplace-report/index.ts +10 -0
  211. package/server/graphql/types/marketplace-report/marketplace-sales-report-list.ts +8 -0
  212. package/server/graphql/types/marketplace-report/marketplace-sales-report.ts +67 -0
  213. package/server/graphql/types/store-replenishment/index.ts +21 -0
  214. package/server/graphql/types/store-replenishment/new-store-replenishment.ts +8 -0
  215. package/server/graphql/types/store-replenishment/store-replenishment-list.ts +8 -0
  216. package/server/graphql/types/store-replenishment/store-replenishment-patch.ts +10 -0
  217. package/server/graphql/types/store-replenishment/store-replenishment.ts +24 -0
  218. package/server/graphql/types/store-replenishment-item/index.ts +21 -0
  219. package/server/graphql/types/store-replenishment-item/new-store-replenishment-item.ts +8 -0
  220. package/server/graphql/types/store-replenishment-item/store-replenishment-item-list.ts +8 -0
  221. package/server/graphql/types/store-replenishment-item/store-replenishment-item-patch.ts +10 -0
  222. package/server/graphql/types/store-replenishment-item/store-replenishment-item.ts +15 -0
  223. package/server/index.ts +6 -0
  224. package/server/middlewares/index.ts +3 -0
  225. package/server/migrations/index.ts +9 -0
  226. package/server/routes.ts +26 -0
  227. package/server/utils/index.ts +1 -0
  228. package/server/utils/no-generator.ts +25 -0
  229. package/tsconfig.json +9 -0
@@ -0,0 +1,106 @@
1
+ import { EntityManager } from 'typeorm'
2
+
3
+ import { User } from '@things-factory/auth-base'
4
+ import { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'
5
+ import { Domain } from '@things-factory/shell'
6
+
7
+ import { MarketplaceProductVariation, MarketplaceRefundOrder, MarketplaceRefundOrderItem } from '../../../entities'
8
+
9
+ export const syncMarketplaceRefundOrders = {
10
+ async syncMarketplaceRefundOrders(_: any, { storeId, fromDate, toDate }, context: ResolverContext) {
11
+ const { domain, user, tx } = context.state
12
+
13
+ //@ahmedqaid, I think it would be better if this logic could be written inside a function.
14
+ //That way sync-all-marketplace-refund-orders doesn't need to re-write the logic.
15
+ //By doing so, it would improve readability and maintainability easily.
16
+ const marketplaceStore: MarketplaceStore = await StoreAPI.getMarketplaceStore(storeId)
17
+
18
+ let page: number = 0
19
+ let hasMorePage: boolean = true
20
+ var limit: number = 100
21
+
22
+ while (hasMorePage) {
23
+ const { results: marketplaceRefundOrders, more } = await StoreAPI.getStoreRefundOrders(marketplaceStore, {
24
+ fromDate,
25
+ toDate,
26
+ pagination: { page, limit }
27
+ })
28
+
29
+ for (var i = 0; i < marketplaceRefundOrders.length; i++) {
30
+ var refundOrder = marketplaceRefundOrders[i]
31
+
32
+ let marketplaceRefundOrder: MarketplaceRefundOrder = new MarketplaceRefundOrder()
33
+ marketplaceRefundOrder.name = refundOrder.name
34
+ marketplaceRefundOrder.orderNo = refundOrder.orderNo
35
+ marketplaceRefundOrder.amount = refundOrder.amount
36
+ marketplaceRefundOrder.status = refundOrder.status
37
+ marketplaceRefundOrder.originalOrderNo = refundOrder.originalOrderNo
38
+ marketplaceRefundOrder.domain = marketplaceStore.domain
39
+ marketplaceRefundOrder.creator = user
40
+ marketplaceRefundOrder.updater = user
41
+
42
+ const existingRefundOrder: MarketplaceRefundOrder = await tx.getRepository(MarketplaceRefundOrder).findOne({
43
+ where: { domain: { id: marketplaceStore.domain.id }, name: refundOrder.name },
44
+ relations: ['domain', 'marketplaceRefundOrderItems']
45
+ })
46
+
47
+ if (existingRefundOrder) {
48
+ marketplaceRefundOrder = {
49
+ ...existingRefundOrder,
50
+ ...marketplaceRefundOrder,
51
+ updater: user
52
+ }
53
+ }
54
+ marketplaceRefundOrder = await tx.getRepository(MarketplaceRefundOrder).save(marketplaceRefundOrder)
55
+
56
+ refundOrder.items.forEach(async item => {
57
+ let existingVariation: MarketplaceProductVariation = await tx
58
+ .getRepository(MarketplaceProductVariation)
59
+ .findOne({
60
+ where: { domain: { id: marketplaceStore.domain.id }, name: item.variationId }
61
+ })
62
+
63
+ if (marketplaceStore.platform === 'lazada') {
64
+ existingVariation = await tx.getRepository(MarketplaceProductVariation).findOne({
65
+ where: { domain: { id: marketplaceStore.domain.id }, channelSku: item.channelSku }
66
+ })
67
+ }
68
+
69
+ let marketplaceRefundOrderItem: MarketplaceRefundOrderItem = new MarketplaceRefundOrderItem()
70
+
71
+ marketplaceRefundOrderItem.name = item.name
72
+ marketplaceRefundOrderItem.orderItemId = item.orderItemId
73
+ marketplaceRefundOrderItem.price = item.price
74
+ marketplaceRefundOrderItem.qty = item.qty
75
+ marketplaceRefundOrderItem.status = item.status
76
+ marketplaceRefundOrderItem.domain = marketplaceStore.domain
77
+ marketplaceRefundOrderItem.creator = user
78
+ marketplaceRefundOrderItem.updater = user
79
+ marketplaceRefundOrderItem.marketplaceRefundOrder = marketplaceRefundOrder
80
+ marketplaceRefundOrderItem.marketplaceProductVariation = existingVariation
81
+
82
+ const existingRefundOrderItem: MarketplaceRefundOrderItem = await tx
83
+ .getRepository(MarketplaceRefundOrderItem)
84
+ .findOne({
85
+ where: { domain: { id: marketplaceStore.domain.id }, name: item.name },
86
+ relations: ['domain']
87
+ })
88
+ if (existingRefundOrderItem) {
89
+ marketplaceRefundOrderItem = {
90
+ ...existingRefundOrderItem,
91
+ ...marketplaceRefundOrderItem,
92
+ updater: user
93
+ }
94
+ }
95
+
96
+ marketplaceRefundOrderItem = await tx
97
+ .getRepository(MarketplaceRefundOrderItem)
98
+ .save(marketplaceRefundOrderItem)
99
+ })
100
+ }
101
+
102
+ if (more) page++
103
+ hasMorePage = more
104
+ }
105
+ }
106
+ }
@@ -0,0 +1,7 @@
1
+ import { marketplaceSalesReportsResolver } from './marketplace-sales-report'
2
+
3
+ export const MarketplaceReportResolver = {
4
+ Query: {
5
+ ...marketplaceSalesReportsResolver
6
+ }
7
+ }
@@ -0,0 +1,143 @@
1
+ import { SelectQueryBuilder } from 'typeorm'
2
+
3
+ import { buildQuery, getRepository, ListParam } from '@things-factory/shell'
4
+
5
+ import { MarketplaceOrderItem } from '../../../entities'
6
+
7
+ export const marketplaceSalesReportsResolver = {
8
+ async marketplaceSalesReports(_: any, params: ListParam, context: ResolverContext) {
9
+ const { page, limit } = params.pagination
10
+
11
+ let marketplaceStoreSorter = params.sortings.find(sort => sort.name === 'marketplaceStore')
12
+ let orderNoSorter = params.sortings.find(sort => sort.name === 'orderNo')
13
+
14
+ let platformFilter = params.filters.find(filter => filter.name === 'platform')
15
+ let marketplaceStoreFilter = params.filters.find(filter => filter.name === 'marketplaceStoreId')
16
+ let fromDateFilter = params.filters.find(filter => filter.name === 'fromDate')
17
+ let toDateFilter = params.filters.find(filter => filter.name === 'toDate')
18
+
19
+ params.sortings = params.sortings.filter(sort => ['marketplaceStore', 'orderNo'].indexOf(sort.name) == -1)
20
+ params.filters = params.filters.filter(
21
+ filter => ['platform', 'marketplaceStoreId', 'fromDate', 'toDate'].indexOf(filter.name) == -1
22
+ )
23
+
24
+ let qb: SelectQueryBuilder<MarketplaceOrderItem> = getRepository(MarketplaceOrderItem).createQueryBuilder('moi')
25
+ buildQuery(qb, params, context)
26
+ qb.leftJoinAndSelect('moi.domain', 'domain')
27
+ .leftJoinAndSelect('moi.marketplaceOrderShippingItems', 'mosi')
28
+ .leftJoinAndSelect('mosi.marketplaceOrderShipping', 'mos')
29
+ .leftJoinAndSelect('moi.marketplaceOrder', 'mo')
30
+ .leftJoinAndSelect('mo.fulfillmentCenter', 'fc')
31
+ .leftJoinAndSelect('mo.marketplaceStore', 'ms')
32
+ .leftJoinAndSelect('moi.marketplaceProductVariation', 'mpv')
33
+ .leftJoinAndSelect('mpv.marketplaceProduct', 'mp')
34
+ .leftJoinAndSelect('moi.creator', 'creator')
35
+ .leftJoinAndSelect('moi.updater', 'updater')
36
+ .leftJoinAndSelect(
37
+ 'marketplace_refund_orders',
38
+ 'mro',
39
+ 'mo.name = mro.original_order_no AND mo.domain_id = mro.domain_id'
40
+ )
41
+
42
+ if (marketplaceStoreSorter) {
43
+ qb.addOrderBy('ms.name', marketplaceStoreSorter.desc ? 'DESC' : 'ASC')
44
+ }
45
+
46
+ if (orderNoSorter) {
47
+ qb.addOrderBy('mo.name', orderNoSorter.desc ? 'DESC' : 'ASC')
48
+ }
49
+
50
+ if (platformFilter) {
51
+ qb.andWhere('ms.platform = :platform', { platform: platformFilter.value })
52
+ }
53
+
54
+ if (marketplaceStoreFilter) {
55
+ qb.andWhere('ms.id = :marketplaceStore', { marketplaceStore: marketplaceStoreFilter.value })
56
+ }
57
+
58
+ if (fromDateFilter && toDateFilter) {
59
+ qb.andWhere('mo.order_created_at BETWEEN :fromDate AND :toDate', {
60
+ fromDate: fromDateFilter.value,
61
+ toDate: toDateFilter.value
62
+ })
63
+ }
64
+
65
+ let items = await qb
66
+ .offset((page - 1) * limit)
67
+ .limit(limit)
68
+ .getRawMany()
69
+
70
+ const total = await qb.getCount()
71
+
72
+ items = items.map(item => {
73
+ return {
74
+ fulfilmentCenter: item.fc_name,
75
+ orderNo: item.mo_name,
76
+ orderCreatedAt: item.mo_order_created_at,
77
+ buyerUsername: item.mo_buyer_username,
78
+ payoutDate: item.mo_payout_date,
79
+ payTime: item.mo_pay_time,
80
+ totalAmount: item.mo_total_amount,
81
+ refundAmount: item.mro_amount,
82
+ shippingProvider: item.mo_shipping_provider,
83
+ storeName: item.ms_name,
84
+ storeDescription: item.ms_description,
85
+ promotionId: item.moi_promotion_id,
86
+ originalPrice: item.moi_original_price,
87
+ paidPrice: item.moi_paid_price,
88
+ sku: item.mpv_sku,
89
+ qty: item.moi_qty,
90
+ variationId: item.mpv_variation_id,
91
+ variationName: item.mpv_name,
92
+ productName: item.mp_name,
93
+ productSku: item.mp_isku,
94
+ productDiscount: item.moi_discount,
95
+ paymentFee: item.moi_payment_fee,
96
+ shippingFee: item.mos_shipping_fee,
97
+ actualShippingFee: item.mos_actual_shipping_fee,
98
+ marketplaceShippingFeeVoucher: item.mos_marketplace_shipping_fee_voucher,
99
+ sellerShippingFeeVoucher: item.mos_seller_shipping_fee_voucher,
100
+ voucherAmount: item.mo_voucher_amount,
101
+ shippingRebate: item.mo_shipping_rebate,
102
+ commissionFee: item.mo_commission_fee,
103
+ serviceFee: item.mo_service_fee,
104
+ transactionFee: item.mo_transaction_fee,
105
+ totalRealeasedAmount: item.mo_total_realeased_amount,
106
+ voucherCode: item.mo_voucher_code,
107
+ shippingMode: item.mo_shipping_mode,
108
+ status: item.mo_status,
109
+ shippingFeePaidByCustomer: item.moi_shipping_fee_paid_by_customer,
110
+ promotionalCharges: item.moi_promotional_charges,
111
+ ordersMarketplaceFeesTotal: item.moi_orders_marketplace_fees_total,
112
+ ordersMarketingFeesTotal: item.moi_orders_marketing_fees_total,
113
+ ordersSalesTotal: item.moi_orders_sales_total,
114
+ ordersLogisticsTotal: item.moi_orders_logistics_total,
115
+ itemPriceCredit: item.moi_item_price_credit,
116
+ marketplaceBonus: item.moi_marketplace_bonus + item.moi_marketplace_bonus_seller,
117
+ marketplaceBonusSeller: item.moi_marketplace_bonus_seller,
118
+ shippingFeeDiscountMarketplace: item.moi_shipping_fee_discount_marketplace,
119
+ shippingFeeDiscountSeller: item.moi_shipping_fee_discount_seller,
120
+ promotionalChargesFlexiCombo: item.moi_promotional_charges_flexi_combo,
121
+ autoShippingSubsidyMarketplace: item.moi_auto_shipping_subsidy_marketplace,
122
+ grandTotal:
123
+ item.moi_orders_marketplace_fees_total +
124
+ item.moi_orders_marketing_fees_total +
125
+ item.moi_orders_sales_total +
126
+ item.moi_orders_logistics_total,
127
+ originalShippingFee: item.moi_original_shipping_fee,
128
+ taxAmount: item.moi_tax_amount,
129
+ itemCommissionFee: item.moi_commission_fee,
130
+ variationSku: item.mpv_variation_sku,
131
+ address1: item.mos_address_1,
132
+ address2: item.mos_address_2,
133
+ address3: item.mos_address_3,
134
+ city: item.mos_city,
135
+ state: item.mos_state,
136
+ postcode: item.mos_post_code,
137
+ trackingNo: item.moi_tracking_code
138
+ }
139
+ })
140
+
141
+ return { items, total }
142
+ }
143
+ }
@@ -0,0 +1,16 @@
1
+ import { getRepository } from '@things-factory/shell'
2
+
3
+ import { StoreReplenishment } from '../../../entities'
4
+
5
+ export const createStoreReplenishment = {
6
+ async createStoreReplenishment(_: any, { storeReplenishment }, context: ResolverContext) {
7
+ const { domain, user } = context.state
8
+
9
+ return await getRepository(StoreReplenishment).save({
10
+ ...storeReplenishment,
11
+ domain,
12
+ creator: user,
13
+ updater: user
14
+ })
15
+ }
16
+ }
@@ -0,0 +1,13 @@
1
+ import { getRepository } from '@things-factory/shell'
2
+
3
+ import { StoreReplenishment } from '../../../entities'
4
+
5
+ export const deleteStoreReplenishment = {
6
+ async deleteStoreReplenishment(_: any, { name }, context: ResolverContext) {
7
+ const { domain, user } = context.state
8
+
9
+ await getRepository(StoreReplenishment).delete({ domain: { id: domain.id }, name })
10
+
11
+ return true
12
+ }
13
+ }
@@ -0,0 +1,18 @@
1
+ import { In } from 'typeorm'
2
+
3
+ import { getRepository } from '@things-factory/shell'
4
+
5
+ import { StoreReplenishment } from '../../../entities'
6
+
7
+ export const deleteStoreReplenishments = {
8
+ async deleteStoreReplenishments(_: any, { names }, context: ResolverContext) {
9
+ const { domain, user } = context.state
10
+
11
+ await getRepository(StoreReplenishment).delete({
12
+ domain: { id: domain.id },
13
+ name: In(names)
14
+ })
15
+
16
+ return true
17
+ }
18
+ }
@@ -0,0 +1,19 @@
1
+ import { Query, StoreReplenishment } from './store-replenishment-query'
2
+
3
+ import { updateStoreReplenishment } from './update-store-replenishment'
4
+ import { updateMultipleStoreReplenishment } from './update-multiple-store-replenishment'
5
+ import { createStoreReplenishment } from './create-store-replenishment'
6
+ import { deleteStoreReplenishment } from './delete-store-replenishment'
7
+ import { deleteStoreReplenishments } from './delete-store-replenishments'
8
+
9
+ export const StoreReplenishmentResolver = {
10
+ StoreReplenishment,
11
+ Query,
12
+ Mutation: {
13
+ ...updateStoreReplenishment,
14
+ ...updateMultipleStoreReplenishment,
15
+ ...createStoreReplenishment,
16
+ ...deleteStoreReplenishment,
17
+ ...deleteStoreReplenishments
18
+ }
19
+ }
@@ -0,0 +1,52 @@
1
+ import { convertListParams, getRepository, ListParam } from '@things-factory/shell'
2
+
3
+ import { StoreReplenishment as StoreReplenishmentEntity } from '../../../entities'
4
+
5
+ export const Query = {
6
+ async storeReplenishment(_: any, { name }, context: ResolverContext) {
7
+ const { domain, user } = context.state
8
+ const repository = getRepository(StoreReplenishmentEntity)
9
+
10
+ return await repository.findOne({
11
+ where: { domain: { id: domain.id }, name }
12
+ })
13
+ },
14
+
15
+ async storeReplenishments(_: any, params: ListParam, context: ResolverContext) {
16
+ const convertedParams = convertListParams(params)
17
+ const [items, total] = await getRepository(StoreReplenishmentEntity).findAndCount({
18
+ ...convertedParams
19
+ })
20
+
21
+ return { items, total }
22
+ }
23
+ }
24
+
25
+ export const StoreReplenishment = {
26
+ async domain(storeReplenishment) {
27
+ return (
28
+ await getRepository(StoreReplenishmentEntity).findOne({
29
+ where: { id: storeReplenishment.id },
30
+ relations: ['domain']
31
+ })
32
+ )?.domain
33
+ },
34
+
35
+ async updater(storeReplenishment) {
36
+ return (
37
+ await getRepository(StoreReplenishmentEntity).findOne({
38
+ where: { id: storeReplenishment.id },
39
+ relations: ['updater']
40
+ })
41
+ )?.updater
42
+ },
43
+
44
+ async creator(storeReplenishment) {
45
+ return (
46
+ await getRepository(StoreReplenishmentEntity).findOne({
47
+ where: { id: storeReplenishment.id },
48
+ relations: ['creator']
49
+ })
50
+ )?.creator
51
+ }
52
+ }
@@ -0,0 +1,49 @@
1
+ import { getRepository } from '@things-factory/shell'
2
+
3
+ import { StoreReplenishment } from '../../../entities'
4
+
5
+ export const updateMultipleStoreReplenishment = {
6
+ async updateMultipleStoreReplenishment(_: any, { patches }, context: ResolverContext) {
7
+ const { domain, user } = context.state
8
+
9
+ let results = []
10
+ const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
11
+ const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
12
+ const storeReplenishmentRepo = getRepository(StoreReplenishment)
13
+
14
+ if (_createRecords.length > 0) {
15
+ for (let i = 0; i < _createRecords.length; i++) {
16
+ const newRecord = _createRecords[i]
17
+
18
+ const result = await storeReplenishmentRepo.save({
19
+ ...newRecord,
20
+ domain: domain,
21
+ creator: user,
22
+ updater: user
23
+ })
24
+
25
+ results.push({ ...result, cuFlag: '+' })
26
+ }
27
+ }
28
+
29
+ if (_updateRecords.length > 0) {
30
+ for (let i = 0; i < _updateRecords.length; i++) {
31
+ const newRecord = _updateRecords[i]
32
+ const storeReplenishment = await storeReplenishmentRepo.findOneBy({
33
+ domain: { id: domain.id },
34
+ id: newRecord.id
35
+ })
36
+
37
+ const result = await storeReplenishmentRepo.save({
38
+ ...storeReplenishment,
39
+ ...newRecord,
40
+ updater: user
41
+ })
42
+
43
+ results.push({ ...result, cuFlag: 'M' })
44
+ }
45
+ }
46
+
47
+ return results
48
+ }
49
+ }
@@ -0,0 +1,20 @@
1
+ import { getRepository } from '@things-factory/shell'
2
+
3
+ import { StoreReplenishment } from '../../../entities'
4
+
5
+ export const updateStoreReplenishment = {
6
+ async updateStoreReplenishment(_: any, { name, patch }, context: ResolverContext) {
7
+ const { domain, user } = context.state
8
+
9
+ const repository = getRepository(StoreReplenishment)
10
+ const storeReplenishment = await repository.findOne({
11
+ where: { domain: { id: domain.id }, name }
12
+ })
13
+
14
+ return await repository.save({
15
+ ...storeReplenishment,
16
+ ...patch,
17
+ updater: user
18
+ })
19
+ }
20
+ }
@@ -0,0 +1,16 @@
1
+ import { getRepository } from '@things-factory/shell'
2
+
3
+ import { StoreReplenishmentItem } from '../../../entities'
4
+
5
+ export const createStoreReplenishmentItem = {
6
+ async createStoreReplenishmentItem(_: any, { storeReplenishmentItem }, context: ResolverContext) {
7
+ const { domain, user } = context.state
8
+
9
+ return await getRepository(StoreReplenishmentItem).save({
10
+ ...storeReplenishmentItem,
11
+ domain,
12
+ creator: user,
13
+ updater: user
14
+ })
15
+ }
16
+ }
@@ -0,0 +1,13 @@
1
+ import { getRepository } from '@things-factory/shell'
2
+
3
+ import { StoreReplenishmentItem } from '../../../entities'
4
+
5
+ export const deleteStoreReplenishmentItem = {
6
+ async deleteStoreReplenishmentItem(_: any, { name }, context: ResolverContext) {
7
+ const { domain, user } = context.state
8
+
9
+ await getRepository(StoreReplenishmentItem).delete({ domain: { id: domain.id }, name })
10
+
11
+ return true
12
+ }
13
+ }
@@ -0,0 +1,18 @@
1
+ import { In } from 'typeorm'
2
+
3
+ import { getRepository } from '@things-factory/shell'
4
+
5
+ import { StoreReplenishmentItem } from '../../../entities'
6
+
7
+ export const deleteStoreReplenishmentItems = {
8
+ async deleteStoreReplenishmentItems(_: any, { names }, context: ResolverContext) {
9
+ const { domain, user } = context.state
10
+
11
+ await getRepository(StoreReplenishmentItem).delete({
12
+ domain: { id: domain.id },
13
+ name: In(names)
14
+ })
15
+
16
+ return true
17
+ }
18
+ }
@@ -0,0 +1,19 @@
1
+ import { Query, StoreReplenishmentItem } from './store-replenishment-item-query'
2
+
3
+ import { updateStoreReplenishmentItem } from './update-store-replenishment-item'
4
+ import { updateMultipleStoreReplenishmentItem } from './update-multiple-store-replenishment-item'
5
+ import { createStoreReplenishmentItem } from './create-store-replenishment-item'
6
+ import { deleteStoreReplenishmentItem } from './delete-store-replenishment-item'
7
+ import { deleteStoreReplenishmentItems } from './delete-store-replenishment-items'
8
+
9
+ export const StoreReplenishmentItemResolver = {
10
+ StoreReplenishmentItem,
11
+ Query,
12
+ Mutation: {
13
+ ...updateStoreReplenishmentItem,
14
+ ...updateMultipleStoreReplenishmentItem,
15
+ ...createStoreReplenishmentItem,
16
+ ...deleteStoreReplenishmentItem,
17
+ ...deleteStoreReplenishmentItems
18
+ }
19
+ }
@@ -0,0 +1,52 @@
1
+ import { convertListParams, getRepository, ListParam } from '@things-factory/shell'
2
+
3
+ import { StoreReplenishmentItem as StoreReplenishmentItemEntity } from '../../../entities'
4
+
5
+ export const Query = {
6
+ async storeReplenishmentItem(_: any, { name }, context: ResolverContext) {
7
+ const { domain, user } = context.state
8
+ const repository = getRepository(StoreReplenishmentItemEntity)
9
+
10
+ return await repository.findOne({
11
+ where: { domain: { id: domain.id }, name }
12
+ })
13
+ },
14
+
15
+ async storeReplenishmentItems(_: any, params: ListParam, context: ResolverContext) {
16
+ const convertedParams = convertListParams(params)
17
+ const [items, total] = await getRepository(StoreReplenishmentItemEntity).findAndCount({
18
+ ...convertedParams
19
+ })
20
+
21
+ return { items, total }
22
+ }
23
+ }
24
+
25
+ export const StoreReplenishmentItem = {
26
+ async domain(storeReplenishmentItem) {
27
+ return (
28
+ await getRepository(StoreReplenishmentItemEntity).findOne({
29
+ where: { id: storeReplenishmentItem.id },
30
+ relations: ['domain']
31
+ })
32
+ )?.domain
33
+ },
34
+
35
+ async updater(storeReplenishmentItem) {
36
+ return (
37
+ await getRepository(StoreReplenishmentItemEntity).findOne({
38
+ where: { id: storeReplenishmentItem.id },
39
+ relations: ['updater']
40
+ })
41
+ )?.updater
42
+ },
43
+
44
+ async creator(storeReplenishmentItem) {
45
+ return (
46
+ await getRepository(StoreReplenishmentItemEntity).findOne({
47
+ where: { id: storeReplenishmentItem.id },
48
+ relations: ['creator']
49
+ })
50
+ )?.creator
51
+ }
52
+ }
@@ -0,0 +1,49 @@
1
+ import { getRepository } from '@things-factory/shell'
2
+
3
+ import { StoreReplenishmentItem } from '../../../entities'
4
+
5
+ export const updateMultipleStoreReplenishmentItem = {
6
+ async updateMultipleStoreReplenishmentItem(_: any, { patches }, context: ResolverContext) {
7
+ const { domain, user } = context.state
8
+
9
+ let results = []
10
+ const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
11
+ const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
12
+ const storeReplenishmentItemRepo = getRepository(StoreReplenishmentItem)
13
+
14
+ if (_createRecords.length > 0) {
15
+ for (let i = 0; i < _createRecords.length; i++) {
16
+ const newRecord = _createRecords[i]
17
+
18
+ const result = await storeReplenishmentItemRepo.save({
19
+ ...newRecord,
20
+ domain: domain,
21
+ creator: user,
22
+ updater: user
23
+ })
24
+
25
+ results.push({ ...result, cuFlag: '+' })
26
+ }
27
+ }
28
+
29
+ if (_updateRecords.length > 0) {
30
+ for (let i = 0; i < _updateRecords.length; i++) {
31
+ const newRecord = _updateRecords[i]
32
+ const storeReplenishmentItem = await storeReplenishmentItemRepo.findOneBy({
33
+ domain: { id: domain.id },
34
+ id: newRecord.id
35
+ })
36
+
37
+ const result = await storeReplenishmentItemRepo.save({
38
+ ...storeReplenishmentItem,
39
+ ...newRecord,
40
+ updater: user
41
+ })
42
+
43
+ results.push({ ...result, cuFlag: 'M' })
44
+ }
45
+ }
46
+
47
+ return results
48
+ }
49
+ }
@@ -0,0 +1,20 @@
1
+ import { getRepository } from '@things-factory/shell'
2
+
3
+ import { StoreReplenishmentItem } from '../../../entities'
4
+
5
+ export const updateStoreReplenishmentItem = {
6
+ async updateStoreReplenishmentItem(_: any, { name, patch }, context: ResolverContext) {
7
+ const { domain, user } = context.state
8
+
9
+ const repository = getRepository(StoreReplenishmentItem)
10
+ const storeReplenishmentItem = await repository.findOne({
11
+ where: { domain: { id: domain.id }, name }
12
+ })
13
+
14
+ return await repository.save({
15
+ ...storeReplenishmentItem,
16
+ ...patch,
17
+ updater: user
18
+ })
19
+ }
20
+ }
@@ -0,0 +1,13 @@
1
+ export * from './marketplace-order'
2
+ export * from './marketplace-order-item'
3
+ export * from './marketplace-order-shipping'
4
+ export * from './marketplace-product'
5
+ export * from './marketplace-product-attribute'
6
+ export * from './marketplace-product-category'
7
+ export * from './marketplace-product-variation'
8
+ export * from './store-replenishment'
9
+ export * from './store-replenishment-item'
10
+ export * from './marketplace-product-variation-price'
11
+ export * from './marketplace-refund-order'
12
+ export * from './marketplace-report'
13
+ export * from './marketplace-order-shipping-item'
@@ -0,0 +1,13 @@
1
+ import gql from 'graphql-tag'
2
+
3
+ export const DashboardOrder = gql`
4
+ type DashboardOrder {
5
+ date: String
6
+ cancelledCount: Int
7
+ nonCancelledCount: Int
8
+ salesAvg: Float
9
+ shopee: Float
10
+ lazada: Float
11
+ zalora: Float
12
+ }
13
+ `