addio-admin-sdk 1.7.156 → 1.7.158

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 (582) hide show
  1. package/.babelrc +17 -17
  2. package/.env.dev +14 -14
  3. package/.github/workflows/run_unit_test.yaml +48 -48
  4. package/addio-sdk-doc.md +1473 -1473
  5. package/changelog.md +564 -564
  6. package/dist/Interfaces/Address/index.d.ts +21 -21
  7. package/dist/Interfaces/Address/index.js +16 -16
  8. package/dist/Interfaces/Algolia/index.d.ts +180 -180
  9. package/dist/Interfaces/Algolia/index.js +2 -2
  10. package/dist/Interfaces/Attachement/index.d.ts +5 -5
  11. package/dist/Interfaces/Attachement/index.js +2 -2
  12. package/dist/Interfaces/Attribute/index.d.ts +53 -53
  13. package/dist/Interfaces/Attribute/index.js +10 -10
  14. package/dist/Interfaces/BGJob/index.d.ts +56 -56
  15. package/dist/Interfaces/BGJob/index.js +25 -25
  16. package/dist/Interfaces/BaseClass/index.d.ts +8 -8
  17. package/dist/Interfaces/BaseClass/index.js +2 -2
  18. package/dist/Interfaces/Blog/IBlogArticle.d.ts +18 -18
  19. package/dist/Interfaces/Blog/IBlogArticle.js +2 -2
  20. package/dist/Interfaces/Blog/IBlogAuthor.d.ts +7 -7
  21. package/dist/Interfaces/Blog/IBlogAuthor.js +2 -2
  22. package/dist/Interfaces/Blog/IBlogCategory.d.ts +9 -9
  23. package/dist/Interfaces/Blog/IBlogCategory.js +2 -2
  24. package/dist/Interfaces/Blog/IBlogComment.d.ts +13 -13
  25. package/dist/Interfaces/Blog/IBlogComment.js +2 -2
  26. package/dist/Interfaces/Blog/IBlogKeywords.d.ts +9 -9
  27. package/dist/Interfaces/Blog/IBlogKeywords.js +2 -2
  28. package/dist/Interfaces/Booking/index.d.ts +74 -74
  29. package/dist/Interfaces/Booking/index.js +17 -17
  30. package/dist/Interfaces/Brand/index.d.ts +15 -15
  31. package/dist/Interfaces/Brand/index.js +2 -2
  32. package/dist/Interfaces/CMS/index.d.ts +28 -28
  33. package/dist/Interfaces/CMS/index.js +5 -5
  34. package/dist/Interfaces/Cart/IElavonPayload.d.ts +93 -93
  35. package/dist/Interfaces/Cart/IElavonPayload.js +17 -17
  36. package/dist/Interfaces/Cart/IMarketPayload.d.ts +12 -0
  37. package/dist/Interfaces/Cart/IMarketPayload.js +3 -0
  38. package/dist/Interfaces/Cart/IMarketPayload.js.map +1 -0
  39. package/dist/Interfaces/Cart/IPandaPayload.d.ts +64 -64
  40. package/dist/Interfaces/Cart/IPandaPayload.js +18 -18
  41. package/dist/Interfaces/Cart/IPaymentCard.d.ts +22 -22
  42. package/dist/Interfaces/Cart/IPaymentCard.js +44 -44
  43. package/dist/Interfaces/Cart/IPaypalPayload.d.ts +9 -9
  44. package/dist/Interfaces/Cart/IPaypalPayload.js +2 -2
  45. package/dist/Interfaces/Cart/IPaysafePayload.d.ts +72 -72
  46. package/dist/Interfaces/Cart/IPaysafePayload.js +2 -2
  47. package/dist/Interfaces/Cart/IStripePayload.d.ts +66 -66
  48. package/dist/Interfaces/Cart/IStripePayload.js +2 -2
  49. package/dist/Interfaces/Cart/index.d.ts +451 -447
  50. package/dist/Interfaces/Cart/index.js +216 -215
  51. package/dist/Interfaces/Cart/index.js.map +1 -1
  52. package/dist/Interfaces/CartReservedQuantities/index.d.ts +10 -10
  53. package/dist/Interfaces/CartReservedQuantities/index.js +2 -2
  54. package/dist/Interfaces/CashDrawers/index.d.ts +37 -37
  55. package/dist/Interfaces/CashDrawers/index.js +19 -19
  56. package/dist/Interfaces/Catalogue/index.d.ts +68 -68
  57. package/dist/Interfaces/Catalogue/index.js +37 -37
  58. package/dist/Interfaces/Category/index.d.ts +33 -33
  59. package/dist/Interfaces/Category/index.js +2 -2
  60. package/dist/Interfaces/Chart/index.d.ts +11 -11
  61. package/dist/Interfaces/Chart/index.js +2 -2
  62. package/dist/Interfaces/Class/index.d.ts +8 -8
  63. package/dist/Interfaces/Class/index.js +2 -2
  64. package/dist/Interfaces/Consent/index.d.ts +6 -6
  65. package/dist/Interfaces/Consent/index.js +2 -2
  66. package/dist/Interfaces/Context/IContextProps.d.ts +4 -4
  67. package/dist/Interfaces/Context/IContextProps.js +2 -2
  68. package/dist/Interfaces/Context/IContextState.d.ts +15 -15
  69. package/dist/Interfaces/Context/IContextState.js +2 -2
  70. package/dist/Interfaces/Customer/ICustomerBadge.d.ts +2 -2
  71. package/dist/Interfaces/Customer/ICustomerBadge.js +2 -2
  72. package/dist/Interfaces/Customer/ICustomerRating.d.ts +10 -10
  73. package/dist/Interfaces/Customer/ICustomerRating.js +2 -2
  74. package/dist/Interfaces/Customer/IStoreCredit.d.ts +13 -13
  75. package/dist/Interfaces/Customer/IStoreCredit.js +2 -2
  76. package/dist/Interfaces/Customer/index.d.ts +104 -104
  77. package/dist/Interfaces/Customer/index.js +148 -148
  78. package/dist/Interfaces/Declination/index.d.ts +117 -117
  79. package/dist/Interfaces/Declination/index.js +66 -66
  80. package/dist/Interfaces/Document/index.d.ts +8 -8
  81. package/dist/Interfaces/Document/index.js +2 -2
  82. package/dist/Interfaces/Elastic/index.d.ts +89 -89
  83. package/dist/Interfaces/Elastic/index.js +2 -2
  84. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.d.ts +11 -11
  85. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.js +2 -2
  86. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.d.ts +15 -15
  87. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.js +2 -2
  88. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.d.ts +12 -12
  89. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.js +2 -2
  90. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.d.ts +36 -36
  91. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.js +2 -2
  92. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.d.ts +12 -12
  93. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.js +2 -2
  94. package/dist/Interfaces/Email/CustomGR/ITransportEmail.d.ts +12 -12
  95. package/dist/Interfaces/Email/CustomGR/ITransportEmail.js +2 -2
  96. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.d.ts +12 -12
  97. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.js +2 -2
  98. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.d.ts +16 -16
  99. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.js +2 -2
  100. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.d.ts +15 -15
  101. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.js +2 -2
  102. package/dist/Interfaces/Email/IAbandonnedCartEmail.d.ts +29 -29
  103. package/dist/Interfaces/Email/IAbandonnedCartEmail.js +2 -2
  104. package/dist/Interfaces/Email/IAccountConfirmationEmail.d.ts +22 -22
  105. package/dist/Interfaces/Email/IAccountConfirmationEmail.js +2 -2
  106. package/dist/Interfaces/Email/IApplicationEmail.d.ts +19 -19
  107. package/dist/Interfaces/Email/IApplicationEmail.js +2 -2
  108. package/dist/Interfaces/Email/IBackInStockEmail.d.ts +21 -21
  109. package/dist/Interfaces/Email/IBackInStockEmail.js +2 -2
  110. package/dist/Interfaces/Email/IContactEmail.d.ts +20 -20
  111. package/dist/Interfaces/Email/IContactEmail.js +2 -2
  112. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.d.ts +15 -15
  113. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.js +2 -2
  114. package/dist/Interfaces/Email/ICustomerBookingEmail.d.ts +14 -14
  115. package/dist/Interfaces/Email/ICustomerBookingEmail.js +2 -2
  116. package/dist/Interfaces/Email/IEmail.d.ts +20 -20
  117. package/dist/Interfaces/Email/IEmail.js +60 -60
  118. package/dist/Interfaces/Email/IOrderConfirmationEmail.d.ts +47 -47
  119. package/dist/Interfaces/Email/IOrderConfirmationEmail.js +2 -2
  120. package/dist/Interfaces/Email/IPasswordResetEmail.d.ts +17 -17
  121. package/dist/Interfaces/Email/IPasswordResetEmail.js +2 -2
  122. package/dist/Interfaces/Email/IPhotoShootEmail.d.ts +14 -14
  123. package/dist/Interfaces/Email/IPhotoShootEmail.js +2 -2
  124. package/dist/Interfaces/Email/IPickupConfirmation.d.ts +23 -23
  125. package/dist/Interfaces/Email/IPickupConfirmation.js +2 -2
  126. package/dist/Interfaces/Email/IShippingConfirmation.d.ts +23 -23
  127. package/dist/Interfaces/Email/IShippingConfirmation.js +2 -2
  128. package/dist/Interfaces/Email/IWelcomeEmail.d.ts +19 -19
  129. package/dist/Interfaces/Email/IWelcomeEmail.js +2 -2
  130. package/dist/Interfaces/ExportSchema/index.d.ts +7 -7
  131. package/dist/Interfaces/ExportSchema/index.js +2 -2
  132. package/dist/Interfaces/ExternalService/BaseExternalService.d.ts +12 -12
  133. package/dist/Interfaces/ExternalService/BaseExternalService.js +2 -2
  134. package/dist/Interfaces/ExternalService/ExternalProductsService.d.ts +4 -4
  135. package/dist/Interfaces/ExternalService/ExternalProductsService.js +2 -2
  136. package/dist/Interfaces/ExternalService/index.d.ts +9 -9
  137. package/dist/Interfaces/ExternalService/index.js +2 -2
  138. package/dist/Interfaces/FirstOrderTracking/index.d.ts +5 -5
  139. package/dist/Interfaces/FirstOrderTracking/index.js +2 -2
  140. package/dist/Interfaces/G2/index.d.ts +556 -556
  141. package/dist/Interfaces/G2/index.js +38 -38
  142. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.d.ts +20 -20
  143. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.js +2 -2
  144. package/dist/Interfaces/Indexed/Product/index.d.ts +105 -105
  145. package/dist/Interfaces/Indexed/Product/index.js +253 -253
  146. package/dist/Interfaces/Inventory/index.d.ts +19 -19
  147. package/dist/Interfaces/Inventory/index.js +8 -8
  148. package/dist/Interfaces/Invoice/index.d.ts +4 -4
  149. package/dist/Interfaces/Invoice/index.js +2 -2
  150. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.d.ts +3 -3
  151. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.js +2 -2
  152. package/dist/Interfaces/MarketplacePublication/index.d.ts +23 -23
  153. package/dist/Interfaces/MarketplacePublication/index.js +22 -22
  154. package/dist/Interfaces/Menu/index.d.ts +40 -40
  155. package/dist/Interfaces/Menu/index.js +16 -16
  156. package/dist/Interfaces/Note/index.d.ts +10 -10
  157. package/dist/Interfaces/Note/index.js +7 -7
  158. package/dist/Interfaces/Operations/ICreatedBy.d.ts +6 -6
  159. package/dist/Interfaces/Operations/ICreatedBy.js +2 -2
  160. package/dist/Interfaces/Operations/IUpdate.d.ts +5 -5
  161. package/dist/Interfaces/Operations/IUpdate.js +2 -2
  162. package/dist/Interfaces/Order/index.d.ts +4 -4
  163. package/dist/Interfaces/Order/index.js +2 -2
  164. package/dist/Interfaces/Org/IRelUser.d.ts +9 -9
  165. package/dist/Interfaces/Org/IRelUser.js +2 -2
  166. package/dist/Interfaces/Org/index.d.ts +29 -29
  167. package/dist/Interfaces/Org/index.js +12 -12
  168. package/dist/Interfaces/Payment/index.d.ts +26 -26
  169. package/dist/Interfaces/Payment/index.js +14 -14
  170. package/dist/Interfaces/Product/IAttributeFamily.d.ts +6 -6
  171. package/dist/Interfaces/Product/IAttributeFamily.js +2 -2
  172. package/dist/Interfaces/Product/IImportProduct.d.ts +42 -42
  173. package/dist/Interfaces/Product/IImportProduct.js +882 -882
  174. package/dist/Interfaces/Product/IInventoryItem.d.ts +74 -74
  175. package/dist/Interfaces/Product/IInventoryItem.js +38 -38
  176. package/dist/Interfaces/Product/IPricing.d.ts +177 -177
  177. package/dist/Interfaces/Product/IPricing.js +180 -180
  178. package/dist/Interfaces/Product/index.d.ts +138 -138
  179. package/dist/Interfaces/Product/index.js +64 -64
  180. package/dist/Interfaces/ProductAttribute/index.d.ts +11 -11
  181. package/dist/Interfaces/ProductAttribute/index.js +2 -2
  182. package/dist/Interfaces/PromiseToPurchase/BankType.d.ts +41 -41
  183. package/dist/Interfaces/PromiseToPurchase/BankType.js +41 -41
  184. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.d.ts +33 -33
  185. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.js +15 -15
  186. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.d.ts +19 -19
  187. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.js +2 -2
  188. package/dist/Interfaces/PromiseToPurchase/index.d.ts +50 -50
  189. package/dist/Interfaces/PromiseToPurchase/index.js +13 -13
  190. package/dist/Interfaces/PurchaseOrder/index.d.ts +17 -17
  191. package/dist/Interfaces/PurchaseOrder/index.js +2 -2
  192. package/dist/Interfaces/Query/IBrandQueryOptions.d.ts +11 -11
  193. package/dist/Interfaces/Query/IBrandQueryOptions.js +2 -2
  194. package/dist/Interfaces/Query/ICategoryQueryOptions.d.ts +11 -11
  195. package/dist/Interfaces/Query/ICategoryQueryOptions.js +2 -2
  196. package/dist/Interfaces/Query/IProductQueryOptions.d.ts +16 -16
  197. package/dist/Interfaces/Query/IProductQueryOptions.js +2 -2
  198. package/dist/Interfaces/Quote/index.d.ts +5 -5
  199. package/dist/Interfaces/Quote/index.js +2 -2
  200. package/dist/Interfaces/Refunds/index.d.ts +106 -106
  201. package/dist/Interfaces/Refunds/index.js +2 -2
  202. package/dist/Interfaces/Rules/IDiscountRule.d.ts +155 -155
  203. package/dist/Interfaces/Rules/IDiscountRule.js +114 -114
  204. package/dist/Interfaces/Schedule/index.d.ts +48 -48
  205. package/dist/Interfaces/Schedule/index.js +2 -2
  206. package/dist/Interfaces/Services/IAddServiceResponse.d.ts +4 -4
  207. package/dist/Interfaces/Services/IAddServiceResponse.js +2 -2
  208. package/dist/Interfaces/Services/IService.d.ts +16 -16
  209. package/dist/Interfaces/Services/IService.js +2 -2
  210. package/dist/Interfaces/Services/IServiceSecret.d.ts +8 -8
  211. package/dist/Interfaces/Services/IServiceSecret.js +2 -2
  212. package/dist/Interfaces/Shipping/Shipstation/carriers.d.ts +10 -10
  213. package/dist/Interfaces/Shipping/Shipstation/carriers.js +2 -2
  214. package/dist/Interfaces/Shipping/Shipstation/order.d.ts +227 -227
  215. package/dist/Interfaces/Shipping/Shipstation/order.js +2 -2
  216. package/dist/Interfaces/Shipping/Shipstation/quote.d.ts +31 -31
  217. package/dist/Interfaces/Shipping/Shipstation/quote.js +2 -2
  218. package/dist/Interfaces/Shipping/Shiptime/order.d.ts +54 -54
  219. package/dist/Interfaces/Shipping/Shiptime/order.js +71 -71
  220. package/dist/Interfaces/Shipping/Shiptime/quote.d.ts +111 -111
  221. package/dist/Interfaces/Shipping/Shiptime/quote.js +2 -2
  222. package/dist/Interfaces/Slider/GR.d.ts +114 -114
  223. package/dist/Interfaces/Slider/GR.js +271 -271
  224. package/dist/Interfaces/Slider/index.d.ts +30 -30
  225. package/dist/Interfaces/Slider/index.js +2 -2
  226. package/dist/Interfaces/Space/IExternalService.d.ts +53 -53
  227. package/dist/Interfaces/Space/IExternalService.js +44 -44
  228. package/dist/Interfaces/Space/IMember.d.ts +16 -16
  229. package/dist/Interfaces/Space/IMember.js +9 -9
  230. package/dist/Interfaces/Space/index.d.ts +411 -407
  231. package/dist/Interfaces/Space/index.js +174 -174
  232. package/dist/Interfaces/Space/index.js.map +1 -1
  233. package/dist/Interfaces/Specials/gr.d.ts +61 -61
  234. package/dist/Interfaces/Specials/gr.js +2 -2
  235. package/dist/Interfaces/StockNotification/index.d.ts +7 -7
  236. package/dist/Interfaces/StockNotification/index.js +2 -2
  237. package/dist/Interfaces/Store/index.d.ts +63 -63
  238. package/dist/Interfaces/Store/index.js +27 -27
  239. package/dist/Interfaces/Supplier/ICommand.d.ts +11 -11
  240. package/dist/Interfaces/Supplier/ICommand.js +2 -2
  241. package/dist/Interfaces/Supplier/index.d.ts +36 -36
  242. package/dist/Interfaces/Supplier/index.js +24 -24
  243. package/dist/Interfaces/TCG/index.d.ts +169 -169
  244. package/dist/Interfaces/TCG/index.js +60 -60
  245. package/dist/Interfaces/Tag/index.d.ts +18 -18
  246. package/dist/Interfaces/Tag/index.js +2 -2
  247. package/dist/Interfaces/Tax/index.d.ts +13 -13
  248. package/dist/Interfaces/Tax/index.js +2 -2
  249. package/dist/Interfaces/TransferRequest/index.d.ts +103 -103
  250. package/dist/Interfaces/TransferRequest/index.js +46 -46
  251. package/dist/Interfaces/Translation/index.d.ts +8 -8
  252. package/dist/Interfaces/Translation/index.js +5 -5
  253. package/dist/Interfaces/Update/index.d.ts +10 -10
  254. package/dist/Interfaces/Update/index.js +2 -2
  255. package/dist/Interfaces/User/IUser.d.ts +65 -65
  256. package/dist/Interfaces/User/IUser.js +8 -8
  257. package/dist/Interfaces/Version/index.d.ts +11 -11
  258. package/dist/Interfaces/Version/index.js +2 -2
  259. package/dist/Interfaces/Wishlist/index.d.ts +7 -7
  260. package/dist/Interfaces/Wishlist/index.js +2 -2
  261. package/dist/constants/Interfaces/IBaseApi.d.ts +15 -15
  262. package/dist/constants/Interfaces/IBaseApi.js +2 -2
  263. package/dist/constants/Interfaces/IEndpointResult.d.ts +9 -9
  264. package/dist/constants/Interfaces/IEndpointResult.js +2 -2
  265. package/dist/constants/enums.d.ts +6 -6
  266. package/dist/constants/enums.js +10 -10
  267. package/dist/constants/services.d.ts +2 -2
  268. package/dist/constants/services.js +117 -117
  269. package/dist/constants/version.d.ts +2 -2
  270. package/dist/constants/version.js +5 -5
  271. package/dist/index.d.ts +50 -50
  272. package/dist/index.js +266 -266
  273. package/dist/lib/Attribute/index.d.ts +14 -14
  274. package/dist/lib/Attribute/index.js +186 -186
  275. package/dist/lib/BGJob/index.d.ts +9 -9
  276. package/dist/lib/BGJob/index.js +216 -216
  277. package/dist/lib/BackgroundWorker/index.d.ts +34 -34
  278. package/dist/lib/BackgroundWorker/index.js +59 -59
  279. package/dist/lib/Blog/BlogArticle.d.ts +5 -5
  280. package/dist/lib/Blog/BlogArticle.js +10 -10
  281. package/dist/lib/Blog/BlogAuthor.d.ts +5 -5
  282. package/dist/lib/Blog/BlogAuthor.js +10 -10
  283. package/dist/lib/Blog/BlogCategory.d.ts +5 -5
  284. package/dist/lib/Blog/BlogCategory.js +10 -10
  285. package/dist/lib/Blog/BlogKeyword.d.ts +5 -5
  286. package/dist/lib/Blog/BlogKeyword.js +10 -10
  287. package/dist/lib/Booking/index.d.ts +85 -85
  288. package/dist/lib/Booking/index.js +596 -596
  289. package/dist/lib/Brand/index.d.ts +26 -26
  290. package/dist/lib/Brand/index.js +131 -131
  291. package/dist/lib/Cart/index.d.ts +335 -335
  292. package/dist/lib/Cart/index.js +3981 -3981
  293. package/dist/lib/Cart/index.js.map +1 -1
  294. package/dist/lib/CartReservedQuantities/index.d.ts +49 -49
  295. package/dist/lib/CartReservedQuantities/index.js +159 -159
  296. package/dist/lib/CashDrawerShift/index.d.ts +84 -84
  297. package/dist/lib/CashDrawerShift/index.js +206 -206
  298. package/dist/lib/Catalogue/index.d.ts +15 -15
  299. package/dist/lib/Catalogue/index.js +78 -78
  300. package/dist/lib/Category/index.d.ts +34 -34
  301. package/dist/lib/Category/index.js +230 -230
  302. package/dist/lib/Class/index.d.ts +16 -16
  303. package/dist/lib/Class/index.js +66 -66
  304. package/dist/lib/Consent/index.d.ts +4 -4
  305. package/dist/lib/Consent/index.js +29 -29
  306. package/dist/lib/Customer/index.d.ts +30 -30
  307. package/dist/lib/Customer/index.js +92 -92
  308. package/dist/lib/Declination/index.d.ts +9 -9
  309. package/dist/lib/Declination/index.js +26 -26
  310. package/dist/lib/Discount/index.d.ts +27 -27
  311. package/dist/lib/Discount/index.js +493 -493
  312. package/dist/lib/ElasticSearch/index.d.ts +13 -13
  313. package/dist/lib/ElasticSearch/index.js +50 -50
  314. package/dist/lib/Elavon/index.d.ts +18 -18
  315. package/dist/lib/Elavon/index.js +135 -135
  316. package/dist/lib/Email/AbandonedCartEmail.d.ts +16 -16
  317. package/dist/lib/Email/AbandonedCartEmail.js +24 -24
  318. package/dist/lib/Email/AccountConfirmationEmail.d.ts +19 -19
  319. package/dist/lib/Email/AccountConfirmationEmail.js +30 -30
  320. package/dist/lib/Email/AdminOrderConfirmationEmail.d.ts +16 -16
  321. package/dist/lib/Email/AdminOrderConfirmationEmail.js +24 -24
  322. package/dist/lib/Email/ApplicationEmail.d.ts +16 -16
  323. package/dist/lib/Email/ApplicationEmail.js +24 -24
  324. package/dist/lib/Email/BackInStockEmail.d.ts +16 -16
  325. package/dist/lib/Email/BackInStockEmail.js +24 -24
  326. package/dist/lib/Email/ContactEmail.d.ts +16 -16
  327. package/dist/lib/Email/ContactEmail.js +24 -24
  328. package/dist/lib/Email/CustomerBookingAdminEmail.d.ts +16 -16
  329. package/dist/lib/Email/CustomerBookingAdminEmail.js +24 -24
  330. package/dist/lib/Email/CustomerBookingEmail.d.ts +16 -16
  331. package/dist/lib/Email/CustomerBookingEmail.js +24 -24
  332. package/dist/lib/Email/OrderConfirmationEmail.d.ts +16 -16
  333. package/dist/lib/Email/OrderConfirmationEmail.js +24 -24
  334. package/dist/lib/Email/OrderDenounciationEmail.d.ts +16 -16
  335. package/dist/lib/Email/OrderDenounciationEmail.js +24 -24
  336. package/dist/lib/Email/OrderSampleEmail.d.ts +16 -16
  337. package/dist/lib/Email/OrderSampleEmail.js +24 -24
  338. package/dist/lib/Email/OtherTypeEmails.d.ts +16 -16
  339. package/dist/lib/Email/OtherTypeEmails.js +27 -27
  340. package/dist/lib/Email/PasswordResetEmail.d.ts +16 -16
  341. package/dist/lib/Email/PasswordResetEmail.js +24 -24
  342. package/dist/lib/Email/PhotoShootEmail.d.ts +16 -16
  343. package/dist/lib/Email/PhotoShootEmail.js +24 -24
  344. package/dist/lib/Email/PickUpConfirmation.d.ts +16 -16
  345. package/dist/lib/Email/PickUpConfirmation.js +24 -24
  346. package/dist/lib/Email/ShippingConfirmation.d.ts +16 -16
  347. package/dist/lib/Email/ShippingConfirmation.js +24 -24
  348. package/dist/lib/Email/WelcomeEmail.d.ts +16 -16
  349. package/dist/lib/Email/WelcomeEmail.js +24 -24
  350. package/dist/lib/Email/index.d.ts +16 -16
  351. package/dist/lib/Email/index.js +31 -31
  352. package/dist/lib/ExternalService/Ebay.d.ts +74 -74
  353. package/dist/lib/ExternalService/Ebay.js +124 -124
  354. package/dist/lib/ExternalService/index.d.ts +5 -5
  355. package/dist/lib/ExternalService/index.js +10 -10
  356. package/dist/lib/FirstOrderTracking/index.d.ts +5 -5
  357. package/dist/lib/FirstOrderTracking/index.js +10 -10
  358. package/dist/lib/Indexed/IndexedCart.d.ts +13 -13
  359. package/dist/lib/Indexed/IndexedCart.js +91 -91
  360. package/dist/lib/Indexed/Product.d.ts +17 -17
  361. package/dist/lib/Indexed/Product.js +98 -98
  362. package/dist/lib/Inventory/index.d.ts +112 -112
  363. package/dist/lib/Inventory/index.js +492 -492
  364. package/dist/lib/Invoice/index.d.ts +16 -16
  365. package/dist/lib/Invoice/index.js +21 -21
  366. package/dist/lib/MarketplacePublication/index.d.ts +9 -9
  367. package/dist/lib/MarketplacePublication/index.js +426 -426
  368. package/dist/lib/Menu/index.d.ts +11 -11
  369. package/dist/lib/Menu/index.js +107 -107
  370. package/dist/lib/MongoDB/BaseAPI.d.ts +18 -18
  371. package/dist/lib/MongoDB/BaseAPI.js +200 -200
  372. package/dist/lib/Note/index.d.ts +4 -4
  373. package/dist/lib/Note/index.js +6 -6
  374. package/dist/lib/Order/index.d.ts +27 -27
  375. package/dist/lib/Order/index.js +56 -56
  376. package/dist/lib/Org/index.d.ts +68 -68
  377. package/dist/lib/Org/index.js +216 -216
  378. package/dist/lib/PandaPay/index.d.ts +16 -16
  379. package/dist/lib/PandaPay/index.js +176 -176
  380. package/dist/lib/Paysafe/index.d.ts +11 -11
  381. package/dist/lib/Paysafe/index.js +41 -41
  382. package/dist/lib/Product/index.d.ts +182 -182
  383. package/dist/lib/Product/index.js +847 -847
  384. package/dist/lib/ProductAttribute/index.d.ts +15 -15
  385. package/dist/lib/ProductAttribute/index.js +45 -45
  386. package/dist/lib/PromiseToPurchase/index.d.ts +109 -109
  387. package/dist/lib/PromiseToPurchase/index.js +343 -343
  388. package/dist/lib/PurchaseOrder/index.d.ts +20 -20
  389. package/dist/lib/PurchaseOrder/index.js +28 -28
  390. package/dist/lib/Queue/index.d.ts +40 -40
  391. package/dist/lib/Queue/index.js +254 -254
  392. package/dist/lib/Schedule/index.d.ts +5 -5
  393. package/dist/lib/Schedule/index.js +12 -12
  394. package/dist/lib/Service/Enum/ServiceEnum.d.ts +3 -3
  395. package/dist/lib/Service/Enum/ServiceEnum.js +7 -7
  396. package/dist/lib/Service/index.d.ts +13 -13
  397. package/dist/lib/Service/index.js +21 -21
  398. package/dist/lib/Shipment/index.d.ts +28 -28
  399. package/dist/lib/Shipment/index.js +370 -370
  400. package/dist/lib/Slider/index.d.ts +22 -22
  401. package/dist/lib/Slider/index.js +119 -119
  402. package/dist/lib/Space/index.d.ts +1172 -1165
  403. package/dist/lib/Space/index.js +5820 -5816
  404. package/dist/lib/Space/index.js.map +1 -1
  405. package/dist/lib/StockNotification/index.d.ts +4 -4
  406. package/dist/lib/StockNotification/index.js +6 -6
  407. package/dist/lib/Store/index.d.ts +5 -5
  408. package/dist/lib/Store/index.js +12 -12
  409. package/dist/lib/Supplier/Command.d.ts +5 -5
  410. package/dist/lib/Supplier/Command.js +10 -10
  411. package/dist/lib/Supplier/index.d.ts +25 -25
  412. package/dist/lib/Supplier/index.js +27 -27
  413. package/dist/lib/Tags/index.d.ts +6 -6
  414. package/dist/lib/Tags/index.js +26 -26
  415. package/dist/lib/Tax/index.d.ts +8 -8
  416. package/dist/lib/Tax/index.js +54 -54
  417. package/dist/lib/TransferRequest/index.d.ts +290 -290
  418. package/dist/lib/TransferRequest/index.js +1026 -1026
  419. package/dist/lib/Update/index.d.ts +10 -10
  420. package/dist/lib/Update/index.js +22 -22
  421. package/dist/lib/User/index.d.ts +89 -89
  422. package/dist/lib/User/index.js +328 -328
  423. package/dist/lib/Wishlist/index.d.ts +5 -5
  424. package/dist/lib/Wishlist/index.js +10 -10
  425. package/dist/lib/base.d.ts +14 -14
  426. package/dist/lib/base.js +62 -62
  427. package/dist/lib/baseService.d.ts +17 -17
  428. package/dist/lib/baseService.js +69 -69
  429. package/dist/rules/GR/constants/data.d.ts +26 -26
  430. package/dist/rules/GR/constants/data.js +81 -81
  431. package/dist/rules/GR/constants/expedition.d.ts +4 -4
  432. package/dist/rules/GR/constants/expedition.js +9 -9
  433. package/dist/rules/GR/constants/products.d.ts +22 -22
  434. package/dist/rules/GR/constants/products.js +263 -263
  435. package/dist/rules/GR/interfaces/cart.d.ts +84 -84
  436. package/dist/rules/GR/interfaces/cart.js +41 -41
  437. package/dist/rules/GR/interfaces/data.d.ts +101 -101
  438. package/dist/rules/GR/interfaces/data.js +114 -114
  439. package/dist/rules/GR/interfaces/products.d.ts +61 -61
  440. package/dist/rules/GR/interfaces/products.js +10 -10
  441. package/dist/rules/GR/utils/cart.d.ts +95 -95
  442. package/dist/rules/GR/utils/cart.js +839 -839
  443. package/dist/rules/GR/utils/data.d.ts +3 -3
  444. package/dist/rules/GR/utils/data.js +28 -28
  445. package/dist/rules/GR/utils/expedition.d.ts +140 -140
  446. package/dist/rules/GR/utils/expedition.js +2016 -2016
  447. package/dist/rules/GR/utils/g2.d.ts +209 -209
  448. package/dist/rules/GR/utils/g2.js +1002 -999
  449. package/dist/rules/GR/utils/g2.js.map +1 -1
  450. package/dist/rules/GR/utils/invoices.d.ts +51 -51
  451. package/dist/rules/GR/utils/invoices.js +215 -215
  452. package/dist/rules/GR/utils/products.d.ts +277 -277
  453. package/dist/rules/GR/utils/products.js +1350 -1350
  454. package/dist/rules/GR/utils/upsells.d.ts +111 -111
  455. package/dist/rules/GR/utils/upsells.js +215 -215
  456. package/dist/services/database/BaseProvider.d.ts +29 -29
  457. package/dist/services/database/BaseProvider.js +28 -28
  458. package/dist/services/database/BatchUtils.d.ts +14 -14
  459. package/dist/services/database/BatchUtils.js +43 -43
  460. package/dist/services/database/Config.d.ts +2 -2
  461. package/dist/services/database/Config.js +5 -5
  462. package/dist/services/database/DatabaseService.d.ts +125 -125
  463. package/dist/services/database/DatabaseService.js +237 -237
  464. package/dist/services/database/FirebaseProvider.d.ts +17 -17
  465. package/dist/services/database/FirebaseProvider.js +235 -235
  466. package/dist/services/database/NotFirebaseProvider.d.ts +49 -49
  467. package/dist/services/database/NotFirebaseProvider.js +262 -262
  468. package/dist/services/g2/G2OrderSlip.d.ts +49 -49
  469. package/dist/services/g2/G2OrderSlip.js +228 -228
  470. package/dist/services/g2/utils.d.ts +19 -19
  471. package/dist/services/g2/utils.js +954 -953
  472. package/dist/services/g2/utils.js.map +1 -1
  473. package/dist/services/logs/index.d.ts +23 -23
  474. package/dist/services/logs/index.js +66 -66
  475. package/dist/services/marketplace/BaseMarketServiceClass.d.ts +52 -52
  476. package/dist/services/marketplace/BaseMarketServiceClass.js +111 -111
  477. package/dist/services/marketplace/CardtraderServiceClass.d.ts +17 -17
  478. package/dist/services/marketplace/CardtraderServiceClass.js +139 -139
  479. package/dist/services/marketplace/utils.d.ts +14 -14
  480. package/dist/services/marketplace/utils.js +29 -29
  481. package/dist/services/products/BaseClass.d.ts +50 -50
  482. package/dist/services/products/BaseClass.js +66 -66
  483. package/dist/services/products/TCGService.d.ts +32 -32
  484. package/dist/services/products/TCGService.js +555 -555
  485. package/dist/services/products/utils.d.ts +31 -31
  486. package/dist/services/products/utils.js +144 -144
  487. package/dist/utils/algolia.d.ts +46 -46
  488. package/dist/utils/algolia.js +21 -21
  489. package/dist/utils/anonymisation.d.ts +54 -54
  490. package/dist/utils/anonymisation.js +280 -280
  491. package/dist/utils/array.d.ts +5 -5
  492. package/dist/utils/array.js +14 -14
  493. package/dist/utils/aws.d.ts +36 -36
  494. package/dist/utils/aws.js +154 -154
  495. package/dist/utils/booking.d.ts +30 -30
  496. package/dist/utils/booking.js +127 -127
  497. package/dist/utils/cart.d.ts +272 -259
  498. package/dist/utils/cart.js +1169 -1145
  499. package/dist/utils/cart.js.map +1 -1
  500. package/dist/utils/categories.d.ts +2 -2
  501. package/dist/utils/categories.js +54 -54
  502. package/dist/utils/cmv.d.ts +10 -10
  503. package/dist/utils/cmv.js +107 -107
  504. package/dist/utils/console.d.ts +6 -6
  505. package/dist/utils/console.js +59 -59
  506. package/dist/utils/context.d.ts +20 -20
  507. package/dist/utils/context.js +61 -61
  508. package/dist/utils/currency.d.ts +6 -6
  509. package/dist/utils/currency.js +91 -91
  510. package/dist/utils/data.d.ts +31 -31
  511. package/dist/utils/data.js +296 -296
  512. package/dist/utils/date.d.ts +1 -1
  513. package/dist/utils/date.js +16 -16
  514. package/dist/utils/dimensions.d.ts +3 -3
  515. package/dist/utils/dimensions.js +16 -16
  516. package/dist/utils/discount.d.ts +174 -174
  517. package/dist/utils/discount.js +1118 -1118
  518. package/dist/utils/errors.d.ts +118 -118
  519. package/dist/utils/errors.js +123 -123
  520. package/dist/utils/file-admin.d.ts +8 -8
  521. package/dist/utils/file-admin.js +39 -39
  522. package/dist/utils/file.d.ts +39 -39
  523. package/dist/utils/file.js +208 -208
  524. package/dist/utils/firebase-admin.d.ts +11 -11
  525. package/dist/utils/firebase-admin.js +73 -73
  526. package/dist/utils/firebase.d.ts +58 -58
  527. package/dist/utils/firebase.js +148 -148
  528. package/dist/utils/import.d.ts +1 -1
  529. package/dist/utils/import.js +21 -21
  530. package/dist/utils/inventories.d.ts +101 -101
  531. package/dist/utils/inventories.js +467 -467
  532. package/dist/utils/locale.d.ts +24 -24
  533. package/dist/utils/locale.js +91 -89
  534. package/dist/utils/locale.js.map +1 -1
  535. package/dist/utils/mailchimp.d.ts +58 -58
  536. package/dist/utils/mailchimp.js +531 -531
  537. package/dist/utils/mathUtils.d.ts +17 -17
  538. package/dist/utils/mathUtils.js +324 -324
  539. package/dist/utils/mongodb.d.ts +1 -1
  540. package/dist/utils/mongodb.js +22 -22
  541. package/dist/utils/object.d.ts +32 -32
  542. package/dist/utils/object.js +133 -133
  543. package/dist/utils/payment.d.ts +10 -10
  544. package/dist/utils/payment.js +23 -23
  545. package/dist/utils/products.d.ts +39 -39
  546. package/dist/utils/products.js +195 -195
  547. package/dist/utils/promiseToPurchase.d.ts +88 -88
  548. package/dist/utils/promiseToPurchase.js +229 -229
  549. package/dist/utils/prosprsearch.d.ts +42 -42
  550. package/dist/utils/prosprsearch.js +216 -216
  551. package/dist/utils/refunds.d.ts +2 -2
  552. package/dist/utils/refunds.js +21 -21
  553. package/dist/utils/sdc.d.ts +10 -10
  554. package/dist/utils/sdc.js +1309 -1309
  555. package/dist/utils/searchIndexes.d.ts +58 -58
  556. package/dist/utils/searchIndexes.js +247 -247
  557. package/dist/utils/services.d.ts +42 -42
  558. package/dist/utils/services.js +409 -409
  559. package/dist/utils/shipment.d.ts +110 -110
  560. package/dist/utils/shipment.js +345 -345
  561. package/dist/utils/simpletexting.d.ts +2 -2
  562. package/dist/utils/simpletexting.js +45 -45
  563. package/dist/utils/sliders.d.ts +4 -4
  564. package/dist/utils/sliders.js +24 -24
  565. package/dist/utils/string.d.ts +16 -16
  566. package/dist/utils/string.js +192 -192
  567. package/dist/utils/tcgService.d.ts +81 -81
  568. package/dist/utils/tcgService.js +353 -353
  569. package/dist/utils/tools.d.ts +5 -5
  570. package/dist/utils/tools.js +13 -13
  571. package/dist/utils/transferRequests.d.ts +43 -43
  572. package/dist/utils/transferRequests.js +67 -67
  573. package/dist/utils/update.d.ts +7 -7
  574. package/dist/utils/update.js +137 -137
  575. package/dist/utils/weight.d.ts +3 -3
  576. package/dist/utils/weight.js +16 -16
  577. package/dist/utils/zones.d.ts +11 -11
  578. package/dist/utils/zones.js +218 -218
  579. package/package.json +107 -107
  580. package/publish.sh +143 -143
  581. package/readme.md +182 -182
  582. package/.env +0 -15
@@ -1,1165 +1,1172 @@
1
- import IDeclination from '../../Interfaces/Declination';
2
- import ICart, { CartTypeEnum, IApplicablePromiseBank, ICartItem, IIndexedDeclination } from '../../Interfaces/Cart';
3
- import IQueryOptions from '../../Interfaces/Query/IProductQueryOptions';
4
- import ISpace, { IBlockedDates, ICurrencies, IDimensionUnit, IBucketDocument, IFixedPromoBanner, IG2Calls, IOrderInvoiceNumerotation, IPredefinedBox, IShippingRangeRestrictions, ISpaceOptions, spaceCollectionNames, IStoreCreditEntry } from '../../Interfaces/Space';
5
- import IBrand from '../../Interfaces/Brand';
6
- import IProduct, { IQueryProps } from '../../Interfaces/Product';
7
- import IDiscountRule from '../../Interfaces/Rules/IDiscountRule';
8
- import ICustomer from '../../Interfaces/Customer';
9
- import IBrandQueryOptions from '../../Interfaces/Query/IBrandQueryOptions';
10
- import ICategoryQueryOptions from '../../Interfaces/Query/ICategoryQueryOptions';
11
- import ICategory from '../../Interfaces/Category';
12
- import IAttribute from '../../Interfaces/Attribute';
13
- import IClass from '../../Interfaces/Class';
14
- import IPurchaseOrder, { IOrderDeclination } from '../../Interfaces/PurchaseOrder';
15
- import ITax from '../../Interfaces/Tax';
16
- import IndexedProduct from '../Indexed/Product';
17
- import IIndexedProduct from '../../Interfaces/Indexed/Product';
18
- import Attribute from '../Attribute';
19
- import Class from '../Class';
20
- import Supplier from '../Supplier';
21
- import ExternalService from '../ExternalService';
22
- import PurchaseOrder from '../PurchaseOrder';
23
- import Invoice from '../Invoice';
24
- import BlogAuthor from '../Blog/BlogAuthor';
25
- import BlogCategory from '../Blog/BlogCategory';
26
- import BlogKeyword from '../Blog/BlogKeyword';
27
- import BlogArticle from '../Blog/BlogArticle';
28
- import Cart from '../Cart';
29
- import Product from '../Product';
30
- import Discount from '../Discount';
31
- import Customer from '../Customer';
32
- import Brand from '../Brand';
33
- import Category from '../Category';
34
- import Order from '../Order';
35
- import ITranslation from '../../Interfaces/Translation';
36
- import IStore from '../../Interfaces/Store';
37
- import Tag from '../Tags';
38
- import { InventoryPriorityTypeEnum } from '../../Interfaces/Inventory';
39
- import { IPriceRange } from '../../Interfaces/Algolia';
40
- import Booking from '../Booking';
41
- import IInventoryItem from '../../Interfaces/Product/IInventoryItem';
42
- import { TransferRequest } from '../TransferRequest';
43
- import Inventory from '../Inventory';
44
- import Catalogue from '../Catalogue';
45
- import ICatalogue from '../../Interfaces/Catalogue';
46
- import IUpdate from '../../Interfaces/Update';
47
- import IBGJob from '../../Interfaces/BGJob';
48
- import BGJob from '../BGJob';
49
- import { BankTypeAssociationEnum, IBankRule, IBankType } from '../../Interfaces/PromiseToPurchase/BankType';
50
- import PromiseToPurchase from '../PromiseToPurchase';
51
- import { SearchResponse } from '@algolia/client-search';
52
- import User from '../User';
53
- import IUser from '../../Interfaces/User/IUser';
54
- import IIndexedCustomerPromiseToPurchase from '../../Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase';
55
- import Slider from '../Slider';
56
- import IIndexedBankUsed, { BankUpdateTypeEnum, IRemainingBankAmount } from '../../Interfaces/PromiseToPurchase/IIndexedBankUsed';
57
- import { IDatabaseRef, IRefObject } from '../../services/database/DatabaseService';
58
- import { ICustomPriceItem } from '../../Interfaces/G2';
59
- import ILang from '../../utils/string';
60
- import FirstOrderTracking from '../FirstOrderTracking';
61
- import { ExternalServiceTypeEnum, IExternalServices } from '../../Interfaces/Space/IExternalService';
62
- import { IStoreCreditHistory } from '../../Interfaces/Customer/IStoreCredit';
63
- import { MenuPositionEnum } from '../../Interfaces/Menu';
64
- import Menu from '../../lib/Menu';
65
- import Note from '../Note';
66
- import { NoteTypeEnum } from '../../Interfaces/Note';
67
- import { CashDrawerActionEnum, ICashDrawer, ICashDrawerInteraction } from '../../Interfaces/CashDrawers';
68
- import CashDrawerShift from '../CashDrawerShift';
69
- /**
70
- * Class Space
71
- * A Space represent a company.
72
- */
73
- export default class Space {
74
- private _space_ref;
75
- private _user;
76
- private _space;
77
- private _currencies;
78
- constructor(space: ISpace, user: string, space_ref: IRefObject);
79
- getRef: () => IRefObject;
80
- static getCurrentSpace: (childCollection: string, refUser: string) => Promise<Space>;
81
- static getCurrentSpaceWithRef: (childCollection: string, refUser: string) => Promise<Space>;
82
- initCurrencies: () => Promise<any>;
83
- /**
84
- * Create the actual space
85
- */
86
- create: () => Promise<IDatabaseRef>;
87
- /**
88
- * Update current space with a partial space pass as parameters.
89
- * @param updates Updates to be made on the space - Partial<Space>
90
- */
91
- update: (updates: Partial<ISpace>) => Promise<boolean>;
92
- getDefaultTax: () => string | undefined;
93
- getCurrencies: () => ICurrencies | undefined;
94
- incrementTransferRef: () => Promise<number>;
95
- incrementOrderAndInvoiceRef: () => Promise<number>;
96
- save: (partialSpace: Partial<ISpace>, saveToDatabase?: boolean) => Promise<void>;
97
- listenOnChange: (callback: any) => string;
98
- private _getAllCustomerGroups;
99
- private _updateShippingFee;
100
- private _updateFreeShippingRestrictions;
101
- private _updateFreeShippingRestrictionsValues;
102
- private _getFreeShippingRestrictions;
103
- private _disabledShipping;
104
- private _getShippingAsProduct;
105
- private _setShippingAsProduct;
106
- private _disabledPickup;
107
- private _getAllBlockedDates;
108
- private _getBlockedDatesForCartType;
109
- private _updateBlockedDates;
110
- private _addNewBoxToShippingPref;
111
- private _addNewProductToShippingPref;
112
- private _addNewUnitToShippingPref;
113
- private _deleteBoxToShippingPref;
114
- private _deleteProductToShippingPref;
115
- private _deleteUnitToShippingPref;
116
- private _updateProductToShippingPref;
117
- private _updateUnitToShippingPref;
118
- private _updateFullUnitToShippingPref;
119
- private _updateBoxData;
120
- private _updateBoxToShippingPref;
121
- private _updateBoxToShippingPrefOption;
122
- private _getProductToShippingPref;
123
- private _getUnitToShippingPref;
124
- private _getBoxToShippingPref;
125
- private _addNewEnvelopToShippingPref;
126
- private _deleteEnvelopToShippingPref;
127
- private _updateEnvelopToShippingPref;
128
- private _getEnvelopToShippingPref;
129
- private _getAllProductPreferences;
130
- private _getOptions;
131
- private _saveOptions;
132
- private _checkIfSpecificOptionSetForSpace;
133
- private _getAllStores;
134
- private _addNewStore;
135
- private _updateStore;
136
- private _deleteStore;
137
- private _getExternalServices;
138
- callProductPublicService: (service: any, value: string, fromServer?: boolean) => Promise<{
139
- confirmed: boolean;
140
- details: any;
141
- error?: undefined;
142
- } | {
143
- confirmed: boolean;
144
- error: unknown;
145
- details?: undefined;
146
- }>;
147
- private _fetchServices;
148
- /**
149
- * Fetch the external service for the name provided
150
- * @param serviceName
151
- * @param returnInactiveService Optionnal, defaults to false. Must be set if service should be returned even if it is inactive
152
- */
153
- private _getSpecificServiceByName;
154
- private _getAllServicesByType;
155
- private _getServiceBySlug;
156
- private _setExternalServiceValues;
157
- /**
158
- * Check if external_value fields should be shown for space
159
- */
160
- private _showExternalValueFieldsForSpace;
161
- /**
162
- * Get array of field data nesessary to show space's external_values per objet type
163
- * @param objType The object type to check for external_values
164
- */
165
- private _getExternalFieldsToShowForPageType;
166
- private _getAllTaxes;
167
- private _getTaxes;
168
- private _getMostRecentConsentForm;
169
- private _brandsListener;
170
- private _getBrands;
171
- updateBrand: (partial: Partial<IBrand>, brand: IBrand) => Promise<void>;
172
- addBrand: (brand: Partial<IBrand>) => Promise<string | boolean | undefined>;
173
- private _getBlogArticles;
174
- private _getBlogAuthors;
175
- private _getBlogCategories;
176
- private _blogCategoriesListener;
177
- private _getBlogKeywords;
178
- _getCatalogues: () => Promise<Catalogue[]>;
179
- _getCatalogueById: (id: string) => Promise<Catalogue | undefined>;
180
- _checkIfCatalogueSlugIsUnique: (slug: string, id: string) => Promise<boolean>;
181
- _saveCatalogue: (catalogue: ICatalogue) => Promise<string | boolean>;
182
- _deleteCataloguesById: (ids: string[]) => Promise<boolean>;
183
- private _categoriesListener;
184
- private _getCategories;
185
- /**
186
- * Get full category tree
187
- * @deprecated use new _getTreeNew function instead
188
- * @param categories
189
- * @param level
190
- * @param parent
191
- */
192
- private _getTree;
193
- /**
194
- * Get array of ordered categories
195
- * @param categories
196
- * @param parentID
197
- */
198
- private _getTreeNew;
199
- private _getCategoryUrl;
200
- private _resetInventories;
201
- /**
202
- * Private function to save a bulk of document to a collection
203
- * @param obj an array of documents
204
- * @param collection the collection name where to save
205
- * @returns the amount of save vs errors
206
- */
207
- private _batchSaveCollection;
208
- private _batchSaveCategories;
209
- private _batchSaveBrands;
210
- private _batchSaveAttributes;
211
- private _getCategoryParentsUrl;
212
- addCategory: (category: Partial<ICategory>) => Promise<string | boolean | undefined>;
213
- updateCategory: (partial: Partial<ICategory>, category: ICategory) => Promise<void>;
214
- addAttribute: (attribute: IAttribute) => Promise<boolean | string>;
215
- private _attributesListener;
216
- private _getAttributes;
217
- private _addAttribute;
218
- private _saveAllActiveProducts;
219
- private _generateAllProductIndexes;
220
- private _removeAllPromo;
221
- private _resetPriceListPrices;
222
- private _deleteAllProducts;
223
- private _batchProductsCreate;
224
- private _batchProductsSet;
225
- _productsListener: (callback: (products: Product[]) => any, options?: IQueryOptions) => string;
226
- updateProduct: (partial: Partial<IProduct>, product: IProduct) => Promise<void>;
227
- createEmptyProduct: () => Product;
228
- addProduct: (product: Partial<IProduct>, options?: {
229
- index?: boolean;
230
- }) => Promise<void>;
231
- private _getExternalProductBySlug;
232
- private _getExternalProductsSlugToTry;
233
- /**
234
- * Fetch all options with - optionnal - query
235
- * @param options Query options - optionnal
236
- */
237
- private _getProducts;
238
- /**
239
- * Obtenir une partie des produits à partir de l'indentifiant fournis
240
- * @param from le id du dernier document ou continuer ou undefine si on veut le premier
241
- * @param limit la taille max à lire, idéalement 500 ou moins
242
- * @returns la liste de produits récupéré
243
- */
244
- private _getProductsPage;
245
- private _getAllProducts;
246
- fetchSizeBasedOnCategoryAndAttribute: (category: string, attribute?: string) => IPredefinedBox | IPredefinedBox[] | undefined;
247
- constructProduct: (productData: IProduct) => Product;
248
- productHasDocument: () => boolean;
249
- productHasPanelDescriptions: () => boolean;
250
- productHasProductUpsells: () => boolean;
251
- productHasProductEquivalents: () => boolean;
252
- private _decliHasStock;
253
- getDeclinationsPriceRange: (declinations: ICartItem[], inventoryItems: IInventoryItem[]) => IPriceRange;
254
- getDeclinationsPriceClassesRange: (customPromoApplies: boolean, declinations: ICartItem[], inventoryItems: IInventoryItem[]) => IPriceRange[];
255
- private _getAppliedPrice;
256
- private _getMin;
257
- private _getMinFromDeclinations;
258
- getPriceTypeByDeclinations: (sample: ICartItem[]) => "regular_price" | "promo_price" | "discount_price";
259
- getPriceTypeForProduct: (declinations: IIndexedDeclination[]) => 'regular' | 'promo' | 'discount';
260
- private _getIndexedProductFromProduct;
261
- private _getCartItems;
262
- private _getAllIndexedProducts;
263
- private _saveAllIndexedCategories;
264
- private _fetchIndexedVariations;
265
- /**
266
- * Finds indexed declination corresponding to parent slug and sku provided
267
- * @param space
268
- * @param parentSlug - The parent product slug (to search space indexed products)
269
- * @param sku - The specific sku for the declination
270
- * @param customPriceList - Optionnal. If provided, indexed decli is returned with adjusted prices from price list
271
- */
272
- private _fetchIndexedDecliBySlugAndSku;
273
- private _getAllInventoryItems;
274
- /**
275
- * Obtenir une partie des inventaires à partir de l'indentifiant fournis
276
- * @param from le id du dernier document ou continuer ou undefine si on veut le premier
277
- * @param limit la taille max à lire, idéalement 500 ou moins
278
- * @returns la liste de l'inventaires récupéré
279
- */
280
- private _getInventoryPage;
281
- private _getAllInventoryItemsByPages;
282
- private _getInventoryItemsSnapshot;
283
- private _getOneInventoryItem;
284
- private _setInventoryItem;
285
- private _deleteInventoryItem;
286
- private _getAllInventoryItemsFromSameProduct;
287
- private _getIsSaving;
288
- private _setIsSaving;
289
- private _getAllTransfertRequests;
290
- private _getTransfertRequestsSnapshot;
291
- private _getATransfertRequest;
292
- private _getTransferRequestStatusOrderForSpace;
293
- private _getTransferRequestByRef;
294
- private _discountRulesListener;
295
- addDiscountRule: (discountRule: IDiscountRule) => Promise<void>;
296
- updateDiscountRule: (partial: Partial<IDiscountRule>, discountRule: IDiscountRule) => Promise<void>;
297
- private _getDiscountRules;
298
- private _deleteDiscountRules;
299
- private _getPurchaseOrders;
300
- addPurchaseOrder: (purchaseOrder: IPurchaseOrder) => Promise<void>;
301
- createEmptyPurchaseOrder: () => PurchaseOrder;
302
- generatePurchaseOrders: (declinationsToAdd: IOrderDeclination[]) => Promise<PurchaseOrder[]>;
303
- private _singlePurchaseOrderListener;
304
- _purchaseOrdersListener: (callback: (purchaseOrders: PurchaseOrder[]) => any, options?: IQueryOptions) => string;
305
- private _getClasses;
306
- private _classesListener;
307
- addClass: (classObj: Partial<IClass>) => Promise<string | boolean | undefined>;
308
- private _getSuppliers;
309
- createEmptySupplier: () => Supplier;
310
- private _suppliersListener;
311
- createEmptyCart: (save?: boolean, cartType?: CartTypeEnum, defaultPickup?: boolean) => Promise<Cart>;
312
- createEmptyCartSync: (cartType?: CartTypeEnum) => Cart;
313
- private _getCarts;
314
- private _cartsListener;
315
- private _deleteOrders;
316
- getWarehouseAvailability: (cartItems: ICartItem[]) => Promise<{
317
- web: number;
318
- store: number;
319
- }>;
320
- private _getAllOrderTypes;
321
- private _getInvoices;
322
- private _invoicesListener;
323
- private _getUnknownCartItem;
324
- private _importInvoices;
325
- /**
326
- * Generate the next unique ID for a customers new promise to purchase. Recursive function : always checks if ID exists in database before returning ID.
327
- * @param customerId - The customer for whom we're creating a new promise
328
- * @param useNextSeason - If we should check the values for next season instead of current one
329
- * @param idToIncrement - Optionnal. Only set when calling the function recursively.
330
- */
331
- private _generateNewPromiseId;
332
- private _getNextInvoiceRef;
333
- private _incrementGeneralInvoiceRef;
334
- private _incrementStoreOrWebInvoiceRef;
335
- private _constructNewRefForInvoice;
336
- private _getSpaceBillingEmailsToSendInvoice;
337
- private _batchInvoicesCreate;
338
- private _batchInvoiceDelete;
339
- private _getOrders;
340
- private _ordersListener;
341
- private _customersListener;
342
- createEmptyCustomer: () => Customer;
343
- private _createCustomerWithId;
344
- private _deleteOneCustomer;
345
- addCustomer: (customer: ICustomer, oldID?: string, skipEmailCheck?: boolean) => Promise<{
346
- saved: boolean;
347
- error: {
348
- fr: string;
349
- en: string;
350
- };
351
- sameEmail?: undefined;
352
- } | {
353
- saved: boolean;
354
- error: {
355
- fr: string;
356
- en: string;
357
- };
358
- sameEmail: boolean;
359
- } | {
360
- saved: boolean;
361
- error?: undefined;
362
- sameEmail?: undefined;
363
- }>;
364
- private _getCustomers;
365
- private _batchCustomerAddressesCreate;
366
- private _batchCustomerWishlistsCreate;
367
- private _batchCustomerAlertCreate;
368
- private _batchCustomersCreate;
369
- private _fetchIndexedCustomers;
370
- /**
371
- * Fetches and returns all promises to purchase associated with a customer ID.
372
- * @param customerID - The customer ID to check
373
- * @param onlyActive - Optionnal. If true, function only returns currently active promises
374
- */
375
- private _getCustomerPromisesToPurchase;
376
- /**
377
- * For all possible bank types for space, checks all active promises for customer and returns an object containing currently active bank applicable.
378
- * @param customerID - The customer ID to check
379
- * @param promisesToCheck - Optionnal. If defined, uses provided array of promises instead of calling DB.
380
- */
381
- private _getPossibleActiveBanksForCustomer;
382
- private _updateCustomerLastActivity;
383
- /**
384
- * Function that adjusts store and / or web inventories for a cart depending on it's state
385
- * @param items an array of ICartItem objects through which we will loop to adjust their inventories
386
- * @param cartState the state of the cart for which we are adjusting the inventory, this affects what inventory actions will be made
387
- * @param cartType type of the cart
388
- * @param options.currentStoreId the store at which we are doing the inventory manipulation
389
- * @param options.onlyWeb if the inventory should only be adjusted for WEB or also for the current store
390
- * @param options.fromStoreId the store at which the inventories were initially modified, it is only used in the context of a refund, where we might return items to a different store than where they were taken.
391
- * @param options.associatedTransferForCart Optionnal. Array of TransferRequest objects associated to order (used in 'cancelled' cart state)
392
- * @param options.previousItems Optionnal. Array of ICartItem corresponding to prevState in cart
393
- * @param options.inventoryItemsDataToUse Optionnal. Array of inventoryItem data to use instead of calling Db twice.
394
- * @param options.shouldCheckReservedQte Optionnal. If reserved quantities should be check for inventory or not
395
- */
396
- private _ajustInventoryWithCart;
397
- private _checkIfSpaceHasMinInventoryOption;
398
- private _addTag;
399
- private _getAllTags;
400
- private _deleteAllTags;
401
- /**
402
- * Fetches user from database by unique ID.
403
- * @param uid - The users unique ID (same as the email)
404
- */
405
- private _getUser;
406
- /**
407
- * Fetches user from database by external ID
408
- * @param externalID - The user's external ID
409
- * @param userEmail - The user's email
410
- */
411
- private _getUserByExternalID;
412
- private _disableUser;
413
- private _enableUser;
414
- private _getUserModel;
415
- private _saveUser;
416
- private _reinitUserPassword;
417
- private _deleteUser;
418
- translateToDefault: (dict: ITranslation[]) => string;
419
- generateNewCustomerId: () => Promise<string | boolean>;
420
- _shouldSpreadDeclinationsAtIndexing: () => boolean;
421
- _shouldIndexUnpaidCarts: () => boolean;
422
- _shouldIndexHeldCarts: () => boolean;
423
- _prosprShouldSpreadDeclinationsAtIndexing: () => boolean;
424
- _setWebsiteMaintenance: (is_in_maintenance: boolean) => Promise<void>;
425
- private _setHideProPrices;
426
- private _setFixedPromoBanner;
427
- private _getBookings;
428
- private _bookingsListener;
429
- createNewBooking: (save?: boolean) => Promise<{
430
- saved: string | boolean;
431
- booking: Booking;
432
- } | {
433
- saved: boolean;
434
- booking: undefined;
435
- }>;
436
- private _updateG2Calls;
437
- publicToken: () => string | undefined;
438
- getImportModel: () => import("../../Interfaces/Space").IImportModelLine[];
439
- private _getDefaultLocale;
440
- private _getDefaultCurrency;
441
- private _getLanguages;
442
- private _getDefaultWeightUnit;
443
- private _getDefaultMeasurmentsUnit;
444
- private _getEnabledCurrencies;
445
- _getAlgoliaApp: () => any;
446
- _getAlgoliaKey: () => any;
447
- _getAlgoliaAdmin: () => any;
448
- _getProsprSearchApp: () => any;
449
- _getStorageServiceName: () => string;
450
- _getStorageServiceConfig: () => {
451
- readonly [key: string]: any;
452
- };
453
- _getStorageServiceToUse: () => {
454
- name: string;
455
- config: {
456
- readonly [key: string]: any;
457
- };
458
- };
459
- private _getUpdateByObjectID;
460
- private _getUpdateByType;
461
- private _getBankTypes;
462
- private _addBankType;
463
- private _updateBankType;
464
- private _getPromiseBankRules;
465
- /**
466
- * Synchronizes the customers with the list of promise to purchase.
467
- * @param associations - Record dont la clé est l'id d'un customer et la valeur est un record de promesses d'achats avec leur id et leurs infos
468
- */
469
- private _syncCustomerPromiseToPurchaseAssoc;
470
- /**
471
- * Retrieves and returns only the customers who have a PA.
472
- */
473
- private _getAllWithActivePromises;
474
- private _getBanksUsedHistoryForCustomer;
475
- /**
476
- * Checks for currently active banks, and returns their available amount, as well as the ones for all previous PAs with same bank type.
477
- * @param customerID
478
- */
479
- private _getAvailableBankAmountsByBankType;
480
- private _getPromisesToPurchase;
481
- private _getPromiseToPurchaseEmails;
482
- private _getPromiseToPurchaseContingency;
483
- private _getPromiseToPurchaseSeasons;
484
- private _deactivateAllPromisesToPurchase;
485
- private _closeSeasonPromisesToPurchase;
486
- private _openSeasonPromisesToPurchase;
487
- private _endSeasonPromisesToPurchase;
488
- private _getEscompteItems;
489
- /**
490
- * Retrieves and returns all the carts containing a specific promise ID.
491
- * @param promiseID - The ID to check
492
- * @param options - Optionnal. Additionnal query options
493
- */
494
- private _getPromiseAssociatedCarts;
495
- private _getBanksUsedHistory;
496
- private _getAvailableBankAmountForApplicableBanks;
497
- /**
498
- * Returns all available amounts for banks found in specific promise.
499
- * @param promiseID The ID of the promise to check
500
- * @param promiseObj Optionnal. If provided, saves a call to the DB.
501
- */
502
- private _getAvailableBankAmountsForPromise;
503
- /**
504
- * Returns remaining amount and other info for a specific bank of a specific PA.
505
- * @param promiseID - The promise to purchase ID
506
- * @param bankID - The bank type ID
507
- * @param promiseObj - Optionnal. If provided, removes one fetch from database
508
- */
509
- private _getSpecificAvailableBankAmount;
510
- private _getJobs;
511
- private _jobsListener;
512
- private _startJob;
513
- setInventoryPriority: (type: InventoryPriorityTypeEnum) => Promise<void>;
514
- setPrincipalWarehouseInventory: (warehouseId: string) => Promise<{
515
- stores_warehouses: {
516
- can_sell_online: boolean;
517
- id?: string | undefined;
518
- personnal_id?: string | undefined;
519
- store_num?: string | undefined;
520
- type: import("../../Interfaces/Store").StoreTypeEnum;
521
- name: string;
522
- can_ship: boolean;
523
- is_pickup_point?: boolean | undefined;
524
- show_on_contact?: boolean | undefined;
525
- no_inventory_for_store?: boolean | undefined;
526
- hide_inventory_on_website?: boolean | undefined;
527
- order?: number | undefined;
528
- address: import("../../Interfaces/Address").default;
529
- phone: string;
530
- store_customer_id?: string | undefined;
531
- email?: string | undefined;
532
- position?: {
533
- readonly lat: number;
534
- readonly lng: number;
535
- } | undefined;
536
- tax_numbers?: {
537
- tax_family_id: string;
538
- tax_label_fr: string;
539
- tax_number: string;
540
- }[] | undefined;
541
- allow_immediate_pickup?: boolean | undefined;
542
- payment_ref_is_mandatory?: boolean | undefined;
543
- payment_shortcuts?: {
544
- display_text: string;
545
- url: string;
546
- }[] | undefined;
547
- is_default_pos_store?: boolean | undefined;
548
- }[];
549
- } | undefined>;
550
- private _getSliders;
551
- private _getFirstOrders;
552
- private _getAllDocuments;
553
- private _saveDocument;
554
- /**
555
- * Apply a credit change, the value is negative for a purchasse
556
- * @param customerId The id of the customer
557
- * @param creditSlug The credit *slug name as configured in the space
558
- * @param amount The amount to add or remove
559
- * @param comment The reason for this change
560
- * @param user The user doing the action
561
- */
562
- private _modifyStoreCredit;
563
- private _getStoreCreditToUse;
564
- /**
565
- * Get the latess credit amount for a customer
566
- * @param customerId The customer ID
567
- * @param creditSlug The slug of the credit to get
568
- * @returns The amount
569
- */
570
- private _getStoreCreditForCustomer;
571
- /**
572
- * Get the full history of credit for a customer
573
- * @param customerId The customer ID
574
- * @param creditSlug The slug of the credit to get
575
- * @returns A list of IStoreCreditHistory
576
- */
577
- private _getStoreCreditHistory;
578
- /**
579
- * Validate if an amount can be deducted from the credit of a customer
580
- * @param customerId The customer ID
581
- * @param creditSlug The credit slug to verify
582
- * @param amount The amount to deduct
583
- * @returns True if the amount is less or equal to the customer credit
584
- */
585
- private _validateCredit;
586
- /**
587
- * Get the space available credits
588
- */
589
- private _getSpaceCredits;
590
- /**
591
- * Retourne tous les menus du space
592
- */
593
- private _getMenus;
594
- /**
595
- * Retourne le menu actif pour un slug
596
- */
597
- private _getActiveMenuBySlug;
598
- /**
599
- * Retourne tous les menus actifs
600
- */
601
- private _getAllActiveMenus;
602
- /**
603
- * Utils to check and return current space cash drawers. Throws an error if space does not has corresponding feature set, or if id provided and same id not found in current cash drawers.
604
- * @param idToCheck Optionnal. Cart drawer id to check in current space data.
605
- */
606
- private _checkCurrentSpaceDataForCashDrawer;
607
- /**
608
- * Generates new cash drawer from data provided, and saves to cash_drawer array in Space data.
609
- * @param data.nickname Nickname for cash drawer (required)
610
- * @param data.drawerNumber Optionnal. Number for given cash drawer
611
- * @throws If feature for cash drawers is not set in space_options
612
- * @returns {ICashDrawer[]} Space's cash drawer array with newly added drawer at last index
613
- */
614
- private _createNewCashDrawer;
615
- /**
616
- * Updates existing cash drawer from data provided, and saves to cash_drawer array in Space data.
617
- * @param id Id for the cash drawer to update
618
- * @param data.nickname Nickname for cash drawer (required)
619
- * @param data.drawerNumber Optionnal. Number for given cash drawer
620
- * @throws If feature for cash drawers is not set in space_options
621
- * @throws If same drawer id not found in current space data cash drawers.
622
- * @returns Updated space cash drawer array
623
- */
624
- private _editCashDrawer;
625
- /**
626
- * Toggles active property for existing cash drawer, and saves to cash_drawer array in Space data.
627
- * @param id Id for the cash drawer to toggle
628
- * @throws If feature for cash drawers is not set in space_options
629
- * @throws If same drawer id not found in current space data cash drawers.
630
- * @returns Updated space cash drawer array
631
- */
632
- private _toggleCashDrawer;
633
- /**
634
- * Checks if an open shift is found for a corresponding cash drawer id.
635
- * @param id The cash drawer id
636
- * @returns If open shift found for drawer.
637
- */
638
- private _checkIfOpenShiftExistsForDrawer;
639
- /**
640
- * Fetch corresponding open shift for a given drawer ID.
641
- * @param id Id for the cash drawer to search.
642
- * @throws If feature for cash drawers is not set in space_options
643
- * @throws If same drawer id not found in current space data cash drawers.
644
- * @returns Found shift or undefined
645
- */
646
- private _getOpenShiftForDrawer;
647
- /**
648
- * Fetch all cash drawer interaction history entries for specified options. All options are optionnal.
649
- * @param options.drawerId Specific cash drawer Id
650
- * @param options.shiftId Specific shift Id
651
- * @param options.action Specific action type
652
- * @param options.userEmail Specific user email that generated interaction
653
- * @param options.dates Specific dates to filter results. If options.dates if provided, start date is obligatory, and end date optionnal.
654
- * @throws If feature for cash drawers is not set in space_options
655
- * @throws If same drawer id not found in current space data cash drawers.
656
- * @returns Array of corresponding Interaction history entries, ordered by oldest to newest. If not date provided in options, returns max 100 entries. Else returns all found.
657
- */
658
- private _getInteractionHistoryForDrawer;
659
- /**
660
- * Open a cash drawer by generating associated cash drawer shift
661
- * @param drawerId The id of the drawer to open
662
- * @param cashDownAmount The amount to set as in cash drawer on open
663
- */
664
- private _openCashDrawer;
665
- /**
666
- * Close a cash drawer by closing currently open associated shift
667
- * @param drawerId The id of the drawer to close
668
- * @param cashAmount The amount left in drawer on close
669
- * @param note Optionnal. The custom note added by user on close
670
- */
671
- private _closeCashDrawer;
672
- attributes: {
673
- get: (options?: IQueryOptions) => Promise<Attribute[]>;
674
- add: (attribute: IAttribute) => Promise<void>;
675
- listener: (callback: (attributes: Attribute[]) => any) => string;
676
- saveBatch: (attribs: IAttribute[]) => Promise<{
677
- errorsOccured: number;
678
- totalSaves: number;
679
- }>;
680
- };
681
- blogArticles: {
682
- get: () => Promise<BlogArticle[]>;
683
- };
684
- blogAuthors: {
685
- get: () => Promise<BlogAuthor[]>;
686
- };
687
- blogCategories: {
688
- get: () => Promise<BlogCategory[]>;
689
- listener: (callback: (blogCategories: BlogCategory[]) => any) => string;
690
- };
691
- blogKeywords: {
692
- get: () => Promise<BlogKeyword[]>;
693
- };
694
- catalogues: {
695
- get: () => Promise<Catalogue[]>;
696
- getOne: (id: string) => Promise<Catalogue | undefined>;
697
- checkIfSlugUnique: (slug: string, id: string) => Promise<boolean>;
698
- save: (catalogue: ICatalogue) => Promise<string | boolean>;
699
- delete: (ids: string[]) => Promise<boolean>;
700
- };
701
- categories: {
702
- get: (options?: IQueryOptions) => Promise<Category[]>;
703
- getTree: (categories: Category[], parentID?: string) => ICategory[];
704
- listener: (callback: (categories: Category[]) => any, options?: ICategoryQueryOptions) => string;
705
- url: (categoryID: string) => Promise<string>;
706
- resetInventories: (categoryId: string) => Promise<void>;
707
- saveBatch: (partialCategories: Partial<ICategory>[]) => Promise<{
708
- errorsOccured: number;
709
- totalSaves: number;
710
- }>;
711
- };
712
- brands: {
713
- get: (options?: IQueryOptions) => Promise<Brand[]>;
714
- listener: (callback: (brands: Brand[]) => any, _options?: IBrandQueryOptions) => string;
715
- saveBatch: (brands: IBrand[]) => Promise<{
716
- errorsOccured: number;
717
- totalSaves: number;
718
- }>;
719
- };
720
- products: {
721
- get: (options?: IQueryOptions) => Promise<Product[]>;
722
- getPage: (from: string | undefined, limit: number) => Promise<Product[]>;
723
- getAll: () => Promise<Product[]>;
724
- listener: (callback: (products: Product[]) => any, options?: IQueryOptions) => string;
725
- batch: {
726
- create: (products: IProduct[]) => Promise<void>;
727
- set: (products: IProduct[]) => Promise<void>;
728
- };
729
- save: {
730
- allActive: () => Promise<void>;
731
- };
732
- generate: {
733
- indexes: () => Promise<IIndexedProduct[] | undefined>;
734
- };
735
- delete: (options?: IQueryOptions) => Promise<unknown>;
736
- removeAllPromo: (infoCallBack: Function) => Promise<boolean>;
737
- getMinFromDeclinations: (d: IDeclination) => import("../../Interfaces/Cart").ICartItemPrices;
738
- resetPriceListPrices: (infoCallBack: Function) => Promise<boolean>;
739
- };
740
- indexedProducts: {
741
- get: (options?: IQueryOptions, _lang?: string, _currency?: string) => Promise<IndexedProduct[]>;
742
- fetchVariations: ({ app, api, hpp, page, query, filters, indice, f, space, useProspr }: IQueryProps) => Promise<SearchResponse>;
743
- getOneIndexedDecli: (parentSlug: string, sku: string, customPriceList?: ICustomPriceItem[]) => Promise<IIndexedDeclination | undefined>;
744
- };
745
- indexedCategories: {
746
- save: (tree: any) => Promise<false | undefined>;
747
- };
748
- inventoryItems: {
749
- get: (options?: IQueryOptions) => Promise<IInventoryItem[]>;
750
- getAll: () => Promise<IInventoryItem[]>;
751
- snapshot: (callback: (allInventoryItems: IInventoryItem[]) => void) => string;
752
- getOne: (sku: string) => Promise<IInventoryItem | undefined>;
753
- set: (sku: string, data: Partial<IInventoryItem>) => Promise<boolean>;
754
- delete: (sku: string) => Promise<boolean>;
755
- setIsSavingInventory: (user_email: string | null) => Promise<void>;
756
- getIsSavingInventory: () => Promise<string | null>;
757
- getAllFromSameProduct: (product_slug: string) => Promise<false | Inventory[]>;
758
- };
759
- transferRequests: {
760
- get: () => Promise<TransferRequest[]>;
761
- snapshot: (callback: (allTransferRequests: TransferRequest[]) => void) => string;
762
- getOne: (transfert_request_id: string) => Promise<TransferRequest>;
763
- getTransferStatusOrder: () => {
764
- [key: number]: import("../../Interfaces/TransferRequest").TransferRequestStatusEnum[];
765
- };
766
- getOneByRef: (ref: number) => Promise<TransferRequest[] | undefined>;
767
- };
768
- cartItem: {
769
- get: (options?: IQueryOptions, _locale?: string, _currencies?: string[], _noLimit?: boolean) => Promise<IIndexedProduct[]>;
770
- getMin: (cartItem: ICartItem, ignoreTierPricing?: boolean) => import("../../Interfaces/Cart").ICartItemPrices;
771
- getAppliedPrice: (cartItem: ICartItem) => import("../../Interfaces/Cart").ICartItemPrices;
772
- };
773
- purchaseOrders: {
774
- get: (options?: IQueryOptions) => Promise<PurchaseOrder[]>;
775
- singleListener: (callback: (purchaseOrder: PurchaseOrder | null) => any, id: string) => Promise<string>;
776
- listener: (callback: (purchaseOrders: PurchaseOrder[]) => any, options?: IQueryOptions) => string;
777
- };
778
- discountRules: {
779
- get: (options?: IQueryOptions) => Promise<Discount[]>;
780
- listener: (callback: (discountRule: Discount[]) => any, options?: IQueryOptions) => string;
781
- delete: (discountIdsArray: string[]) => Promise<true | never[]>;
782
- };
783
- addresses: {
784
- batch: {
785
- create: (data: any) => Promise<void>;
786
- };
787
- };
788
- jobs: {
789
- get: (options?: IQueryOptions) => Promise<BGJob[] | undefined>;
790
- listener: (_callback: (job: BGJob[]) => any, _options?: IQueryOptions) => string;
791
- start: (jobToStart: IBGJob) => Promise<string | boolean>;
792
- };
793
- wishlists: {
794
- batch: {
795
- create: (data: any) => Promise<void>;
796
- };
797
- };
798
- alerts: {
799
- batch: {
800
- create: (data: any) => Promise<void>;
801
- };
802
- };
803
- customers: {
804
- get: (options?: IQueryOptions) => Promise<Customer[]>;
805
- listener: (callback: (customer: Customer[]) => any, _options?: IQueryOptions) => string;
806
- createWithId: (id: string, customer: ICustomer) => Promise<boolean>;
807
- deleteOne: (id: string) => Promise<boolean | undefined>;
808
- fetchIndexed: ({ app, api, hpp, page, query, filters, indice, f, space, useProspr }: IQueryProps) => Promise<SearchResponse>;
809
- getPromisesForCustomer: (customerID: string, onlyActive?: boolean) => Promise<PromiseToPurchase[]>;
810
- getApplicableBanksForCustomer: (customerID: string, promisesToCheck?: PromiseToPurchase[]) => Promise<IApplicablePromiseBank[]>;
811
- syncCustomerPromiseList: (associations: Record<string, IIndexedCustomerPromiseToPurchase['associated_promise_ids']>) => Promise<boolean>;
812
- getAllWithActivePromises: () => Promise<Customer[] | null>;
813
- getPABanksHistoryForCustomer: (customerID: string, filterOptions?: {
814
- promiseID?: string;
815
- bankTypeID?: string;
816
- updateType?: BankUpdateTypeEnum;
817
- unixDateRange?: {
818
- start: number;
819
- end: number;
820
- };
821
- }, searchOptions?: {
822
- hpp?: number;
823
- page?: number;
824
- query?: string;
825
- }) => Promise<IIndexedBankUsed[] | undefined>;
826
- getAvailablePABankAmounts: (customerID: string, filterToApply?: 'active-and-before' | 'active-and-after' | 'last-emptied-active-and-after') => Promise<{
827
- [bankID: string]: IRemainingBankAmount[];
828
- } | undefined>;
829
- batch: {
830
- create: (customers: ICustomer[]) => Promise<void>;
831
- };
832
- updateCustomerLastActivity: (customerId: string, user: string, date?: Date) => Promise<void>;
833
- credits: {
834
- modify: (customerId: string, creditSlug: string, amount: number, comment: string, user: string) => Promise<ICustomer['store_credits']>;
835
- get: (customerId: string, creditSlug: string) => Promise<number>;
836
- getHistory: (customerId: string, creditSlug: string) => Promise<IStoreCreditHistory[]>;
837
- validate: (customerId: string, creditSlug: string, amount: number) => Promise<boolean>;
838
- getAvailableCredits: () => IStoreCreditEntry[];
839
- };
840
- };
841
- storeCredits: {
842
- getStoreCreditToUse: () => IStoreCreditEntry | undefined;
843
- };
844
- bookings: {
845
- get: (options?: IQueryOptions) => Promise<Booking[]>;
846
- listener: (callback: (customer: Booking[]) => any, options?: IQueryOptions) => string;
847
- };
848
- classes: {
849
- listener: (callback: (classes: Class[]) => any) => string;
850
- get: (options?: IQueryOptions) => Promise<Class[]>;
851
- };
852
- suppliers: {
853
- listener: (callback: (suppliers: Supplier[]) => any) => string;
854
- get: (options?: IQueryOptions) => Promise<Supplier[]>;
855
- };
856
- invoices: {
857
- listener: (callback: (invoices: Invoice[]) => any) => string;
858
- get: (options?: IQueryOptions) => Promise<Invoice[]>;
859
- import: (fileImport: any) => Promise<any[]>;
860
- incrementRef: (cartData: ICart) => Promise<string | undefined>;
861
- shouldSendBillingEmailTo: (isDelivery?: boolean) => string[];
862
- batch: {
863
- create: (invoices: ICart[]) => Promise<void>;
864
- delete: (invoices: ICart[] | any[]) => Promise<void>;
865
- };
866
- refUtils: {
867
- incrementStoreOrWebRef: (currentContent: IOrderInvoiceNumerotation, objKey: string, storeOrWebTypeKey: string, currentInvoiceData: ISpace['invoice_settings']) => Promise<string>;
868
- incrementGeneralRef: (invoiceData: ISpace['invoice_settings']) => Promise<string>;
869
- };
870
- };
871
- orders: {
872
- get: (options?: IQueryOptions) => Promise<Order[]>;
873
- listener: (callback: (orders: Order[]) => any) => string;
874
- };
875
- carts: {
876
- get: (options?: IQueryOptions) => Promise<Cart[]>;
877
- listener: (callback: (carts: Cart[]) => any, query?: IQueryOptions) => string;
878
- delete: (ids: string[]) => Promise<void>;
879
- };
880
- allOrderTypes: {
881
- get: (id?: string) => Promise<any>;
882
- };
883
- accounting: {
884
- external_services: {
885
- get: () => Promise<ExternalService[]>;
886
- };
887
- };
888
- externalServices: {
889
- getPageTypesWithExternalFields: () => {
890
- serviceType: string;
891
- pages: spaceCollectionNames[];
892
- } | undefined;
893
- getExternalFieldsToShow: (objType: spaceCollectionNames) => {
894
- fieldName: string;
895
- fieldLabel: ILang;
896
- readOnly?: boolean;
897
- requiredStr?: ILang;
898
- helperTxt?: ILang;
899
- }[];
900
- getExternalServiceByName: (serviceName: string, returnInactiveService?: boolean) => IExternalServices | undefined;
901
- getExternalServicesByType: (type: ExternalServiceTypeEnum) => IExternalServices[];
902
- getExternalServicesBySlug: (slug: string) => IExternalServices | undefined;
903
- setExternalServiceValues: (slug: string, newValues: Partial<IExternalServices>) => Promise<boolean>;
904
- };
905
- taxes: {
906
- get: (taxCode: string, version?: string) => Promise<ITax>;
907
- getAll: () => Promise<ITax[]>;
908
- };
909
- consentForms: {
910
- getMostRecent: () => Promise<import("../../Interfaces/Consent").default | undefined>;
911
- };
912
- documents: {
913
- products: () => string;
914
- queue: () => string;
915
- getAll: (specificPath: string) => Promise<IBucketDocument[] | undefined>;
916
- save: (file: File, specificPath: string, imgixUrl?: string, imgixKey?: string) => Promise<void>;
917
- };
918
- preferences: {
919
- default: {
920
- locale: () => string;
921
- currency: () => string;
922
- };
923
- units: {
924
- weight: () => "kilograms" | "pounds";
925
- measurments: () => "centimeters" | "inches";
926
- };
927
- languages: () => ("fr" | "en")[];
928
- currencies: () => string[];
929
- pickup: {
930
- disabled: (value: boolean) => Promise<boolean>;
931
- };
932
- shipping: {
933
- fees: {
934
- update: (forProps: string, value: number) => Promise<boolean>;
935
- };
936
- disabled: (value: boolean) => Promise<boolean>;
937
- asProduct: {
938
- setAsProduct: (value: boolean) => Promise<boolean>;
939
- get: () => boolean;
940
- };
941
- boxes: {
942
- add: () => Promise<boolean>;
943
- deleteAt: (bIndex: number) => Promise<boolean>;
944
- updateAt: (bIndex: number, value: any, forProps: string) => Promise<boolean>;
945
- updateBoxData: (bIndex: number, value: IPredefinedBox) => Promise<boolean>;
946
- updateShippingPrefOptionAt: (bIndex: number, value: any, forProps: string) => Promise<boolean>;
947
- get: () => IPredefinedBox[];
948
- };
949
- products: {
950
- add: () => Promise<boolean>;
951
- deleteAt: (bIndex: number) => Promise<boolean>;
952
- updateAt: (bIndex: number, value: any, forProps: string) => Promise<boolean>;
953
- get: () => IPredefinedBox[];
954
- };
955
- units: {
956
- add: (newUnitValues: IDimensionUnit) => Promise<boolean>;
957
- deleteAt: (bIndex: number) => Promise<boolean>;
958
- updateAt: (uIndex: number, value: any, forProps: string) => Promise<boolean>;
959
- get: () => IDimensionUnit[];
960
- updateFullUnitAt: (uIndex: number, newValues: IDimensionUnit) => Promise<boolean>;
961
- };
962
- envelops: {
963
- add: () => Promise<boolean>;
964
- deleteAt: (bIndex: number) => Promise<boolean>;
965
- updateAt: (bIndex: number, value: any, forProps: string) => Promise<boolean>;
966
- get: () => IPredefinedBox[];
967
- };
968
- restrict: {
969
- updateFree: (newValue: IShippingRangeRestrictions | boolean) => Promise<boolean>;
970
- updateFreeValues: (newValues: string[], listType: string) => Promise<boolean | undefined>;
971
- getFree: () => boolean | IShippingRangeRestrictions | undefined;
972
- };
973
- blocked_dates: {
974
- get: () => IBlockedDates[] | undefined;
975
- getOne: (cartType: string) => IBlockedDates | undefined;
976
- update: (newValues: IBlockedDates[]) => Promise<boolean>;
977
- };
978
- };
979
- stores: {
980
- get: () => IStore[];
981
- add: (store: IStore) => void;
982
- update: (store: IStore, index: number) => Promise<IStore[]>;
983
- delete: (index: number) => Promise<void>;
984
- };
985
- products: {
986
- get: () => import("../../Interfaces/Space").IProductPreferences;
987
- };
988
- cms: {
989
- setWebsiteMaintenance: (is_in_maintenance: boolean) => Promise<void>;
990
- setHideProPrices: (hideProPrices: boolean) => Promise<boolean | undefined>;
991
- setFixedPromoBanner: (fixedPromoBannerData: IFixedPromoBanner) => Promise<boolean>;
992
- };
993
- algolia: {
994
- app: () => any;
995
- key: () => any;
996
- admin: () => any;
997
- shouldSpreadDeclinationsAtIndexing: () => boolean;
998
- };
999
- prosprsearch: {
1000
- app: () => any;
1001
- shouldSpreadDeclinationsAtIndexing: () => boolean;
1002
- shouldIndexUnpaidCarts: () => boolean;
1003
- shouldIndexHeldCarts: () => boolean;
1004
- };
1005
- customers: {
1006
- groups: () => import("../../Interfaces/Space").ICustomerGroup[] | undefined;
1007
- };
1008
- storage: {
1009
- getServiceName: () => string;
1010
- getServiceConfig: () => {
1011
- readonly [key: string]: any;
1012
- };
1013
- getServiceToUse: () => {
1014
- name: string;
1015
- config: {
1016
- readonly [key: string]: any;
1017
- };
1018
- };
1019
- };
1020
- };
1021
- options: {
1022
- get: () => ISpaceOptions;
1023
- save: (newOptions: ISpaceOptions) => Promise<boolean>;
1024
- checkIfOptionIsSet: (path: string) => any;
1025
- };
1026
- g2Calls: {
1027
- update: (optionsToUpdate: Partial<IG2Calls>) => Promise<boolean>;
1028
- };
1029
- services: (query: any, returnIfInactive?: boolean) => IExternalServices[];
1030
- inventory: {
1031
- ajust: (items: ICartItem[], cartState: 'paid' | 'shipped' | 'delivery' | 'delivered' | 'picked' | 'cancelled' | 'modified' | 'refunded' | 'updatedProcessingStore', cartType: CartTypeEnum, options?: {
1032
- currentStoreId?: string | undefined;
1033
- onlyWeb?: boolean;
1034
- fromStoreId?: string | undefined;
1035
- associatedTransfersToCart?: TransferRequest[];
1036
- previousItems?: ICartItem[];
1037
- inventoryItemsDataToUse?: IInventoryItem[];
1038
- shouldCheckReservedQte?: boolean;
1039
- }) => Promise<IInventoryItem[] | undefined>;
1040
- showMinInventoryOption: () => boolean;
1041
- };
1042
- tags: {
1043
- add: (declination: IDeclination, product: IProduct, category_slug: string, inventory: IInventoryItem, currentStoreId: string, maxQte: number, isOtherCategory?: boolean) => Promise<string | boolean | undefined>;
1044
- get: (options?: IQueryOptions) => Promise<Tag[] | undefined>;
1045
- delete: () => Promise<boolean[]>;
1046
- };
1047
- users: {
1048
- delete: (userId: string, credentials: any, token: string) => Promise<void>;
1049
- get: (uid: string) => Promise<IUser>;
1050
- getByExternalID: (externalID: string) => Promise<IUser | undefined>;
1051
- disable: (user?: Awaited<ReturnType<typeof User.FetchUser>>) => Promise<User>;
1052
- enable: (user?: Awaited<ReturnType<typeof User.FetchUser>>) => Promise<User>;
1053
- model: (user: Awaited<ReturnType<typeof User.FetchUser>>) => User;
1054
- reinitPassword: (user: Awaited<ReturnType<typeof User.FetchUser>>) => Promise<void>;
1055
- save: (user: Awaited<ReturnType<typeof User.FetchUser>>) => Promise<IUser>;
1056
- };
1057
- updates: {
1058
- getByID: (objectID: string) => Promise<IUpdate | undefined>;
1059
- getByType: (type: string) => Promise<IUpdate[] | undefined>;
1060
- };
1061
- bankTypes: {
1062
- get: (id?: string, returnInactive?: boolean) => IBankType[];
1063
- add: (name: ITranslation[], active: boolean, association_type: BankTypeAssociationEnum, rules: IBankRule[]) => Promise<boolean>;
1064
- update: (id: string, rules: IBankRule[], name?: ITranslation[], active?: boolean, association_type?: BankTypeAssociationEnum) => Promise<boolean>;
1065
- getRulesByType: (typeID: string, versionKey?: number) => {
1066
- version: number;
1067
- rules: IBankRule[];
1068
- } | undefined;
1069
- };
1070
- promisesToPurchase: {
1071
- get: (options?: IQueryOptions, onlyMostRecent?: boolean, keepArchived?: boolean) => Promise<PromiseToPurchase[] | undefined>;
1072
- getEmails: () => string[];
1073
- getContingency: () => number;
1074
- getPromiseSeasons: (stateToReturn?: 'ended' | 'closed' | 'open') => {
1075
- season_year: number;
1076
- date: Date | undefined;
1077
- by_user: string | undefined;
1078
- }[];
1079
- getEscompteItems: () => Promise<IndexedProduct[]>;
1080
- generateNewId: (customerId: string, useNextSeason: boolean, idToIncrement?: string) => Promise<string>;
1081
- getAssociatedCarts: (promiseID: string, options?: IQueryOptions) => Promise<Cart[]>;
1082
- getBanksUsedHistory: (filterOptions: {
1083
- customerID?: string;
1084
- promiseID?: string;
1085
- bankTypeID?: string;
1086
- updateType?: BankUpdateTypeEnum;
1087
- unixDateRange?: {
1088
- start: number;
1089
- end: number;
1090
- };
1091
- }, searchOptions?: {
1092
- hpp?: number;
1093
- page?: number;
1094
- query?: string;
1095
- }) => Promise<IIndexedBankUsed[] | undefined>;
1096
- getAvailableAmountForApplicableBanks: (applicableBanks: IApplicablePromiseBank[], applicableBanksHistory: IIndexedBankUsed[]) => {
1097
- [bankID: string]: number;
1098
- };
1099
- getAvailableBankAmountsForPromise: (promiseID: string, promiseObj?: PromiseToPurchase) => Promise<IRemainingBankAmount[] | undefined>;
1100
- getSpecificAvailableBankAmount: (promiseID: string, bankID: string, promiseObj?: PromiseToPurchase) => Promise<IRemainingBankAmount | undefined>;
1101
- closePromiseSeason: (yearToClose: number, userClosingID: string) => Promise<boolean>;
1102
- openPromiseSeason: (season: number, userOpeningId: string) => Promise<boolean>;
1103
- endPromiseSeason: (yearToEnd: number, userEndingId: string) => Promise<boolean>;
1104
- batch: {
1105
- deactivate: () => Promise<void>;
1106
- };
1107
- };
1108
- sliders: {
1109
- get: <T>(options?: IQueryOptions) => Promise<Slider<T>[] | undefined>;
1110
- };
1111
- firstOrders: {
1112
- get: (options?: IQueryOptions) => Promise<FirstOrderTracking[] | undefined>;
1113
- };
1114
- menus: {
1115
- getAll: (options?: IQueryOptions) => Promise<Menu[]>;
1116
- getActiveBySlug: (slug: MenuPositionEnum) => Promise<Menu | undefined>;
1117
- getAllActive: () => Promise<Menu[]>;
1118
- };
1119
- cashDrawers: {
1120
- create: (data: {
1121
- nickname: string;
1122
- drawerNumber?: number;
1123
- }) => Promise<ICashDrawer[]>;
1124
- edit: (id: string, data: {
1125
- nickname: string;
1126
- drawerNumber?: number;
1127
- }) => Promise<ICashDrawer[]>;
1128
- toggle: (id: string) => Promise<ICashDrawer[]>;
1129
- hasOpenShift: (drawerId: string) => Promise<boolean>;
1130
- getOpenShift: (drawerId: string) => Promise<CashDrawerShift | undefined>;
1131
- getInteractionHistory: (options?: {
1132
- drawerId?: string;
1133
- shiftId?: string;
1134
- action?: CashDrawerActionEnum;
1135
- userEmail?: string;
1136
- dates?: {
1137
- start: Date;
1138
- end?: Date;
1139
- };
1140
- }) => Promise<ICashDrawerInteraction[]>;
1141
- open: (drawerId: string, cashDownAmount: number) => Promise<boolean>;
1142
- close: (drawerId: string, cashAmount: number, note?: string) => Promise<boolean>;
1143
- };
1144
- /**
1145
- * Get all space properties
1146
- */
1147
- data: () => ISpace;
1148
- /**
1149
- * Get the space name
1150
- */
1151
- getName: () => string;
1152
- /**
1153
- * Get the space ID
1154
- */
1155
- getId: () => string;
1156
- isMultiPromo: () => boolean;
1157
- private _getNotes;
1158
- private _addNote;
1159
- private _deleteNote;
1160
- notes: {
1161
- get: (parentId: string, type: NoteTypeEnum) => Promise<Note[]>;
1162
- add: (content: string, createdByName: string, parentId: string, type: NoteTypeEnum) => Promise<Note>;
1163
- delete: (noteId: string) => Promise<boolean>;
1164
- };
1165
- }
1
+ import IDeclination from '../../Interfaces/Declination';
2
+ import ICart, { CartTypeEnum, IApplicablePromiseBank, ICartItem, IIndexedDeclination } from '../../Interfaces/Cart';
3
+ import IQueryOptions from '../../Interfaces/Query/IProductQueryOptions';
4
+ import ISpace, { IBlockedDates, ICurrencies, IDimensionUnit, IBucketDocument, IFixedPromoBanner, IG2Calls, IOrderInvoiceNumerotation, IPredefinedBox, IShippingRangeRestrictions, ISpaceOptions, spaceCollectionNames, IStoreCreditEntry } from '../../Interfaces/Space';
5
+ import IBrand from '../../Interfaces/Brand';
6
+ import IProduct, { IQueryProps } from '../../Interfaces/Product';
7
+ import IDiscountRule from '../../Interfaces/Rules/IDiscountRule';
8
+ import ICustomer from '../../Interfaces/Customer';
9
+ import IBrandQueryOptions from '../../Interfaces/Query/IBrandQueryOptions';
10
+ import ICategoryQueryOptions from '../../Interfaces/Query/ICategoryQueryOptions';
11
+ import ICategory from '../../Interfaces/Category';
12
+ import IAttribute from '../../Interfaces/Attribute';
13
+ import IClass from '../../Interfaces/Class';
14
+ import IPurchaseOrder, { IOrderDeclination } from '../../Interfaces/PurchaseOrder';
15
+ import ITax from '../../Interfaces/Tax';
16
+ import IndexedProduct from '../Indexed/Product';
17
+ import IIndexedProduct from '../../Interfaces/Indexed/Product';
18
+ import Attribute from '../Attribute';
19
+ import Class from '../Class';
20
+ import Supplier from '../Supplier';
21
+ import ExternalService from '../ExternalService';
22
+ import PurchaseOrder from '../PurchaseOrder';
23
+ import Invoice from '../Invoice';
24
+ import BlogAuthor from '../Blog/BlogAuthor';
25
+ import BlogCategory from '../Blog/BlogCategory';
26
+ import BlogKeyword from '../Blog/BlogKeyword';
27
+ import BlogArticle from '../Blog/BlogArticle';
28
+ import Cart from '../Cart';
29
+ import Product from '../Product';
30
+ import Discount from '../Discount';
31
+ import Customer from '../Customer';
32
+ import Brand from '../Brand';
33
+ import Category from '../Category';
34
+ import Order from '../Order';
35
+ import ITranslation from '../../Interfaces/Translation';
36
+ import IStore from '../../Interfaces/Store';
37
+ import Tag from '../Tags';
38
+ import { InventoryPriorityTypeEnum } from '../../Interfaces/Inventory';
39
+ import { IPriceRange } from '../../Interfaces/Algolia';
40
+ import Booking from '../Booking';
41
+ import IInventoryItem from '../../Interfaces/Product/IInventoryItem';
42
+ import { TransferRequest } from '../TransferRequest';
43
+ import Inventory from '../Inventory';
44
+ import Catalogue from '../Catalogue';
45
+ import ICatalogue from '../../Interfaces/Catalogue';
46
+ import IUpdate from '../../Interfaces/Update';
47
+ import IBGJob from '../../Interfaces/BGJob';
48
+ import BGJob from '../BGJob';
49
+ import { BankTypeAssociationEnum, IBankRule, IBankType } from '../../Interfaces/PromiseToPurchase/BankType';
50
+ import PromiseToPurchase from '../PromiseToPurchase';
51
+ import { SearchResponse } from '@algolia/client-search';
52
+ import User from '../User';
53
+ import IUser from '../../Interfaces/User/IUser';
54
+ import IIndexedCustomerPromiseToPurchase from '../../Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase';
55
+ import Slider from '../Slider';
56
+ import IIndexedBankUsed, { BankUpdateTypeEnum, IRemainingBankAmount } from '../../Interfaces/PromiseToPurchase/IIndexedBankUsed';
57
+ import { IDatabaseRef, IRefObject } from '../../services/database/DatabaseService';
58
+ import { ICustomPriceItem } from '../../Interfaces/G2';
59
+ import ILang from '../../utils/string';
60
+ import FirstOrderTracking from '../FirstOrderTracking';
61
+ import { ExternalServiceTypeEnum, IExternalServices } from '../../Interfaces/Space/IExternalService';
62
+ import { IStoreCreditHistory } from '../../Interfaces/Customer/IStoreCredit';
63
+ import { MenuPositionEnum } from '../../Interfaces/Menu';
64
+ import Menu from '../../lib/Menu';
65
+ import Note from '../Note';
66
+ import { NoteTypeEnum } from '../../Interfaces/Note';
67
+ import { CashDrawerActionEnum, ICashDrawer, ICashDrawerInteraction } from '../../Interfaces/CashDrawers';
68
+ import CashDrawerShift from '../CashDrawerShift';
69
+ /**
70
+ * Class Space
71
+ * A Space represent a company.
72
+ */
73
+ export default class Space {
74
+ private _space_ref;
75
+ private _user;
76
+ private _space;
77
+ private _currencies;
78
+ constructor(space: ISpace, user: string, space_ref: IRefObject);
79
+ getRef: () => IRefObject;
80
+ static getCurrentSpace: (childCollection: string, refUser: string) => Promise<Space>;
81
+ static getCurrentSpaceWithRef: (childCollection: string, refUser: string) => Promise<Space>;
82
+ initCurrencies: () => Promise<any>;
83
+ /**
84
+ * Create the actual space
85
+ */
86
+ create: () => Promise<IDatabaseRef>;
87
+ /**
88
+ * Update current space with a partial space pass as parameters.
89
+ * @param updates Updates to be made on the space - Partial<Space>
90
+ */
91
+ update: (updates: Partial<ISpace>) => Promise<boolean>;
92
+ getDefaultTax: () => string | undefined;
93
+ getCurrencies: () => ICurrencies | undefined;
94
+ incrementTransferRef: () => Promise<number>;
95
+ incrementOrderAndInvoiceRef: () => Promise<number>;
96
+ save: (partialSpace: Partial<ISpace>, saveToDatabase?: boolean) => Promise<void>;
97
+ listenOnChange: (callback: any) => string;
98
+ private _getAllCustomerGroups;
99
+ private _updateShippingFee;
100
+ private _updateFreeShippingRestrictions;
101
+ private _updateFreeShippingRestrictionsValues;
102
+ private _getFreeShippingRestrictions;
103
+ private _disabledShipping;
104
+ private _getShippingAsProduct;
105
+ private _setShippingAsProduct;
106
+ private _disabledPickup;
107
+ private _getAllBlockedDates;
108
+ private _getBlockedDatesForCartType;
109
+ private _updateBlockedDates;
110
+ private _addNewBoxToShippingPref;
111
+ private _addNewProductToShippingPref;
112
+ private _addNewUnitToShippingPref;
113
+ private _deleteBoxToShippingPref;
114
+ private _deleteProductToShippingPref;
115
+ private _deleteUnitToShippingPref;
116
+ private _updateProductToShippingPref;
117
+ private _updateUnitToShippingPref;
118
+ private _updateFullUnitToShippingPref;
119
+ private _updateBoxData;
120
+ private _updateBoxToShippingPref;
121
+ private _updateBoxToShippingPrefOption;
122
+ private _getProductToShippingPref;
123
+ private _getUnitToShippingPref;
124
+ private _getBoxToShippingPref;
125
+ private _addNewEnvelopToShippingPref;
126
+ private _deleteEnvelopToShippingPref;
127
+ private _updateEnvelopToShippingPref;
128
+ private _getEnvelopToShippingPref;
129
+ private _getAllProductPreferences;
130
+ private _getOptions;
131
+ private _saveOptions;
132
+ private _checkIfSpecificOptionSetForSpace;
133
+ private _getAllStores;
134
+ private _addNewStore;
135
+ private _updateStore;
136
+ private _deleteStore;
137
+ private _getExternalServices;
138
+ callProductPublicService: (service: any, value: string, fromServer?: boolean) => Promise<{
139
+ confirmed: boolean;
140
+ details: any;
141
+ error?: undefined;
142
+ } | {
143
+ confirmed: boolean;
144
+ error: unknown;
145
+ details?: undefined;
146
+ }>;
147
+ private _fetchServices;
148
+ /**
149
+ * Fetch the external service for the name provided
150
+ * @param serviceName
151
+ * @param returnInactiveService Optionnal, defaults to false. Must be set if service should be returned even if it is inactive
152
+ */
153
+ private _getSpecificServiceByName;
154
+ private _getAllServicesByType;
155
+ private _getServiceBySlug;
156
+ private _setExternalServiceValues;
157
+ /**
158
+ * Check if external_value fields should be shown for space
159
+ */
160
+ private _showExternalValueFieldsForSpace;
161
+ /**
162
+ * Get array of field data nesessary to show space's external_values per objet type
163
+ * @param objType The object type to check for external_values
164
+ */
165
+ private _getExternalFieldsToShowForPageType;
166
+ private _getAllTaxes;
167
+ private _getTaxes;
168
+ private _getMostRecentConsentForm;
169
+ private _brandsListener;
170
+ private _getBrands;
171
+ updateBrand: (partial: Partial<IBrand>, brand: IBrand) => Promise<void>;
172
+ addBrand: (brand: Partial<IBrand>) => Promise<string | boolean | undefined>;
173
+ private _getBlogArticles;
174
+ private _getBlogAuthors;
175
+ private _getBlogCategories;
176
+ private _blogCategoriesListener;
177
+ private _getBlogKeywords;
178
+ _getCatalogues: () => Promise<Catalogue[]>;
179
+ _getCatalogueById: (id: string) => Promise<Catalogue | undefined>;
180
+ _checkIfCatalogueSlugIsUnique: (slug: string, id: string) => Promise<boolean>;
181
+ _saveCatalogue: (catalogue: ICatalogue) => Promise<string | boolean>;
182
+ _deleteCataloguesById: (ids: string[]) => Promise<boolean>;
183
+ private _categoriesListener;
184
+ private _getCategories;
185
+ /**
186
+ * Get full category tree
187
+ * @deprecated use new _getTreeNew function instead
188
+ * @param categories
189
+ * @param level
190
+ * @param parent
191
+ */
192
+ private _getTree;
193
+ /**
194
+ * Get array of ordered categories
195
+ * @param categories
196
+ * @param parentID
197
+ */
198
+ private _getTreeNew;
199
+ private _getCategoryUrl;
200
+ private _resetInventories;
201
+ /**
202
+ * Private function to save a bulk of document to a collection
203
+ * @param obj an array of documents
204
+ * @param collection the collection name where to save
205
+ * @returns the amount of save vs errors
206
+ */
207
+ private _batchSaveCollection;
208
+ private _batchSaveCategories;
209
+ private _batchSaveBrands;
210
+ private _batchSaveAttributes;
211
+ private _getCategoryParentsUrl;
212
+ addCategory: (category: Partial<ICategory>) => Promise<string | boolean | undefined>;
213
+ updateCategory: (partial: Partial<ICategory>, category: ICategory) => Promise<void>;
214
+ addAttribute: (attribute: IAttribute) => Promise<boolean | string>;
215
+ private _attributesListener;
216
+ private _getAttributes;
217
+ private _addAttribute;
218
+ private _saveAllActiveProducts;
219
+ private _generateAllProductIndexes;
220
+ private _removeAllPromo;
221
+ private _resetPriceListPrices;
222
+ private _deleteAllProducts;
223
+ private _batchProductsCreate;
224
+ private _batchProductsSet;
225
+ _productsListener: (callback: (products: Product[]) => any, options?: IQueryOptions) => string;
226
+ updateProduct: (partial: Partial<IProduct>, product: IProduct) => Promise<void>;
227
+ createEmptyProduct: () => Product;
228
+ addProduct: (product: Partial<IProduct>, options?: {
229
+ index?: boolean;
230
+ }) => Promise<void>;
231
+ private _getExternalProductBySlug;
232
+ private _getExternalProductsSlugToTry;
233
+ /**
234
+ * Fetch all options with - optionnal - query
235
+ * @param options Query options - optionnal
236
+ */
237
+ private _getProducts;
238
+ /**
239
+ * Obtenir une partie des produits à partir de l'indentifiant fournis
240
+ * @param from le id du dernier document ou continuer ou undefine si on veut le premier
241
+ * @param limit la taille max à lire, idéalement 500 ou moins
242
+ * @returns la liste de produits récupéré
243
+ */
244
+ private _getProductsPage;
245
+ private _getAllProducts;
246
+ fetchSizeBasedOnCategoryAndAttribute: (category: string, attribute?: string) => IPredefinedBox | IPredefinedBox[] | undefined;
247
+ constructProduct: (productData: IProduct) => Product;
248
+ productHasDocument: () => boolean;
249
+ productHasPanelDescriptions: () => boolean;
250
+ productHasProductUpsells: () => boolean;
251
+ productHasProductEquivalents: () => boolean;
252
+ private _decliHasStock;
253
+ getDeclinationsPriceRange: (declinations: ICartItem[], inventoryItems: IInventoryItem[]) => IPriceRange;
254
+ getDeclinationsPriceClassesRange: (customPromoApplies: boolean, declinations: ICartItem[], inventoryItems: IInventoryItem[]) => IPriceRange[];
255
+ private _getAppliedPrice;
256
+ private _getMin;
257
+ private _getMinFromDeclinations;
258
+ getPriceTypeByDeclinations: (sample: ICartItem[]) => "regular_price" | "promo_price" | "discount_price";
259
+ getPriceTypeForProduct: (declinations: IIndexedDeclination[]) => 'regular' | 'promo' | 'discount';
260
+ private _getIndexedProductFromProduct;
261
+ private _getCartItems;
262
+ private _getAllIndexedProducts;
263
+ private _saveAllIndexedCategories;
264
+ private _fetchIndexedVariations;
265
+ /**
266
+ * Finds indexed declination corresponding to parent slug and sku provided
267
+ * @param space
268
+ * @param parentSlug - The parent product slug (to search space indexed products)
269
+ * @param sku - The specific sku for the declination
270
+ * @param customPriceList - Optionnal. If provided, indexed decli is returned with adjusted prices from price list
271
+ */
272
+ private _fetchIndexedDecliBySlugAndSku;
273
+ private _getAllInventoryItems;
274
+ /**
275
+ * Obtenir une partie des inventaires à partir de l'indentifiant fournis
276
+ * @param from le id du dernier document ou continuer ou undefine si on veut le premier
277
+ * @param limit la taille max à lire, idéalement 500 ou moins
278
+ * @returns la liste de l'inventaires récupéré
279
+ */
280
+ private _getInventoryPage;
281
+ private _getAllInventoryItemsByPages;
282
+ private _getInventoryItemsSnapshot;
283
+ private _getOneInventoryItem;
284
+ private _setInventoryItem;
285
+ private _deleteInventoryItem;
286
+ private _getAllInventoryItemsFromSameProduct;
287
+ private _getIsSaving;
288
+ private _setIsSaving;
289
+ private _getAllTransfertRequests;
290
+ private _getTransfertRequestsSnapshot;
291
+ private _getATransfertRequest;
292
+ private _getTransferRequestStatusOrderForSpace;
293
+ private _getTransferRequestByRef;
294
+ private _discountRulesListener;
295
+ addDiscountRule: (discountRule: IDiscountRule) => Promise<void>;
296
+ updateDiscountRule: (partial: Partial<IDiscountRule>, discountRule: IDiscountRule) => Promise<void>;
297
+ private _getDiscountRules;
298
+ private _deleteDiscountRules;
299
+ private _getPurchaseOrders;
300
+ addPurchaseOrder: (purchaseOrder: IPurchaseOrder) => Promise<void>;
301
+ createEmptyPurchaseOrder: () => PurchaseOrder;
302
+ generatePurchaseOrders: (declinationsToAdd: IOrderDeclination[]) => Promise<PurchaseOrder[]>;
303
+ private _singlePurchaseOrderListener;
304
+ _purchaseOrdersListener: (callback: (purchaseOrders: PurchaseOrder[]) => any, options?: IQueryOptions) => string;
305
+ private _getClasses;
306
+ private _classesListener;
307
+ addClass: (classObj: Partial<IClass>) => Promise<string | boolean | undefined>;
308
+ private _getSuppliers;
309
+ createEmptySupplier: () => Supplier;
310
+ private _suppliersListener;
311
+ createEmptyCart: (save?: boolean, cartType?: CartTypeEnum, defaultPickup?: boolean) => Promise<Cart>;
312
+ createEmptyCartSync: (cartType?: CartTypeEnum) => Cart;
313
+ private _getCarts;
314
+ private _cartsListener;
315
+ private _deleteOrders;
316
+ getWarehouseAvailability: (cartItems: ICartItem[]) => Promise<{
317
+ web: number;
318
+ store: number;
319
+ }>;
320
+ private _getAllOrderTypes;
321
+ private _getInvoices;
322
+ private _invoicesListener;
323
+ private _getUnknownCartItem;
324
+ private _importInvoices;
325
+ /**
326
+ * Generate the next unique ID for a customers new promise to purchase. Recursive function : always checks if ID exists in database before returning ID.
327
+ * @param customerId - The customer for whom we're creating a new promise
328
+ * @param useNextSeason - If we should check the values for next season instead of current one
329
+ * @param idToIncrement - Optionnal. Only set when calling the function recursively.
330
+ */
331
+ private _generateNewPromiseId;
332
+ private _getNextInvoiceRef;
333
+ private _incrementGeneralInvoiceRef;
334
+ private _incrementStoreOrWebInvoiceRef;
335
+ private _constructNewRefForInvoice;
336
+ private _getSpaceBillingEmailsToSendInvoice;
337
+ private _batchInvoicesCreate;
338
+ private _batchInvoiceDelete;
339
+ private _getOrders;
340
+ private _ordersListener;
341
+ private _customersListener;
342
+ createEmptyCustomer: () => Customer;
343
+ private _createCustomerWithId;
344
+ private _deleteOneCustomer;
345
+ addCustomer: (customer: ICustomer, oldID?: string, skipEmailCheck?: boolean) => Promise<{
346
+ saved: boolean;
347
+ error: {
348
+ fr: string;
349
+ en: string;
350
+ };
351
+ sameEmail?: undefined;
352
+ } | {
353
+ saved: boolean;
354
+ error: {
355
+ fr: string;
356
+ en: string;
357
+ };
358
+ sameEmail: boolean;
359
+ } | {
360
+ saved: boolean;
361
+ error?: undefined;
362
+ sameEmail?: undefined;
363
+ }>;
364
+ private _getCustomers;
365
+ private _batchCustomerAddressesCreate;
366
+ private _batchCustomerWishlistsCreate;
367
+ private _batchCustomerAlertCreate;
368
+ private _batchCustomersCreate;
369
+ private _fetchIndexedCustomers;
370
+ /**
371
+ * Fetches and returns all promises to purchase associated with a customer ID.
372
+ * @param customerID - The customer ID to check
373
+ * @param onlyActive - Optionnal. If true, function only returns currently active promises
374
+ */
375
+ private _getCustomerPromisesToPurchase;
376
+ /**
377
+ * For all possible bank types for space, checks all active promises for customer and returns an object containing currently active bank applicable.
378
+ * @param customerID - The customer ID to check
379
+ * @param promisesToCheck - Optionnal. If defined, uses provided array of promises instead of calling DB.
380
+ */
381
+ private _getPossibleActiveBanksForCustomer;
382
+ private _updateCustomerLastActivity;
383
+ /**
384
+ * Function that adjusts store and / or web inventories for a cart depending on it's state
385
+ * @param items an array of ICartItem objects through which we will loop to adjust their inventories
386
+ * @param cartState the state of the cart for which we are adjusting the inventory, this affects what inventory actions will be made
387
+ * @param cartType type of the cart
388
+ * @param options.currentStoreId the store at which we are doing the inventory manipulation
389
+ * @param options.onlyWeb if the inventory should only be adjusted for WEB or also for the current store
390
+ * @param options.fromStoreId the store at which the inventories were initially modified, it is only used in the context of a refund, where we might return items to a different store than where they were taken.
391
+ * @param options.associatedTransferForCart Optionnal. Array of TransferRequest objects associated to order (used in 'cancelled' cart state)
392
+ * @param options.previousItems Optionnal. Array of ICartItem corresponding to prevState in cart
393
+ * @param options.inventoryItemsDataToUse Optionnal. Array of inventoryItem data to use instead of calling Db twice.
394
+ * @param options.shouldCheckReservedQte Optionnal. If reserved quantities should be check for inventory or not
395
+ */
396
+ private _ajustInventoryWithCart;
397
+ private _checkIfSpaceHasMinInventoryOption;
398
+ private _addTag;
399
+ private _getAllTags;
400
+ private _deleteAllTags;
401
+ /**
402
+ * Fetches user from database by unique ID.
403
+ * @param uid - The users unique ID (same as the email)
404
+ */
405
+ private _getUser;
406
+ /**
407
+ * Fetches user from database by external ID
408
+ * @param externalID - The user's external ID
409
+ * @param userEmail - The user's email
410
+ */
411
+ private _getUserByExternalID;
412
+ private _disableUser;
413
+ private _enableUser;
414
+ private _getUserModel;
415
+ private _saveUser;
416
+ private _reinitUserPassword;
417
+ private _deleteUser;
418
+ translateToDefault: (dict: ITranslation[]) => string;
419
+ generateNewCustomerId: () => Promise<string | boolean>;
420
+ _shouldSpreadDeclinationsAtIndexing: () => boolean;
421
+ _shouldIndexUnpaidCarts: () => boolean;
422
+ _shouldIndexHeldCarts: () => boolean;
423
+ _prosprShouldSpreadDeclinationsAtIndexing: () => boolean;
424
+ _setWebsiteMaintenance: (is_in_maintenance: boolean) => Promise<void>;
425
+ private _setHideProPrices;
426
+ private _setFixedPromoBanner;
427
+ private _getBookings;
428
+ private _bookingsListener;
429
+ createNewBooking: (save?: boolean) => Promise<{
430
+ saved: string | boolean;
431
+ booking: Booking;
432
+ } | {
433
+ saved: boolean;
434
+ booking: undefined;
435
+ }>;
436
+ private _updateG2Calls;
437
+ publicToken: () => string | undefined;
438
+ getImportModel: () => import("../../Interfaces/Space").IImportModelLine[];
439
+ private _getDefaultLocale;
440
+ private _getDefaultCurrency;
441
+ private _getLanguages;
442
+ private _getDefaultWeightUnit;
443
+ private _getDefaultMeasurmentsUnit;
444
+ private _getEnabledCurrencies;
445
+ _getAlgoliaApp: () => any;
446
+ _getAlgoliaKey: () => any;
447
+ _getAlgoliaAdmin: () => any;
448
+ _getProsprSearchApp: () => any;
449
+ _getStorageServiceName: () => string;
450
+ _getStorageServiceConfig: () => {
451
+ readonly [key: string]: any;
452
+ };
453
+ _getStorageServiceToUse: () => {
454
+ name: string;
455
+ config: {
456
+ readonly [key: string]: any;
457
+ };
458
+ };
459
+ private _getUpdateByObjectID;
460
+ private _getUpdateByType;
461
+ private _getBankTypes;
462
+ private _addBankType;
463
+ private _updateBankType;
464
+ private _getPromiseBankRules;
465
+ /**
466
+ * Synchronizes the customers with the list of promise to purchase.
467
+ * @param associations - Record dont la clé est l'id d'un customer et la valeur est un record de promesses d'achats avec leur id et leurs infos
468
+ */
469
+ private _syncCustomerPromiseToPurchaseAssoc;
470
+ /**
471
+ * Retrieves and returns only the customers who have a PA.
472
+ */
473
+ private _getAllWithActivePromises;
474
+ private _getBanksUsedHistoryForCustomer;
475
+ /**
476
+ * Checks for currently active banks, and returns their available amount, as well as the ones for all previous PAs with same bank type.
477
+ * @param customerID
478
+ */
479
+ private _getAvailableBankAmountsByBankType;
480
+ private _getPromisesToPurchase;
481
+ private _getPromiseToPurchaseEmails;
482
+ private _getPromiseToPurchaseContingency;
483
+ private _getPromiseToPurchaseSeasons;
484
+ private _deactivateAllPromisesToPurchase;
485
+ private _closeSeasonPromisesToPurchase;
486
+ private _openSeasonPromisesToPurchase;
487
+ private _endSeasonPromisesToPurchase;
488
+ private _getEscompteItems;
489
+ /**
490
+ * Retrieves and returns all the carts containing a specific promise ID.
491
+ * @param promiseID - The ID to check
492
+ * @param options - Optionnal. Additionnal query options
493
+ */
494
+ private _getPromiseAssociatedCarts;
495
+ private _getBanksUsedHistory;
496
+ private _getAvailableBankAmountForApplicableBanks;
497
+ /**
498
+ * Returns all available amounts for banks found in specific promise.
499
+ * @param promiseID The ID of the promise to check
500
+ * @param promiseObj Optionnal. If provided, saves a call to the DB.
501
+ */
502
+ private _getAvailableBankAmountsForPromise;
503
+ /**
504
+ * Returns remaining amount and other info for a specific bank of a specific PA.
505
+ * @param promiseID - The promise to purchase ID
506
+ * @param bankID - The bank type ID
507
+ * @param promiseObj - Optionnal. If provided, removes one fetch from database
508
+ */
509
+ private _getSpecificAvailableBankAmount;
510
+ private _getJobs;
511
+ private _jobsListener;
512
+ private _startJob;
513
+ setInventoryPriority: (type: InventoryPriorityTypeEnum) => Promise<void>;
514
+ setPrincipalWarehouseInventory: (warehouseId: string) => Promise<{
515
+ stores_warehouses: {
516
+ can_sell_online: boolean;
517
+ id?: string | undefined;
518
+ personnal_id?: string | undefined;
519
+ store_num?: string | undefined;
520
+ type: import("../../Interfaces/Store").StoreTypeEnum;
521
+ name: string;
522
+ can_ship: boolean;
523
+ is_pickup_point?: boolean | undefined;
524
+ show_on_contact?: boolean | undefined;
525
+ no_inventory_for_store?: boolean | undefined;
526
+ hide_inventory_on_website?: boolean | undefined;
527
+ order?: number | undefined;
528
+ address: import("../../Interfaces/Address").default;
529
+ phone: string;
530
+ store_customer_id?: string | undefined;
531
+ email?: string | undefined;
532
+ position?: {
533
+ readonly lat: number;
534
+ readonly lng: number;
535
+ } | undefined;
536
+ tax_numbers?: {
537
+ tax_family_id: string;
538
+ tax_label_fr: string;
539
+ tax_number: string;
540
+ }[] | undefined;
541
+ allow_immediate_pickup?: boolean | undefined;
542
+ payment_ref_is_mandatory?: boolean | undefined;
543
+ payment_shortcuts?: {
544
+ display_text: string;
545
+ url: string;
546
+ }[] | undefined;
547
+ is_default_pos_store?: boolean | undefined;
548
+ }[];
549
+ } | undefined>;
550
+ private _getSliders;
551
+ private _getFirstOrders;
552
+ private _getAllDocuments;
553
+ private _saveDocument;
554
+ /**
555
+ * Apply a credit change, the value is negative for a purchasse
556
+ * @param customerId The id of the customer
557
+ * @param creditSlug The credit *slug name as configured in the space
558
+ * @param amount The amount to add or remove
559
+ * @param comment The reason for this change
560
+ * @param user The user doing the action
561
+ */
562
+ private _modifyStoreCredit;
563
+ private _getStoreCreditToUse;
564
+ /**
565
+ * Get the latess credit amount for a customer
566
+ * @param customerId The customer ID
567
+ * @param creditSlug The slug of the credit to get
568
+ * @returns The amount
569
+ */
570
+ private _getStoreCreditForCustomer;
571
+ /**
572
+ * Get the full history of credit for a customer
573
+ * @param customerId The customer ID
574
+ * @param creditSlug The slug of the credit to get
575
+ * @returns A list of IStoreCreditHistory
576
+ */
577
+ private _getStoreCreditHistory;
578
+ /**
579
+ * Validate if an amount can be deducted from the credit of a customer
580
+ * @param customerId The customer ID
581
+ * @param creditSlug The credit slug to verify
582
+ * @param amount The amount to deduct
583
+ * @returns True if the amount is less or equal to the customer credit
584
+ */
585
+ private _validateCredit;
586
+ /**
587
+ * Get the space available credits
588
+ */
589
+ private _getSpaceCredits;
590
+ /**
591
+ * Retourne tous les menus du space
592
+ */
593
+ private _getMenus;
594
+ /**
595
+ * Retourne le menu actif pour un slug
596
+ */
597
+ private _getActiveMenuBySlug;
598
+ /**
599
+ * Retourne tous les menus actifs
600
+ */
601
+ private _getAllActiveMenus;
602
+ /**
603
+ * Utils to check and return current space cash drawers. Throws an error if space does not has corresponding feature set, or if id provided and same id not found in current cash drawers.
604
+ * @param idToCheck Optionnal. Cart drawer id to check in current space data.
605
+ */
606
+ private _checkCurrentSpaceDataForCashDrawer;
607
+ /**
608
+ * Generates new cash drawer from data provided, and saves to cash_drawer array in Space data.
609
+ * @param data.nickname Nickname for cash drawer (required)
610
+ * @param data.drawerNumber Optionnal. Number for given cash drawer
611
+ * @throws If feature for cash drawers is not set in space_options
612
+ * @returns {ICashDrawer[]} Space's cash drawer array with newly added drawer at last index
613
+ */
614
+ private _createNewCashDrawer;
615
+ /**
616
+ * Updates existing cash drawer from data provided, and saves to cash_drawer array in Space data.
617
+ * @param id Id for the cash drawer to update
618
+ * @param data.nickname Nickname for cash drawer (required)
619
+ * @param data.drawerNumber Optionnal. Number for given cash drawer
620
+ * @throws If feature for cash drawers is not set in space_options
621
+ * @throws If same drawer id not found in current space data cash drawers.
622
+ * @returns Updated space cash drawer array
623
+ */
624
+ private _editCashDrawer;
625
+ /**
626
+ * Toggles active property for existing cash drawer, and saves to cash_drawer array in Space data.
627
+ * @param id Id for the cash drawer to toggle
628
+ * @throws If feature for cash drawers is not set in space_options
629
+ * @throws If same drawer id not found in current space data cash drawers.
630
+ * @returns Updated space cash drawer array
631
+ */
632
+ private _toggleCashDrawer;
633
+ /**
634
+ * Checks if an open shift is found for a corresponding cash drawer id.
635
+ * @param id The cash drawer id
636
+ * @returns If open shift found for drawer.
637
+ */
638
+ private _checkIfOpenShiftExistsForDrawer;
639
+ /**
640
+ * Fetch corresponding open shift for a given drawer ID.
641
+ * @param id Id for the cash drawer to search.
642
+ * @throws If feature for cash drawers is not set in space_options
643
+ * @throws If same drawer id not found in current space data cash drawers.
644
+ * @returns Found shift or undefined
645
+ */
646
+ private _getOpenShiftForDrawer;
647
+ /**
648
+ * Fetch all cash drawer interaction history entries for specified options. All options are optionnal.
649
+ * @param options.drawerId Specific cash drawer Id
650
+ * @param options.shiftId Specific shift Id
651
+ * @param options.action Specific action type
652
+ * @param options.userEmail Specific user email that generated interaction
653
+ * @param options.dates Specific dates to filter results. If options.dates if provided, start date is obligatory, and end date optionnal.
654
+ * @throws If feature for cash drawers is not set in space_options
655
+ * @throws If same drawer id not found in current space data cash drawers.
656
+ * @returns Array of corresponding Interaction history entries, ordered by oldest to newest. If not date provided in options, returns max 100 entries. Else returns all found.
657
+ */
658
+ private _getInteractionHistoryForDrawer;
659
+ /**
660
+ * Open a cash drawer by generating associated cash drawer shift
661
+ * @param drawerId The id of the drawer to open
662
+ * @param cashDownAmount The amount to set as in cash drawer on open
663
+ */
664
+ private _openCashDrawer;
665
+ /**
666
+ * Close a cash drawer by closing currently open associated shift
667
+ * @param drawerId The id of the drawer to close
668
+ * @param cashAmount The amount left in drawer on close
669
+ * @param note Optionnal. The custom note added by user on close
670
+ */
671
+ private _closeCashDrawer;
672
+ attributes: {
673
+ get: (options?: IQueryOptions) => Promise<Attribute[]>;
674
+ add: (attribute: IAttribute) => Promise<void>;
675
+ listener: (callback: (attributes: Attribute[]) => any) => string;
676
+ saveBatch: (attribs: IAttribute[]) => Promise<{
677
+ errorsOccured: number;
678
+ totalSaves: number;
679
+ }>;
680
+ };
681
+ blogArticles: {
682
+ get: () => Promise<BlogArticle[]>;
683
+ };
684
+ blogAuthors: {
685
+ get: () => Promise<BlogAuthor[]>;
686
+ };
687
+ blogCategories: {
688
+ get: () => Promise<BlogCategory[]>;
689
+ listener: (callback: (blogCategories: BlogCategory[]) => any) => string;
690
+ };
691
+ blogKeywords: {
692
+ get: () => Promise<BlogKeyword[]>;
693
+ };
694
+ catalogues: {
695
+ get: () => Promise<Catalogue[]>;
696
+ getOne: (id: string) => Promise<Catalogue | undefined>;
697
+ checkIfSlugUnique: (slug: string, id: string) => Promise<boolean>;
698
+ save: (catalogue: ICatalogue) => Promise<string | boolean>;
699
+ delete: (ids: string[]) => Promise<boolean>;
700
+ };
701
+ categories: {
702
+ get: (options?: IQueryOptions) => Promise<Category[]>;
703
+ getTree: (categories: Category[], parentID?: string) => ICategory[];
704
+ listener: (callback: (categories: Category[]) => any, options?: ICategoryQueryOptions) => string;
705
+ url: (categoryID: string) => Promise<string>;
706
+ resetInventories: (categoryId: string) => Promise<void>;
707
+ saveBatch: (partialCategories: Partial<ICategory>[]) => Promise<{
708
+ errorsOccured: number;
709
+ totalSaves: number;
710
+ }>;
711
+ };
712
+ brands: {
713
+ get: (options?: IQueryOptions) => Promise<Brand[]>;
714
+ listener: (callback: (brands: Brand[]) => any, _options?: IBrandQueryOptions) => string;
715
+ saveBatch: (brands: IBrand[]) => Promise<{
716
+ errorsOccured: number;
717
+ totalSaves: number;
718
+ }>;
719
+ };
720
+ products: {
721
+ get: (options?: IQueryOptions) => Promise<Product[]>;
722
+ getPage: (from: string | undefined, limit: number) => Promise<Product[]>;
723
+ getAll: () => Promise<Product[]>;
724
+ listener: (callback: (products: Product[]) => any, options?: IQueryOptions) => string;
725
+ batch: {
726
+ create: (products: IProduct[]) => Promise<void>;
727
+ set: (products: IProduct[]) => Promise<void>;
728
+ };
729
+ save: {
730
+ allActive: () => Promise<void>;
731
+ };
732
+ generate: {
733
+ indexes: () => Promise<IIndexedProduct[] | undefined>;
734
+ };
735
+ delete: (options?: IQueryOptions) => Promise<unknown>;
736
+ removeAllPromo: (infoCallBack: Function) => Promise<boolean>;
737
+ getMinFromDeclinations: (d: IDeclination) => import("../../Interfaces/Cart").ICartItemPrices;
738
+ resetPriceListPrices: (infoCallBack: Function) => Promise<boolean>;
739
+ };
740
+ indexedProducts: {
741
+ get: (options?: IQueryOptions, _lang?: string, _currency?: string) => Promise<IndexedProduct[]>;
742
+ fetchVariations: ({ app, api, hpp, page, query, filters, indice, f, space, useProspr }: IQueryProps) => Promise<SearchResponse>;
743
+ getOneIndexedDecli: (parentSlug: string, sku: string, customPriceList?: ICustomPriceItem[]) => Promise<IIndexedDeclination | undefined>;
744
+ };
745
+ indexedCategories: {
746
+ save: (tree: any) => Promise<false | undefined>;
747
+ };
748
+ inventoryItems: {
749
+ get: (options?: IQueryOptions) => Promise<IInventoryItem[]>;
750
+ getAll: () => Promise<IInventoryItem[]>;
751
+ snapshot: (callback: (allInventoryItems: IInventoryItem[]) => void) => string;
752
+ getOne: (sku: string) => Promise<IInventoryItem | undefined>;
753
+ set: (sku: string, data: Partial<IInventoryItem>) => Promise<boolean>;
754
+ delete: (sku: string) => Promise<boolean>;
755
+ setIsSavingInventory: (user_email: string | null) => Promise<void>;
756
+ getIsSavingInventory: () => Promise<string | null>;
757
+ getAllFromSameProduct: (product_slug: string) => Promise<false | Inventory[]>;
758
+ };
759
+ transferRequests: {
760
+ get: () => Promise<TransferRequest[]>;
761
+ snapshot: (callback: (allTransferRequests: TransferRequest[]) => void) => string;
762
+ getOne: (transfert_request_id: string) => Promise<TransferRequest>;
763
+ getTransferStatusOrder: () => {
764
+ [key: number]: import("../../Interfaces/TransferRequest").TransferRequestStatusEnum[];
765
+ };
766
+ getOneByRef: (ref: number) => Promise<TransferRequest[] | undefined>;
767
+ };
768
+ cartItem: {
769
+ get: (options?: IQueryOptions, _locale?: string, _currencies?: string[], _noLimit?: boolean) => Promise<IIndexedProduct[]>;
770
+ getMin: (cartItem: ICartItem, ignoreTierPricing?: boolean) => import("../../Interfaces/Cart").ICartItemPrices;
771
+ getAppliedPrice: (cartItem: ICartItem) => import("../../Interfaces/Cart").ICartItemPrices;
772
+ };
773
+ purchaseOrders: {
774
+ get: (options?: IQueryOptions) => Promise<PurchaseOrder[]>;
775
+ singleListener: (callback: (purchaseOrder: PurchaseOrder | null) => any, id: string) => Promise<string>;
776
+ listener: (callback: (purchaseOrders: PurchaseOrder[]) => any, options?: IQueryOptions) => string;
777
+ };
778
+ discountRules: {
779
+ get: (options?: IQueryOptions) => Promise<Discount[]>;
780
+ listener: (callback: (discountRule: Discount[]) => any, options?: IQueryOptions) => string;
781
+ delete: (discountIdsArray: string[]) => Promise<true | never[]>;
782
+ };
783
+ addresses: {
784
+ batch: {
785
+ create: (data: any) => Promise<void>;
786
+ };
787
+ };
788
+ jobs: {
789
+ get: (options?: IQueryOptions) => Promise<BGJob[] | undefined>;
790
+ listener: (_callback: (job: BGJob[]) => any, _options?: IQueryOptions) => string;
791
+ start: (jobToStart: IBGJob) => Promise<string | boolean>;
792
+ };
793
+ wishlists: {
794
+ batch: {
795
+ create: (data: any) => Promise<void>;
796
+ };
797
+ };
798
+ alerts: {
799
+ batch: {
800
+ create: (data: any) => Promise<void>;
801
+ };
802
+ };
803
+ customers: {
804
+ get: (options?: IQueryOptions) => Promise<Customer[]>;
805
+ listener: (callback: (customer: Customer[]) => any, _options?: IQueryOptions) => string;
806
+ createWithId: (id: string, customer: ICustomer) => Promise<boolean>;
807
+ deleteOne: (id: string) => Promise<boolean | undefined>;
808
+ fetchIndexed: ({ app, api, hpp, page, query, filters, indice, f, space, useProspr }: IQueryProps) => Promise<SearchResponse>;
809
+ getPromisesForCustomer: (customerID: string, onlyActive?: boolean) => Promise<PromiseToPurchase[]>;
810
+ getApplicableBanksForCustomer: (customerID: string, promisesToCheck?: PromiseToPurchase[]) => Promise<IApplicablePromiseBank[]>;
811
+ syncCustomerPromiseList: (associations: Record<string, IIndexedCustomerPromiseToPurchase['associated_promise_ids']>) => Promise<boolean>;
812
+ getAllWithActivePromises: () => Promise<Customer[] | null>;
813
+ getPABanksHistoryForCustomer: (customerID: string, filterOptions?: {
814
+ promiseID?: string;
815
+ bankTypeID?: string;
816
+ updateType?: BankUpdateTypeEnum;
817
+ unixDateRange?: {
818
+ start: number;
819
+ end: number;
820
+ };
821
+ }, searchOptions?: {
822
+ hpp?: number;
823
+ page?: number;
824
+ query?: string;
825
+ }) => Promise<IIndexedBankUsed[] | undefined>;
826
+ getAvailablePABankAmounts: (customerID: string, filterToApply?: 'active-and-before' | 'active-and-after' | 'last-emptied-active-and-after') => Promise<{
827
+ [bankID: string]: IRemainingBankAmount[];
828
+ } | undefined>;
829
+ batch: {
830
+ create: (customers: ICustomer[]) => Promise<void>;
831
+ };
832
+ updateCustomerLastActivity: (customerId: string, user: string, date?: Date) => Promise<void>;
833
+ credits: {
834
+ modify: (customerId: string, creditSlug: string, amount: number, comment: string, user: string) => Promise<ICustomer['store_credits']>;
835
+ get: (customerId: string, creditSlug: string) => Promise<number>;
836
+ getHistory: (customerId: string, creditSlug: string) => Promise<IStoreCreditHistory[]>;
837
+ validate: (customerId: string, creditSlug: string, amount: number) => Promise<boolean>;
838
+ getAvailableCredits: () => IStoreCreditEntry[];
839
+ };
840
+ };
841
+ storeCredits: {
842
+ getStoreCreditToUse: () => IStoreCreditEntry | undefined;
843
+ };
844
+ bookings: {
845
+ get: (options?: IQueryOptions) => Promise<Booking[]>;
846
+ listener: (callback: (customer: Booking[]) => any, options?: IQueryOptions) => string;
847
+ };
848
+ classes: {
849
+ listener: (callback: (classes: Class[]) => any) => string;
850
+ get: (options?: IQueryOptions) => Promise<Class[]>;
851
+ };
852
+ suppliers: {
853
+ listener: (callback: (suppliers: Supplier[]) => any) => string;
854
+ get: (options?: IQueryOptions) => Promise<Supplier[]>;
855
+ };
856
+ invoices: {
857
+ listener: (callback: (invoices: Invoice[]) => any) => string;
858
+ get: (options?: IQueryOptions) => Promise<Invoice[]>;
859
+ import: (fileImport: any) => Promise<any[]>;
860
+ incrementRef: (cartData: ICart) => Promise<string | undefined>;
861
+ shouldSendBillingEmailTo: (isDelivery?: boolean) => string[];
862
+ batch: {
863
+ create: (invoices: ICart[]) => Promise<void>;
864
+ delete: (invoices: ICart[] | any[]) => Promise<void>;
865
+ };
866
+ refUtils: {
867
+ incrementStoreOrWebRef: (currentContent: IOrderInvoiceNumerotation, objKey: string, storeOrWebTypeKey: string, currentInvoiceData: ISpace['invoice_settings']) => Promise<string>;
868
+ incrementGeneralRef: (invoiceData: ISpace['invoice_settings']) => Promise<string>;
869
+ };
870
+ };
871
+ orders: {
872
+ get: (options?: IQueryOptions) => Promise<Order[]>;
873
+ listener: (callback: (orders: Order[]) => any) => string;
874
+ };
875
+ carts: {
876
+ get: (options?: IQueryOptions) => Promise<Cart[]>;
877
+ listener: (callback: (carts: Cart[]) => any, query?: IQueryOptions) => string;
878
+ delete: (ids: string[]) => Promise<void>;
879
+ };
880
+ allOrderTypes: {
881
+ get: (id?: string) => Promise<any>;
882
+ };
883
+ accounting: {
884
+ external_services: {
885
+ get: () => Promise<ExternalService[]>;
886
+ };
887
+ };
888
+ externalServices: {
889
+ getPageTypesWithExternalFields: () => {
890
+ serviceType: string;
891
+ pages: spaceCollectionNames[];
892
+ } | undefined;
893
+ getExternalFieldsToShow: (objType: spaceCollectionNames) => {
894
+ fieldName: string;
895
+ fieldLabel: ILang;
896
+ readOnly?: boolean;
897
+ requiredStr?: ILang;
898
+ helperTxt?: ILang;
899
+ }[];
900
+ getExternalServiceByName: (serviceName: string, returnInactiveService?: boolean) => IExternalServices | undefined;
901
+ getExternalServicesByType: (type: ExternalServiceTypeEnum) => IExternalServices[];
902
+ getExternalServicesBySlug: (slug: string) => IExternalServices | undefined;
903
+ setExternalServiceValues: (slug: string, newValues: Partial<IExternalServices>) => Promise<boolean>;
904
+ };
905
+ taxes: {
906
+ get: (taxCode: string, version?: string) => Promise<ITax>;
907
+ getAll: () => Promise<ITax[]>;
908
+ };
909
+ consentForms: {
910
+ getMostRecent: () => Promise<import("../../Interfaces/Consent").default | undefined>;
911
+ };
912
+ documents: {
913
+ products: () => string;
914
+ queue: () => string;
915
+ getAll: (specificPath: string) => Promise<IBucketDocument[] | undefined>;
916
+ save: (file: File, specificPath: string, imgixUrl?: string, imgixKey?: string) => Promise<void>;
917
+ };
918
+ preferences: {
919
+ default: {
920
+ locale: () => string;
921
+ currency: () => string;
922
+ };
923
+ units: {
924
+ weight: () => "kilograms" | "pounds";
925
+ measurments: () => "centimeters" | "inches";
926
+ };
927
+ languages: () => ("fr" | "en")[];
928
+ currencies: () => string[];
929
+ pickup: {
930
+ disabled: (value: boolean) => Promise<boolean>;
931
+ };
932
+ shipping: {
933
+ fees: {
934
+ update: (forProps: string, value: number) => Promise<boolean>;
935
+ };
936
+ disabled: (value: boolean) => Promise<boolean>;
937
+ asProduct: {
938
+ setAsProduct: (value: boolean) => Promise<boolean>;
939
+ get: () => boolean;
940
+ };
941
+ boxes: {
942
+ add: () => Promise<boolean>;
943
+ deleteAt: (bIndex: number) => Promise<boolean>;
944
+ updateAt: (bIndex: number, value: any, forProps: string) => Promise<boolean>;
945
+ updateBoxData: (bIndex: number, value: IPredefinedBox) => Promise<boolean>;
946
+ updateShippingPrefOptionAt: (bIndex: number, value: any, forProps: string) => Promise<boolean>;
947
+ get: () => IPredefinedBox[];
948
+ };
949
+ products: {
950
+ add: () => Promise<boolean>;
951
+ deleteAt: (bIndex: number) => Promise<boolean>;
952
+ updateAt: (bIndex: number, value: any, forProps: string) => Promise<boolean>;
953
+ get: () => IPredefinedBox[];
954
+ };
955
+ units: {
956
+ add: (newUnitValues: IDimensionUnit) => Promise<boolean>;
957
+ deleteAt: (bIndex: number) => Promise<boolean>;
958
+ updateAt: (uIndex: number, value: any, forProps: string) => Promise<boolean>;
959
+ get: () => IDimensionUnit[];
960
+ updateFullUnitAt: (uIndex: number, newValues: IDimensionUnit) => Promise<boolean>;
961
+ };
962
+ envelops: {
963
+ add: () => Promise<boolean>;
964
+ deleteAt: (bIndex: number) => Promise<boolean>;
965
+ updateAt: (bIndex: number, value: any, forProps: string) => Promise<boolean>;
966
+ get: () => IPredefinedBox[];
967
+ };
968
+ restrict: {
969
+ updateFree: (newValue: IShippingRangeRestrictions | boolean) => Promise<boolean>;
970
+ updateFreeValues: (newValues: string[], listType: string) => Promise<boolean | undefined>;
971
+ getFree: () => boolean | IShippingRangeRestrictions | undefined;
972
+ };
973
+ blocked_dates: {
974
+ get: () => IBlockedDates[] | undefined;
975
+ getOne: (cartType: string) => IBlockedDates | undefined;
976
+ update: (newValues: IBlockedDates[]) => Promise<boolean>;
977
+ };
978
+ };
979
+ stores: {
980
+ get: () => IStore[];
981
+ add: (store: IStore) => void;
982
+ update: (store: IStore, index: number) => Promise<IStore[]>;
983
+ delete: (index: number) => Promise<void>;
984
+ };
985
+ products: {
986
+ get: () => import("../../Interfaces/Space").IProductPreferences;
987
+ };
988
+ cms: {
989
+ setWebsiteMaintenance: (is_in_maintenance: boolean) => Promise<void>;
990
+ setHideProPrices: (hideProPrices: boolean) => Promise<boolean | undefined>;
991
+ setFixedPromoBanner: (fixedPromoBannerData: IFixedPromoBanner) => Promise<boolean>;
992
+ };
993
+ algolia: {
994
+ app: () => any;
995
+ key: () => any;
996
+ admin: () => any;
997
+ shouldSpreadDeclinationsAtIndexing: () => boolean;
998
+ };
999
+ prosprsearch: {
1000
+ app: () => any;
1001
+ shouldSpreadDeclinationsAtIndexing: () => boolean;
1002
+ shouldIndexUnpaidCarts: () => boolean;
1003
+ shouldIndexHeldCarts: () => boolean;
1004
+ };
1005
+ customers: {
1006
+ groups: () => import("../../Interfaces/Space").ICustomerGroup[] | undefined;
1007
+ };
1008
+ storage: {
1009
+ getServiceName: () => string;
1010
+ getServiceConfig: () => {
1011
+ readonly [key: string]: any;
1012
+ };
1013
+ getServiceToUse: () => {
1014
+ name: string;
1015
+ config: {
1016
+ readonly [key: string]: any;
1017
+ };
1018
+ };
1019
+ };
1020
+ };
1021
+ options: {
1022
+ get: () => ISpaceOptions;
1023
+ save: (newOptions: ISpaceOptions) => Promise<boolean>;
1024
+ checkIfOptionIsSet: (path: string) => any;
1025
+ };
1026
+ g2Calls: {
1027
+ update: (optionsToUpdate: Partial<IG2Calls>) => Promise<boolean>;
1028
+ };
1029
+ services: (query: any, returnIfInactive?: boolean) => IExternalServices[];
1030
+ inventory: {
1031
+ ajust: (items: ICartItem[], cartState: 'paid' | 'shipped' | 'delivery' | 'delivered' | 'picked' | 'cancelled' | 'modified' | 'refunded' | 'updatedProcessingStore', cartType: CartTypeEnum, options?: {
1032
+ currentStoreId?: string | undefined;
1033
+ onlyWeb?: boolean;
1034
+ fromStoreId?: string | undefined;
1035
+ associatedTransfersToCart?: TransferRequest[];
1036
+ previousItems?: ICartItem[];
1037
+ inventoryItemsDataToUse?: IInventoryItem[];
1038
+ shouldCheckReservedQte?: boolean;
1039
+ }) => Promise<IInventoryItem[] | undefined>;
1040
+ showMinInventoryOption: () => boolean;
1041
+ };
1042
+ tags: {
1043
+ add: (declination: IDeclination, product: IProduct, category_slug: string, inventory: IInventoryItem, currentStoreId: string, maxQte: number, isOtherCategory?: boolean) => Promise<string | boolean | undefined>;
1044
+ get: (options?: IQueryOptions) => Promise<Tag[] | undefined>;
1045
+ delete: () => Promise<boolean[]>;
1046
+ };
1047
+ users: {
1048
+ delete: (userId: string, credentials: any, token: string) => Promise<void>;
1049
+ get: (uid: string) => Promise<IUser>;
1050
+ getByExternalID: (externalID: string) => Promise<IUser | undefined>;
1051
+ disable: (user?: Awaited<ReturnType<typeof User.FetchUser>>) => Promise<User>;
1052
+ enable: (user?: Awaited<ReturnType<typeof User.FetchUser>>) => Promise<User>;
1053
+ model: (user: Awaited<ReturnType<typeof User.FetchUser>>) => User;
1054
+ reinitPassword: (user: Awaited<ReturnType<typeof User.FetchUser>>) => Promise<void>;
1055
+ save: (user: Awaited<ReturnType<typeof User.FetchUser>>) => Promise<IUser>;
1056
+ };
1057
+ updates: {
1058
+ getByID: (objectID: string) => Promise<IUpdate | undefined>;
1059
+ getByType: (type: string) => Promise<IUpdate[] | undefined>;
1060
+ };
1061
+ bankTypes: {
1062
+ get: (id?: string, returnInactive?: boolean) => IBankType[];
1063
+ add: (name: ITranslation[], active: boolean, association_type: BankTypeAssociationEnum, rules: IBankRule[]) => Promise<boolean>;
1064
+ update: (id: string, rules: IBankRule[], name?: ITranslation[], active?: boolean, association_type?: BankTypeAssociationEnum) => Promise<boolean>;
1065
+ getRulesByType: (typeID: string, versionKey?: number) => {
1066
+ version: number;
1067
+ rules: IBankRule[];
1068
+ } | undefined;
1069
+ };
1070
+ promisesToPurchase: {
1071
+ get: (options?: IQueryOptions, onlyMostRecent?: boolean, keepArchived?: boolean) => Promise<PromiseToPurchase[] | undefined>;
1072
+ getEmails: () => string[];
1073
+ getContingency: () => number;
1074
+ getPromiseSeasons: (stateToReturn?: 'ended' | 'closed' | 'open') => {
1075
+ season_year: number;
1076
+ date: Date | undefined;
1077
+ by_user: string | undefined;
1078
+ }[];
1079
+ getEscompteItems: () => Promise<IndexedProduct[]>;
1080
+ generateNewId: (customerId: string, useNextSeason: boolean, idToIncrement?: string) => Promise<string>;
1081
+ getAssociatedCarts: (promiseID: string, options?: IQueryOptions) => Promise<Cart[]>;
1082
+ getBanksUsedHistory: (filterOptions: {
1083
+ customerID?: string;
1084
+ promiseID?: string;
1085
+ bankTypeID?: string;
1086
+ updateType?: BankUpdateTypeEnum;
1087
+ unixDateRange?: {
1088
+ start: number;
1089
+ end: number;
1090
+ };
1091
+ }, searchOptions?: {
1092
+ hpp?: number;
1093
+ page?: number;
1094
+ query?: string;
1095
+ }) => Promise<IIndexedBankUsed[] | undefined>;
1096
+ getAvailableAmountForApplicableBanks: (applicableBanks: IApplicablePromiseBank[], applicableBanksHistory: IIndexedBankUsed[]) => {
1097
+ [bankID: string]: number;
1098
+ };
1099
+ getAvailableBankAmountsForPromise: (promiseID: string, promiseObj?: PromiseToPurchase) => Promise<IRemainingBankAmount[] | undefined>;
1100
+ getSpecificAvailableBankAmount: (promiseID: string, bankID: string, promiseObj?: PromiseToPurchase) => Promise<IRemainingBankAmount | undefined>;
1101
+ closePromiseSeason: (yearToClose: number, userClosingID: string) => Promise<boolean>;
1102
+ openPromiseSeason: (season: number, userOpeningId: string) => Promise<boolean>;
1103
+ endPromiseSeason: (yearToEnd: number, userEndingId: string) => Promise<boolean>;
1104
+ batch: {
1105
+ deactivate: () => Promise<void>;
1106
+ };
1107
+ };
1108
+ sliders: {
1109
+ get: <T>(options?: IQueryOptions) => Promise<Slider<T>[] | undefined>;
1110
+ };
1111
+ firstOrders: {
1112
+ get: (options?: IQueryOptions) => Promise<FirstOrderTracking[] | undefined>;
1113
+ };
1114
+ menus: {
1115
+ getAll: (options?: IQueryOptions) => Promise<Menu[]>;
1116
+ getActiveBySlug: (slug: MenuPositionEnum) => Promise<Menu | undefined>;
1117
+ getAllActive: () => Promise<Menu[]>;
1118
+ };
1119
+ cashDrawers: {
1120
+ create: (data: {
1121
+ nickname: string;
1122
+ drawerNumber?: number;
1123
+ }) => Promise<ICashDrawer[]>;
1124
+ edit: (id: string, data: {
1125
+ nickname: string;
1126
+ drawerNumber?: number;
1127
+ }) => Promise<ICashDrawer[]>;
1128
+ toggle: (id: string) => Promise<ICashDrawer[]>;
1129
+ hasOpenShift: (drawerId: string) => Promise<boolean>;
1130
+ getOpenShift: (drawerId: string) => Promise<CashDrawerShift | undefined>;
1131
+ getInteractionHistory: (options?: {
1132
+ drawerId?: string;
1133
+ shiftId?: string;
1134
+ action?: CashDrawerActionEnum;
1135
+ userEmail?: string;
1136
+ dates?: {
1137
+ start: Date;
1138
+ end?: Date;
1139
+ };
1140
+ }) => Promise<ICashDrawerInteraction[]>;
1141
+ open: (drawerId: string, cashDownAmount: number) => Promise<boolean>;
1142
+ close: (drawerId: string, cashAmount: number, note?: string) => Promise<boolean>;
1143
+ };
1144
+ /**
1145
+ * Get all space properties
1146
+ */
1147
+ data: () => ISpace;
1148
+ /**
1149
+ * Get the space name
1150
+ */
1151
+ getName: () => string;
1152
+ /**
1153
+ * Get the POS custom product (temp_prod) settings: predefined SKUs source slug and multiple-add flag
1154
+ */
1155
+ getTempProdSettings: () => {
1156
+ readonly use_specific_skus?: string | null | undefined;
1157
+ readonly can_add_multiple_of_same_sku?: boolean | undefined;
1158
+ } | undefined;
1159
+ /**
1160
+ * Get the space ID
1161
+ */
1162
+ getId: () => string;
1163
+ isMultiPromo: () => boolean;
1164
+ private _getNotes;
1165
+ private _addNote;
1166
+ private _deleteNote;
1167
+ notes: {
1168
+ get: (parentId: string, type: NoteTypeEnum) => Promise<Note[]>;
1169
+ add: (content: string, createdByName: string, parentId: string, type: NoteTypeEnum) => Promise<Note>;
1170
+ delete: (noteId: string) => Promise<boolean>;
1171
+ };
1172
+ }