addio-admin-sdk 1.7.144 → 1.7.145

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 (575) hide show
  1. package/.babelrc +17 -17
  2. package/.claude/settings.local.json +7 -0
  3. package/.env +14 -0
  4. package/.env.dev +14 -14
  5. package/.github/workflows/run_unit_test.yaml +48 -48
  6. package/addio-sdk-doc.md +1473 -1473
  7. package/changelog.md +564 -564
  8. package/dist/Interfaces/Address/index.d.ts +21 -21
  9. package/dist/Interfaces/Address/index.js +16 -16
  10. package/dist/Interfaces/Algolia/index.d.ts +177 -177
  11. package/dist/Interfaces/Algolia/index.js +2 -2
  12. package/dist/Interfaces/Attachement/index.d.ts +5 -5
  13. package/dist/Interfaces/Attachement/index.js +2 -2
  14. package/dist/Interfaces/Attribute/index.d.ts +53 -53
  15. package/dist/Interfaces/Attribute/index.js +10 -10
  16. package/dist/Interfaces/BGJob/index.d.ts +56 -56
  17. package/dist/Interfaces/BGJob/index.js +25 -25
  18. package/dist/Interfaces/BaseClass/index.d.ts +8 -8
  19. package/dist/Interfaces/BaseClass/index.js +2 -2
  20. package/dist/Interfaces/Blog/IBlogArticle.d.ts +18 -18
  21. package/dist/Interfaces/Blog/IBlogArticle.js +2 -2
  22. package/dist/Interfaces/Blog/IBlogAuthor.d.ts +7 -7
  23. package/dist/Interfaces/Blog/IBlogAuthor.js +2 -2
  24. package/dist/Interfaces/Blog/IBlogCategory.d.ts +9 -9
  25. package/dist/Interfaces/Blog/IBlogCategory.js +2 -2
  26. package/dist/Interfaces/Blog/IBlogComment.d.ts +13 -13
  27. package/dist/Interfaces/Blog/IBlogComment.js +2 -2
  28. package/dist/Interfaces/Blog/IBlogKeywords.d.ts +9 -9
  29. package/dist/Interfaces/Blog/IBlogKeywords.js +2 -2
  30. package/dist/Interfaces/Booking/index.d.ts +74 -74
  31. package/dist/Interfaces/Booking/index.js +17 -17
  32. package/dist/Interfaces/Brand/index.d.ts +15 -15
  33. package/dist/Interfaces/Brand/index.js +2 -2
  34. package/dist/Interfaces/CMS/index.d.ts +28 -28
  35. package/dist/Interfaces/CMS/index.js +5 -5
  36. package/dist/Interfaces/Cart/IElavonPayload.d.ts +93 -93
  37. package/dist/Interfaces/Cart/IElavonPayload.js +17 -17
  38. package/dist/Interfaces/Cart/IPandaPayload.d.ts +64 -64
  39. package/dist/Interfaces/Cart/IPandaPayload.js +18 -18
  40. package/dist/Interfaces/Cart/IPaymentCard.d.ts +22 -22
  41. package/dist/Interfaces/Cart/IPaymentCard.js +44 -44
  42. package/dist/Interfaces/Cart/IPaypalPayload.d.ts +9 -9
  43. package/dist/Interfaces/Cart/IPaypalPayload.js +2 -2
  44. package/dist/Interfaces/Cart/IPaysafePayload.d.ts +72 -72
  45. package/dist/Interfaces/Cart/IPaysafePayload.js +2 -2
  46. package/dist/Interfaces/Cart/IStripePayload.d.ts +66 -66
  47. package/dist/Interfaces/Cart/IStripePayload.js +2 -2
  48. package/dist/Interfaces/Cart/index.d.ts +444 -444
  49. package/dist/Interfaces/Cart/index.js +197 -197
  50. package/dist/Interfaces/CartReservedQuantities/index.d.ts +10 -10
  51. package/dist/Interfaces/CartReservedQuantities/index.js +2 -2
  52. package/dist/Interfaces/CashDrawers/index.d.ts +37 -37
  53. package/dist/Interfaces/CashDrawers/index.js +19 -19
  54. package/dist/Interfaces/Catalogue/index.d.ts +68 -68
  55. package/dist/Interfaces/Catalogue/index.js +37 -37
  56. package/dist/Interfaces/Category/index.d.ts +33 -33
  57. package/dist/Interfaces/Category/index.js +2 -2
  58. package/dist/Interfaces/Chart/index.d.ts +11 -11
  59. package/dist/Interfaces/Chart/index.js +2 -2
  60. package/dist/Interfaces/Class/index.d.ts +8 -8
  61. package/dist/Interfaces/Class/index.js +2 -2
  62. package/dist/Interfaces/Consent/index.d.ts +6 -6
  63. package/dist/Interfaces/Consent/index.js +2 -2
  64. package/dist/Interfaces/Context/IContextProps.d.ts +4 -4
  65. package/dist/Interfaces/Context/IContextProps.js +2 -2
  66. package/dist/Interfaces/Context/IContextState.d.ts +15 -15
  67. package/dist/Interfaces/Context/IContextState.js +2 -2
  68. package/dist/Interfaces/Customer/ICustomerBadge.d.ts +2 -2
  69. package/dist/Interfaces/Customer/ICustomerBadge.js +2 -2
  70. package/dist/Interfaces/Customer/ICustomerRating.d.ts +10 -10
  71. package/dist/Interfaces/Customer/ICustomerRating.js +2 -2
  72. package/dist/Interfaces/Customer/IStoreCredit.d.ts +13 -13
  73. package/dist/Interfaces/Customer/IStoreCredit.js +2 -2
  74. package/dist/Interfaces/Customer/index.d.ts +104 -104
  75. package/dist/Interfaces/Customer/index.js +148 -148
  76. package/dist/Interfaces/Declination/index.d.ts +117 -117
  77. package/dist/Interfaces/Declination/index.js +66 -66
  78. package/dist/Interfaces/Document/index.d.ts +8 -8
  79. package/dist/Interfaces/Document/index.js +2 -2
  80. package/dist/Interfaces/Elastic/index.d.ts +89 -89
  81. package/dist/Interfaces/Elastic/index.js +2 -2
  82. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.d.ts +11 -11
  83. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.js +2 -2
  84. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.d.ts +15 -15
  85. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.js +2 -2
  86. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.d.ts +12 -12
  87. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.js +2 -2
  88. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.d.ts +36 -36
  89. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.js +2 -2
  90. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.d.ts +12 -12
  91. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.js +2 -2
  92. package/dist/Interfaces/Email/CustomGR/ITransportEmail.d.ts +12 -12
  93. package/dist/Interfaces/Email/CustomGR/ITransportEmail.js +2 -2
  94. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.d.ts +12 -12
  95. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.js +2 -2
  96. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.d.ts +16 -16
  97. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.js +2 -2
  98. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.d.ts +15 -15
  99. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.js +2 -2
  100. package/dist/Interfaces/Email/IAbandonnedCartEmail.d.ts +29 -29
  101. package/dist/Interfaces/Email/IAbandonnedCartEmail.js +2 -2
  102. package/dist/Interfaces/Email/IAccountConfirmationEmail.d.ts +22 -22
  103. package/dist/Interfaces/Email/IAccountConfirmationEmail.js +2 -2
  104. package/dist/Interfaces/Email/IApplicationEmail.d.ts +19 -19
  105. package/dist/Interfaces/Email/IApplicationEmail.js +2 -2
  106. package/dist/Interfaces/Email/IBackInStockEmail.d.ts +21 -21
  107. package/dist/Interfaces/Email/IBackInStockEmail.js +2 -2
  108. package/dist/Interfaces/Email/IContactEmail.d.ts +20 -20
  109. package/dist/Interfaces/Email/IContactEmail.js +2 -2
  110. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.d.ts +15 -15
  111. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.js +2 -2
  112. package/dist/Interfaces/Email/ICustomerBookingEmail.d.ts +14 -14
  113. package/dist/Interfaces/Email/ICustomerBookingEmail.js +2 -2
  114. package/dist/Interfaces/Email/IEmail.d.ts +20 -20
  115. package/dist/Interfaces/Email/IEmail.js +60 -60
  116. package/dist/Interfaces/Email/IOrderConfirmationEmail.d.ts +47 -47
  117. package/dist/Interfaces/Email/IOrderConfirmationEmail.js +2 -2
  118. package/dist/Interfaces/Email/IPasswordResetEmail.d.ts +17 -17
  119. package/dist/Interfaces/Email/IPasswordResetEmail.js +2 -2
  120. package/dist/Interfaces/Email/IPhotoShootEmail.d.ts +14 -14
  121. package/dist/Interfaces/Email/IPhotoShootEmail.js +2 -2
  122. package/dist/Interfaces/Email/IPickupConfirmation.d.ts +23 -23
  123. package/dist/Interfaces/Email/IPickupConfirmation.js +2 -2
  124. package/dist/Interfaces/Email/IShippingConfirmation.d.ts +23 -23
  125. package/dist/Interfaces/Email/IShippingConfirmation.js +2 -2
  126. package/dist/Interfaces/Email/IWelcomeEmail.d.ts +19 -19
  127. package/dist/Interfaces/Email/IWelcomeEmail.js +2 -2
  128. package/dist/Interfaces/ExportSchema/index.d.ts +7 -7
  129. package/dist/Interfaces/ExportSchema/index.js +2 -2
  130. package/dist/Interfaces/ExternalService/BaseExternalService.d.ts +12 -12
  131. package/dist/Interfaces/ExternalService/BaseExternalService.js +2 -2
  132. package/dist/Interfaces/ExternalService/ExternalProductsService.d.ts +4 -4
  133. package/dist/Interfaces/ExternalService/ExternalProductsService.js +2 -2
  134. package/dist/Interfaces/ExternalService/index.d.ts +9 -9
  135. package/dist/Interfaces/ExternalService/index.js +2 -2
  136. package/dist/Interfaces/FirstOrderTracking/index.d.ts +5 -5
  137. package/dist/Interfaces/FirstOrderTracking/index.js +2 -2
  138. package/dist/Interfaces/G2/index.d.ts +556 -556
  139. package/dist/Interfaces/G2/index.js +38 -38
  140. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.d.ts +20 -20
  141. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.js +2 -2
  142. package/dist/Interfaces/Indexed/Product/index.d.ts +105 -105
  143. package/dist/Interfaces/Indexed/Product/index.js +253 -253
  144. package/dist/Interfaces/Inventory/index.d.ts +19 -19
  145. package/dist/Interfaces/Inventory/index.js +8 -8
  146. package/dist/Interfaces/Invoice/index.d.ts +4 -4
  147. package/dist/Interfaces/Invoice/index.js +2 -2
  148. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.d.ts +3 -3
  149. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.js +2 -2
  150. package/dist/Interfaces/MarketplacePublication/index.d.ts +23 -23
  151. package/dist/Interfaces/MarketplacePublication/index.js +22 -22
  152. package/dist/Interfaces/Menu/index.d.ts +40 -40
  153. package/dist/Interfaces/Menu/index.js +16 -16
  154. package/dist/Interfaces/Note/index.d.ts +10 -10
  155. package/dist/Interfaces/Note/index.js +7 -7
  156. package/dist/Interfaces/Operations/ICreatedBy.d.ts +6 -6
  157. package/dist/Interfaces/Operations/ICreatedBy.js +2 -2
  158. package/dist/Interfaces/Operations/IUpdate.d.ts +5 -5
  159. package/dist/Interfaces/Operations/IUpdate.js +2 -2
  160. package/dist/Interfaces/Order/index.d.ts +4 -4
  161. package/dist/Interfaces/Order/index.js +2 -2
  162. package/dist/Interfaces/Org/IRelUser.d.ts +9 -9
  163. package/dist/Interfaces/Org/IRelUser.js +2 -2
  164. package/dist/Interfaces/Org/index.d.ts +29 -29
  165. package/dist/Interfaces/Org/index.js +12 -12
  166. package/dist/Interfaces/Payment/index.d.ts +26 -26
  167. package/dist/Interfaces/Payment/index.js +14 -14
  168. package/dist/Interfaces/Product/IAttributeFamily.d.ts +6 -6
  169. package/dist/Interfaces/Product/IAttributeFamily.js +2 -2
  170. package/dist/Interfaces/Product/IImportProduct.d.ts +42 -42
  171. package/dist/Interfaces/Product/IImportProduct.js +882 -882
  172. package/dist/Interfaces/Product/IInventoryItem.d.ts +74 -74
  173. package/dist/Interfaces/Product/IInventoryItem.js +38 -38
  174. package/dist/Interfaces/Product/IPricing.d.ts +177 -177
  175. package/dist/Interfaces/Product/IPricing.js +180 -180
  176. package/dist/Interfaces/Product/index.d.ts +138 -138
  177. package/dist/Interfaces/Product/index.js +64 -64
  178. package/dist/Interfaces/ProductAttribute/index.d.ts +11 -11
  179. package/dist/Interfaces/ProductAttribute/index.js +2 -2
  180. package/dist/Interfaces/PromiseToPurchase/BankType.d.ts +41 -41
  181. package/dist/Interfaces/PromiseToPurchase/BankType.js +41 -41
  182. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.d.ts +33 -33
  183. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.js +15 -15
  184. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.d.ts +19 -19
  185. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.js +2 -2
  186. package/dist/Interfaces/PromiseToPurchase/index.d.ts +50 -50
  187. package/dist/Interfaces/PromiseToPurchase/index.js +13 -13
  188. package/dist/Interfaces/PurchaseOrder/index.d.ts +17 -17
  189. package/dist/Interfaces/PurchaseOrder/index.js +2 -2
  190. package/dist/Interfaces/Query/IBrandQueryOptions.d.ts +11 -11
  191. package/dist/Interfaces/Query/IBrandQueryOptions.js +2 -2
  192. package/dist/Interfaces/Query/ICategoryQueryOptions.d.ts +11 -11
  193. package/dist/Interfaces/Query/ICategoryQueryOptions.js +2 -2
  194. package/dist/Interfaces/Query/IProductQueryOptions.d.ts +16 -16
  195. package/dist/Interfaces/Query/IProductQueryOptions.js +2 -2
  196. package/dist/Interfaces/Quote/index.d.ts +5 -5
  197. package/dist/Interfaces/Quote/index.js +2 -2
  198. package/dist/Interfaces/Refunds/index.d.ts +106 -106
  199. package/dist/Interfaces/Refunds/index.js +2 -2
  200. package/dist/Interfaces/Rules/IDiscountRule.d.ts +155 -155
  201. package/dist/Interfaces/Rules/IDiscountRule.js +114 -114
  202. package/dist/Interfaces/Schedule/index.d.ts +48 -48
  203. package/dist/Interfaces/Schedule/index.js +2 -2
  204. package/dist/Interfaces/Services/IAddServiceResponse.d.ts +4 -4
  205. package/dist/Interfaces/Services/IAddServiceResponse.js +2 -2
  206. package/dist/Interfaces/Services/IService.d.ts +16 -16
  207. package/dist/Interfaces/Services/IService.js +2 -2
  208. package/dist/Interfaces/Services/IServiceSecret.d.ts +8 -8
  209. package/dist/Interfaces/Services/IServiceSecret.js +2 -2
  210. package/dist/Interfaces/Shipping/Shipstation/carriers.d.ts +10 -10
  211. package/dist/Interfaces/Shipping/Shipstation/carriers.js +2 -2
  212. package/dist/Interfaces/Shipping/Shipstation/order.d.ts +227 -227
  213. package/dist/Interfaces/Shipping/Shipstation/order.js +2 -2
  214. package/dist/Interfaces/Shipping/Shipstation/quote.d.ts +31 -31
  215. package/dist/Interfaces/Shipping/Shipstation/quote.js +2 -2
  216. package/dist/Interfaces/Shipping/Shiptime/order.d.ts +54 -54
  217. package/dist/Interfaces/Shipping/Shiptime/order.js +71 -71
  218. package/dist/Interfaces/Shipping/Shiptime/quote.d.ts +111 -111
  219. package/dist/Interfaces/Shipping/Shiptime/quote.js +2 -2
  220. package/dist/Interfaces/Slider/GR.d.ts +114 -114
  221. package/dist/Interfaces/Slider/GR.js +271 -271
  222. package/dist/Interfaces/Slider/index.d.ts +30 -30
  223. package/dist/Interfaces/Slider/index.js +2 -2
  224. package/dist/Interfaces/Space/IExternalService.d.ts +53 -53
  225. package/dist/Interfaces/Space/IExternalService.js +44 -44
  226. package/dist/Interfaces/Space/IMember.d.ts +16 -16
  227. package/dist/Interfaces/Space/IMember.js +9 -9
  228. package/dist/Interfaces/Space/index.d.ts +407 -405
  229. package/dist/Interfaces/Space/index.js +174 -174
  230. package/dist/Interfaces/Space/index.js.map +1 -1
  231. package/dist/Interfaces/Specials/gr.d.ts +61 -61
  232. package/dist/Interfaces/Specials/gr.js +2 -2
  233. package/dist/Interfaces/StockNotification/index.d.ts +7 -7
  234. package/dist/Interfaces/StockNotification/index.js +2 -2
  235. package/dist/Interfaces/Store/index.d.ts +63 -63
  236. package/dist/Interfaces/Store/index.js +27 -27
  237. package/dist/Interfaces/Supplier/ICommand.d.ts +11 -11
  238. package/dist/Interfaces/Supplier/ICommand.js +2 -2
  239. package/dist/Interfaces/Supplier/index.d.ts +36 -36
  240. package/dist/Interfaces/Supplier/index.js +24 -24
  241. package/dist/Interfaces/TCG/index.d.ts +161 -161
  242. package/dist/Interfaces/TCG/index.js +54 -54
  243. package/dist/Interfaces/Tag/index.d.ts +18 -18
  244. package/dist/Interfaces/Tag/index.js +2 -2
  245. package/dist/Interfaces/Tax/index.d.ts +13 -13
  246. package/dist/Interfaces/Tax/index.js +2 -2
  247. package/dist/Interfaces/TransferRequest/index.d.ts +103 -103
  248. package/dist/Interfaces/TransferRequest/index.js +46 -46
  249. package/dist/Interfaces/Translation/index.d.ts +8 -8
  250. package/dist/Interfaces/Translation/index.js +5 -5
  251. package/dist/Interfaces/Update/index.d.ts +10 -10
  252. package/dist/Interfaces/Update/index.js +2 -2
  253. package/dist/Interfaces/User/IUser.d.ts +65 -65
  254. package/dist/Interfaces/User/IUser.js +8 -8
  255. package/dist/Interfaces/Version/index.d.ts +11 -11
  256. package/dist/Interfaces/Version/index.js +2 -2
  257. package/dist/Interfaces/Wishlist/index.d.ts +7 -7
  258. package/dist/Interfaces/Wishlist/index.js +2 -2
  259. package/dist/constants/Interfaces/IBaseApi.d.ts +15 -15
  260. package/dist/constants/Interfaces/IBaseApi.js +2 -2
  261. package/dist/constants/Interfaces/IEndpointResult.d.ts +9 -9
  262. package/dist/constants/Interfaces/IEndpointResult.js +2 -2
  263. package/dist/constants/enums.d.ts +6 -6
  264. package/dist/constants/enums.js +10 -10
  265. package/dist/constants/services.d.ts +2 -2
  266. package/dist/constants/services.js +117 -117
  267. package/dist/constants/version.d.ts +2 -2
  268. package/dist/constants/version.js +5 -5
  269. package/dist/index.d.ts +50 -50
  270. package/dist/index.js +266 -266
  271. package/dist/lib/Attribute/index.d.ts +14 -14
  272. package/dist/lib/Attribute/index.js +186 -186
  273. package/dist/lib/BGJob/index.d.ts +9 -9
  274. package/dist/lib/BGJob/index.js +216 -216
  275. package/dist/lib/BackgroundWorker/index.d.ts +34 -34
  276. package/dist/lib/BackgroundWorker/index.js +59 -59
  277. package/dist/lib/Blog/BlogArticle.d.ts +5 -5
  278. package/dist/lib/Blog/BlogArticle.js +10 -10
  279. package/dist/lib/Blog/BlogAuthor.d.ts +5 -5
  280. package/dist/lib/Blog/BlogAuthor.js +10 -10
  281. package/dist/lib/Blog/BlogCategory.d.ts +5 -5
  282. package/dist/lib/Blog/BlogCategory.js +10 -10
  283. package/dist/lib/Blog/BlogKeyword.d.ts +5 -5
  284. package/dist/lib/Blog/BlogKeyword.js +10 -10
  285. package/dist/lib/Booking/index.d.ts +85 -85
  286. package/dist/lib/Booking/index.js +596 -596
  287. package/dist/lib/Brand/index.d.ts +26 -26
  288. package/dist/lib/Brand/index.js +131 -131
  289. package/dist/lib/Cart/index.d.ts +335 -335
  290. package/dist/lib/Cart/index.js +3977 -3977
  291. package/dist/lib/CartReservedQuantities/index.d.ts +49 -49
  292. package/dist/lib/CartReservedQuantities/index.js +159 -159
  293. package/dist/lib/CashDrawerShift/index.d.ts +83 -83
  294. package/dist/lib/CashDrawerShift/index.js +205 -205
  295. package/dist/lib/Catalogue/index.d.ts +15 -15
  296. package/dist/lib/Catalogue/index.js +78 -78
  297. package/dist/lib/Category/index.d.ts +34 -34
  298. package/dist/lib/Category/index.js +230 -230
  299. package/dist/lib/Class/index.d.ts +16 -16
  300. package/dist/lib/Class/index.js +66 -66
  301. package/dist/lib/Consent/index.d.ts +4 -4
  302. package/dist/lib/Consent/index.js +29 -29
  303. package/dist/lib/Customer/index.d.ts +30 -30
  304. package/dist/lib/Customer/index.js +92 -92
  305. package/dist/lib/Declination/index.d.ts +9 -9
  306. package/dist/lib/Declination/index.js +26 -26
  307. package/dist/lib/Discount/index.d.ts +27 -27
  308. package/dist/lib/Discount/index.js +493 -493
  309. package/dist/lib/ElasticSearch/index.d.ts +13 -13
  310. package/dist/lib/ElasticSearch/index.js +50 -50
  311. package/dist/lib/Elavon/index.d.ts +18 -18
  312. package/dist/lib/Elavon/index.js +135 -135
  313. package/dist/lib/Email/AbandonedCartEmail.d.ts +16 -16
  314. package/dist/lib/Email/AbandonedCartEmail.js +24 -24
  315. package/dist/lib/Email/AccountConfirmationEmail.d.ts +19 -19
  316. package/dist/lib/Email/AccountConfirmationEmail.js +30 -30
  317. package/dist/lib/Email/AdminOrderConfirmationEmail.d.ts +16 -16
  318. package/dist/lib/Email/AdminOrderConfirmationEmail.js +24 -24
  319. package/dist/lib/Email/ApplicationEmail.d.ts +16 -16
  320. package/dist/lib/Email/ApplicationEmail.js +24 -24
  321. package/dist/lib/Email/BackInStockEmail.d.ts +16 -16
  322. package/dist/lib/Email/BackInStockEmail.js +24 -24
  323. package/dist/lib/Email/ContactEmail.d.ts +16 -16
  324. package/dist/lib/Email/ContactEmail.js +24 -24
  325. package/dist/lib/Email/CustomerBookingAdminEmail.d.ts +16 -16
  326. package/dist/lib/Email/CustomerBookingAdminEmail.js +24 -24
  327. package/dist/lib/Email/CustomerBookingEmail.d.ts +16 -16
  328. package/dist/lib/Email/CustomerBookingEmail.js +24 -24
  329. package/dist/lib/Email/OrderConfirmationEmail.d.ts +16 -16
  330. package/dist/lib/Email/OrderConfirmationEmail.js +24 -24
  331. package/dist/lib/Email/OrderDenounciationEmail.d.ts +16 -16
  332. package/dist/lib/Email/OrderDenounciationEmail.js +24 -24
  333. package/dist/lib/Email/OrderSampleEmail.d.ts +16 -16
  334. package/dist/lib/Email/OrderSampleEmail.js +24 -24
  335. package/dist/lib/Email/OtherTypeEmails.d.ts +16 -16
  336. package/dist/lib/Email/OtherTypeEmails.js +27 -27
  337. package/dist/lib/Email/PasswordResetEmail.d.ts +16 -16
  338. package/dist/lib/Email/PasswordResetEmail.js +24 -24
  339. package/dist/lib/Email/PhotoShootEmail.d.ts +16 -16
  340. package/dist/lib/Email/PhotoShootEmail.js +24 -24
  341. package/dist/lib/Email/PickUpConfirmation.d.ts +16 -16
  342. package/dist/lib/Email/PickUpConfirmation.js +24 -24
  343. package/dist/lib/Email/ShippingConfirmation.d.ts +16 -16
  344. package/dist/lib/Email/ShippingConfirmation.js +24 -24
  345. package/dist/lib/Email/WelcomeEmail.d.ts +16 -16
  346. package/dist/lib/Email/WelcomeEmail.js +24 -24
  347. package/dist/lib/Email/index.d.ts +16 -16
  348. package/dist/lib/Email/index.js +31 -31
  349. package/dist/lib/ExternalService/Ebay.d.ts +74 -74
  350. package/dist/lib/ExternalService/Ebay.js +124 -124
  351. package/dist/lib/ExternalService/index.d.ts +5 -5
  352. package/dist/lib/ExternalService/index.js +10 -10
  353. package/dist/lib/FirstOrderTracking/index.d.ts +5 -5
  354. package/dist/lib/FirstOrderTracking/index.js +10 -10
  355. package/dist/lib/Indexed/IndexedCart.d.ts +13 -13
  356. package/dist/lib/Indexed/IndexedCart.js +91 -91
  357. package/dist/lib/Indexed/Product.d.ts +17 -17
  358. package/dist/lib/Indexed/Product.js +98 -98
  359. package/dist/lib/Inventory/index.d.ts +112 -112
  360. package/dist/lib/Inventory/index.js +492 -492
  361. package/dist/lib/Invoice/index.d.ts +16 -16
  362. package/dist/lib/Invoice/index.js +21 -21
  363. package/dist/lib/MarketplacePublication/index.d.ts +9 -9
  364. package/dist/lib/MarketplacePublication/index.js +426 -426
  365. package/dist/lib/Menu/index.d.ts +11 -11
  366. package/dist/lib/Menu/index.js +107 -107
  367. package/dist/lib/MongoDB/BaseAPI.d.ts +18 -18
  368. package/dist/lib/MongoDB/BaseAPI.js +200 -200
  369. package/dist/lib/Note/index.d.ts +4 -4
  370. package/dist/lib/Note/index.js +6 -6
  371. package/dist/lib/Order/index.d.ts +27 -27
  372. package/dist/lib/Order/index.js +56 -56
  373. package/dist/lib/Org/index.d.ts +68 -68
  374. package/dist/lib/Org/index.js +216 -216
  375. package/dist/lib/PandaPay/index.d.ts +16 -16
  376. package/dist/lib/PandaPay/index.js +176 -176
  377. package/dist/lib/Paysafe/index.d.ts +11 -11
  378. package/dist/lib/Paysafe/index.js +41 -41
  379. package/dist/lib/Product/index.d.ts +182 -182
  380. package/dist/lib/Product/index.js +847 -847
  381. package/dist/lib/ProductAttribute/index.d.ts +15 -15
  382. package/dist/lib/ProductAttribute/index.js +45 -45
  383. package/dist/lib/PromiseToPurchase/index.d.ts +109 -109
  384. package/dist/lib/PromiseToPurchase/index.js +343 -343
  385. package/dist/lib/PurchaseOrder/index.d.ts +20 -20
  386. package/dist/lib/PurchaseOrder/index.js +28 -28
  387. package/dist/lib/Schedule/index.d.ts +5 -5
  388. package/dist/lib/Schedule/index.js +12 -12
  389. package/dist/lib/Service/Enum/ServiceEnum.d.ts +3 -3
  390. package/dist/lib/Service/Enum/ServiceEnum.js +7 -7
  391. package/dist/lib/Service/index.d.ts +13 -13
  392. package/dist/lib/Service/index.js +21 -21
  393. package/dist/lib/Shipment/index.d.ts +28 -28
  394. package/dist/lib/Shipment/index.js +370 -370
  395. package/dist/lib/Slider/index.d.ts +22 -22
  396. package/dist/lib/Slider/index.js +119 -119
  397. package/dist/lib/Space/index.d.ts +1150 -1150
  398. package/dist/lib/Space/index.js +5792 -5792
  399. package/dist/lib/StockNotification/index.d.ts +4 -4
  400. package/dist/lib/StockNotification/index.js +6 -6
  401. package/dist/lib/Store/index.d.ts +5 -5
  402. package/dist/lib/Store/index.js +12 -12
  403. package/dist/lib/Supplier/Command.d.ts +5 -5
  404. package/dist/lib/Supplier/Command.js +10 -10
  405. package/dist/lib/Supplier/index.d.ts +25 -25
  406. package/dist/lib/Supplier/index.js +27 -27
  407. package/dist/lib/Tags/index.d.ts +6 -6
  408. package/dist/lib/Tags/index.js +26 -26
  409. package/dist/lib/Tax/index.d.ts +8 -8
  410. package/dist/lib/Tax/index.js +54 -54
  411. package/dist/lib/TransferRequest/index.d.ts +290 -290
  412. package/dist/lib/TransferRequest/index.js +1026 -1026
  413. package/dist/lib/Update/index.d.ts +10 -10
  414. package/dist/lib/Update/index.js +22 -22
  415. package/dist/lib/User/index.d.ts +89 -89
  416. package/dist/lib/User/index.js +328 -328
  417. package/dist/lib/Wishlist/index.d.ts +5 -5
  418. package/dist/lib/Wishlist/index.js +10 -10
  419. package/dist/lib/base.d.ts +14 -14
  420. package/dist/lib/base.js +62 -62
  421. package/dist/lib/baseService.d.ts +17 -17
  422. package/dist/lib/baseService.js +69 -69
  423. package/dist/rules/GR/constants/data.d.ts +26 -26
  424. package/dist/rules/GR/constants/data.js +81 -81
  425. package/dist/rules/GR/constants/expedition.d.ts +4 -4
  426. package/dist/rules/GR/constants/expedition.js +9 -9
  427. package/dist/rules/GR/constants/products.d.ts +22 -22
  428. package/dist/rules/GR/constants/products.js +263 -263
  429. package/dist/rules/GR/interfaces/cart.d.ts +84 -84
  430. package/dist/rules/GR/interfaces/cart.js +41 -41
  431. package/dist/rules/GR/interfaces/data.d.ts +101 -101
  432. package/dist/rules/GR/interfaces/data.js +114 -114
  433. package/dist/rules/GR/interfaces/products.d.ts +61 -61
  434. package/dist/rules/GR/interfaces/products.js +10 -10
  435. package/dist/rules/GR/utils/cart.d.ts +95 -95
  436. package/dist/rules/GR/utils/cart.js +839 -836
  437. package/dist/rules/GR/utils/cart.js.map +1 -1
  438. package/dist/rules/GR/utils/data.d.ts +3 -3
  439. package/dist/rules/GR/utils/data.js +28 -28
  440. package/dist/rules/GR/utils/expedition.d.ts +140 -140
  441. package/dist/rules/GR/utils/expedition.js +2016 -2016
  442. package/dist/rules/GR/utils/g2.d.ts +209 -209
  443. package/dist/rules/GR/utils/g2.js +999 -999
  444. package/dist/rules/GR/utils/invoices.d.ts +51 -51
  445. package/dist/rules/GR/utils/invoices.js +215 -215
  446. package/dist/rules/GR/utils/products.d.ts +277 -277
  447. package/dist/rules/GR/utils/products.js +1350 -1350
  448. package/dist/rules/GR/utils/upsells.d.ts +111 -111
  449. package/dist/rules/GR/utils/upsells.js +215 -215
  450. package/dist/services/database/BaseProvider.d.ts +29 -29
  451. package/dist/services/database/BaseProvider.js +28 -28
  452. package/dist/services/database/BatchUtils.d.ts +14 -14
  453. package/dist/services/database/BatchUtils.js +43 -43
  454. package/dist/services/database/Config.d.ts +2 -2
  455. package/dist/services/database/Config.js +5 -5
  456. package/dist/services/database/DatabaseService.d.ts +125 -125
  457. package/dist/services/database/DatabaseService.js +237 -237
  458. package/dist/services/database/FirebaseProvider.d.ts +17 -17
  459. package/dist/services/database/FirebaseProvider.js +235 -235
  460. package/dist/services/database/NotFirebaseProvider.d.ts +49 -49
  461. package/dist/services/database/NotFirebaseProvider.js +262 -262
  462. package/dist/services/g2/G2OrderSlip.d.ts +49 -49
  463. package/dist/services/g2/G2OrderSlip.js +228 -228
  464. package/dist/services/g2/utils.d.ts +19 -19
  465. package/dist/services/g2/utils.js +953 -953
  466. package/dist/services/logs/index.d.ts +23 -23
  467. package/dist/services/logs/index.js +66 -66
  468. package/dist/services/marketplace/BaseMarketServiceClass.d.ts +52 -52
  469. package/dist/services/marketplace/BaseMarketServiceClass.js +111 -111
  470. package/dist/services/marketplace/CardtraderServiceClass.d.ts +17 -17
  471. package/dist/services/marketplace/CardtraderServiceClass.js +139 -139
  472. package/dist/services/marketplace/utils.d.ts +14 -14
  473. package/dist/services/marketplace/utils.js +29 -29
  474. package/dist/services/products/BaseClass.d.ts +50 -50
  475. package/dist/services/products/BaseClass.js +66 -66
  476. package/dist/services/products/TCGService.d.ts +32 -32
  477. package/dist/services/products/TCGService.js +555 -555
  478. package/dist/services/products/utils.d.ts +31 -31
  479. package/dist/services/products/utils.js +144 -144
  480. package/dist/utils/algolia.d.ts +46 -46
  481. package/dist/utils/algolia.js +21 -21
  482. package/dist/utils/anonymisation.d.ts +54 -54
  483. package/dist/utils/anonymisation.js +280 -280
  484. package/dist/utils/array.d.ts +5 -5
  485. package/dist/utils/array.js +14 -14
  486. package/dist/utils/aws.d.ts +36 -36
  487. package/dist/utils/aws.js +154 -154
  488. package/dist/utils/booking.d.ts +30 -30
  489. package/dist/utils/booking.js +127 -127
  490. package/dist/utils/cart.d.ts +259 -259
  491. package/dist/utils/cart.js +1145 -1145
  492. package/dist/utils/categories.d.ts +2 -2
  493. package/dist/utils/categories.js +54 -54
  494. package/dist/utils/cmv.d.ts +10 -10
  495. package/dist/utils/cmv.js +107 -107
  496. package/dist/utils/console.d.ts +6 -6
  497. package/dist/utils/console.js +59 -59
  498. package/dist/utils/context.d.ts +20 -20
  499. package/dist/utils/context.js +61 -61
  500. package/dist/utils/currency.d.ts +6 -6
  501. package/dist/utils/currency.js +91 -91
  502. package/dist/utils/data.d.ts +31 -31
  503. package/dist/utils/data.js +296 -296
  504. package/dist/utils/date.d.ts +1 -1
  505. package/dist/utils/date.js +16 -16
  506. package/dist/utils/dimensions.d.ts +3 -3
  507. package/dist/utils/dimensions.js +16 -16
  508. package/dist/utils/discount.d.ts +164 -164
  509. package/dist/utils/discount.js +1111 -1111
  510. package/dist/utils/errors.d.ts +113 -113
  511. package/dist/utils/errors.js +113 -113
  512. package/dist/utils/file-admin.d.ts +8 -8
  513. package/dist/utils/file-admin.js +39 -39
  514. package/dist/utils/file.d.ts +39 -39
  515. package/dist/utils/file.js +208 -208
  516. package/dist/utils/firebase-admin.d.ts +11 -11
  517. package/dist/utils/firebase-admin.js +73 -73
  518. package/dist/utils/firebase.d.ts +58 -58
  519. package/dist/utils/firebase.js +148 -148
  520. package/dist/utils/import.d.ts +1 -1
  521. package/dist/utils/import.js +21 -21
  522. package/dist/utils/inventories.d.ts +101 -101
  523. package/dist/utils/inventories.js +467 -467
  524. package/dist/utils/locale.d.ts +24 -24
  525. package/dist/utils/locale.js +89 -89
  526. package/dist/utils/mailchimp.d.ts +58 -58
  527. package/dist/utils/mailchimp.js +531 -531
  528. package/dist/utils/mathUtils.d.ts +17 -17
  529. package/dist/utils/mathUtils.js +324 -324
  530. package/dist/utils/mongodb.d.ts +1 -1
  531. package/dist/utils/mongodb.js +22 -22
  532. package/dist/utils/object.d.ts +32 -32
  533. package/dist/utils/object.js +133 -133
  534. package/dist/utils/payment.d.ts +10 -10
  535. package/dist/utils/payment.js +23 -23
  536. package/dist/utils/products.d.ts +39 -39
  537. package/dist/utils/products.js +195 -195
  538. package/dist/utils/promiseToPurchase.d.ts +88 -88
  539. package/dist/utils/promiseToPurchase.js +229 -229
  540. package/dist/utils/prosprsearch.d.ts +42 -42
  541. package/dist/utils/prosprsearch.js +216 -216
  542. package/dist/utils/refunds.d.ts +2 -2
  543. package/dist/utils/refunds.js +21 -21
  544. package/dist/utils/sdc.d.ts +10 -10
  545. package/dist/utils/sdc.js +1309 -1309
  546. package/dist/utils/searchIndexes.d.ts +58 -58
  547. package/dist/utils/searchIndexes.js +247 -247
  548. package/dist/utils/services.d.ts +42 -42
  549. package/dist/utils/services.js +409 -409
  550. package/dist/utils/shipment.d.ts +110 -110
  551. package/dist/utils/shipment.js +345 -345
  552. package/dist/utils/simpletexting.d.ts +2 -2
  553. package/dist/utils/simpletexting.js +45 -45
  554. package/dist/utils/sliders.d.ts +4 -4
  555. package/dist/utils/sliders.js +24 -24
  556. package/dist/utils/string.d.ts +16 -16
  557. package/dist/utils/string.js +192 -192
  558. package/dist/utils/tcgService.d.ts +74 -74
  559. package/dist/utils/tcgService.js +308 -308
  560. package/dist/utils/tools.d.ts +5 -5
  561. package/dist/utils/tools.js +13 -13
  562. package/dist/utils/transferRequests.d.ts +43 -43
  563. package/dist/utils/transferRequests.js +67 -67
  564. package/dist/utils/update.d.ts +7 -7
  565. package/dist/utils/update.js +137 -137
  566. package/dist/utils/weight.d.ts +3 -3
  567. package/dist/utils/weight.js +16 -16
  568. package/dist/utils/zones.d.ts +11 -11
  569. package/dist/utils/zones.js +218 -218
  570. package/package.json +107 -107
  571. package/publish.sh +143 -143
  572. package/readme.md +182 -182
  573. package/dist/lib/Queue/index.d.ts +0 -40
  574. package/dist/lib/Queue/index.js +0 -255
  575. package/dist/lib/Queue/index.js.map +0 -1
@@ -1,1150 +1,1150 @@
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
- attributes: {
660
- get: (options?: IQueryOptions) => Promise<Attribute[]>;
661
- add: (attribute: IAttribute) => Promise<void>;
662
- listener: (callback: (attributes: Attribute[]) => any) => string;
663
- saveBatch: (attribs: IAttribute[]) => Promise<{
664
- errorsOccured: number;
665
- totalSaves: number;
666
- }>;
667
- };
668
- blogArticles: {
669
- get: () => Promise<BlogArticle[]>;
670
- };
671
- blogAuthors: {
672
- get: () => Promise<BlogAuthor[]>;
673
- };
674
- blogCategories: {
675
- get: () => Promise<BlogCategory[]>;
676
- listener: (callback: (blogCategories: BlogCategory[]) => any) => string;
677
- };
678
- blogKeywords: {
679
- get: () => Promise<BlogKeyword[]>;
680
- };
681
- catalogues: {
682
- get: () => Promise<Catalogue[]>;
683
- getOne: (id: string) => Promise<Catalogue | undefined>;
684
- checkIfSlugUnique: (slug: string, id: string) => Promise<boolean>;
685
- save: (catalogue: ICatalogue) => Promise<string | boolean>;
686
- delete: (ids: string[]) => Promise<boolean>;
687
- };
688
- categories: {
689
- get: (options?: IQueryOptions) => Promise<Category[]>;
690
- getTree: (categories: Category[], parentID?: string) => ICategory[];
691
- listener: (callback: (categories: Category[]) => any, options?: ICategoryQueryOptions) => string;
692
- url: (categoryID: string) => Promise<string>;
693
- resetInventories: (categoryId: string) => Promise<void>;
694
- saveBatch: (partialCategories: Partial<ICategory>[]) => Promise<{
695
- errorsOccured: number;
696
- totalSaves: number;
697
- }>;
698
- };
699
- brands: {
700
- get: (options?: IQueryOptions) => Promise<Brand[]>;
701
- listener: (callback: (brands: Brand[]) => any, _options?: IBrandQueryOptions) => string;
702
- saveBatch: (brands: IBrand[]) => Promise<{
703
- errorsOccured: number;
704
- totalSaves: number;
705
- }>;
706
- };
707
- products: {
708
- get: (options?: IQueryOptions) => Promise<Product[]>;
709
- getPage: (from: string | undefined, limit: number) => Promise<Product[]>;
710
- getAll: () => Promise<Product[]>;
711
- listener: (callback: (products: Product[]) => any, options?: IQueryOptions) => string;
712
- batch: {
713
- create: (products: IProduct[]) => Promise<void>;
714
- set: (products: IProduct[]) => Promise<void>;
715
- };
716
- save: {
717
- allActive: () => Promise<void>;
718
- };
719
- generate: {
720
- indexes: () => Promise<IIndexedProduct[] | undefined>;
721
- };
722
- delete: (options?: IQueryOptions) => Promise<unknown>;
723
- removeAllPromo: (infoCallBack: Function) => Promise<boolean>;
724
- getMinFromDeclinations: (d: IDeclination) => import("../../Interfaces/Cart").ICartItemPrices;
725
- resetPriceListPrices: (infoCallBack: Function) => Promise<boolean>;
726
- };
727
- indexedProducts: {
728
- get: (options?: IQueryOptions, _lang?: string, _currency?: string) => Promise<IndexedProduct[]>;
729
- fetchVariations: ({ app, api, hpp, page, query, filters, indice, f, space, useProspr }: IQueryProps) => Promise<SearchResponse>;
730
- getOneIndexedDecli: (parentSlug: string, sku: string, customPriceList?: ICustomPriceItem[]) => Promise<IIndexedDeclination | undefined>;
731
- };
732
- indexedCategories: {
733
- save: (tree: any) => Promise<false | undefined>;
734
- };
735
- inventoryItems: {
736
- get: (options?: IQueryOptions) => Promise<IInventoryItem[]>;
737
- getAll: () => Promise<IInventoryItem[]>;
738
- snapshot: (callback: (allInventoryItems: IInventoryItem[]) => void) => string;
739
- getOne: (sku: string) => Promise<IInventoryItem | undefined>;
740
- set: (sku: string, data: Partial<IInventoryItem>) => Promise<boolean>;
741
- delete: (sku: string) => Promise<boolean>;
742
- setIsSavingInventory: (user_email: string | null) => Promise<void>;
743
- getIsSavingInventory: () => Promise<string | null>;
744
- getAllFromSameProduct: (product_slug: string) => Promise<false | Inventory[]>;
745
- };
746
- transferRequests: {
747
- get: () => Promise<TransferRequest[]>;
748
- snapshot: (callback: (allTransferRequests: TransferRequest[]) => void) => string;
749
- getOne: (transfert_request_id: string) => Promise<TransferRequest>;
750
- getTransferStatusOrder: () => {
751
- [key: number]: import("../../Interfaces/TransferRequest").TransferRequestStatusEnum[];
752
- };
753
- getOneByRef: (ref: number) => Promise<TransferRequest[] | undefined>;
754
- };
755
- cartItem: {
756
- get: (options?: IQueryOptions, _locale?: string, _currencies?: string[], _noLimit?: boolean) => Promise<IIndexedProduct[]>;
757
- getMin: (cartItem: ICartItem, ignoreTierPricing?: boolean) => import("../../Interfaces/Cart").ICartItemPrices;
758
- getAppliedPrice: (cartItem: ICartItem) => import("../../Interfaces/Cart").ICartItemPrices;
759
- };
760
- purchaseOrders: {
761
- get: (options?: IQueryOptions) => Promise<PurchaseOrder[]>;
762
- singleListener: (callback: (purchaseOrder: PurchaseOrder | null) => any, id: string) => Promise<string>;
763
- listener: (callback: (purchaseOrders: PurchaseOrder[]) => any, options?: IQueryOptions) => string;
764
- };
765
- discountRules: {
766
- get: (options?: IQueryOptions) => Promise<Discount[]>;
767
- listener: (callback: (discountRule: Discount[]) => any, options?: IQueryOptions) => string;
768
- delete: (discountIdsArray: string[]) => Promise<true | never[]>;
769
- };
770
- addresses: {
771
- batch: {
772
- create: (data: any) => Promise<void>;
773
- };
774
- };
775
- jobs: {
776
- get: (options?: IQueryOptions) => Promise<BGJob[] | undefined>;
777
- listener: (_callback: (job: BGJob[]) => any, _options?: IQueryOptions) => string;
778
- start: (jobToStart: IBGJob) => Promise<string | boolean>;
779
- };
780
- wishlists: {
781
- batch: {
782
- create: (data: any) => Promise<void>;
783
- };
784
- };
785
- alerts: {
786
- batch: {
787
- create: (data: any) => Promise<void>;
788
- };
789
- };
790
- customers: {
791
- get: (options?: IQueryOptions) => Promise<Customer[]>;
792
- listener: (callback: (customer: Customer[]) => any, _options?: IQueryOptions) => string;
793
- createWithId: (id: string, customer: ICustomer) => Promise<boolean>;
794
- deleteOne: (id: string) => Promise<boolean | undefined>;
795
- fetchIndexed: ({ app, api, hpp, page, query, filters, indice, f, space, useProspr }: IQueryProps) => Promise<SearchResponse>;
796
- getPromisesForCustomer: (customerID: string, onlyActive?: boolean) => Promise<PromiseToPurchase[]>;
797
- getApplicableBanksForCustomer: (customerID: string, promisesToCheck?: PromiseToPurchase[]) => Promise<IApplicablePromiseBank[]>;
798
- syncCustomerPromiseList: (associations: Record<string, IIndexedCustomerPromiseToPurchase['associated_promise_ids']>) => Promise<boolean>;
799
- getAllWithActivePromises: () => Promise<Customer[] | null>;
800
- getPABanksHistoryForCustomer: (customerID: string, filterOptions?: {
801
- promiseID?: string;
802
- bankTypeID?: string;
803
- updateType?: BankUpdateTypeEnum;
804
- unixDateRange?: {
805
- start: number;
806
- end: number;
807
- };
808
- }, searchOptions?: {
809
- hpp?: number;
810
- page?: number;
811
- query?: string;
812
- }) => Promise<IIndexedBankUsed[] | undefined>;
813
- getAvailablePABankAmounts: (customerID: string, filterToApply?: 'active-and-before' | 'active-and-after' | 'last-emptied-active-and-after') => Promise<{
814
- [bankID: string]: IRemainingBankAmount[];
815
- } | undefined>;
816
- batch: {
817
- create: (customers: ICustomer[]) => Promise<void>;
818
- };
819
- updateCustomerLastActivity: (customerId: string, user: string, date?: Date) => Promise<void>;
820
- credits: {
821
- modify: (customerId: string, creditSlug: string, amount: number, comment: string, user: string) => Promise<ICustomer['store_credits']>;
822
- get: (customerId: string, creditSlug: string) => Promise<number>;
823
- getHistory: (customerId: string, creditSlug: string) => Promise<IStoreCreditHistory[]>;
824
- validate: (customerId: string, creditSlug: string, amount: number) => Promise<boolean>;
825
- getAvailableCredits: () => IStoreCreditEntry[];
826
- };
827
- };
828
- storeCredits: {
829
- getStoreCreditToUse: () => IStoreCreditEntry | undefined;
830
- };
831
- bookings: {
832
- get: (options?: IQueryOptions) => Promise<Booking[]>;
833
- listener: (callback: (customer: Booking[]) => any, options?: IQueryOptions) => string;
834
- };
835
- classes: {
836
- listener: (callback: (classes: Class[]) => any) => string;
837
- get: (options?: IQueryOptions) => Promise<Class[]>;
838
- };
839
- suppliers: {
840
- listener: (callback: (suppliers: Supplier[]) => any) => string;
841
- get: (options?: IQueryOptions) => Promise<Supplier[]>;
842
- };
843
- invoices: {
844
- listener: (callback: (invoices: Invoice[]) => any) => string;
845
- get: (options?: IQueryOptions) => Promise<Invoice[]>;
846
- import: (fileImport: any) => Promise<any[]>;
847
- incrementRef: (cartData: ICart) => Promise<string | undefined>;
848
- shouldSendBillingEmailTo: (isDelivery?: boolean) => string[];
849
- batch: {
850
- create: (invoices: ICart[]) => Promise<void>;
851
- delete: (invoices: ICart[] | any[]) => Promise<void>;
852
- };
853
- refUtils: {
854
- incrementStoreOrWebRef: (currentContent: IOrderInvoiceNumerotation, objKey: string, storeOrWebTypeKey: string, currentInvoiceData: ISpace['invoice_settings']) => Promise<string>;
855
- incrementGeneralRef: (invoiceData: ISpace['invoice_settings']) => Promise<string>;
856
- };
857
- };
858
- orders: {
859
- get: (options?: IQueryOptions) => Promise<Order[]>;
860
- listener: (callback: (orders: Order[]) => any) => string;
861
- };
862
- carts: {
863
- get: (options?: IQueryOptions) => Promise<Cart[]>;
864
- listener: (callback: (carts: Cart[]) => any, query?: IQueryOptions) => string;
865
- delete: (ids: string[]) => Promise<void>;
866
- };
867
- allOrderTypes: {
868
- get: (id?: string) => Promise<any>;
869
- };
870
- accounting: {
871
- external_services: {
872
- get: () => Promise<ExternalService[]>;
873
- };
874
- };
875
- externalServices: {
876
- getPageTypesWithExternalFields: () => {
877
- serviceType: string;
878
- pages: spaceCollectionNames[];
879
- } | undefined;
880
- getExternalFieldsToShow: (objType: spaceCollectionNames) => {
881
- fieldName: string;
882
- fieldLabel: ILang;
883
- readOnly?: boolean;
884
- requiredStr?: ILang;
885
- helperTxt?: ILang;
886
- }[];
887
- getExternalServiceByName: (serviceName: string, returnInactiveService?: boolean) => IExternalServices | undefined;
888
- getExternalServicesByType: (type: ExternalServiceTypeEnum) => IExternalServices[];
889
- getExternalServicesBySlug: (slug: string) => IExternalServices | undefined;
890
- setExternalServiceValues: (slug: string, newValues: Partial<IExternalServices>) => Promise<boolean>;
891
- };
892
- taxes: {
893
- get: (taxCode: string, version?: string) => Promise<ITax>;
894
- getAll: () => Promise<ITax[]>;
895
- };
896
- consentForms: {
897
- getMostRecent: () => Promise<import("../../Interfaces/Consent").default | undefined>;
898
- };
899
- documents: {
900
- products: () => string;
901
- queue: () => string;
902
- getAll: (specificPath: string) => Promise<IBucketDocument[] | undefined>;
903
- save: (file: File, specificPath: string, imgixUrl?: string, imgixKey?: string) => Promise<void>;
904
- };
905
- preferences: {
906
- default: {
907
- locale: () => string;
908
- currency: () => string;
909
- };
910
- units: {
911
- weight: () => "kilograms" | "pounds";
912
- measurments: () => "centimeters" | "inches";
913
- };
914
- languages: () => ("fr" | "en")[];
915
- currencies: () => string[];
916
- pickup: {
917
- disabled: (value: boolean) => Promise<boolean>;
918
- };
919
- shipping: {
920
- fees: {
921
- update: (forProps: string, value: number) => Promise<boolean>;
922
- };
923
- disabled: (value: boolean) => Promise<boolean>;
924
- asProduct: {
925
- setAsProduct: (value: boolean) => Promise<boolean>;
926
- get: () => boolean;
927
- };
928
- boxes: {
929
- add: () => Promise<boolean>;
930
- deleteAt: (bIndex: number) => Promise<boolean>;
931
- updateAt: (bIndex: number, value: any, forProps: string) => Promise<boolean>;
932
- updateBoxData: (bIndex: number, value: IPredefinedBox) => Promise<boolean>;
933
- updateShippingPrefOptionAt: (bIndex: number, value: any, forProps: string) => Promise<boolean>;
934
- get: () => IPredefinedBox[];
935
- };
936
- products: {
937
- add: () => Promise<boolean>;
938
- deleteAt: (bIndex: number) => Promise<boolean>;
939
- updateAt: (bIndex: number, value: any, forProps: string) => Promise<boolean>;
940
- get: () => IPredefinedBox[];
941
- };
942
- units: {
943
- add: (newUnitValues: IDimensionUnit) => Promise<boolean>;
944
- deleteAt: (bIndex: number) => Promise<boolean>;
945
- updateAt: (uIndex: number, value: any, forProps: string) => Promise<boolean>;
946
- get: () => IDimensionUnit[];
947
- updateFullUnitAt: (uIndex: number, newValues: IDimensionUnit) => Promise<boolean>;
948
- };
949
- envelops: {
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
- restrict: {
956
- updateFree: (newValue: IShippingRangeRestrictions | boolean) => Promise<boolean>;
957
- updateFreeValues: (newValues: string[], listType: string) => Promise<boolean | undefined>;
958
- getFree: () => boolean | IShippingRangeRestrictions | undefined;
959
- };
960
- blocked_dates: {
961
- get: () => IBlockedDates[] | undefined;
962
- getOne: (cartType: string) => IBlockedDates | undefined;
963
- update: (newValues: IBlockedDates[]) => Promise<boolean>;
964
- };
965
- };
966
- stores: {
967
- get: () => IStore[];
968
- add: (store: IStore) => void;
969
- update: (store: IStore, index: number) => Promise<IStore[]>;
970
- delete: (index: number) => Promise<void>;
971
- };
972
- products: {
973
- get: () => import("../../Interfaces/Space").IProductPreferences;
974
- };
975
- cms: {
976
- setWebsiteMaintenance: (is_in_maintenance: boolean) => Promise<void>;
977
- setHideProPrices: (hideProPrices: boolean) => Promise<boolean | undefined>;
978
- setFixedPromoBanner: (fixedPromoBannerData: IFixedPromoBanner) => Promise<boolean>;
979
- };
980
- algolia: {
981
- app: () => any;
982
- key: () => any;
983
- admin: () => any;
984
- shouldSpreadDeclinationsAtIndexing: () => boolean;
985
- };
986
- prosprsearch: {
987
- app: () => any;
988
- shouldSpreadDeclinationsAtIndexing: () => boolean;
989
- shouldIndexUnpaidCarts: () => boolean;
990
- shouldIndexHeldCarts: () => boolean;
991
- };
992
- customers: {
993
- groups: () => import("../../Interfaces/Space").ICustomerGroup[] | undefined;
994
- };
995
- storage: {
996
- getServiceName: () => string;
997
- getServiceConfig: () => {
998
- readonly [key: string]: any;
999
- };
1000
- getServiceToUse: () => {
1001
- name: string;
1002
- config: {
1003
- readonly [key: string]: any;
1004
- };
1005
- };
1006
- };
1007
- };
1008
- options: {
1009
- get: () => ISpaceOptions;
1010
- save: (newOptions: ISpaceOptions) => Promise<boolean>;
1011
- checkIfOptionIsSet: (path: string) => any;
1012
- };
1013
- g2Calls: {
1014
- update: (optionsToUpdate: Partial<IG2Calls>) => Promise<boolean>;
1015
- };
1016
- services: (query: any, returnIfInactive?: boolean) => IExternalServices[];
1017
- inventory: {
1018
- ajust: (items: ICartItem[], cartState: 'paid' | 'shipped' | 'delivery' | 'delivered' | 'picked' | 'cancelled' | 'modified' | 'refunded' | 'updatedProcessingStore', cartType: CartTypeEnum, options?: {
1019
- currentStoreId?: string | undefined;
1020
- onlyWeb?: boolean;
1021
- fromStoreId?: string | undefined;
1022
- associatedTransfersToCart?: TransferRequest[];
1023
- previousItems?: ICartItem[];
1024
- inventoryItemsDataToUse?: IInventoryItem[];
1025
- shouldCheckReservedQte?: boolean;
1026
- }) => Promise<IInventoryItem[] | undefined>;
1027
- showMinInventoryOption: () => boolean;
1028
- };
1029
- tags: {
1030
- add: (declination: IDeclination, product: IProduct, category_slug: string, inventory: IInventoryItem, currentStoreId: string, maxQte: number, isOtherCategory?: boolean) => Promise<string | boolean | undefined>;
1031
- get: (options?: IQueryOptions) => Promise<Tag[] | undefined>;
1032
- delete: () => Promise<boolean[]>;
1033
- };
1034
- users: {
1035
- delete: (userId: string, credentials: any, token: string) => Promise<void>;
1036
- get: (uid: string) => Promise<IUser>;
1037
- getByExternalID: (externalID: string) => Promise<IUser | undefined>;
1038
- disable: (user?: Awaited<ReturnType<typeof User.FetchUser>>) => Promise<User>;
1039
- enable: (user?: Awaited<ReturnType<typeof User.FetchUser>>) => Promise<User>;
1040
- model: (user: Awaited<ReturnType<typeof User.FetchUser>>) => User;
1041
- reinitPassword: (user: Awaited<ReturnType<typeof User.FetchUser>>) => Promise<void>;
1042
- save: (user: Awaited<ReturnType<typeof User.FetchUser>>) => Promise<IUser>;
1043
- };
1044
- updates: {
1045
- getByID: (objectID: string) => Promise<IUpdate | undefined>;
1046
- getByType: (type: string) => Promise<IUpdate[] | undefined>;
1047
- };
1048
- bankTypes: {
1049
- get: (id?: string, returnInactive?: boolean) => IBankType[];
1050
- add: (name: ITranslation[], active: boolean, association_type: BankTypeAssociationEnum, rules: IBankRule[]) => Promise<boolean>;
1051
- update: (id: string, rules: IBankRule[], name?: ITranslation[], active?: boolean, association_type?: BankTypeAssociationEnum) => Promise<boolean>;
1052
- getRulesByType: (typeID: string, versionKey?: number) => {
1053
- version: number;
1054
- rules: IBankRule[];
1055
- } | undefined;
1056
- };
1057
- promisesToPurchase: {
1058
- get: (options?: IQueryOptions, onlyMostRecent?: boolean, keepArchived?: boolean) => Promise<PromiseToPurchase[] | undefined>;
1059
- getEmails: () => string[];
1060
- getContingency: () => number;
1061
- getPromiseSeasons: (stateToReturn?: 'ended' | 'closed' | 'open') => {
1062
- season_year: number;
1063
- date: Date | undefined;
1064
- by_user: string | undefined;
1065
- }[];
1066
- getEscompteItems: () => Promise<IndexedProduct[]>;
1067
- generateNewId: (customerId: string, useNextSeason: boolean, idToIncrement?: string) => Promise<string>;
1068
- getAssociatedCarts: (promiseID: string, options?: IQueryOptions) => Promise<Cart[]>;
1069
- getBanksUsedHistory: (filterOptions: {
1070
- customerID?: string;
1071
- promiseID?: string;
1072
- bankTypeID?: string;
1073
- updateType?: BankUpdateTypeEnum;
1074
- unixDateRange?: {
1075
- start: number;
1076
- end: number;
1077
- };
1078
- }, searchOptions?: {
1079
- hpp?: number;
1080
- page?: number;
1081
- query?: string;
1082
- }) => Promise<IIndexedBankUsed[] | undefined>;
1083
- getAvailableAmountForApplicableBanks: (applicableBanks: IApplicablePromiseBank[], applicableBanksHistory: IIndexedBankUsed[]) => {
1084
- [bankID: string]: number;
1085
- };
1086
- getAvailableBankAmountsForPromise: (promiseID: string, promiseObj?: PromiseToPurchase) => Promise<IRemainingBankAmount[] | undefined>;
1087
- getSpecificAvailableBankAmount: (promiseID: string, bankID: string, promiseObj?: PromiseToPurchase) => Promise<IRemainingBankAmount | undefined>;
1088
- closePromiseSeason: (yearToClose: number, userClosingID: string) => Promise<boolean>;
1089
- openPromiseSeason: (season: number, userOpeningId: string) => Promise<boolean>;
1090
- endPromiseSeason: (yearToEnd: number, userEndingId: string) => Promise<boolean>;
1091
- batch: {
1092
- deactivate: () => Promise<void>;
1093
- };
1094
- };
1095
- sliders: {
1096
- get: <T>(options?: IQueryOptions) => Promise<Slider<T>[] | undefined>;
1097
- };
1098
- firstOrders: {
1099
- get: (options?: IQueryOptions) => Promise<FirstOrderTracking[] | undefined>;
1100
- };
1101
- menus: {
1102
- getAll: (options?: IQueryOptions) => Promise<Menu[]>;
1103
- getActiveBySlug: (slug: MenuPositionEnum) => Promise<Menu | undefined>;
1104
- getAllActive: () => Promise<Menu[]>;
1105
- };
1106
- cashDrawers: {
1107
- create: (data: {
1108
- nickname: string;
1109
- drawerNumber?: number;
1110
- }) => Promise<ICashDrawer[]>;
1111
- edit: (id: string, data: {
1112
- nickname: string;
1113
- drawerNumber?: number;
1114
- }) => Promise<ICashDrawer[]>;
1115
- toggle: (id: string) => Promise<ICashDrawer[]>;
1116
- hasOpenShift: (drawerId: string) => Promise<boolean>;
1117
- getOpenShift: (drawerId: string) => Promise<CashDrawerShift | undefined>;
1118
- getInteractionHistory: (options?: {
1119
- drawerId?: string;
1120
- shiftId?: string;
1121
- action?: CashDrawerActionEnum;
1122
- userEmail?: string;
1123
- dates?: {
1124
- start: Date;
1125
- end?: Date;
1126
- };
1127
- }) => Promise<ICashDrawerInteraction[]>;
1128
- };
1129
- /**
1130
- * Get all space properties
1131
- */
1132
- data: () => ISpace;
1133
- /**
1134
- * Get the space name
1135
- */
1136
- getName: () => string;
1137
- /**
1138
- * Get the space ID
1139
- */
1140
- getId: () => string;
1141
- isMultiPromo: () => boolean;
1142
- private _getNotes;
1143
- private _addNote;
1144
- private _deleteNote;
1145
- notes: {
1146
- get: (parentId: string, type: NoteTypeEnum) => Promise<Note[]>;
1147
- add: (content: string, createdByName: string, parentId: string, type: NoteTypeEnum) => Promise<Note>;
1148
- delete: (noteId: string) => Promise<boolean>;
1149
- };
1150
- }
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
+ attributes: {
660
+ get: (options?: IQueryOptions) => Promise<Attribute[]>;
661
+ add: (attribute: IAttribute) => Promise<void>;
662
+ listener: (callback: (attributes: Attribute[]) => any) => string;
663
+ saveBatch: (attribs: IAttribute[]) => Promise<{
664
+ errorsOccured: number;
665
+ totalSaves: number;
666
+ }>;
667
+ };
668
+ blogArticles: {
669
+ get: () => Promise<BlogArticle[]>;
670
+ };
671
+ blogAuthors: {
672
+ get: () => Promise<BlogAuthor[]>;
673
+ };
674
+ blogCategories: {
675
+ get: () => Promise<BlogCategory[]>;
676
+ listener: (callback: (blogCategories: BlogCategory[]) => any) => string;
677
+ };
678
+ blogKeywords: {
679
+ get: () => Promise<BlogKeyword[]>;
680
+ };
681
+ catalogues: {
682
+ get: () => Promise<Catalogue[]>;
683
+ getOne: (id: string) => Promise<Catalogue | undefined>;
684
+ checkIfSlugUnique: (slug: string, id: string) => Promise<boolean>;
685
+ save: (catalogue: ICatalogue) => Promise<string | boolean>;
686
+ delete: (ids: string[]) => Promise<boolean>;
687
+ };
688
+ categories: {
689
+ get: (options?: IQueryOptions) => Promise<Category[]>;
690
+ getTree: (categories: Category[], parentID?: string) => ICategory[];
691
+ listener: (callback: (categories: Category[]) => any, options?: ICategoryQueryOptions) => string;
692
+ url: (categoryID: string) => Promise<string>;
693
+ resetInventories: (categoryId: string) => Promise<void>;
694
+ saveBatch: (partialCategories: Partial<ICategory>[]) => Promise<{
695
+ errorsOccured: number;
696
+ totalSaves: number;
697
+ }>;
698
+ };
699
+ brands: {
700
+ get: (options?: IQueryOptions) => Promise<Brand[]>;
701
+ listener: (callback: (brands: Brand[]) => any, _options?: IBrandQueryOptions) => string;
702
+ saveBatch: (brands: IBrand[]) => Promise<{
703
+ errorsOccured: number;
704
+ totalSaves: number;
705
+ }>;
706
+ };
707
+ products: {
708
+ get: (options?: IQueryOptions) => Promise<Product[]>;
709
+ getPage: (from: string | undefined, limit: number) => Promise<Product[]>;
710
+ getAll: () => Promise<Product[]>;
711
+ listener: (callback: (products: Product[]) => any, options?: IQueryOptions) => string;
712
+ batch: {
713
+ create: (products: IProduct[]) => Promise<void>;
714
+ set: (products: IProduct[]) => Promise<void>;
715
+ };
716
+ save: {
717
+ allActive: () => Promise<void>;
718
+ };
719
+ generate: {
720
+ indexes: () => Promise<IIndexedProduct[] | undefined>;
721
+ };
722
+ delete: (options?: IQueryOptions) => Promise<unknown>;
723
+ removeAllPromo: (infoCallBack: Function) => Promise<boolean>;
724
+ getMinFromDeclinations: (d: IDeclination) => import("../../Interfaces/Cart").ICartItemPrices;
725
+ resetPriceListPrices: (infoCallBack: Function) => Promise<boolean>;
726
+ };
727
+ indexedProducts: {
728
+ get: (options?: IQueryOptions, _lang?: string, _currency?: string) => Promise<IndexedProduct[]>;
729
+ fetchVariations: ({ app, api, hpp, page, query, filters, indice, f, space, useProspr }: IQueryProps) => Promise<SearchResponse>;
730
+ getOneIndexedDecli: (parentSlug: string, sku: string, customPriceList?: ICustomPriceItem[]) => Promise<IIndexedDeclination | undefined>;
731
+ };
732
+ indexedCategories: {
733
+ save: (tree: any) => Promise<false | undefined>;
734
+ };
735
+ inventoryItems: {
736
+ get: (options?: IQueryOptions) => Promise<IInventoryItem[]>;
737
+ getAll: () => Promise<IInventoryItem[]>;
738
+ snapshot: (callback: (allInventoryItems: IInventoryItem[]) => void) => string;
739
+ getOne: (sku: string) => Promise<IInventoryItem | undefined>;
740
+ set: (sku: string, data: Partial<IInventoryItem>) => Promise<boolean>;
741
+ delete: (sku: string) => Promise<boolean>;
742
+ setIsSavingInventory: (user_email: string | null) => Promise<void>;
743
+ getIsSavingInventory: () => Promise<string | null>;
744
+ getAllFromSameProduct: (product_slug: string) => Promise<false | Inventory[]>;
745
+ };
746
+ transferRequests: {
747
+ get: () => Promise<TransferRequest[]>;
748
+ snapshot: (callback: (allTransferRequests: TransferRequest[]) => void) => string;
749
+ getOne: (transfert_request_id: string) => Promise<TransferRequest>;
750
+ getTransferStatusOrder: () => {
751
+ [key: number]: import("../../Interfaces/TransferRequest").TransferRequestStatusEnum[];
752
+ };
753
+ getOneByRef: (ref: number) => Promise<TransferRequest[] | undefined>;
754
+ };
755
+ cartItem: {
756
+ get: (options?: IQueryOptions, _locale?: string, _currencies?: string[], _noLimit?: boolean) => Promise<IIndexedProduct[]>;
757
+ getMin: (cartItem: ICartItem, ignoreTierPricing?: boolean) => import("../../Interfaces/Cart").ICartItemPrices;
758
+ getAppliedPrice: (cartItem: ICartItem) => import("../../Interfaces/Cart").ICartItemPrices;
759
+ };
760
+ purchaseOrders: {
761
+ get: (options?: IQueryOptions) => Promise<PurchaseOrder[]>;
762
+ singleListener: (callback: (purchaseOrder: PurchaseOrder | null) => any, id: string) => Promise<string>;
763
+ listener: (callback: (purchaseOrders: PurchaseOrder[]) => any, options?: IQueryOptions) => string;
764
+ };
765
+ discountRules: {
766
+ get: (options?: IQueryOptions) => Promise<Discount[]>;
767
+ listener: (callback: (discountRule: Discount[]) => any, options?: IQueryOptions) => string;
768
+ delete: (discountIdsArray: string[]) => Promise<true | never[]>;
769
+ };
770
+ addresses: {
771
+ batch: {
772
+ create: (data: any) => Promise<void>;
773
+ };
774
+ };
775
+ jobs: {
776
+ get: (options?: IQueryOptions) => Promise<BGJob[] | undefined>;
777
+ listener: (_callback: (job: BGJob[]) => any, _options?: IQueryOptions) => string;
778
+ start: (jobToStart: IBGJob) => Promise<string | boolean>;
779
+ };
780
+ wishlists: {
781
+ batch: {
782
+ create: (data: any) => Promise<void>;
783
+ };
784
+ };
785
+ alerts: {
786
+ batch: {
787
+ create: (data: any) => Promise<void>;
788
+ };
789
+ };
790
+ customers: {
791
+ get: (options?: IQueryOptions) => Promise<Customer[]>;
792
+ listener: (callback: (customer: Customer[]) => any, _options?: IQueryOptions) => string;
793
+ createWithId: (id: string, customer: ICustomer) => Promise<boolean>;
794
+ deleteOne: (id: string) => Promise<boolean | undefined>;
795
+ fetchIndexed: ({ app, api, hpp, page, query, filters, indice, f, space, useProspr }: IQueryProps) => Promise<SearchResponse>;
796
+ getPromisesForCustomer: (customerID: string, onlyActive?: boolean) => Promise<PromiseToPurchase[]>;
797
+ getApplicableBanksForCustomer: (customerID: string, promisesToCheck?: PromiseToPurchase[]) => Promise<IApplicablePromiseBank[]>;
798
+ syncCustomerPromiseList: (associations: Record<string, IIndexedCustomerPromiseToPurchase['associated_promise_ids']>) => Promise<boolean>;
799
+ getAllWithActivePromises: () => Promise<Customer[] | null>;
800
+ getPABanksHistoryForCustomer: (customerID: string, filterOptions?: {
801
+ promiseID?: string;
802
+ bankTypeID?: string;
803
+ updateType?: BankUpdateTypeEnum;
804
+ unixDateRange?: {
805
+ start: number;
806
+ end: number;
807
+ };
808
+ }, searchOptions?: {
809
+ hpp?: number;
810
+ page?: number;
811
+ query?: string;
812
+ }) => Promise<IIndexedBankUsed[] | undefined>;
813
+ getAvailablePABankAmounts: (customerID: string, filterToApply?: 'active-and-before' | 'active-and-after' | 'last-emptied-active-and-after') => Promise<{
814
+ [bankID: string]: IRemainingBankAmount[];
815
+ } | undefined>;
816
+ batch: {
817
+ create: (customers: ICustomer[]) => Promise<void>;
818
+ };
819
+ updateCustomerLastActivity: (customerId: string, user: string, date?: Date) => Promise<void>;
820
+ credits: {
821
+ modify: (customerId: string, creditSlug: string, amount: number, comment: string, user: string) => Promise<ICustomer['store_credits']>;
822
+ get: (customerId: string, creditSlug: string) => Promise<number>;
823
+ getHistory: (customerId: string, creditSlug: string) => Promise<IStoreCreditHistory[]>;
824
+ validate: (customerId: string, creditSlug: string, amount: number) => Promise<boolean>;
825
+ getAvailableCredits: () => IStoreCreditEntry[];
826
+ };
827
+ };
828
+ storeCredits: {
829
+ getStoreCreditToUse: () => IStoreCreditEntry | undefined;
830
+ };
831
+ bookings: {
832
+ get: (options?: IQueryOptions) => Promise<Booking[]>;
833
+ listener: (callback: (customer: Booking[]) => any, options?: IQueryOptions) => string;
834
+ };
835
+ classes: {
836
+ listener: (callback: (classes: Class[]) => any) => string;
837
+ get: (options?: IQueryOptions) => Promise<Class[]>;
838
+ };
839
+ suppliers: {
840
+ listener: (callback: (suppliers: Supplier[]) => any) => string;
841
+ get: (options?: IQueryOptions) => Promise<Supplier[]>;
842
+ };
843
+ invoices: {
844
+ listener: (callback: (invoices: Invoice[]) => any) => string;
845
+ get: (options?: IQueryOptions) => Promise<Invoice[]>;
846
+ import: (fileImport: any) => Promise<any[]>;
847
+ incrementRef: (cartData: ICart) => Promise<string | undefined>;
848
+ shouldSendBillingEmailTo: (isDelivery?: boolean) => string[];
849
+ batch: {
850
+ create: (invoices: ICart[]) => Promise<void>;
851
+ delete: (invoices: ICart[] | any[]) => Promise<void>;
852
+ };
853
+ refUtils: {
854
+ incrementStoreOrWebRef: (currentContent: IOrderInvoiceNumerotation, objKey: string, storeOrWebTypeKey: string, currentInvoiceData: ISpace['invoice_settings']) => Promise<string>;
855
+ incrementGeneralRef: (invoiceData: ISpace['invoice_settings']) => Promise<string>;
856
+ };
857
+ };
858
+ orders: {
859
+ get: (options?: IQueryOptions) => Promise<Order[]>;
860
+ listener: (callback: (orders: Order[]) => any) => string;
861
+ };
862
+ carts: {
863
+ get: (options?: IQueryOptions) => Promise<Cart[]>;
864
+ listener: (callback: (carts: Cart[]) => any, query?: IQueryOptions) => string;
865
+ delete: (ids: string[]) => Promise<void>;
866
+ };
867
+ allOrderTypes: {
868
+ get: (id?: string) => Promise<any>;
869
+ };
870
+ accounting: {
871
+ external_services: {
872
+ get: () => Promise<ExternalService[]>;
873
+ };
874
+ };
875
+ externalServices: {
876
+ getPageTypesWithExternalFields: () => {
877
+ serviceType: string;
878
+ pages: spaceCollectionNames[];
879
+ } | undefined;
880
+ getExternalFieldsToShow: (objType: spaceCollectionNames) => {
881
+ fieldName: string;
882
+ fieldLabel: ILang;
883
+ readOnly?: boolean;
884
+ requiredStr?: ILang;
885
+ helperTxt?: ILang;
886
+ }[];
887
+ getExternalServiceByName: (serviceName: string, returnInactiveService?: boolean) => IExternalServices | undefined;
888
+ getExternalServicesByType: (type: ExternalServiceTypeEnum) => IExternalServices[];
889
+ getExternalServicesBySlug: (slug: string) => IExternalServices | undefined;
890
+ setExternalServiceValues: (slug: string, newValues: Partial<IExternalServices>) => Promise<boolean>;
891
+ };
892
+ taxes: {
893
+ get: (taxCode: string, version?: string) => Promise<ITax>;
894
+ getAll: () => Promise<ITax[]>;
895
+ };
896
+ consentForms: {
897
+ getMostRecent: () => Promise<import("../../Interfaces/Consent").default | undefined>;
898
+ };
899
+ documents: {
900
+ products: () => string;
901
+ queue: () => string;
902
+ getAll: (specificPath: string) => Promise<IBucketDocument[] | undefined>;
903
+ save: (file: File, specificPath: string, imgixUrl?: string, imgixKey?: string) => Promise<void>;
904
+ };
905
+ preferences: {
906
+ default: {
907
+ locale: () => string;
908
+ currency: () => string;
909
+ };
910
+ units: {
911
+ weight: () => "kilograms" | "pounds";
912
+ measurments: () => "centimeters" | "inches";
913
+ };
914
+ languages: () => ("fr" | "en")[];
915
+ currencies: () => string[];
916
+ pickup: {
917
+ disabled: (value: boolean) => Promise<boolean>;
918
+ };
919
+ shipping: {
920
+ fees: {
921
+ update: (forProps: string, value: number) => Promise<boolean>;
922
+ };
923
+ disabled: (value: boolean) => Promise<boolean>;
924
+ asProduct: {
925
+ setAsProduct: (value: boolean) => Promise<boolean>;
926
+ get: () => boolean;
927
+ };
928
+ boxes: {
929
+ add: () => Promise<boolean>;
930
+ deleteAt: (bIndex: number) => Promise<boolean>;
931
+ updateAt: (bIndex: number, value: any, forProps: string) => Promise<boolean>;
932
+ updateBoxData: (bIndex: number, value: IPredefinedBox) => Promise<boolean>;
933
+ updateShippingPrefOptionAt: (bIndex: number, value: any, forProps: string) => Promise<boolean>;
934
+ get: () => IPredefinedBox[];
935
+ };
936
+ products: {
937
+ add: () => Promise<boolean>;
938
+ deleteAt: (bIndex: number) => Promise<boolean>;
939
+ updateAt: (bIndex: number, value: any, forProps: string) => Promise<boolean>;
940
+ get: () => IPredefinedBox[];
941
+ };
942
+ units: {
943
+ add: (newUnitValues: IDimensionUnit) => Promise<boolean>;
944
+ deleteAt: (bIndex: number) => Promise<boolean>;
945
+ updateAt: (uIndex: number, value: any, forProps: string) => Promise<boolean>;
946
+ get: () => IDimensionUnit[];
947
+ updateFullUnitAt: (uIndex: number, newValues: IDimensionUnit) => Promise<boolean>;
948
+ };
949
+ envelops: {
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
+ restrict: {
956
+ updateFree: (newValue: IShippingRangeRestrictions | boolean) => Promise<boolean>;
957
+ updateFreeValues: (newValues: string[], listType: string) => Promise<boolean | undefined>;
958
+ getFree: () => boolean | IShippingRangeRestrictions | undefined;
959
+ };
960
+ blocked_dates: {
961
+ get: () => IBlockedDates[] | undefined;
962
+ getOne: (cartType: string) => IBlockedDates | undefined;
963
+ update: (newValues: IBlockedDates[]) => Promise<boolean>;
964
+ };
965
+ };
966
+ stores: {
967
+ get: () => IStore[];
968
+ add: (store: IStore) => void;
969
+ update: (store: IStore, index: number) => Promise<IStore[]>;
970
+ delete: (index: number) => Promise<void>;
971
+ };
972
+ products: {
973
+ get: () => import("../../Interfaces/Space").IProductPreferences;
974
+ };
975
+ cms: {
976
+ setWebsiteMaintenance: (is_in_maintenance: boolean) => Promise<void>;
977
+ setHideProPrices: (hideProPrices: boolean) => Promise<boolean | undefined>;
978
+ setFixedPromoBanner: (fixedPromoBannerData: IFixedPromoBanner) => Promise<boolean>;
979
+ };
980
+ algolia: {
981
+ app: () => any;
982
+ key: () => any;
983
+ admin: () => any;
984
+ shouldSpreadDeclinationsAtIndexing: () => boolean;
985
+ };
986
+ prosprsearch: {
987
+ app: () => any;
988
+ shouldSpreadDeclinationsAtIndexing: () => boolean;
989
+ shouldIndexUnpaidCarts: () => boolean;
990
+ shouldIndexHeldCarts: () => boolean;
991
+ };
992
+ customers: {
993
+ groups: () => import("../../Interfaces/Space").ICustomerGroup[] | undefined;
994
+ };
995
+ storage: {
996
+ getServiceName: () => string;
997
+ getServiceConfig: () => {
998
+ readonly [key: string]: any;
999
+ };
1000
+ getServiceToUse: () => {
1001
+ name: string;
1002
+ config: {
1003
+ readonly [key: string]: any;
1004
+ };
1005
+ };
1006
+ };
1007
+ };
1008
+ options: {
1009
+ get: () => ISpaceOptions;
1010
+ save: (newOptions: ISpaceOptions) => Promise<boolean>;
1011
+ checkIfOptionIsSet: (path: string) => any;
1012
+ };
1013
+ g2Calls: {
1014
+ update: (optionsToUpdate: Partial<IG2Calls>) => Promise<boolean>;
1015
+ };
1016
+ services: (query: any, returnIfInactive?: boolean) => IExternalServices[];
1017
+ inventory: {
1018
+ ajust: (items: ICartItem[], cartState: 'paid' | 'shipped' | 'delivery' | 'delivered' | 'picked' | 'cancelled' | 'modified' | 'refunded' | 'updatedProcessingStore', cartType: CartTypeEnum, options?: {
1019
+ currentStoreId?: string | undefined;
1020
+ onlyWeb?: boolean;
1021
+ fromStoreId?: string | undefined;
1022
+ associatedTransfersToCart?: TransferRequest[];
1023
+ previousItems?: ICartItem[];
1024
+ inventoryItemsDataToUse?: IInventoryItem[];
1025
+ shouldCheckReservedQte?: boolean;
1026
+ }) => Promise<IInventoryItem[] | undefined>;
1027
+ showMinInventoryOption: () => boolean;
1028
+ };
1029
+ tags: {
1030
+ add: (declination: IDeclination, product: IProduct, category_slug: string, inventory: IInventoryItem, currentStoreId: string, maxQte: number, isOtherCategory?: boolean) => Promise<string | boolean | undefined>;
1031
+ get: (options?: IQueryOptions) => Promise<Tag[] | undefined>;
1032
+ delete: () => Promise<boolean[]>;
1033
+ };
1034
+ users: {
1035
+ delete: (userId: string, credentials: any, token: string) => Promise<void>;
1036
+ get: (uid: string) => Promise<IUser>;
1037
+ getByExternalID: (externalID: string) => Promise<IUser | undefined>;
1038
+ disable: (user?: Awaited<ReturnType<typeof User.FetchUser>>) => Promise<User>;
1039
+ enable: (user?: Awaited<ReturnType<typeof User.FetchUser>>) => Promise<User>;
1040
+ model: (user: Awaited<ReturnType<typeof User.FetchUser>>) => User;
1041
+ reinitPassword: (user: Awaited<ReturnType<typeof User.FetchUser>>) => Promise<void>;
1042
+ save: (user: Awaited<ReturnType<typeof User.FetchUser>>) => Promise<IUser>;
1043
+ };
1044
+ updates: {
1045
+ getByID: (objectID: string) => Promise<IUpdate | undefined>;
1046
+ getByType: (type: string) => Promise<IUpdate[] | undefined>;
1047
+ };
1048
+ bankTypes: {
1049
+ get: (id?: string, returnInactive?: boolean) => IBankType[];
1050
+ add: (name: ITranslation[], active: boolean, association_type: BankTypeAssociationEnum, rules: IBankRule[]) => Promise<boolean>;
1051
+ update: (id: string, rules: IBankRule[], name?: ITranslation[], active?: boolean, association_type?: BankTypeAssociationEnum) => Promise<boolean>;
1052
+ getRulesByType: (typeID: string, versionKey?: number) => {
1053
+ version: number;
1054
+ rules: IBankRule[];
1055
+ } | undefined;
1056
+ };
1057
+ promisesToPurchase: {
1058
+ get: (options?: IQueryOptions, onlyMostRecent?: boolean, keepArchived?: boolean) => Promise<PromiseToPurchase[] | undefined>;
1059
+ getEmails: () => string[];
1060
+ getContingency: () => number;
1061
+ getPromiseSeasons: (stateToReturn?: 'ended' | 'closed' | 'open') => {
1062
+ season_year: number;
1063
+ date: Date | undefined;
1064
+ by_user: string | undefined;
1065
+ }[];
1066
+ getEscompteItems: () => Promise<IndexedProduct[]>;
1067
+ generateNewId: (customerId: string, useNextSeason: boolean, idToIncrement?: string) => Promise<string>;
1068
+ getAssociatedCarts: (promiseID: string, options?: IQueryOptions) => Promise<Cart[]>;
1069
+ getBanksUsedHistory: (filterOptions: {
1070
+ customerID?: string;
1071
+ promiseID?: string;
1072
+ bankTypeID?: string;
1073
+ updateType?: BankUpdateTypeEnum;
1074
+ unixDateRange?: {
1075
+ start: number;
1076
+ end: number;
1077
+ };
1078
+ }, searchOptions?: {
1079
+ hpp?: number;
1080
+ page?: number;
1081
+ query?: string;
1082
+ }) => Promise<IIndexedBankUsed[] | undefined>;
1083
+ getAvailableAmountForApplicableBanks: (applicableBanks: IApplicablePromiseBank[], applicableBanksHistory: IIndexedBankUsed[]) => {
1084
+ [bankID: string]: number;
1085
+ };
1086
+ getAvailableBankAmountsForPromise: (promiseID: string, promiseObj?: PromiseToPurchase) => Promise<IRemainingBankAmount[] | undefined>;
1087
+ getSpecificAvailableBankAmount: (promiseID: string, bankID: string, promiseObj?: PromiseToPurchase) => Promise<IRemainingBankAmount | undefined>;
1088
+ closePromiseSeason: (yearToClose: number, userClosingID: string) => Promise<boolean>;
1089
+ openPromiseSeason: (season: number, userOpeningId: string) => Promise<boolean>;
1090
+ endPromiseSeason: (yearToEnd: number, userEndingId: string) => Promise<boolean>;
1091
+ batch: {
1092
+ deactivate: () => Promise<void>;
1093
+ };
1094
+ };
1095
+ sliders: {
1096
+ get: <T>(options?: IQueryOptions) => Promise<Slider<T>[] | undefined>;
1097
+ };
1098
+ firstOrders: {
1099
+ get: (options?: IQueryOptions) => Promise<FirstOrderTracking[] | undefined>;
1100
+ };
1101
+ menus: {
1102
+ getAll: (options?: IQueryOptions) => Promise<Menu[]>;
1103
+ getActiveBySlug: (slug: MenuPositionEnum) => Promise<Menu | undefined>;
1104
+ getAllActive: () => Promise<Menu[]>;
1105
+ };
1106
+ cashDrawers: {
1107
+ create: (data: {
1108
+ nickname: string;
1109
+ drawerNumber?: number;
1110
+ }) => Promise<ICashDrawer[]>;
1111
+ edit: (id: string, data: {
1112
+ nickname: string;
1113
+ drawerNumber?: number;
1114
+ }) => Promise<ICashDrawer[]>;
1115
+ toggle: (id: string) => Promise<ICashDrawer[]>;
1116
+ hasOpenShift: (drawerId: string) => Promise<boolean>;
1117
+ getOpenShift: (drawerId: string) => Promise<CashDrawerShift | undefined>;
1118
+ getInteractionHistory: (options?: {
1119
+ drawerId?: string;
1120
+ shiftId?: string;
1121
+ action?: CashDrawerActionEnum;
1122
+ userEmail?: string;
1123
+ dates?: {
1124
+ start: Date;
1125
+ end?: Date;
1126
+ };
1127
+ }) => Promise<ICashDrawerInteraction[]>;
1128
+ };
1129
+ /**
1130
+ * Get all space properties
1131
+ */
1132
+ data: () => ISpace;
1133
+ /**
1134
+ * Get the space name
1135
+ */
1136
+ getName: () => string;
1137
+ /**
1138
+ * Get the space ID
1139
+ */
1140
+ getId: () => string;
1141
+ isMultiPromo: () => boolean;
1142
+ private _getNotes;
1143
+ private _addNote;
1144
+ private _deleteNote;
1145
+ notes: {
1146
+ get: (parentId: string, type: NoteTypeEnum) => Promise<Note[]>;
1147
+ add: (content: string, createdByName: string, parentId: string, type: NoteTypeEnum) => Promise<Note>;
1148
+ delete: (noteId: string) => Promise<boolean>;
1149
+ };
1150
+ }