addio-admin-sdk 1.7.144 → 1.7.146

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 (574) hide show
  1. package/.babelrc +17 -17
  2. package/.env +15 -0
  3. package/.env.dev +14 -14
  4. package/.github/workflows/run_unit_test.yaml +48 -48
  5. package/addio-sdk-doc.md +1473 -1473
  6. package/changelog.md +564 -564
  7. package/dist/Interfaces/Address/index.d.ts +21 -21
  8. package/dist/Interfaces/Address/index.js +16 -16
  9. package/dist/Interfaces/Algolia/index.d.ts +177 -177
  10. package/dist/Interfaces/Algolia/index.js +2 -2
  11. package/dist/Interfaces/Attachement/index.d.ts +5 -5
  12. package/dist/Interfaces/Attachement/index.js +2 -2
  13. package/dist/Interfaces/Attribute/index.d.ts +53 -53
  14. package/dist/Interfaces/Attribute/index.js +10 -10
  15. package/dist/Interfaces/BGJob/index.d.ts +56 -56
  16. package/dist/Interfaces/BGJob/index.js +25 -25
  17. package/dist/Interfaces/BaseClass/index.d.ts +8 -8
  18. package/dist/Interfaces/BaseClass/index.js +2 -2
  19. package/dist/Interfaces/Blog/IBlogArticle.d.ts +18 -18
  20. package/dist/Interfaces/Blog/IBlogArticle.js +2 -2
  21. package/dist/Interfaces/Blog/IBlogAuthor.d.ts +7 -7
  22. package/dist/Interfaces/Blog/IBlogAuthor.js +2 -2
  23. package/dist/Interfaces/Blog/IBlogCategory.d.ts +9 -9
  24. package/dist/Interfaces/Blog/IBlogCategory.js +2 -2
  25. package/dist/Interfaces/Blog/IBlogComment.d.ts +13 -13
  26. package/dist/Interfaces/Blog/IBlogComment.js +2 -2
  27. package/dist/Interfaces/Blog/IBlogKeywords.d.ts +9 -9
  28. package/dist/Interfaces/Blog/IBlogKeywords.js +2 -2
  29. package/dist/Interfaces/Booking/index.d.ts +74 -74
  30. package/dist/Interfaces/Booking/index.js +17 -17
  31. package/dist/Interfaces/Brand/index.d.ts +15 -15
  32. package/dist/Interfaces/Brand/index.js +2 -2
  33. package/dist/Interfaces/CMS/index.d.ts +28 -28
  34. package/dist/Interfaces/CMS/index.js +5 -5
  35. package/dist/Interfaces/Cart/IElavonPayload.d.ts +93 -93
  36. package/dist/Interfaces/Cart/IElavonPayload.js +17 -17
  37. package/dist/Interfaces/Cart/IPandaPayload.d.ts +64 -64
  38. package/dist/Interfaces/Cart/IPandaPayload.js +18 -18
  39. package/dist/Interfaces/Cart/IPaymentCard.d.ts +22 -22
  40. package/dist/Interfaces/Cart/IPaymentCard.js +44 -44
  41. package/dist/Interfaces/Cart/IPaypalPayload.d.ts +9 -9
  42. package/dist/Interfaces/Cart/IPaypalPayload.js +2 -2
  43. package/dist/Interfaces/Cart/IPaysafePayload.d.ts +72 -72
  44. package/dist/Interfaces/Cart/IPaysafePayload.js +2 -2
  45. package/dist/Interfaces/Cart/IStripePayload.d.ts +66 -66
  46. package/dist/Interfaces/Cart/IStripePayload.js +2 -2
  47. package/dist/Interfaces/Cart/index.d.ts +444 -444
  48. package/dist/Interfaces/Cart/index.js +197 -197
  49. package/dist/Interfaces/CartReservedQuantities/index.d.ts +10 -10
  50. package/dist/Interfaces/CartReservedQuantities/index.js +2 -2
  51. package/dist/Interfaces/CashDrawers/index.d.ts +37 -37
  52. package/dist/Interfaces/CashDrawers/index.js +19 -19
  53. package/dist/Interfaces/Catalogue/index.d.ts +68 -68
  54. package/dist/Interfaces/Catalogue/index.js +37 -37
  55. package/dist/Interfaces/Category/index.d.ts +33 -33
  56. package/dist/Interfaces/Category/index.js +2 -2
  57. package/dist/Interfaces/Chart/index.d.ts +11 -11
  58. package/dist/Interfaces/Chart/index.js +2 -2
  59. package/dist/Interfaces/Class/index.d.ts +8 -8
  60. package/dist/Interfaces/Class/index.js +2 -2
  61. package/dist/Interfaces/Consent/index.d.ts +6 -6
  62. package/dist/Interfaces/Consent/index.js +2 -2
  63. package/dist/Interfaces/Context/IContextProps.d.ts +4 -4
  64. package/dist/Interfaces/Context/IContextProps.js +2 -2
  65. package/dist/Interfaces/Context/IContextState.d.ts +15 -15
  66. package/dist/Interfaces/Context/IContextState.js +2 -2
  67. package/dist/Interfaces/Customer/ICustomerBadge.d.ts +2 -2
  68. package/dist/Interfaces/Customer/ICustomerBadge.js +2 -2
  69. package/dist/Interfaces/Customer/ICustomerRating.d.ts +10 -10
  70. package/dist/Interfaces/Customer/ICustomerRating.js +2 -2
  71. package/dist/Interfaces/Customer/IStoreCredit.d.ts +13 -13
  72. package/dist/Interfaces/Customer/IStoreCredit.js +2 -2
  73. package/dist/Interfaces/Customer/index.d.ts +104 -104
  74. package/dist/Interfaces/Customer/index.js +148 -148
  75. package/dist/Interfaces/Declination/index.d.ts +117 -117
  76. package/dist/Interfaces/Declination/index.js +66 -66
  77. package/dist/Interfaces/Document/index.d.ts +8 -8
  78. package/dist/Interfaces/Document/index.js +2 -2
  79. package/dist/Interfaces/Elastic/index.d.ts +89 -89
  80. package/dist/Interfaces/Elastic/index.js +2 -2
  81. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.d.ts +11 -11
  82. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.js +2 -2
  83. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.d.ts +15 -15
  84. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.js +2 -2
  85. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.d.ts +12 -12
  86. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.js +2 -2
  87. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.d.ts +36 -36
  88. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.js +2 -2
  89. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.d.ts +12 -12
  90. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.js +2 -2
  91. package/dist/Interfaces/Email/CustomGR/ITransportEmail.d.ts +12 -12
  92. package/dist/Interfaces/Email/CustomGR/ITransportEmail.js +2 -2
  93. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.d.ts +12 -12
  94. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.js +2 -2
  95. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.d.ts +16 -16
  96. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.js +2 -2
  97. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.d.ts +15 -15
  98. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.js +2 -2
  99. package/dist/Interfaces/Email/IAbandonnedCartEmail.d.ts +29 -29
  100. package/dist/Interfaces/Email/IAbandonnedCartEmail.js +2 -2
  101. package/dist/Interfaces/Email/IAccountConfirmationEmail.d.ts +22 -22
  102. package/dist/Interfaces/Email/IAccountConfirmationEmail.js +2 -2
  103. package/dist/Interfaces/Email/IApplicationEmail.d.ts +19 -19
  104. package/dist/Interfaces/Email/IApplicationEmail.js +2 -2
  105. package/dist/Interfaces/Email/IBackInStockEmail.d.ts +21 -21
  106. package/dist/Interfaces/Email/IBackInStockEmail.js +2 -2
  107. package/dist/Interfaces/Email/IContactEmail.d.ts +20 -20
  108. package/dist/Interfaces/Email/IContactEmail.js +2 -2
  109. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.d.ts +15 -15
  110. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.js +2 -2
  111. package/dist/Interfaces/Email/ICustomerBookingEmail.d.ts +14 -14
  112. package/dist/Interfaces/Email/ICustomerBookingEmail.js +2 -2
  113. package/dist/Interfaces/Email/IEmail.d.ts +20 -20
  114. package/dist/Interfaces/Email/IEmail.js +60 -60
  115. package/dist/Interfaces/Email/IOrderConfirmationEmail.d.ts +47 -47
  116. package/dist/Interfaces/Email/IOrderConfirmationEmail.js +2 -2
  117. package/dist/Interfaces/Email/IPasswordResetEmail.d.ts +17 -17
  118. package/dist/Interfaces/Email/IPasswordResetEmail.js +2 -2
  119. package/dist/Interfaces/Email/IPhotoShootEmail.d.ts +14 -14
  120. package/dist/Interfaces/Email/IPhotoShootEmail.js +2 -2
  121. package/dist/Interfaces/Email/IPickupConfirmation.d.ts +23 -23
  122. package/dist/Interfaces/Email/IPickupConfirmation.js +2 -2
  123. package/dist/Interfaces/Email/IShippingConfirmation.d.ts +23 -23
  124. package/dist/Interfaces/Email/IShippingConfirmation.js +2 -2
  125. package/dist/Interfaces/Email/IWelcomeEmail.d.ts +19 -19
  126. package/dist/Interfaces/Email/IWelcomeEmail.js +2 -2
  127. package/dist/Interfaces/ExportSchema/index.d.ts +7 -7
  128. package/dist/Interfaces/ExportSchema/index.js +2 -2
  129. package/dist/Interfaces/ExternalService/BaseExternalService.d.ts +12 -12
  130. package/dist/Interfaces/ExternalService/BaseExternalService.js +2 -2
  131. package/dist/Interfaces/ExternalService/ExternalProductsService.d.ts +4 -4
  132. package/dist/Interfaces/ExternalService/ExternalProductsService.js +2 -2
  133. package/dist/Interfaces/ExternalService/index.d.ts +9 -9
  134. package/dist/Interfaces/ExternalService/index.js +2 -2
  135. package/dist/Interfaces/FirstOrderTracking/index.d.ts +5 -5
  136. package/dist/Interfaces/FirstOrderTracking/index.js +2 -2
  137. package/dist/Interfaces/G2/index.d.ts +556 -556
  138. package/dist/Interfaces/G2/index.js +38 -38
  139. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.d.ts +20 -20
  140. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.js +2 -2
  141. package/dist/Interfaces/Indexed/Product/index.d.ts +105 -105
  142. package/dist/Interfaces/Indexed/Product/index.js +253 -253
  143. package/dist/Interfaces/Inventory/index.d.ts +19 -19
  144. package/dist/Interfaces/Inventory/index.js +8 -8
  145. package/dist/Interfaces/Invoice/index.d.ts +4 -4
  146. package/dist/Interfaces/Invoice/index.js +2 -2
  147. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.d.ts +3 -3
  148. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.js +2 -2
  149. package/dist/Interfaces/MarketplacePublication/index.d.ts +23 -23
  150. package/dist/Interfaces/MarketplacePublication/index.js +22 -22
  151. package/dist/Interfaces/Menu/index.d.ts +40 -40
  152. package/dist/Interfaces/Menu/index.js +16 -16
  153. package/dist/Interfaces/Note/index.d.ts +10 -10
  154. package/dist/Interfaces/Note/index.js +7 -7
  155. package/dist/Interfaces/Operations/ICreatedBy.d.ts +6 -6
  156. package/dist/Interfaces/Operations/ICreatedBy.js +2 -2
  157. package/dist/Interfaces/Operations/IUpdate.d.ts +5 -5
  158. package/dist/Interfaces/Operations/IUpdate.js +2 -2
  159. package/dist/Interfaces/Order/index.d.ts +4 -4
  160. package/dist/Interfaces/Order/index.js +2 -2
  161. package/dist/Interfaces/Org/IRelUser.d.ts +9 -9
  162. package/dist/Interfaces/Org/IRelUser.js +2 -2
  163. package/dist/Interfaces/Org/index.d.ts +29 -29
  164. package/dist/Interfaces/Org/index.js +12 -12
  165. package/dist/Interfaces/Payment/index.d.ts +26 -26
  166. package/dist/Interfaces/Payment/index.js +14 -14
  167. package/dist/Interfaces/Product/IAttributeFamily.d.ts +6 -6
  168. package/dist/Interfaces/Product/IAttributeFamily.js +2 -2
  169. package/dist/Interfaces/Product/IImportProduct.d.ts +42 -42
  170. package/dist/Interfaces/Product/IImportProduct.js +882 -882
  171. package/dist/Interfaces/Product/IInventoryItem.d.ts +74 -74
  172. package/dist/Interfaces/Product/IInventoryItem.js +38 -38
  173. package/dist/Interfaces/Product/IPricing.d.ts +177 -177
  174. package/dist/Interfaces/Product/IPricing.js +180 -180
  175. package/dist/Interfaces/Product/index.d.ts +138 -138
  176. package/dist/Interfaces/Product/index.js +64 -64
  177. package/dist/Interfaces/ProductAttribute/index.d.ts +11 -11
  178. package/dist/Interfaces/ProductAttribute/index.js +2 -2
  179. package/dist/Interfaces/PromiseToPurchase/BankType.d.ts +41 -41
  180. package/dist/Interfaces/PromiseToPurchase/BankType.js +41 -41
  181. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.d.ts +33 -33
  182. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.js +15 -15
  183. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.d.ts +19 -19
  184. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.js +2 -2
  185. package/dist/Interfaces/PromiseToPurchase/index.d.ts +50 -50
  186. package/dist/Interfaces/PromiseToPurchase/index.js +13 -13
  187. package/dist/Interfaces/PurchaseOrder/index.d.ts +17 -17
  188. package/dist/Interfaces/PurchaseOrder/index.js +2 -2
  189. package/dist/Interfaces/Query/IBrandQueryOptions.d.ts +11 -11
  190. package/dist/Interfaces/Query/IBrandQueryOptions.js +2 -2
  191. package/dist/Interfaces/Query/ICategoryQueryOptions.d.ts +11 -11
  192. package/dist/Interfaces/Query/ICategoryQueryOptions.js +2 -2
  193. package/dist/Interfaces/Query/IProductQueryOptions.d.ts +16 -16
  194. package/dist/Interfaces/Query/IProductQueryOptions.js +2 -2
  195. package/dist/Interfaces/Quote/index.d.ts +5 -5
  196. package/dist/Interfaces/Quote/index.js +2 -2
  197. package/dist/Interfaces/Refunds/index.d.ts +106 -106
  198. package/dist/Interfaces/Refunds/index.js +2 -2
  199. package/dist/Interfaces/Rules/IDiscountRule.d.ts +155 -155
  200. package/dist/Interfaces/Rules/IDiscountRule.js +114 -114
  201. package/dist/Interfaces/Schedule/index.d.ts +48 -48
  202. package/dist/Interfaces/Schedule/index.js +2 -2
  203. package/dist/Interfaces/Services/IAddServiceResponse.d.ts +4 -4
  204. package/dist/Interfaces/Services/IAddServiceResponse.js +2 -2
  205. package/dist/Interfaces/Services/IService.d.ts +16 -16
  206. package/dist/Interfaces/Services/IService.js +2 -2
  207. package/dist/Interfaces/Services/IServiceSecret.d.ts +8 -8
  208. package/dist/Interfaces/Services/IServiceSecret.js +2 -2
  209. package/dist/Interfaces/Shipping/Shipstation/carriers.d.ts +10 -10
  210. package/dist/Interfaces/Shipping/Shipstation/carriers.js +2 -2
  211. package/dist/Interfaces/Shipping/Shipstation/order.d.ts +227 -227
  212. package/dist/Interfaces/Shipping/Shipstation/order.js +2 -2
  213. package/dist/Interfaces/Shipping/Shipstation/quote.d.ts +31 -31
  214. package/dist/Interfaces/Shipping/Shipstation/quote.js +2 -2
  215. package/dist/Interfaces/Shipping/Shiptime/order.d.ts +54 -54
  216. package/dist/Interfaces/Shipping/Shiptime/order.js +71 -71
  217. package/dist/Interfaces/Shipping/Shiptime/quote.d.ts +111 -111
  218. package/dist/Interfaces/Shipping/Shiptime/quote.js +2 -2
  219. package/dist/Interfaces/Slider/GR.d.ts +114 -114
  220. package/dist/Interfaces/Slider/GR.js +271 -271
  221. package/dist/Interfaces/Slider/index.d.ts +30 -30
  222. package/dist/Interfaces/Slider/index.js +2 -2
  223. package/dist/Interfaces/Space/IExternalService.d.ts +53 -53
  224. package/dist/Interfaces/Space/IExternalService.js +44 -44
  225. package/dist/Interfaces/Space/IMember.d.ts +16 -16
  226. package/dist/Interfaces/Space/IMember.js +9 -9
  227. package/dist/Interfaces/Space/index.d.ts +407 -405
  228. package/dist/Interfaces/Space/index.js +174 -174
  229. package/dist/Interfaces/Space/index.js.map +1 -1
  230. package/dist/Interfaces/Specials/gr.d.ts +61 -61
  231. package/dist/Interfaces/Specials/gr.js +2 -2
  232. package/dist/Interfaces/StockNotification/index.d.ts +7 -7
  233. package/dist/Interfaces/StockNotification/index.js +2 -2
  234. package/dist/Interfaces/Store/index.d.ts +63 -63
  235. package/dist/Interfaces/Store/index.js +27 -27
  236. package/dist/Interfaces/Supplier/ICommand.d.ts +11 -11
  237. package/dist/Interfaces/Supplier/ICommand.js +2 -2
  238. package/dist/Interfaces/Supplier/index.d.ts +36 -36
  239. package/dist/Interfaces/Supplier/index.js +24 -24
  240. package/dist/Interfaces/TCG/index.d.ts +161 -161
  241. package/dist/Interfaces/TCG/index.js +54 -54
  242. package/dist/Interfaces/Tag/index.d.ts +18 -18
  243. package/dist/Interfaces/Tag/index.js +2 -2
  244. package/dist/Interfaces/Tax/index.d.ts +13 -13
  245. package/dist/Interfaces/Tax/index.js +2 -2
  246. package/dist/Interfaces/TransferRequest/index.d.ts +103 -103
  247. package/dist/Interfaces/TransferRequest/index.js +46 -46
  248. package/dist/Interfaces/Translation/index.d.ts +8 -8
  249. package/dist/Interfaces/Translation/index.js +5 -5
  250. package/dist/Interfaces/Update/index.d.ts +10 -10
  251. package/dist/Interfaces/Update/index.js +2 -2
  252. package/dist/Interfaces/User/IUser.d.ts +65 -65
  253. package/dist/Interfaces/User/IUser.js +8 -8
  254. package/dist/Interfaces/Version/index.d.ts +11 -11
  255. package/dist/Interfaces/Version/index.js +2 -2
  256. package/dist/Interfaces/Wishlist/index.d.ts +7 -7
  257. package/dist/Interfaces/Wishlist/index.js +2 -2
  258. package/dist/constants/Interfaces/IBaseApi.d.ts +15 -15
  259. package/dist/constants/Interfaces/IBaseApi.js +2 -2
  260. package/dist/constants/Interfaces/IEndpointResult.d.ts +9 -9
  261. package/dist/constants/Interfaces/IEndpointResult.js +2 -2
  262. package/dist/constants/enums.d.ts +6 -6
  263. package/dist/constants/enums.js +10 -10
  264. package/dist/constants/services.d.ts +2 -2
  265. package/dist/constants/services.js +117 -117
  266. package/dist/constants/version.d.ts +2 -2
  267. package/dist/constants/version.js +5 -5
  268. package/dist/index.d.ts +50 -50
  269. package/dist/index.js +266 -266
  270. package/dist/lib/Attribute/index.d.ts +14 -14
  271. package/dist/lib/Attribute/index.js +186 -186
  272. package/dist/lib/BGJob/index.d.ts +9 -9
  273. package/dist/lib/BGJob/index.js +216 -216
  274. package/dist/lib/BackgroundWorker/index.d.ts +34 -34
  275. package/dist/lib/BackgroundWorker/index.js +59 -59
  276. package/dist/lib/Blog/BlogArticle.d.ts +5 -5
  277. package/dist/lib/Blog/BlogArticle.js +10 -10
  278. package/dist/lib/Blog/BlogAuthor.d.ts +5 -5
  279. package/dist/lib/Blog/BlogAuthor.js +10 -10
  280. package/dist/lib/Blog/BlogCategory.d.ts +5 -5
  281. package/dist/lib/Blog/BlogCategory.js +10 -10
  282. package/dist/lib/Blog/BlogKeyword.d.ts +5 -5
  283. package/dist/lib/Blog/BlogKeyword.js +10 -10
  284. package/dist/lib/Booking/index.d.ts +85 -85
  285. package/dist/lib/Booking/index.js +596 -596
  286. package/dist/lib/Brand/index.d.ts +26 -26
  287. package/dist/lib/Brand/index.js +131 -131
  288. package/dist/lib/Cart/index.d.ts +335 -335
  289. package/dist/lib/Cart/index.js +3981 -3977
  290. package/dist/lib/Cart/index.js.map +1 -1
  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/Queue/index.d.ts +40 -40
  388. package/dist/lib/Queue/index.js +254 -254
  389. package/dist/lib/Schedule/index.d.ts +5 -5
  390. package/dist/lib/Schedule/index.js +12 -12
  391. package/dist/lib/Service/Enum/ServiceEnum.d.ts +3 -3
  392. package/dist/lib/Service/Enum/ServiceEnum.js +7 -7
  393. package/dist/lib/Service/index.d.ts +13 -13
  394. package/dist/lib/Service/index.js +21 -21
  395. package/dist/lib/Shipment/index.d.ts +28 -28
  396. package/dist/lib/Shipment/index.js +370 -370
  397. package/dist/lib/Slider/index.d.ts +22 -22
  398. package/dist/lib/Slider/index.js +119 -119
  399. package/dist/lib/Space/index.d.ts +1150 -1150
  400. package/dist/lib/Space/index.js +5792 -5792
  401. package/dist/lib/StockNotification/index.d.ts +4 -4
  402. package/dist/lib/StockNotification/index.js +6 -6
  403. package/dist/lib/Store/index.d.ts +5 -5
  404. package/dist/lib/Store/index.js +12 -12
  405. package/dist/lib/Supplier/Command.d.ts +5 -5
  406. package/dist/lib/Supplier/Command.js +10 -10
  407. package/dist/lib/Supplier/index.d.ts +25 -25
  408. package/dist/lib/Supplier/index.js +27 -27
  409. package/dist/lib/Tags/index.d.ts +6 -6
  410. package/dist/lib/Tags/index.js +26 -26
  411. package/dist/lib/Tax/index.d.ts +8 -8
  412. package/dist/lib/Tax/index.js +54 -54
  413. package/dist/lib/TransferRequest/index.d.ts +290 -290
  414. package/dist/lib/TransferRequest/index.js +1026 -1026
  415. package/dist/lib/Update/index.d.ts +10 -10
  416. package/dist/lib/Update/index.js +22 -22
  417. package/dist/lib/User/index.d.ts +89 -89
  418. package/dist/lib/User/index.js +328 -328
  419. package/dist/lib/Wishlist/index.d.ts +5 -5
  420. package/dist/lib/Wishlist/index.js +10 -10
  421. package/dist/lib/base.d.ts +14 -14
  422. package/dist/lib/base.js +62 -62
  423. package/dist/lib/baseService.d.ts +17 -17
  424. package/dist/lib/baseService.js +69 -69
  425. package/dist/rules/GR/constants/data.d.ts +26 -26
  426. package/dist/rules/GR/constants/data.js +81 -81
  427. package/dist/rules/GR/constants/expedition.d.ts +4 -4
  428. package/dist/rules/GR/constants/expedition.js +9 -9
  429. package/dist/rules/GR/constants/products.d.ts +22 -22
  430. package/dist/rules/GR/constants/products.js +263 -263
  431. package/dist/rules/GR/interfaces/cart.d.ts +84 -84
  432. package/dist/rules/GR/interfaces/cart.js +41 -41
  433. package/dist/rules/GR/interfaces/data.d.ts +101 -101
  434. package/dist/rules/GR/interfaces/data.js +114 -114
  435. package/dist/rules/GR/interfaces/products.d.ts +61 -61
  436. package/dist/rules/GR/interfaces/products.js +10 -10
  437. package/dist/rules/GR/utils/cart.d.ts +95 -95
  438. package/dist/rules/GR/utils/cart.js +839 -836
  439. package/dist/rules/GR/utils/cart.js.map +1 -1
  440. package/dist/rules/GR/utils/data.d.ts +3 -3
  441. package/dist/rules/GR/utils/data.js +28 -28
  442. package/dist/rules/GR/utils/expedition.d.ts +140 -140
  443. package/dist/rules/GR/utils/expedition.js +2016 -2016
  444. package/dist/rules/GR/utils/g2.d.ts +209 -209
  445. package/dist/rules/GR/utils/g2.js +999 -999
  446. package/dist/rules/GR/utils/invoices.d.ts +51 -51
  447. package/dist/rules/GR/utils/invoices.js +215 -215
  448. package/dist/rules/GR/utils/products.d.ts +277 -277
  449. package/dist/rules/GR/utils/products.js +1350 -1350
  450. package/dist/rules/GR/utils/upsells.d.ts +111 -111
  451. package/dist/rules/GR/utils/upsells.js +215 -215
  452. package/dist/services/database/BaseProvider.d.ts +29 -29
  453. package/dist/services/database/BaseProvider.js +28 -28
  454. package/dist/services/database/BatchUtils.d.ts +14 -14
  455. package/dist/services/database/BatchUtils.js +43 -43
  456. package/dist/services/database/Config.d.ts +2 -2
  457. package/dist/services/database/Config.js +5 -5
  458. package/dist/services/database/DatabaseService.d.ts +125 -125
  459. package/dist/services/database/DatabaseService.js +237 -237
  460. package/dist/services/database/FirebaseProvider.d.ts +17 -17
  461. package/dist/services/database/FirebaseProvider.js +235 -235
  462. package/dist/services/database/NotFirebaseProvider.d.ts +49 -49
  463. package/dist/services/database/NotFirebaseProvider.js +262 -262
  464. package/dist/services/g2/G2OrderSlip.d.ts +49 -49
  465. package/dist/services/g2/G2OrderSlip.js +228 -228
  466. package/dist/services/g2/utils.d.ts +19 -19
  467. package/dist/services/g2/utils.js +953 -953
  468. package/dist/services/logs/index.d.ts +23 -23
  469. package/dist/services/logs/index.js +66 -66
  470. package/dist/services/marketplace/BaseMarketServiceClass.d.ts +52 -52
  471. package/dist/services/marketplace/BaseMarketServiceClass.js +111 -111
  472. package/dist/services/marketplace/CardtraderServiceClass.d.ts +17 -17
  473. package/dist/services/marketplace/CardtraderServiceClass.js +139 -139
  474. package/dist/services/marketplace/utils.d.ts +14 -14
  475. package/dist/services/marketplace/utils.js +29 -29
  476. package/dist/services/products/BaseClass.d.ts +50 -50
  477. package/dist/services/products/BaseClass.js +66 -66
  478. package/dist/services/products/TCGService.d.ts +32 -32
  479. package/dist/services/products/TCGService.js +555 -555
  480. package/dist/services/products/utils.d.ts +31 -31
  481. package/dist/services/products/utils.js +144 -144
  482. package/dist/utils/algolia.d.ts +46 -46
  483. package/dist/utils/algolia.js +21 -21
  484. package/dist/utils/anonymisation.d.ts +54 -54
  485. package/dist/utils/anonymisation.js +280 -280
  486. package/dist/utils/array.d.ts +5 -5
  487. package/dist/utils/array.js +14 -14
  488. package/dist/utils/aws.d.ts +36 -36
  489. package/dist/utils/aws.js +154 -154
  490. package/dist/utils/booking.d.ts +30 -30
  491. package/dist/utils/booking.js +127 -127
  492. package/dist/utils/cart.d.ts +259 -259
  493. package/dist/utils/cart.js +1145 -1145
  494. package/dist/utils/categories.d.ts +2 -2
  495. package/dist/utils/categories.js +54 -54
  496. package/dist/utils/cmv.d.ts +10 -10
  497. package/dist/utils/cmv.js +107 -107
  498. package/dist/utils/console.d.ts +6 -6
  499. package/dist/utils/console.js +59 -59
  500. package/dist/utils/context.d.ts +20 -20
  501. package/dist/utils/context.js +61 -61
  502. package/dist/utils/currency.d.ts +6 -6
  503. package/dist/utils/currency.js +91 -91
  504. package/dist/utils/data.d.ts +31 -31
  505. package/dist/utils/data.js +296 -296
  506. package/dist/utils/date.d.ts +1 -1
  507. package/dist/utils/date.js +16 -16
  508. package/dist/utils/dimensions.d.ts +3 -3
  509. package/dist/utils/dimensions.js +16 -16
  510. package/dist/utils/discount.d.ts +164 -164
  511. package/dist/utils/discount.js +1111 -1111
  512. package/dist/utils/errors.d.ts +113 -113
  513. package/dist/utils/errors.js +113 -113
  514. package/dist/utils/file-admin.d.ts +8 -8
  515. package/dist/utils/file-admin.js +39 -39
  516. package/dist/utils/file.d.ts +39 -39
  517. package/dist/utils/file.js +208 -208
  518. package/dist/utils/firebase-admin.d.ts +11 -11
  519. package/dist/utils/firebase-admin.js +73 -73
  520. package/dist/utils/firebase.d.ts +58 -58
  521. package/dist/utils/firebase.js +148 -148
  522. package/dist/utils/import.d.ts +1 -1
  523. package/dist/utils/import.js +21 -21
  524. package/dist/utils/inventories.d.ts +101 -101
  525. package/dist/utils/inventories.js +467 -467
  526. package/dist/utils/locale.d.ts +24 -24
  527. package/dist/utils/locale.js +89 -89
  528. package/dist/utils/mailchimp.d.ts +58 -58
  529. package/dist/utils/mailchimp.js +531 -531
  530. package/dist/utils/mathUtils.d.ts +17 -17
  531. package/dist/utils/mathUtils.js +324 -324
  532. package/dist/utils/mongodb.d.ts +1 -1
  533. package/dist/utils/mongodb.js +22 -22
  534. package/dist/utils/object.d.ts +32 -32
  535. package/dist/utils/object.js +133 -133
  536. package/dist/utils/payment.d.ts +10 -10
  537. package/dist/utils/payment.js +23 -23
  538. package/dist/utils/products.d.ts +39 -39
  539. package/dist/utils/products.js +195 -195
  540. package/dist/utils/promiseToPurchase.d.ts +88 -88
  541. package/dist/utils/promiseToPurchase.js +229 -229
  542. package/dist/utils/prosprsearch.d.ts +42 -42
  543. package/dist/utils/prosprsearch.js +216 -216
  544. package/dist/utils/refunds.d.ts +2 -2
  545. package/dist/utils/refunds.js +21 -21
  546. package/dist/utils/sdc.d.ts +10 -10
  547. package/dist/utils/sdc.js +1309 -1309
  548. package/dist/utils/searchIndexes.d.ts +58 -58
  549. package/dist/utils/searchIndexes.js +247 -247
  550. package/dist/utils/services.d.ts +42 -42
  551. package/dist/utils/services.js +409 -409
  552. package/dist/utils/shipment.d.ts +110 -110
  553. package/dist/utils/shipment.js +345 -345
  554. package/dist/utils/simpletexting.d.ts +2 -2
  555. package/dist/utils/simpletexting.js +45 -45
  556. package/dist/utils/sliders.d.ts +4 -4
  557. package/dist/utils/sliders.js +24 -24
  558. package/dist/utils/string.d.ts +16 -16
  559. package/dist/utils/string.js +192 -192
  560. package/dist/utils/tcgService.d.ts +74 -74
  561. package/dist/utils/tcgService.js +308 -308
  562. package/dist/utils/tools.d.ts +5 -5
  563. package/dist/utils/tools.js +13 -13
  564. package/dist/utils/transferRequests.d.ts +43 -43
  565. package/dist/utils/transferRequests.js +67 -67
  566. package/dist/utils/update.d.ts +7 -7
  567. package/dist/utils/update.js +137 -137
  568. package/dist/utils/weight.d.ts +3 -3
  569. package/dist/utils/weight.js +16 -16
  570. package/dist/utils/zones.d.ts +11 -11
  571. package/dist/utils/zones.js +218 -218
  572. package/package.json +107 -107
  573. package/publish.sh +143 -143
  574. package/readme.md +182 -182
@@ -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
+ }