@medusajs/medusa 1.3.2 → 1.3.3-alpha.26

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 (495) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/api/index.d.ts +15 -14
  3. package/dist/api/index.js +15 -14
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/middlewares/authenticate-customer.d.ts +2 -1
  6. package/dist/api/middlewares/authenticate-customer.js +1 -2
  7. package/dist/api/middlewares/authenticate-customer.js.map +1 -1
  8. package/dist/api/middlewares/authenticate.d.ts +2 -1
  9. package/dist/api/middlewares/authenticate.js.map +1 -1
  10. package/dist/api/middlewares/await-middleware.d.ts +3 -1
  11. package/dist/api/middlewares/await-middleware.js +2 -31
  12. package/dist/api/middlewares/await-middleware.js.map +1 -1
  13. package/dist/api/middlewares/error-handler.d.ts +3 -1
  14. package/dist/api/middlewares/error-handler.js.map +1 -1
  15. package/dist/api/middlewares/feature-flag-enabled.d.ts +2 -0
  16. package/dist/{services/transaction.js → api/middlewares/feature-flag-enabled.js} +18 -35
  17. package/dist/api/middlewares/feature-flag-enabled.js.map +1 -0
  18. package/dist/api/middlewares/index.d.ts +10 -10
  19. package/dist/api/middlewares/index.js +5 -1
  20. package/dist/api/middlewares/index.js.map +1 -1
  21. package/dist/api/middlewares/normalized-query.d.ts +6 -1
  22. package/dist/api/middlewares/normalized-query.js +5 -2
  23. package/dist/api/middlewares/normalized-query.js.map +1 -1
  24. package/dist/api/middlewares/transform-body.d.ts +4 -0
  25. package/dist/api/middlewares/transform-body.js +66 -0
  26. package/dist/api/middlewares/transform-body.js.map +1 -0
  27. package/dist/api/middlewares/transform-query.d.ts +6 -0
  28. package/dist/api/middlewares/transform-query.js +86 -0
  29. package/dist/api/middlewares/transform-query.js.map +1 -0
  30. package/dist/api/routes/admin/batch/cancel-batch-job.d.ts +22 -0
  31. package/dist/api/routes/admin/batch/cancel-batch-job.js +74 -0
  32. package/dist/api/routes/admin/batch/cancel-batch-job.js.map +1 -0
  33. package/dist/api/routes/admin/batch/confirm-batch-job.d.ts +22 -0
  34. package/dist/api/routes/admin/batch/confirm-batch-job.js +74 -0
  35. package/dist/api/routes/admin/batch/confirm-batch-job.js.map +1 -0
  36. package/dist/api/routes/admin/batch/create-batch-job.d.ts +30 -0
  37. package/dist/api/routes/admin/batch/create-batch-job.js +125 -0
  38. package/dist/api/routes/admin/batch/create-batch-job.js.map +1 -0
  39. package/dist/api/routes/admin/batch/get-batch-job.d.ts +22 -0
  40. package/dist/api/routes/admin/batch/get-batch-job.js +67 -0
  41. package/dist/api/routes/admin/batch/get-batch-job.js.map +1 -0
  42. package/dist/api/routes/admin/batch/index.d.ts +4 -0
  43. package/dist/api/routes/admin/batch/index.js +36 -7
  44. package/dist/api/routes/admin/batch/index.js.map +1 -1
  45. package/dist/api/routes/admin/batch/list-batch-jobs.d.ts +15 -7
  46. package/dist/api/routes/admin/batch/list-batch-jobs.js +61 -46
  47. package/dist/api/routes/admin/batch/list-batch-jobs.js.map +1 -1
  48. package/dist/api/routes/admin/collections/add-products.d.ts +2 -1
  49. package/dist/api/routes/admin/collections/add-products.js +4 -7
  50. package/dist/api/routes/admin/collections/add-products.js.map +1 -1
  51. package/dist/api/routes/admin/collections/create-collection.d.ts +2 -1
  52. package/dist/api/routes/admin/collections/create-collection.js +6 -8
  53. package/dist/api/routes/admin/collections/create-collection.js.map +1 -1
  54. package/dist/api/routes/admin/collections/delete-collection.d.ts +2 -1
  55. package/dist/api/routes/admin/collections/delete-collection.js.map +1 -1
  56. package/dist/api/routes/admin/collections/get-collection.d.ts +2 -1
  57. package/dist/api/routes/admin/collections/get-collection.js +4 -5
  58. package/dist/api/routes/admin/collections/get-collection.js.map +1 -1
  59. package/dist/api/routes/admin/collections/index.js +32 -12
  60. package/dist/api/routes/admin/collections/index.js.map +1 -1
  61. package/dist/api/routes/admin/collections/list-collections.d.ts +2 -1
  62. package/dist/api/routes/admin/collections/list-collections.js +9 -19
  63. package/dist/api/routes/admin/collections/list-collections.js.map +1 -1
  64. package/dist/api/routes/admin/collections/remove-products.d.ts +2 -1
  65. package/dist/api/routes/admin/collections/remove-products.js +5 -8
  66. package/dist/api/routes/admin/collections/remove-products.js.map +1 -1
  67. package/dist/api/routes/admin/collections/update-collection.d.ts +2 -1
  68. package/dist/api/routes/admin/collections/update-collection.js +5 -8
  69. package/dist/api/routes/admin/collections/update-collection.js.map +1 -1
  70. package/dist/api/routes/admin/customer-groups/add-customers-batch.d.ts +2 -1
  71. package/dist/api/routes/admin/customer-groups/add-customers-batch.js.map +1 -1
  72. package/dist/api/routes/admin/customer-groups/create-customer-group.d.ts +2 -1
  73. package/dist/api/routes/admin/customer-groups/create-customer-group.js.map +1 -1
  74. package/dist/api/routes/admin/customer-groups/delete-customer-group.d.ts +2 -1
  75. package/dist/api/routes/admin/customer-groups/delete-customer-group.js.map +1 -1
  76. package/dist/api/routes/admin/customer-groups/delete-customers-batch.d.ts +2 -1
  77. package/dist/api/routes/admin/customer-groups/delete-customers-batch.js.map +1 -1
  78. package/dist/api/routes/admin/customer-groups/get-customer-group-customers.d.ts +2 -1
  79. package/dist/api/routes/admin/customer-groups/get-customer-group-customers.js.map +1 -1
  80. package/dist/api/routes/admin/customer-groups/get-customer-group.d.ts +2 -1
  81. package/dist/api/routes/admin/customer-groups/get-customer-group.js +3 -17
  82. package/dist/api/routes/admin/customer-groups/get-customer-group.js.map +1 -1
  83. package/dist/api/routes/admin/customer-groups/index.js +29 -11
  84. package/dist/api/routes/admin/customer-groups/index.js.map +1 -1
  85. package/dist/api/routes/admin/customer-groups/list-customer-groups.d.ts +2 -1
  86. package/dist/api/routes/admin/customer-groups/list-customer-groups.js +10 -45
  87. package/dist/api/routes/admin/customer-groups/list-customer-groups.js.map +1 -1
  88. package/dist/api/routes/admin/customer-groups/update-customer-group.d.ts +2 -1
  89. package/dist/api/routes/admin/customer-groups/update-customer-group.js.map +1 -1
  90. package/dist/api/routes/admin/customers/create-customer.d.ts +1 -1
  91. package/dist/api/routes/admin/customers/create-customer.js.map +1 -1
  92. package/dist/api/routes/admin/customers/update-customer.d.ts +1 -1
  93. package/dist/api/routes/admin/customers/update-customer.js.map +1 -1
  94. package/dist/api/routes/admin/draft-orders/index.d.ts +1 -1
  95. package/dist/api/routes/admin/draft-orders/index.js +1 -0
  96. package/dist/api/routes/admin/draft-orders/index.js.map +1 -1
  97. package/dist/api/routes/admin/draft-orders/list-draft-orders.js +7 -6
  98. package/dist/api/routes/admin/draft-orders/list-draft-orders.js.map +1 -1
  99. package/dist/api/routes/admin/gift-cards/create-gift-card.d.ts +2 -2
  100. package/dist/api/routes/admin/gift-cards/create-gift-card.js +0 -1
  101. package/dist/api/routes/admin/gift-cards/create-gift-card.js.map +1 -1
  102. package/dist/api/routes/admin/gift-cards/index.d.ts +1 -1
  103. package/dist/api/routes/admin/gift-cards/index.js +19 -5
  104. package/dist/api/routes/admin/gift-cards/index.js.map +1 -1
  105. package/dist/api/routes/admin/gift-cards/list-gift-cards.js +24 -18
  106. package/dist/api/routes/admin/gift-cards/list-gift-cards.js.map +1 -1
  107. package/dist/api/routes/admin/gift-cards/update-gift-card.d.ts +1 -1
  108. package/dist/api/routes/admin/gift-cards/update-gift-card.js.map +1 -1
  109. package/dist/api/routes/admin/orders/create-claim.d.ts +4 -14
  110. package/dist/api/routes/admin/orders/create-claim.js +3 -14
  111. package/dist/api/routes/admin/orders/create-claim.js.map +1 -1
  112. package/dist/api/routes/admin/orders/fulfill-claim.d.ts +1 -1
  113. package/dist/api/routes/admin/orders/fulfill-claim.js.map +1 -1
  114. package/dist/api/routes/admin/orders/update-claim.d.ts +1 -1
  115. package/dist/api/routes/admin/orders/update-claim.js.map +1 -1
  116. package/dist/api/routes/admin/price-lists/create-price-list.d.ts +2 -1
  117. package/dist/api/routes/admin/price-lists/create-price-list.js +4 -7
  118. package/dist/api/routes/admin/price-lists/create-price-list.js.map +1 -1
  119. package/dist/api/routes/admin/price-lists/index.js +26 -7
  120. package/dist/api/routes/admin/price-lists/index.js.map +1 -1
  121. package/dist/api/routes/admin/price-lists/list-price-list-products.d.ts +3 -7
  122. package/dist/api/routes/admin/price-lists/list-price-list-products.js +21 -59
  123. package/dist/api/routes/admin/price-lists/list-price-list-products.js.map +1 -1
  124. package/dist/api/routes/admin/price-lists/list-price-lists.d.ts +2 -1
  125. package/dist/api/routes/admin/price-lists/list-price-lists.js +8 -40
  126. package/dist/api/routes/admin/price-lists/list-price-lists.js.map +1 -1
  127. package/dist/api/routes/admin/products/add-option.js +26 -6
  128. package/dist/api/routes/admin/products/add-option.js.map +1 -1
  129. package/dist/api/routes/admin/products/create-product.d.ts +3 -3
  130. package/dist/api/routes/admin/products/create-product.js +13 -9
  131. package/dist/api/routes/admin/products/create-product.js.map +1 -1
  132. package/dist/api/routes/admin/products/delete-variant.js +26 -6
  133. package/dist/api/routes/admin/products/delete-variant.js.map +1 -1
  134. package/dist/api/routes/admin/products/get-product.js +24 -4
  135. package/dist/api/routes/admin/products/get-product.js.map +1 -1
  136. package/dist/api/routes/admin/products/index.d.ts +3 -2
  137. package/dist/api/routes/admin/products/index.js +1 -4
  138. package/dist/api/routes/admin/products/index.js.map +1 -1
  139. package/dist/api/routes/admin/products/list-products.d.ts +1 -6
  140. package/dist/api/routes/admin/products/list-products.js +3 -9
  141. package/dist/api/routes/admin/products/list-products.js.map +1 -1
  142. package/dist/api/routes/admin/products/update-product.d.ts +3 -3
  143. package/dist/api/routes/admin/products/update-product.js +28 -7
  144. package/dist/api/routes/admin/products/update-product.js.map +1 -1
  145. package/dist/api/routes/admin/products/update-variant.js +27 -10
  146. package/dist/api/routes/admin/products/update-variant.js.map +1 -1
  147. package/dist/api/routes/admin/shipping-options/list-shipping-options.js +6 -2
  148. package/dist/api/routes/admin/shipping-options/list-shipping-options.js.map +1 -1
  149. package/dist/api/routes/admin/store/get-store.js +4 -2
  150. package/dist/api/routes/admin/store/get-store.js.map +1 -1
  151. package/dist/api/routes/admin/store/update-store.d.ts +1 -0
  152. package/dist/api/routes/admin/store/update-store.js +5 -0
  153. package/dist/api/routes/admin/store/update-store.js.map +1 -1
  154. package/dist/api/routes/admin/uploads/create-upload.d.ts +1 -1
  155. package/dist/api/routes/admin/uploads/create-upload.js +5 -5
  156. package/dist/api/routes/admin/uploads/create-upload.js.map +1 -1
  157. package/dist/api/routes/admin/uploads/delete-upload.d.ts +4 -1
  158. package/dist/api/routes/admin/uploads/delete-upload.js +29 -11
  159. package/dist/api/routes/admin/uploads/delete-upload.js.map +1 -1
  160. package/dist/api/routes/admin/uploads/get-download-url.d.ts +28 -0
  161. package/dist/api/routes/admin/uploads/get-download-url.js +99 -0
  162. package/dist/api/routes/admin/uploads/get-download-url.js.map +1 -0
  163. package/dist/api/routes/admin/uploads/index.d.ts +10 -3
  164. package/dist/api/routes/admin/uploads/index.js +19 -4
  165. package/dist/api/routes/admin/uploads/index.js.map +1 -1
  166. package/dist/api/routes/store/carts/add-shipping-method.js +6 -2
  167. package/dist/api/routes/store/carts/add-shipping-method.js.map +1 -1
  168. package/dist/api/routes/store/carts/calculate-taxes.js +9 -2
  169. package/dist/api/routes/store/carts/calculate-taxes.js.map +1 -1
  170. package/dist/api/routes/store/carts/create-cart.js +6 -2
  171. package/dist/api/routes/store/carts/create-cart.js.map +1 -1
  172. package/dist/api/routes/store/carts/create-line-item.js +6 -2
  173. package/dist/api/routes/store/carts/create-line-item.js.map +1 -1
  174. package/dist/api/routes/store/carts/create-payment-sessions.js +6 -2
  175. package/dist/api/routes/store/carts/create-payment-sessions.js.map +1 -1
  176. package/dist/api/routes/store/carts/decorate-line-items-with-totals.d.ts +5 -0
  177. package/dist/api/routes/store/carts/decorate-line-items-with-totals.js +71 -0
  178. package/dist/api/routes/store/carts/decorate-line-items-with-totals.js.map +1 -0
  179. package/dist/api/routes/store/carts/delete-discount.js +6 -2
  180. package/dist/api/routes/store/carts/delete-discount.js.map +1 -1
  181. package/dist/api/routes/store/carts/delete-line-item.js +6 -2
  182. package/dist/api/routes/store/carts/delete-line-item.js.map +1 -1
  183. package/dist/api/routes/store/carts/delete-payment-session.js +6 -2
  184. package/dist/api/routes/store/carts/delete-payment-session.js.map +1 -1
  185. package/dist/api/routes/store/carts/get-cart.js +6 -2
  186. package/dist/api/routes/store/carts/get-cart.js.map +1 -1
  187. package/dist/api/routes/store/carts/refresh-payment-session.js +6 -2
  188. package/dist/api/routes/store/carts/refresh-payment-session.js.map +1 -1
  189. package/dist/api/routes/store/carts/set-payment-session.js +6 -2
  190. package/dist/api/routes/store/carts/set-payment-session.js.map +1 -1
  191. package/dist/api/routes/store/carts/update-cart.js +6 -2
  192. package/dist/api/routes/store/carts/update-cart.js.map +1 -1
  193. package/dist/api/routes/store/carts/update-line-item.js +6 -2
  194. package/dist/api/routes/store/carts/update-line-item.js.map +1 -1
  195. package/dist/api/routes/store/carts/update-payment-session.js +6 -2
  196. package/dist/api/routes/store/carts/update-payment-session.js.map +1 -1
  197. package/dist/api/routes/store/customers/get-payment-methods.js +6 -7
  198. package/dist/api/routes/store/customers/get-payment-methods.js.map +1 -1
  199. package/dist/api/routes/store/customers/index.d.ts +1 -1
  200. package/dist/api/routes/store/customers/index.js.map +1 -1
  201. package/dist/api/routes/store/customers/update-address.js +1 -1
  202. package/dist/api/routes/store/customers/update-address.js.map +1 -1
  203. package/dist/api/routes/store/customers/update-customer.d.ts +1 -1
  204. package/dist/api/routes/store/customers/update-customer.js.map +1 -1
  205. package/dist/api/routes/store/gift-cards/index.d.ts +1 -1
  206. package/dist/api/routes/store/gift-cards/index.js +6 -1
  207. package/dist/api/routes/store/gift-cards/index.js.map +1 -1
  208. package/dist/api/routes/store/products/get-product.js +51 -12
  209. package/dist/api/routes/store/products/get-product.js.map +1 -1
  210. package/dist/api/routes/store/products/list-products.js +30 -7
  211. package/dist/api/routes/store/products/list-products.js.map +1 -1
  212. package/dist/api/routes/store/shipping-options/list-options.js +6 -2
  213. package/dist/api/routes/store/shipping-options/list-options.js.map +1 -1
  214. package/dist/api/routes/store/shipping-options/list-shipping-options.js +8 -2
  215. package/dist/api/routes/store/shipping-options/list-shipping-options.js.map +1 -1
  216. package/dist/api/routes/store/variants/get-variant.js +51 -12
  217. package/dist/api/routes/store/variants/get-variant.js.map +1 -1
  218. package/dist/api/routes/store/variants/list-variants.js +29 -6
  219. package/dist/api/routes/store/variants/list-variants.js.map +1 -1
  220. package/dist/commands/migrate.js +29 -14
  221. package/dist/commands/migrate.js.map +1 -1
  222. package/dist/commands/seed.js +14 -10
  223. package/dist/commands/seed.js.map +1 -1
  224. package/dist/commands/start.js +1 -1
  225. package/dist/commands/utils/get-migrations.d.ts +2 -1
  226. package/dist/commands/utils/get-migrations.js +95 -36
  227. package/dist/commands/utils/get-migrations.js.map +1 -1
  228. package/dist/controllers/products/admin-list-products.js +16 -8
  229. package/dist/controllers/products/admin-list-products.js.map +1 -1
  230. package/dist/helpers/test-request.js +21 -15
  231. package/dist/helpers/test-request.js.map +1 -1
  232. package/dist/interfaces/abstract-parser.d.ts +25 -0
  233. package/dist/interfaces/abstract-parser.js +14 -0
  234. package/dist/interfaces/abstract-parser.js.map +1 -0
  235. package/dist/interfaces/batch-job-strategy.d.ts +34 -0
  236. package/dist/interfaces/batch-job-strategy.js +182 -0
  237. package/dist/interfaces/batch-job-strategy.js.map +1 -0
  238. package/dist/interfaces/csv-parser.d.ts +46 -0
  239. package/dist/interfaces/csv-parser.js +15 -0
  240. package/dist/interfaces/csv-parser.js.map +1 -0
  241. package/dist/interfaces/file-service.d.ts +66 -0
  242. package/dist/interfaces/file-service.js +32 -0
  243. package/dist/interfaces/file-service.js.map +1 -0
  244. package/dist/interfaces/index.d.ts +2 -0
  245. package/dist/interfaces/index.js +2 -0
  246. package/dist/interfaces/index.js.map +1 -1
  247. package/dist/loaders/config.js +3 -2
  248. package/dist/loaders/config.js.map +1 -1
  249. package/dist/loaders/feature-flags/index.d.ts +6 -0
  250. package/dist/loaders/feature-flags/index.js +71 -0
  251. package/dist/loaders/feature-flags/index.js.map +1 -0
  252. package/dist/loaders/index.d.ts +1 -1
  253. package/dist/loaders/index.js +8 -5
  254. package/dist/loaders/index.js.map +1 -1
  255. package/dist/loaders/plugins.d.ts +4 -3
  256. package/dist/loaders/plugins.js +71 -34
  257. package/dist/loaders/plugins.js.map +1 -1
  258. package/dist/loaders/redis.d.ts +1 -1
  259. package/dist/loaders/redis.js.map +1 -1
  260. package/dist/loaders/search-index.js +1 -0
  261. package/dist/loaders/search-index.js.map +1 -1
  262. package/dist/loaders/strategies.d.ts +2 -2
  263. package/dist/loaders/strategies.js +21 -7
  264. package/dist/loaders/strategies.js.map +1 -1
  265. package/dist/migrations/1657267320181-extended_batch_job.d.ts +6 -0
  266. package/dist/migrations/1657267320181-extended_batch_job.js +137 -0
  267. package/dist/migrations/1657267320181-extended_batch_job.js.map +1 -0
  268. package/dist/models/batch-job.d.ts +45 -4
  269. package/dist/models/batch-job.js +94 -7
  270. package/dist/models/batch-job.js.map +1 -1
  271. package/dist/models/customer.d.ts +1 -1
  272. package/dist/models/customer.js +1 -1
  273. package/dist/models/customer.js.map +1 -1
  274. package/dist/models/draft-order.d.ts +1 -2
  275. package/dist/models/draft-order.js +2 -2
  276. package/dist/models/draft-order.js.map +1 -1
  277. package/dist/models/line-item.d.ts +9 -2
  278. package/dist/models/line-item.js +2 -2
  279. package/dist/models/line-item.js.map +1 -1
  280. package/dist/models/product.d.ts +17 -17
  281. package/dist/models/product.js +34 -34
  282. package/dist/models/product.js.map +1 -1
  283. package/dist/models/shipping-method.d.ts +1 -1
  284. package/dist/models/shipping-method.js +1 -1
  285. package/dist/models/shipping-method.js.map +1 -1
  286. package/dist/models/shipping-option.d.ts +1 -1
  287. package/dist/models/shipping-option.js +1 -1
  288. package/dist/models/shipping-option.js.map +1 -1
  289. package/dist/repositories/customer.d.ts +2 -1
  290. package/dist/repositories/customer.js +18 -7
  291. package/dist/repositories/customer.js.map +1 -1
  292. package/dist/repositories/gift-card.d.ts +5 -1
  293. package/dist/repositories/gift-card.js +124 -29
  294. package/dist/repositories/gift-card.js.map +1 -1
  295. package/dist/repositories/image.d.ts +1 -0
  296. package/dist/repositories/image.js +100 -0
  297. package/dist/repositories/image.js.map +1 -1
  298. package/dist/repositories/price-list.js.map +1 -1
  299. package/dist/repositories/product-tag.d.ts +6 -0
  300. package/dist/repositories/product-tag.js +113 -0
  301. package/dist/repositories/product-tag.js.map +1 -1
  302. package/dist/repositories/product-type.d.ts +5 -0
  303. package/dist/repositories/product-type.js +64 -0
  304. package/dist/repositories/product-type.js.map +1 -1
  305. package/dist/repositories/product-variant.js +4 -5
  306. package/dist/repositories/product-variant.js.map +1 -1
  307. package/dist/repositories/product.d.ts +14 -17
  308. package/dist/repositories/product.js +64 -2
  309. package/dist/repositories/product.js.map +1 -1
  310. package/dist/repositories/tax-rate.d.ts +1 -1
  311. package/dist/repositories/tax-rate.js +2 -9
  312. package/dist/repositories/tax-rate.js.map +1 -1
  313. package/dist/services/auth.d.ts +16 -7
  314. package/dist/services/auth.js +130 -93
  315. package/dist/services/auth.js.map +1 -1
  316. package/dist/services/batch-job.d.ts +30 -5
  317. package/dist/services/batch-job.js +437 -2
  318. package/dist/services/batch-job.js.map +1 -1
  319. package/dist/services/cart.js +34 -13
  320. package/dist/services/cart.js.map +1 -1
  321. package/dist/services/claim-item.d.ts +23 -27
  322. package/dist/services/claim-item.js +217 -247
  323. package/dist/services/claim-item.js.map +1 -1
  324. package/dist/services/claim.d.ts +89 -71
  325. package/dist/services/claim.js +911 -879
  326. package/dist/services/claim.js.map +1 -1
  327. package/dist/services/csv-parser.d.ts +17 -0
  328. package/dist/services/csv-parser.js +319 -0
  329. package/dist/services/csv-parser.js.map +1 -0
  330. package/dist/services/custom-shipping-option.d.ts +30 -32
  331. package/dist/services/custom-shipping-option.js +78 -74
  332. package/dist/services/custom-shipping-option.js.map +1 -1
  333. package/dist/services/customer.d.ts +48 -50
  334. package/dist/services/customer.js +465 -428
  335. package/dist/services/customer.js.map +1 -1
  336. package/dist/services/discount-condition.d.ts +13 -13
  337. package/dist/services/discount-condition.js +5 -16
  338. package/dist/services/discount-condition.js.map +1 -1
  339. package/dist/services/discount.d.ts +22 -16
  340. package/dist/services/discount.js +530 -484
  341. package/dist/services/discount.js.map +1 -1
  342. package/dist/services/draft-order.d.ts +69 -66
  343. package/dist/services/draft-order.js +375 -353
  344. package/dist/services/draft-order.js.map +1 -1
  345. package/dist/services/event-bus.d.ts +72 -56
  346. package/dist/services/event-bus.js +122 -99
  347. package/dist/services/event-bus.js.map +1 -1
  348. package/dist/services/file.d.ts +14 -0
  349. package/dist/services/file.js +43 -0
  350. package/dist/services/file.js.map +1 -0
  351. package/dist/services/fulfillment.d.ts +63 -64
  352. package/dist/services/fulfillment.js +200 -194
  353. package/dist/services/fulfillment.js.map +1 -1
  354. package/dist/services/gift-card.d.ts +54 -45
  355. package/dist/services/gift-card.js +239 -221
  356. package/dist/services/gift-card.js.map +1 -1
  357. package/dist/services/idempotency-key.d.ts +1 -5
  358. package/dist/services/idempotency-key.js +2 -5
  359. package/dist/services/idempotency-key.js.map +1 -1
  360. package/dist/services/index.d.ts +11 -9
  361. package/dist/services/index.js +23 -19
  362. package/dist/services/index.js.map +1 -1
  363. package/dist/services/line-item.d.ts +3 -2
  364. package/dist/services/line-item.js +9 -7
  365. package/dist/services/line-item.js.map +1 -1
  366. package/dist/services/price-list.d.ts +4 -1
  367. package/dist/services/price-list.js +7 -4
  368. package/dist/services/price-list.js.map +1 -1
  369. package/dist/services/pricing.d.ts +101 -0
  370. package/dist/services/pricing.js +588 -0
  371. package/dist/services/pricing.js.map +1 -0
  372. package/dist/services/product-variant.d.ts +0 -11
  373. package/dist/services/product-variant.js +28 -138
  374. package/dist/services/product-variant.js.map +1 -1
  375. package/dist/services/product.d.ts +107 -145
  376. package/dist/services/product.js +708 -1036
  377. package/dist/services/product.js.map +1 -1
  378. package/dist/services/region.js +4 -4
  379. package/dist/services/region.js.map +1 -1
  380. package/dist/services/shipping-option.d.ts +43 -108
  381. package/dist/services/shipping-option.js +305 -352
  382. package/dist/services/shipping-option.js.map +1 -1
  383. package/dist/services/shipping-profile.d.ts +2 -2
  384. package/dist/services/shipping-profile.js +1 -1
  385. package/dist/services/store.d.ts +36 -45
  386. package/dist/services/store.js +207 -217
  387. package/dist/services/store.js.map +1 -1
  388. package/dist/services/strategy-resolver.d.ts +13 -0
  389. package/dist/services/strategy-resolver.js +40 -0
  390. package/dist/services/strategy-resolver.js.map +1 -0
  391. package/dist/services/tax-provider.d.ts +7 -3
  392. package/dist/services/tax-provider.js +6 -6
  393. package/dist/services/tax-provider.js.map +1 -1
  394. package/dist/services/tax-rate.d.ts +1 -1
  395. package/dist/services/tax-rate.js +2 -2
  396. package/dist/services/tax-rate.js.map +1 -1
  397. package/dist/services/totals.js.map +1 -1
  398. package/dist/services/user.d.ts +8 -9
  399. package/dist/services/user.js +216 -168
  400. package/dist/services/user.js.map +1 -1
  401. package/dist/strategies/__fixtures__/order-export-data.d.ts +3 -0
  402. package/dist/strategies/__fixtures__/order-export-data.js +70 -0
  403. package/dist/strategies/__fixtures__/order-export-data.js.map +1 -0
  404. package/dist/strategies/__fixtures__/product-export-data.d.ts +319 -0
  405. package/dist/strategies/__fixtures__/product-export-data.js +401 -0
  406. package/dist/strategies/__fixtures__/product-export-data.js.map +1 -0
  407. package/dist/strategies/batch-jobs/order/export.d.ts +36 -0
  408. package/dist/strategies/batch-jobs/order/export.js +351 -0
  409. package/dist/strategies/batch-jobs/order/export.js.map +1 -0
  410. package/dist/strategies/batch-jobs/order/index.d.ts +29 -0
  411. package/dist/strategies/batch-jobs/order/index.js +115 -0
  412. package/dist/strategies/batch-jobs/order/index.js.map +1 -0
  413. package/dist/strategies/batch-jobs/product/export.d.ts +36 -0
  414. package/dist/strategies/batch-jobs/product/export.js +546 -0
  415. package/dist/strategies/batch-jobs/product/export.js.map +1 -0
  416. package/dist/strategies/batch-jobs/product/index.d.ts +45 -0
  417. package/dist/strategies/batch-jobs/product/index.js +272 -0
  418. package/dist/strategies/batch-jobs/product/index.js.map +1 -0
  419. package/dist/subscribers/batch-job.d.ts +17 -0
  420. package/dist/subscribers/batch-job.js +96 -0
  421. package/dist/subscribers/batch-job.js.map +1 -0
  422. package/dist/types/batch-job.d.ts +23 -2
  423. package/dist/types/batch-job.js +4 -1
  424. package/dist/types/batch-job.js.map +1 -1
  425. package/dist/types/claim.d.ts +67 -0
  426. package/dist/types/claim.js +3 -0
  427. package/dist/types/claim.js.map +1 -0
  428. package/dist/types/common.d.ts +27 -3
  429. package/dist/types/common.js.map +1 -1
  430. package/dist/types/customers.d.ts +24 -0
  431. package/dist/types/customers.js.map +1 -1
  432. package/dist/types/discount.d.ts +2 -1
  433. package/dist/types/discount.js.map +1 -1
  434. package/dist/types/feature-flags.d.ts +9 -0
  435. package/dist/types/feature-flags.js +3 -0
  436. package/dist/types/feature-flags.js.map +1 -0
  437. package/dist/types/fulfillment.d.ts +27 -0
  438. package/dist/types/fulfillment.js +3 -0
  439. package/dist/types/fulfillment.js.map +1 -0
  440. package/dist/types/gift-card.d.ts +21 -0
  441. package/dist/types/gift-card.js +3 -0
  442. package/dist/types/gift-card.js.map +1 -0
  443. package/dist/types/global.d.ts +12 -1
  444. package/dist/types/price-list.d.ts +9 -0
  445. package/dist/types/pricing.d.ts +30 -0
  446. package/dist/types/pricing.js +3 -0
  447. package/dist/types/pricing.js.map +1 -0
  448. package/dist/types/product-variant.d.ts +4 -3
  449. package/dist/types/product-variant.js.map +1 -1
  450. package/dist/types/product.d.ts +110 -8
  451. package/dist/types/product.js +8 -11
  452. package/dist/types/product.js.map +1 -1
  453. package/dist/types/shipping-options.d.ts +62 -0
  454. package/dist/types/shipping-options.js +3 -0
  455. package/dist/types/shipping-options.js.map +1 -0
  456. package/dist/types/store.d.ts +9 -0
  457. package/dist/types/store.js +3 -0
  458. package/dist/types/store.js.map +1 -0
  459. package/dist/utils/build-query.d.ts +7 -7
  460. package/dist/utils/build-query.js +9 -5
  461. package/dist/utils/build-query.js.map +1 -1
  462. package/dist/utils/countries.d.ts +3 -2
  463. package/dist/utils/countries.js.map +1 -1
  464. package/dist/utils/currencies.d.ts +10 -1899
  465. package/dist/utils/currencies.js.map +1 -1
  466. package/dist/utils/db-aware-column.js +2 -2
  467. package/dist/utils/db-aware-column.js.map +1 -1
  468. package/dist/utils/feature-flag-decorators.d.ts +4 -0
  469. package/dist/utils/feature-flag-decorators.js +52 -0
  470. package/dist/utils/feature-flag-decorators.js.map +1 -0
  471. package/dist/utils/flag-router.d.ts +7 -0
  472. package/dist/utils/flag-router.js +19 -0
  473. package/dist/utils/flag-router.js.map +1 -0
  474. package/dist/utils/format-registration-name.d.ts +4 -4
  475. package/dist/utils/format-registration-name.js +7 -10
  476. package/dist/utils/format-registration-name.js.map +1 -1
  477. package/dist/utils/get-query-config.d.ts +4 -6
  478. package/dist/utils/get-query-config.js +46 -1
  479. package/dist/utils/get-query-config.js.map +1 -1
  480. package/dist/utils/omit-relation-if-exists.d.ts +7 -0
  481. package/dist/utils/omit-relation-if-exists.js +16 -0
  482. package/dist/utils/omit-relation-if-exists.js.map +1 -0
  483. package/dist/utils/set-metadata.d.ts +6 -6
  484. package/dist/utils/set-metadata.js +5 -5
  485. package/dist/utils/set-metadata.js.map +1 -1
  486. package/dist/utils/sleep.d.ts +1 -0
  487. package/dist/utils/sleep.js +50 -0
  488. package/dist/utils/sleep.js.map +1 -0
  489. package/package.json +6 -4
  490. package/yarn-error.log +29038 -0
  491. package/dist/scripts/mongo-sql-migration.d.ts +0 -2
  492. package/dist/scripts/mongo-sql-migration.js +0 -1603
  493. package/dist/scripts/mongo-sql-migration.js.map +0 -1
  494. package/dist/services/transaction.d.ts +0 -6
  495. package/dist/services/transaction.js.map +0 -1
@@ -14,6 +14,17 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
17
28
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
29
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
30
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -56,17 +67,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
56
67
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
57
68
  }
58
69
  };
59
- var __values = (this && this.__values) || function(o) {
60
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
61
- if (m) return m.call(o);
62
- if (o && typeof o.length === "number") return {
63
- next: function () {
64
- if (o && i >= o.length) o = void 0;
65
- return { value: o && o[i++], done: !o };
66
- }
67
- };
68
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
69
- };
70
70
  var __read = (this && this.__read) || function (o, n) {
71
71
  var m = typeof Symbol === "function" && o[Symbol.iterator];
72
72
  if (!m) return o;
@@ -83,6 +83,17 @@ var __read = (this && this.__read) || function (o, n) {
83
83
  }
84
84
  return ar;
85
85
  };
86
+ var __values = (this && this.__values) || function(o) {
87
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
88
+ if (m) return m.call(o);
89
+ if (o && typeof o.length === "number") return {
90
+ next: function () {
91
+ if (o && i >= o.length) o = void 0;
92
+ return { value: o && o[i++], done: !o };
93
+ }
94
+ };
95
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
96
+ };
86
97
  var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
87
98
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
88
99
  if (ar || !(i in from)) {
@@ -106,21 +117,26 @@ var GiftCardRepository = /** @class */ (function (_super) {
106
117
  if (relations === void 0) { relations = []; }
107
118
  if (idsOrOptionsWithoutRelations === void 0) { idsOrOptionsWithoutRelations = {}; }
108
119
  return __awaiter(this, void 0, void 0, function () {
109
- var entities, entitiesIds, groupedRelations, relations_1, relations_1_1, rel, _a, topLevel, entitiesIdsWithRelations, entitiesAndRelations, entitiesAndRelationsById;
110
- var e_1, _b;
120
+ var entities, count, _a, results, resultCount, entitiesIds, groupedRelations, relations_1, relations_1_1, rel, _b, topLevel, entitiesIdsWithRelations, entitiesAndRelations, entitiesAndRelationsById;
121
+ var e_1, _c;
111
122
  var _this = this;
112
- return __generator(this, function (_c) {
113
- switch (_c.label) {
123
+ return __generator(this, function (_d) {
124
+ switch (_d.label) {
114
125
  case 0:
126
+ entities = [];
127
+ count = 0;
115
128
  if (!Array.isArray(idsOrOptionsWithoutRelations)) return [3 /*break*/, 2];
116
129
  return [4 /*yield*/, this.findByIds(idsOrOptionsWithoutRelations)];
117
130
  case 1:
118
- entities = _c.sent();
131
+ entities = _d.sent();
132
+ count = idsOrOptionsWithoutRelations.length;
119
133
  return [3 /*break*/, 4];
120
- case 2: return [4 /*yield*/, this.find(idsOrOptionsWithoutRelations)];
134
+ case 2: return [4 /*yield*/, this.findAndCount(idsOrOptionsWithoutRelations)];
121
135
  case 3:
122
- entities = _c.sent();
123
- _c.label = 4;
136
+ _a = __read.apply(void 0, [_d.sent(), 2]), results = _a[0], resultCount = _a[1];
137
+ entities = results;
138
+ count = resultCount;
139
+ _d.label = 4;
124
140
  case 4:
125
141
  entitiesIds = entities.map(function (_a) {
126
142
  var id = _a.id;
@@ -130,7 +146,7 @@ var GiftCardRepository = /** @class */ (function (_super) {
130
146
  try {
131
147
  for (relations_1 = __values(relations), relations_1_1 = relations_1.next(); !relations_1_1.done; relations_1_1 = relations_1.next()) {
132
148
  rel = relations_1_1.value;
133
- _a = __read(rel.split("."), 1), topLevel = _a[0];
149
+ _b = __read(rel.split("."), 1), topLevel = _b[0];
134
150
  if (groupedRelations[topLevel]) {
135
151
  groupedRelations[topLevel].push(rel);
136
152
  }
@@ -142,7 +158,7 @@ var GiftCardRepository = /** @class */ (function (_super) {
142
158
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
143
159
  finally {
144
160
  try {
145
- if (relations_1_1 && !relations_1_1.done && (_b = relations_1.return)) _b.call(relations_1);
161
+ if (relations_1_1 && !relations_1_1.done && (_c = relations_1.return)) _c.call(relations_1);
146
162
  }
147
163
  finally { if (e_1) throw e_1.error; }
148
164
  }
@@ -154,12 +170,91 @@ var GiftCardRepository = /** @class */ (function (_super) {
154
170
  });
155
171
  })).then(lodash_1.flatten)];
156
172
  case 5:
157
- entitiesIdsWithRelations = _c.sent();
173
+ entitiesIdsWithRelations = _d.sent();
158
174
  entitiesAndRelations = entitiesIdsWithRelations.concat(entities);
159
175
  entitiesAndRelationsById = (0, lodash_1.groupBy)(entitiesAndRelations, "id");
160
- return [2 /*return*/, (0, lodash_1.map)(entitiesAndRelationsById, function (entityAndRelations) {
161
- return lodash_1.merge.apply(void 0, __spreadArray([{}], __read(entityAndRelations), false));
162
- })];
176
+ return [2 /*return*/, [
177
+ Object.values(entitiesAndRelationsById).map(function (v) { return lodash_1.merge.apply(void 0, __spreadArray([{}], __read(v), false)); }),
178
+ count,
179
+ ]];
180
+ }
181
+ });
182
+ });
183
+ };
184
+ GiftCardRepository.prototype.queryGiftCards = function (q, where, rels, shouldCount) {
185
+ if (shouldCount === void 0) { shouldCount = false; }
186
+ return __awaiter(this, void 0, void 0, function () {
187
+ var qb, raw, count, _a, results_1, resultCount, _b, results;
188
+ return __generator(this, function (_c) {
189
+ switch (_c.label) {
190
+ case 0:
191
+ qb = this.createQueryBuilder("gift_card")
192
+ .leftJoinAndSelect("gift_card.order", "order")
193
+ .select(["gift_card.id"])
194
+ .where(where)
195
+ .andWhere(new typeorm_1.Brackets(function (qb) {
196
+ return qb
197
+ .where("gift_card.code ILIKE :q", { q: "%".concat(q, "%") })
198
+ .orWhere("display_id::varchar(255) ILIKE :dId", { dId: "".concat(q) });
199
+ }));
200
+ raw = [];
201
+ count = 0;
202
+ if (!shouldCount) return [3 /*break*/, 2];
203
+ return [4 /*yield*/, qb.getManyAndCount()];
204
+ case 1:
205
+ _a = __read.apply(void 0, [_c.sent(), 2]), results_1 = _a[0], resultCount = _a[1];
206
+ raw = results_1;
207
+ count = resultCount;
208
+ return [3 /*break*/, 4];
209
+ case 2: return [4 /*yield*/, qb.getMany()];
210
+ case 3:
211
+ raw = _c.sent();
212
+ _c.label = 4;
213
+ case 4: return [4 /*yield*/, this.findWithRelations(rels, raw.map(function (i) { return i.id; }))];
214
+ case 5:
215
+ _b = __read.apply(void 0, [_c.sent(), 1]), results = _b[0];
216
+ return [2 /*return*/, [results, count]];
217
+ }
218
+ });
219
+ });
220
+ };
221
+ GiftCardRepository.prototype.listGiftCardsAndCount = function (inputQuery, rels, q) {
222
+ if (rels === void 0) { rels = []; }
223
+ return __awaiter(this, void 0, void 0, function () {
224
+ var query, where;
225
+ return __generator(this, function (_a) {
226
+ switch (_a.label) {
227
+ case 0:
228
+ query = __assign({}, inputQuery);
229
+ if (!q) return [3 /*break*/, 2];
230
+ where = query.where;
231
+ delete where.id;
232
+ return [4 /*yield*/, this.queryGiftCards(q, where, rels, true)];
233
+ case 1: return [2 /*return*/, _a.sent()];
234
+ case 2: return [4 /*yield*/, this.findWithRelations(rels, query)];
235
+ case 3: return [2 /*return*/, _a.sent()];
236
+ }
237
+ });
238
+ });
239
+ };
240
+ GiftCardRepository.prototype.listGiftCards = function (query, rels, q) {
241
+ if (rels === void 0) { rels = []; }
242
+ return __awaiter(this, void 0, void 0, function () {
243
+ var where, _a, result, _b, results;
244
+ return __generator(this, function (_c) {
245
+ switch (_c.label) {
246
+ case 0:
247
+ if (!q) return [3 /*break*/, 2];
248
+ where = query.where;
249
+ delete where.id;
250
+ return [4 /*yield*/, this.queryGiftCards(q, where, rels)];
251
+ case 1:
252
+ _a = __read.apply(void 0, [_c.sent(), 1]), result = _a[0];
253
+ return [2 /*return*/, result];
254
+ case 2: return [4 /*yield*/, this.findWithRelations(rels, query)];
255
+ case 3:
256
+ _b = __read.apply(void 0, [_c.sent(), 1]), results = _b[0];
257
+ return [2 /*return*/, results];
163
258
  }
164
259
  });
165
260
  });
@@ -168,15 +263,15 @@ var GiftCardRepository = /** @class */ (function (_super) {
168
263
  if (relations === void 0) { relations = []; }
169
264
  if (optionsWithoutRelations === void 0) { optionsWithoutRelations = {}; }
170
265
  return __awaiter(this, void 0, void 0, function () {
171
- var result;
172
- return __generator(this, function (_a) {
173
- switch (_a.label) {
266
+ var _a, result;
267
+ return __generator(this, function (_b) {
268
+ switch (_b.label) {
174
269
  case 0:
175
270
  // Limit 1
176
271
  optionsWithoutRelations.take = 1;
177
272
  return [4 /*yield*/, this.findWithRelations(relations, optionsWithoutRelations)];
178
273
  case 1:
179
- result = _a.sent();
274
+ _a = __read.apply(void 0, [_b.sent(), 1]), result = _a[0];
180
275
  return [2 /*return*/, result[0]];
181
276
  }
182
277
  });
@@ -1 +1 @@
1
- {"version":3,"file":"gift-card.js","sourceRoot":"","sources":["../../src/repositories/gift-card.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAqD;AACrD,mCAAuE;AACvE,iDAA8C;AAG9C;IAAwC,sCAAoB;IAA5D;;IAuDA,CAAC;IAtDc,8CAAiB,GAA9B,UACE,SAAqC,EACrC,4BAGM;QAJN,0BAAA,EAAA,cAAqC;QACrC,6CAAA,EAAA,iCAGM;;;;;;;;6BAGF,KAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC,EAA3C,wBAA2C;wBAClC,qBAAM,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,EAAA;;wBAA7D,QAAQ,GAAG,SAAkD,CAAA;;4BAElD,qBAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,EAAA;;wBAAxD,QAAQ,GAAG,SAA6C,CAAA;;;wBAEpD,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAC,EAAM;gCAAJ,EAAE,QAAA;4BAAO,OAAA,EAAE;wBAAF,CAAE,CAAC,CAAA;wBAE1C,gBAAgB,GAAG,EAAE,CAAA;;4BAC3B,KAAkB,cAAA,SAAA,SAAS,CAAA,+FAAE;gCAAlB,GAAG;gCACN,KAAA,OAAa,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAA,EAA1B,QAAQ,QAAA,CAAkB;gCACjC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE;oCAC9B,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;iCACrC;qCAAM;oCACL,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;iCACnC;6BACF;;;;;;;;;wBAEgC,qBAAM,OAAO,CAAC,GAAG,CAChD,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,UAAC,EAAS;oCAAT,KAAA,aAAS,EAAR,CAAC,QAAA,EAAE,IAAI,QAAA;gCAC5C,OAAO,KAAI,CAAC,SAAS,CAAC,WAAW,EAAE;oCACjC,MAAM,EAAE,CAAC,IAAI,CAAC;oCACd,SAAS,EAAE,IAAgB;iCAC5B,CAAC,CAAA;4BACJ,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,gBAAO,CAAC,EAAA;;wBAPT,wBAAwB,GAAG,SAOlB;wBACT,oBAAoB,GAAG,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;wBAEhE,wBAAwB,GAAG,IAAA,gBAAO,EAAC,oBAAoB,EAAE,IAAI,CAAC,CAAA;wBACpE,sBAAO,IAAA,YAAG,EAAC,wBAAwB,EAAE,UAAA,kBAAkB;gCACrD,OAAA,cAAK,8BAAC,EAAE,UAAK,kBAAkB;4BAA/B,CAAgC,CACjC,EAAA;;;;KACF;IAEY,iDAAoB,GAAjC,UACE,SAAqC,EACrC,uBAA0E;QAD1E,0BAAA,EAAA,cAAqC;QACrC,wCAAA,EAAA,4BAA0E;;;;;;wBAE1E,UAAU;wBACV,uBAAuB,CAAC,IAAI,GAAG,CAAC,CAAA;wBAEjB,qBAAM,IAAI,CAAC,iBAAiB,CACzC,SAAS,EACT,uBAAuB,CACxB,EAAA;;wBAHK,MAAM,GAAG,SAGd;wBACD,sBAAO,MAAM,CAAC,CAAC,CAAC,EAAA;;;;KACjB;IAtDU,kBAAkB;QAD9B,IAAA,0BAAgB,EAAC,oBAAQ,CAAC;OACd,kBAAkB,CAuD9B;IAAD,yBAAC;CAAA,AAvDD,CAAwC,oBAAU,GAuDjD;AAvDY,gDAAkB"}
1
+ {"version":3,"file":"gift-card.js","sourceRoot":"","sources":["../../src/repositories/gift-card.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Repository } from "typeorm";
2
2
  import { Image } from "../models/image";
3
3
  export declare class ImageRepository extends Repository<Image> {
4
+ upsertImages(imageUrls: string[]): Promise<Image[]>;
4
5
  }
@@ -20,6 +20,53 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
20
20
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
21
  return c > 3 && r && Object.defineProperty(target, key, r), r;
22
22
  };
23
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
24
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25
+ return new (P || (P = Promise))(function (resolve, reject) {
26
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
27
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
28
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
29
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
30
+ });
31
+ };
32
+ var __generator = (this && this.__generator) || function (thisArg, body) {
33
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
34
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
35
+ function verb(n) { return function (v) { return step([n, v]); }; }
36
+ function step(op) {
37
+ if (f) throw new TypeError("Generator is already executing.");
38
+ while (_) try {
39
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
40
+ if (y = 0, t) op = [op[0] & 2, t.value];
41
+ switch (op[0]) {
42
+ case 0: case 1: t = op; break;
43
+ case 4: _.label++; return { value: op[1], done: false };
44
+ case 5: _.label++; y = op[1]; op = [0]; continue;
45
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
46
+ default:
47
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
48
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
49
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
50
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
51
+ if (t[2]) _.ops.pop();
52
+ _.trys.pop(); continue;
53
+ }
54
+ op = body.call(thisArg, _);
55
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
56
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
57
+ }
58
+ };
59
+ var __values = (this && this.__values) || function(o) {
60
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
61
+ if (m) return m.call(o);
62
+ if (o && typeof o.length === "number") return {
63
+ next: function () {
64
+ if (o && i >= o.length) o = void 0;
65
+ return { value: o && o[i++], done: !o };
66
+ }
67
+ };
68
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
69
+ };
23
70
  Object.defineProperty(exports, "__esModule", { value: true });
24
71
  exports.ImageRepository = void 0;
25
72
  var typeorm_1 = require("typeorm");
@@ -29,6 +76,59 @@ var ImageRepository = /** @class */ (function (_super) {
29
76
  function ImageRepository() {
30
77
  return _super !== null && _super.apply(this, arguments) || this;
31
78
  }
79
+ ImageRepository.prototype.upsertImages = function (imageUrls) {
80
+ return __awaiter(this, void 0, void 0, function () {
81
+ var existingImages, existingImagesMap, upsertedImgs, imageUrls_1, imageUrls_1_1, url, aImg, newImg, savedImg, e_1_1;
82
+ var e_1, _a;
83
+ return __generator(this, function (_b) {
84
+ switch (_b.label) {
85
+ case 0: return [4 /*yield*/, this.find({
86
+ where: {
87
+ url: (0, typeorm_1.In)(imageUrls),
88
+ },
89
+ })];
90
+ case 1:
91
+ existingImages = _b.sent();
92
+ existingImagesMap = new Map(existingImages.map(function (img) { return [img.url, img]; }));
93
+ upsertedImgs = [];
94
+ _b.label = 2;
95
+ case 2:
96
+ _b.trys.push([2, 8, 9, 10]);
97
+ imageUrls_1 = __values(imageUrls), imageUrls_1_1 = imageUrls_1.next();
98
+ _b.label = 3;
99
+ case 3:
100
+ if (!!imageUrls_1_1.done) return [3 /*break*/, 7];
101
+ url = imageUrls_1_1.value;
102
+ aImg = existingImagesMap.get(url);
103
+ if (!aImg) return [3 /*break*/, 4];
104
+ upsertedImgs.push(aImg);
105
+ return [3 /*break*/, 6];
106
+ case 4:
107
+ newImg = this.create({ url: url });
108
+ return [4 /*yield*/, this.save(newImg)];
109
+ case 5:
110
+ savedImg = _b.sent();
111
+ upsertedImgs.push(savedImg);
112
+ _b.label = 6;
113
+ case 6:
114
+ imageUrls_1_1 = imageUrls_1.next();
115
+ return [3 /*break*/, 3];
116
+ case 7: return [3 /*break*/, 10];
117
+ case 8:
118
+ e_1_1 = _b.sent();
119
+ e_1 = { error: e_1_1 };
120
+ return [3 /*break*/, 10];
121
+ case 9:
122
+ try {
123
+ if (imageUrls_1_1 && !imageUrls_1_1.done && (_a = imageUrls_1.return)) _a.call(imageUrls_1);
124
+ }
125
+ finally { if (e_1) throw e_1.error; }
126
+ return [7 /*endfinally*/];
127
+ case 10: return [2 /*return*/, upsertedImgs];
128
+ }
129
+ });
130
+ });
131
+ };
32
132
  ImageRepository = __decorate([
33
133
  (0, typeorm_1.EntityRepository)(image_1.Image)
34
134
  ], ImageRepository);
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/repositories/image.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAsD;AACtD,yCAAuC;AAGvC;IAAqC,mCAAiB;IAAtD;;IAAwD,CAAC;IAA5C,eAAe;QAD3B,IAAA,0BAAgB,EAAC,aAAK,CAAC;OACX,eAAe,CAA6B;IAAD,sBAAC;CAAA,AAAzD,CAAqC,oBAAU,GAAU;AAA5C,0CAAe"}
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/repositories/image.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA0D;AAC1D,yCAAuC;AAGvC;IAAqC,mCAAiB;IAAtD;;IA0BA,CAAC;IAzBc,sCAAY,GAAzB,UAA0B,SAAmB;;;;;;4BACpB,qBAAM,IAAI,CAAC,IAAI,CAAC;4BACrC,KAAK,EAAE;gCACL,GAAG,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC;6BACnB;yBACF,CAAC,EAAA;;wBAJI,cAAc,GAAG,SAIrB;wBACI,iBAAiB,GAAG,IAAI,GAAG,CAC/B,cAAc,CAAC,GAAG,CAAkB,UAAC,GAAG,IAAK,OAAA,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAd,CAAc,CAAC,CAC7D,CAAA;wBAEK,YAAY,GAAY,EAAE,CAAA;;;;wBAEd,cAAA,SAAA,SAAS,CAAA;;;;wBAAhB,GAAG;wBACN,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;6BACnC,IAAI,EAAJ,wBAAI;wBACN,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;;wBAEjB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,KAAA,EAAE,CAAC,CAAA;wBAClB,qBAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAA;;wBAAlC,QAAQ,GAAG,SAAuB;wBACxC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;;;;;;;;;;;;;;;;6BAI/B,sBAAO,YAAY,EAAA;;;;KACpB;IAzBU,eAAe;QAD3B,IAAA,0BAAgB,EAAC,aAAK,CAAC;OACX,eAAe,CA0B3B;IAAD,sBAAC;CAAA,AA1BD,CAAqC,oBAAU,GA0B9C;AA1BY,0CAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"price-list.js","sourceRoot":"","sources":["../../src/repositories/price-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"price-list.js","sourceRoot":"","sources":["../../src/repositories/price-list.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
1
  import { Repository } from "typeorm";
2
2
  import { ProductTag } from "../models/product-tag";
3
+ declare type UpsertTagsInput = (Partial<ProductTag> & {
4
+ value: string;
5
+ })[];
3
6
  export declare class ProductTagRepository extends Repository<ProductTag> {
7
+ listTagsByUsage(count?: number): Promise<ProductTag[]>;
8
+ upsertTags(tags: UpsertTagsInput): Promise<ProductTag[]>;
4
9
  }
10
+ export {};
@@ -20,6 +20,53 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
20
20
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
21
  return c > 3 && r && Object.defineProperty(target, key, r), r;
22
22
  };
23
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
24
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25
+ return new (P || (P = Promise))(function (resolve, reject) {
26
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
27
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
28
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
29
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
30
+ });
31
+ };
32
+ var __generator = (this && this.__generator) || function (thisArg, body) {
33
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
34
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
35
+ function verb(n) { return function (v) { return step([n, v]); }; }
36
+ function step(op) {
37
+ if (f) throw new TypeError("Generator is already executing.");
38
+ while (_) try {
39
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
40
+ if (y = 0, t) op = [op[0] & 2, t.value];
41
+ switch (op[0]) {
42
+ case 0: case 1: t = op; break;
43
+ case 4: _.label++; return { value: op[1], done: false };
44
+ case 5: _.label++; y = op[1]; op = [0]; continue;
45
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
46
+ default:
47
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
48
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
49
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
50
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
51
+ if (t[2]) _.ops.pop();
52
+ _.trys.pop(); continue;
53
+ }
54
+ op = body.call(thisArg, _);
55
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
56
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
57
+ }
58
+ };
59
+ var __values = (this && this.__values) || function(o) {
60
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
61
+ if (m) return m.call(o);
62
+ if (o && typeof o.length === "number") return {
63
+ next: function () {
64
+ if (o && i >= o.length) o = void 0;
65
+ return { value: o && o[i++], done: !o };
66
+ }
67
+ };
68
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
69
+ };
23
70
  Object.defineProperty(exports, "__esModule", { value: true });
24
71
  exports.ProductTagRepository = void 0;
25
72
  var typeorm_1 = require("typeorm");
@@ -29,6 +76,72 @@ var ProductTagRepository = /** @class */ (function (_super) {
29
76
  function ProductTagRepository() {
30
77
  return _super !== null && _super.apply(this, arguments) || this;
31
78
  }
79
+ ProductTagRepository.prototype.listTagsByUsage = function (count) {
80
+ if (count === void 0) { count = 10; }
81
+ return __awaiter(this, void 0, void 0, function () {
82
+ return __generator(this, function (_a) {
83
+ switch (_a.label) {
84
+ case 0: return [4 /*yield*/, this.query("\n SELECT id, COUNT(pts.product_tag_id) as usage_count, pt.value\n FROM product_tag pt\n LEFT JOIN product_tags pts ON pt.id = pts.product_tag_id\n GROUP BY id\n ORDER BY usage_count DESC\n LIMIT $1\n ", [count])];
85
+ case 1: return [2 /*return*/, _a.sent()];
86
+ }
87
+ });
88
+ });
89
+ };
90
+ ProductTagRepository.prototype.upsertTags = function (tags) {
91
+ return __awaiter(this, void 0, void 0, function () {
92
+ var tagsValues, existingTags, existingTagsMap, upsertedTags, tags_1, tags_1_1, tag, aTag, newTag, savedTag, e_1_1;
93
+ var e_1, _a;
94
+ return __generator(this, function (_b) {
95
+ switch (_b.label) {
96
+ case 0:
97
+ tagsValues = tags.map(function (tag) { return tag.value; });
98
+ return [4 /*yield*/, this.find({
99
+ where: {
100
+ value: (0, typeorm_1.In)(tagsValues),
101
+ },
102
+ })];
103
+ case 1:
104
+ existingTags = _b.sent();
105
+ existingTagsMap = new Map(existingTags.map(function (tag) { return [tag.value, tag]; }));
106
+ upsertedTags = [];
107
+ _b.label = 2;
108
+ case 2:
109
+ _b.trys.push([2, 8, 9, 10]);
110
+ tags_1 = __values(tags), tags_1_1 = tags_1.next();
111
+ _b.label = 3;
112
+ case 3:
113
+ if (!!tags_1_1.done) return [3 /*break*/, 7];
114
+ tag = tags_1_1.value;
115
+ aTag = existingTagsMap.get(tag.value);
116
+ if (!aTag) return [3 /*break*/, 4];
117
+ upsertedTags.push(aTag);
118
+ return [3 /*break*/, 6];
119
+ case 4:
120
+ newTag = this.create(tag);
121
+ return [4 /*yield*/, this.save(newTag)];
122
+ case 5:
123
+ savedTag = _b.sent();
124
+ upsertedTags.push(savedTag);
125
+ _b.label = 6;
126
+ case 6:
127
+ tags_1_1 = tags_1.next();
128
+ return [3 /*break*/, 3];
129
+ case 7: return [3 /*break*/, 10];
130
+ case 8:
131
+ e_1_1 = _b.sent();
132
+ e_1 = { error: e_1_1 };
133
+ return [3 /*break*/, 10];
134
+ case 9:
135
+ try {
136
+ if (tags_1_1 && !tags_1_1.done && (_a = tags_1.return)) _a.call(tags_1);
137
+ }
138
+ finally { if (e_1) throw e_1.error; }
139
+ return [7 /*endfinally*/];
140
+ case 10: return [2 /*return*/, upsertedTags];
141
+ }
142
+ });
143
+ });
144
+ };
32
145
  ProductTagRepository = __decorate([
33
146
  (0, typeorm_1.EntityRepository)(product_tag_1.ProductTag)
34
147
  ], ProductTagRepository);
@@ -1 +1 @@
1
- {"version":3,"file":"product-tag.js","sourceRoot":"","sources":["../../src/repositories/product-tag.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAsD;AACtD,qDAAkD;AAGlD;IAA0C,wCAAsB;IAAhE;;IAAkE,CAAC;IAAtD,oBAAoB;QADhC,IAAA,0BAAgB,EAAC,wBAAU,CAAC;OAChB,oBAAoB,CAAkC;IAAD,2BAAC;CAAA,AAAnE,CAA0C,oBAAU,GAAe;AAAtD,oDAAoB"}
1
+ {"version":3,"file":"product-tag.js","sourceRoot":"","sources":["../../src/repositories/product-tag.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA0D;AAC1D,qDAAkD;AAOlD;IAA0C,wCAAsB;IAAhE;;IAyCA,CAAC;IAxCc,8CAAe,GAA5B,UAA6B,KAAU;QAAV,sBAAA,EAAA,UAAU;;;;4BAC9B,qBAAM,IAAI,CAAC,KAAK,CACrB,0PAOC,EACD,CAAC,KAAK,CAAC,CACR,EAAA;4BAVD,sBAAO,SAUN,EAAA;;;;KACF;IAEY,yCAAU,GAAvB,UAAwB,IAAqB;;;;;;;wBACrC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,KAAK,EAAT,CAAS,CAAC,CAAA;wBAC1B,qBAAM,IAAI,CAAC,IAAI,CAAC;gCACnC,KAAK,EAAE;oCACL,KAAK,EAAE,IAAA,YAAE,EAAC,UAAU,CAAC;iCACtB;6BACF,CAAC,EAAA;;wBAJI,YAAY,GAAG,SAInB;wBACI,eAAe,GAAG,IAAI,GAAG,CAC7B,YAAY,CAAC,GAAG,CAAuB,UAAC,GAAG,IAAK,OAAA,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAhB,CAAgB,CAAC,CAClE,CAAA;wBAEK,YAAY,GAAiB,EAAE,CAAA;;;;wBAEnB,SAAA,SAAA,IAAI,CAAA;;;;wBAAX,GAAG;wBACN,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;6BACvC,IAAI,EAAJ,wBAAI;wBACN,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;;wBAEjB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;wBACd,qBAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAA;;wBAAlC,QAAQ,GAAG,SAAuB;wBACxC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;;;;;;;;;;;;;;;;6BAI/B,sBAAO,YAAY,EAAA;;;;KACpB;IAxCU,oBAAoB;QADhC,IAAA,0BAAgB,EAAC,wBAAU,CAAC;OAChB,oBAAoB,CAyChC;IAAD,2BAAC;CAAA,AAzCD,CAA0C,oBAAU,GAyCnD;AAzCY,oDAAoB"}
@@ -1,4 +1,9 @@
1
1
  import { Repository } from "typeorm";
2
2
  import { ProductType } from "../models/product-type";
3
+ declare type UpsertTypeInput = Partial<ProductType> & {
4
+ value: string;
5
+ };
3
6
  export declare class ProductTypeRepository extends Repository<ProductType> {
7
+ upsertType(type?: UpsertTypeInput): Promise<ProductType | null>;
4
8
  }
9
+ export {};
@@ -20,6 +20,42 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
20
20
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
21
  return c > 3 && r && Object.defineProperty(target, key, r), r;
22
22
  };
23
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
24
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25
+ return new (P || (P = Promise))(function (resolve, reject) {
26
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
27
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
28
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
29
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
30
+ });
31
+ };
32
+ var __generator = (this && this.__generator) || function (thisArg, body) {
33
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
34
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
35
+ function verb(n) { return function (v) { return step([n, v]); }; }
36
+ function step(op) {
37
+ if (f) throw new TypeError("Generator is already executing.");
38
+ while (_) try {
39
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
40
+ if (y = 0, t) op = [op[0] & 2, t.value];
41
+ switch (op[0]) {
42
+ case 0: case 1: t = op; break;
43
+ case 4: _.label++; return { value: op[1], done: false };
44
+ case 5: _.label++; y = op[1]; op = [0]; continue;
45
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
46
+ default:
47
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
48
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
49
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
50
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
51
+ if (t[2]) _.ops.pop();
52
+ _.trys.pop(); continue;
53
+ }
54
+ op = body.call(thisArg, _);
55
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
56
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
57
+ }
58
+ };
23
59
  Object.defineProperty(exports, "__esModule", { value: true });
24
60
  exports.ProductTypeRepository = void 0;
25
61
  var typeorm_1 = require("typeorm");
@@ -29,6 +65,34 @@ var ProductTypeRepository = /** @class */ (function (_super) {
29
65
  function ProductTypeRepository() {
30
66
  return _super !== null && _super.apply(this, arguments) || this;
31
67
  }
68
+ ProductTypeRepository.prototype.upsertType = function (type) {
69
+ return __awaiter(this, void 0, void 0, function () {
70
+ var existing, created, result;
71
+ return __generator(this, function (_a) {
72
+ switch (_a.label) {
73
+ case 0:
74
+ if (!type) {
75
+ return [2 /*return*/, null];
76
+ }
77
+ return [4 /*yield*/, this.findOne({
78
+ where: { value: type.value },
79
+ })];
80
+ case 1:
81
+ existing = _a.sent();
82
+ if (existing) {
83
+ return [2 /*return*/, existing];
84
+ }
85
+ created = this.create({
86
+ value: type.value,
87
+ });
88
+ return [4 /*yield*/, this.save(created)];
89
+ case 2:
90
+ result = _a.sent();
91
+ return [2 /*return*/, result];
92
+ }
93
+ });
94
+ });
95
+ };
32
96
  ProductTypeRepository = __decorate([
33
97
  (0, typeorm_1.EntityRepository)(product_type_1.ProductType)
34
98
  ], ProductTypeRepository);
@@ -1 +1 @@
1
- {"version":3,"file":"product-type.js","sourceRoot":"","sources":["../../src/repositories/product-type.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAsD;AACtD,uDAAoD;AAGpD;IAA2C,yCAAuB;IAAlE;;IAAoE,CAAC;IAAxD,qBAAqB;QADjC,IAAA,0BAAgB,EAAC,0BAAW,CAAC;OACjB,qBAAqB,CAAmC;IAAD,4BAAC;CAAA,AAArE,CAA2C,oBAAU,GAAgB;AAAxD,sDAAqB"}
1
+ {"version":3,"file":"product-type.js","sourceRoot":"","sources":["../../src/repositories/product-type.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAsD;AACtD,uDAAoD;AAMpD;IAA2C,yCAAuB;IAAlE;;IAqBA,CAAC;IApBO,0CAAU,GAAhB,UAAiB,IAAsB;;;;;;wBACrC,IAAI,CAAC,IAAI,EAAE;4BACT,sBAAO,IAAI,EAAA;yBACZ;wBAEgB,qBAAM,IAAI,CAAC,OAAO,CAAC;gCAClC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;6BAC7B,CAAC,EAAA;;wBAFI,QAAQ,GAAG,SAEf;wBAEF,IAAI,QAAQ,EAAE;4BACZ,sBAAO,QAAQ,EAAA;yBAChB;wBAEK,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;4BAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;yBAClB,CAAC,CAAA;wBACa,qBAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAA;;wBAAjC,MAAM,GAAG,SAAwB;wBAEvC,sBAAO,MAAM,EAAA;;;;KACd;IApBU,qBAAqB;QADjC,IAAA,0BAAgB,EAAC,0BAAW,CAAC;OACjB,qBAAqB,CAqBjC;IAAD,4BAAC;CAAA,AArBD,CAA2C,oBAAU,GAqBpD;AArBY,sDAAqB"}