addio-admin-sdk 1.7.170 → 1.7.171

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 (584) hide show
  1. package/.babelrc +17 -17
  2. package/.env.dev +14 -14
  3. package/.github/workflows/run_unit_test.yaml +48 -48
  4. package/addio-sdk-doc.md +1473 -1473
  5. package/changelog.md +573 -573
  6. package/dist/Interfaces/Address/index.d.ts +21 -21
  7. package/dist/Interfaces/Address/index.js +16 -16
  8. package/dist/Interfaces/Algolia/index.d.ts +182 -182
  9. package/dist/Interfaces/Algolia/index.js +2 -2
  10. package/dist/Interfaces/Attachement/index.d.ts +5 -5
  11. package/dist/Interfaces/Attachement/index.js +2 -2
  12. package/dist/Interfaces/Attribute/index.d.ts +53 -53
  13. package/dist/Interfaces/Attribute/index.js +10 -10
  14. package/dist/Interfaces/BGJob/index.d.ts +56 -56
  15. package/dist/Interfaces/BGJob/index.js +25 -25
  16. package/dist/Interfaces/BaseClass/index.d.ts +8 -8
  17. package/dist/Interfaces/BaseClass/index.js +2 -2
  18. package/dist/Interfaces/Blog/IBlogArticle.d.ts +18 -18
  19. package/dist/Interfaces/Blog/IBlogArticle.js +2 -2
  20. package/dist/Interfaces/Blog/IBlogAuthor.d.ts +7 -7
  21. package/dist/Interfaces/Blog/IBlogAuthor.js +2 -2
  22. package/dist/Interfaces/Blog/IBlogCategory.d.ts +9 -9
  23. package/dist/Interfaces/Blog/IBlogCategory.js +2 -2
  24. package/dist/Interfaces/Blog/IBlogComment.d.ts +13 -13
  25. package/dist/Interfaces/Blog/IBlogComment.js +2 -2
  26. package/dist/Interfaces/Blog/IBlogKeywords.d.ts +9 -9
  27. package/dist/Interfaces/Blog/IBlogKeywords.js +2 -2
  28. package/dist/Interfaces/Booking/index.d.ts +74 -74
  29. package/dist/Interfaces/Booking/index.js +17 -17
  30. package/dist/Interfaces/Brand/index.d.ts +15 -15
  31. package/dist/Interfaces/Brand/index.js +2 -2
  32. package/dist/Interfaces/Buylist/index.d.ts +17 -0
  33. package/dist/Interfaces/Buylist/index.js +3 -0
  34. package/dist/Interfaces/Buylist/index.js.map +1 -0
  35. package/dist/Interfaces/CMS/index.d.ts +28 -28
  36. package/dist/Interfaces/CMS/index.js +5 -5
  37. package/dist/Interfaces/Cart/IElavonPayload.d.ts +93 -93
  38. package/dist/Interfaces/Cart/IElavonPayload.js +17 -17
  39. package/dist/Interfaces/Cart/IMarketPayload.d.ts +12 -12
  40. package/dist/Interfaces/Cart/IMarketPayload.js +2 -2
  41. package/dist/Interfaces/Cart/IPandaPayload.d.ts +64 -64
  42. package/dist/Interfaces/Cart/IPandaPayload.js +18 -18
  43. package/dist/Interfaces/Cart/IPaymentCard.d.ts +22 -22
  44. package/dist/Interfaces/Cart/IPaymentCard.js +44 -44
  45. package/dist/Interfaces/Cart/IPaypalPayload.d.ts +9 -9
  46. package/dist/Interfaces/Cart/IPaypalPayload.js +2 -2
  47. package/dist/Interfaces/Cart/IPaysafePayload.d.ts +72 -72
  48. package/dist/Interfaces/Cart/IPaysafePayload.js +2 -2
  49. package/dist/Interfaces/Cart/IStripePayload.d.ts +66 -66
  50. package/dist/Interfaces/Cart/IStripePayload.js +2 -2
  51. package/dist/Interfaces/Cart/index.d.ts +451 -451
  52. package/dist/Interfaces/Cart/index.js +216 -216
  53. package/dist/Interfaces/CartReservedQuantities/index.d.ts +10 -10
  54. package/dist/Interfaces/CartReservedQuantities/index.js +2 -2
  55. package/dist/Interfaces/CashDrawers/index.d.ts +38 -38
  56. package/dist/Interfaces/CashDrawers/index.js +19 -19
  57. package/dist/Interfaces/Catalogue/index.d.ts +68 -68
  58. package/dist/Interfaces/Catalogue/index.js +37 -37
  59. package/dist/Interfaces/Category/index.d.ts +33 -33
  60. package/dist/Interfaces/Category/index.js +2 -2
  61. package/dist/Interfaces/Chart/index.d.ts +11 -11
  62. package/dist/Interfaces/Chart/index.js +2 -2
  63. package/dist/Interfaces/Class/index.d.ts +8 -8
  64. package/dist/Interfaces/Class/index.js +2 -2
  65. package/dist/Interfaces/Consent/index.d.ts +6 -6
  66. package/dist/Interfaces/Consent/index.js +2 -2
  67. package/dist/Interfaces/Context/IContextProps.d.ts +4 -4
  68. package/dist/Interfaces/Context/IContextProps.js +2 -2
  69. package/dist/Interfaces/Context/IContextState.d.ts +15 -15
  70. package/dist/Interfaces/Context/IContextState.js +2 -2
  71. package/dist/Interfaces/Customer/ICustomerBadge.d.ts +2 -2
  72. package/dist/Interfaces/Customer/ICustomerBadge.js +2 -2
  73. package/dist/Interfaces/Customer/ICustomerRating.d.ts +10 -10
  74. package/dist/Interfaces/Customer/ICustomerRating.js +2 -2
  75. package/dist/Interfaces/Customer/IStoreCredit.d.ts +13 -13
  76. package/dist/Interfaces/Customer/IStoreCredit.js +2 -2
  77. package/dist/Interfaces/Customer/index.d.ts +104 -104
  78. package/dist/Interfaces/Customer/index.js +148 -148
  79. package/dist/Interfaces/Declination/index.d.ts +117 -117
  80. package/dist/Interfaces/Declination/index.js +66 -66
  81. package/dist/Interfaces/Document/index.d.ts +8 -8
  82. package/dist/Interfaces/Document/index.js +2 -2
  83. package/dist/Interfaces/Elastic/index.d.ts +89 -89
  84. package/dist/Interfaces/Elastic/index.js +2 -2
  85. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.d.ts +11 -11
  86. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.js +2 -2
  87. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.d.ts +15 -15
  88. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.js +2 -2
  89. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.d.ts +12 -12
  90. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.js +2 -2
  91. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.d.ts +36 -36
  92. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.js +2 -2
  93. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.d.ts +12 -12
  94. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.js +2 -2
  95. package/dist/Interfaces/Email/CustomGR/ITransportEmail.d.ts +12 -12
  96. package/dist/Interfaces/Email/CustomGR/ITransportEmail.js +2 -2
  97. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.d.ts +12 -12
  98. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.js +2 -2
  99. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.d.ts +16 -16
  100. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.js +2 -2
  101. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.d.ts +15 -15
  102. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.js +2 -2
  103. package/dist/Interfaces/Email/IAbandonnedCartEmail.d.ts +29 -29
  104. package/dist/Interfaces/Email/IAbandonnedCartEmail.js +2 -2
  105. package/dist/Interfaces/Email/IAccountConfirmationEmail.d.ts +22 -22
  106. package/dist/Interfaces/Email/IAccountConfirmationEmail.js +2 -2
  107. package/dist/Interfaces/Email/IApplicationEmail.d.ts +19 -19
  108. package/dist/Interfaces/Email/IApplicationEmail.js +2 -2
  109. package/dist/Interfaces/Email/IBackInStockEmail.d.ts +21 -21
  110. package/dist/Interfaces/Email/IBackInStockEmail.js +2 -2
  111. package/dist/Interfaces/Email/IContactEmail.d.ts +20 -20
  112. package/dist/Interfaces/Email/IContactEmail.js +2 -2
  113. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.d.ts +15 -15
  114. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.js +2 -2
  115. package/dist/Interfaces/Email/ICustomerBookingEmail.d.ts +14 -14
  116. package/dist/Interfaces/Email/ICustomerBookingEmail.js +2 -2
  117. package/dist/Interfaces/Email/IEmail.d.ts +20 -20
  118. package/dist/Interfaces/Email/IEmail.js +60 -60
  119. package/dist/Interfaces/Email/IOrderConfirmationEmail.d.ts +47 -47
  120. package/dist/Interfaces/Email/IOrderConfirmationEmail.js +2 -2
  121. package/dist/Interfaces/Email/IPasswordResetEmail.d.ts +17 -17
  122. package/dist/Interfaces/Email/IPasswordResetEmail.js +2 -2
  123. package/dist/Interfaces/Email/IPhotoShootEmail.d.ts +14 -14
  124. package/dist/Interfaces/Email/IPhotoShootEmail.js +2 -2
  125. package/dist/Interfaces/Email/IPickupConfirmation.d.ts +23 -23
  126. package/dist/Interfaces/Email/IPickupConfirmation.js +2 -2
  127. package/dist/Interfaces/Email/IShippingConfirmation.d.ts +23 -23
  128. package/dist/Interfaces/Email/IShippingConfirmation.js +2 -2
  129. package/dist/Interfaces/Email/IWelcomeEmail.d.ts +19 -19
  130. package/dist/Interfaces/Email/IWelcomeEmail.js +2 -2
  131. package/dist/Interfaces/ExportSchema/index.d.ts +7 -7
  132. package/dist/Interfaces/ExportSchema/index.js +2 -2
  133. package/dist/Interfaces/ExternalService/BaseExternalService.d.ts +12 -12
  134. package/dist/Interfaces/ExternalService/BaseExternalService.js +2 -2
  135. package/dist/Interfaces/ExternalService/ExternalProductsService.d.ts +4 -4
  136. package/dist/Interfaces/ExternalService/ExternalProductsService.js +2 -2
  137. package/dist/Interfaces/ExternalService/index.d.ts +9 -9
  138. package/dist/Interfaces/ExternalService/index.js +2 -2
  139. package/dist/Interfaces/FirstOrderTracking/index.d.ts +5 -5
  140. package/dist/Interfaces/FirstOrderTracking/index.js +2 -2
  141. package/dist/Interfaces/G2/index.d.ts +556 -556
  142. package/dist/Interfaces/G2/index.js +38 -38
  143. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.d.ts +20 -20
  144. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.js +2 -2
  145. package/dist/Interfaces/Indexed/Product/index.d.ts +105 -105
  146. package/dist/Interfaces/Indexed/Product/index.js +253 -253
  147. package/dist/Interfaces/Inventory/index.d.ts +19 -19
  148. package/dist/Interfaces/Inventory/index.js +8 -8
  149. package/dist/Interfaces/Invoice/index.d.ts +4 -4
  150. package/dist/Interfaces/Invoice/index.js +2 -2
  151. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.d.ts +3 -3
  152. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.js +2 -2
  153. package/dist/Interfaces/MarketplacePublication/index.d.ts +23 -23
  154. package/dist/Interfaces/MarketplacePublication/index.js +22 -22
  155. package/dist/Interfaces/Menu/index.d.ts +40 -40
  156. package/dist/Interfaces/Menu/index.js +16 -16
  157. package/dist/Interfaces/Note/index.d.ts +10 -10
  158. package/dist/Interfaces/Note/index.js +7 -7
  159. package/dist/Interfaces/Operations/ICreatedBy.d.ts +6 -6
  160. package/dist/Interfaces/Operations/ICreatedBy.js +2 -2
  161. package/dist/Interfaces/Operations/IUpdate.d.ts +5 -5
  162. package/dist/Interfaces/Operations/IUpdate.js +2 -2
  163. package/dist/Interfaces/Order/index.d.ts +4 -4
  164. package/dist/Interfaces/Order/index.js +2 -2
  165. package/dist/Interfaces/Org/IRelUser.d.ts +9 -9
  166. package/dist/Interfaces/Org/IRelUser.js +2 -2
  167. package/dist/Interfaces/Org/index.d.ts +29 -29
  168. package/dist/Interfaces/Org/index.js +12 -12
  169. package/dist/Interfaces/Payment/index.d.ts +26 -26
  170. package/dist/Interfaces/Payment/index.js +14 -14
  171. package/dist/Interfaces/Product/IAttributeFamily.d.ts +6 -6
  172. package/dist/Interfaces/Product/IAttributeFamily.js +2 -2
  173. package/dist/Interfaces/Product/IImportProduct.d.ts +42 -42
  174. package/dist/Interfaces/Product/IImportProduct.js +882 -882
  175. package/dist/Interfaces/Product/IInventoryItem.d.ts +74 -74
  176. package/dist/Interfaces/Product/IInventoryItem.js +38 -38
  177. package/dist/Interfaces/Product/IPricing.d.ts +177 -177
  178. package/dist/Interfaces/Product/IPricing.js +180 -180
  179. package/dist/Interfaces/Product/index.d.ts +137 -137
  180. package/dist/Interfaces/Product/index.js +64 -64
  181. package/dist/Interfaces/ProductAttribute/index.d.ts +11 -11
  182. package/dist/Interfaces/ProductAttribute/index.js +2 -2
  183. package/dist/Interfaces/PromiseToPurchase/BankType.d.ts +41 -41
  184. package/dist/Interfaces/PromiseToPurchase/BankType.js +41 -41
  185. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.d.ts +33 -33
  186. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.js +15 -15
  187. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.d.ts +19 -19
  188. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.js +2 -2
  189. package/dist/Interfaces/PromiseToPurchase/index.d.ts +50 -50
  190. package/dist/Interfaces/PromiseToPurchase/index.js +13 -13
  191. package/dist/Interfaces/PurchaseOrder/index.d.ts +17 -17
  192. package/dist/Interfaces/PurchaseOrder/index.js +2 -2
  193. package/dist/Interfaces/Query/IBrandQueryOptions.d.ts +11 -11
  194. package/dist/Interfaces/Query/IBrandQueryOptions.js +2 -2
  195. package/dist/Interfaces/Query/ICategoryQueryOptions.d.ts +11 -11
  196. package/dist/Interfaces/Query/ICategoryQueryOptions.js +2 -2
  197. package/dist/Interfaces/Query/IProductQueryOptions.d.ts +16 -16
  198. package/dist/Interfaces/Query/IProductQueryOptions.js +2 -2
  199. package/dist/Interfaces/Quote/index.d.ts +5 -5
  200. package/dist/Interfaces/Quote/index.js +2 -2
  201. package/dist/Interfaces/Refunds/index.d.ts +106 -106
  202. package/dist/Interfaces/Refunds/index.js +2 -2
  203. package/dist/Interfaces/Rules/IDiscountRule.d.ts +155 -155
  204. package/dist/Interfaces/Rules/IDiscountRule.js +114 -114
  205. package/dist/Interfaces/Schedule/index.d.ts +48 -48
  206. package/dist/Interfaces/Schedule/index.js +2 -2
  207. package/dist/Interfaces/Services/IAddServiceResponse.d.ts +4 -4
  208. package/dist/Interfaces/Services/IAddServiceResponse.js +2 -2
  209. package/dist/Interfaces/Services/IService.d.ts +16 -16
  210. package/dist/Interfaces/Services/IService.js +2 -2
  211. package/dist/Interfaces/Services/IServiceSecret.d.ts +8 -8
  212. package/dist/Interfaces/Services/IServiceSecret.js +2 -2
  213. package/dist/Interfaces/Shipping/Shipstation/carriers.d.ts +10 -10
  214. package/dist/Interfaces/Shipping/Shipstation/carriers.js +2 -2
  215. package/dist/Interfaces/Shipping/Shipstation/order.d.ts +227 -227
  216. package/dist/Interfaces/Shipping/Shipstation/order.js +2 -2
  217. package/dist/Interfaces/Shipping/Shipstation/quote.d.ts +31 -31
  218. package/dist/Interfaces/Shipping/Shipstation/quote.js +2 -2
  219. package/dist/Interfaces/Shipping/Shiptime/order.d.ts +54 -54
  220. package/dist/Interfaces/Shipping/Shiptime/order.js +71 -71
  221. package/dist/Interfaces/Shipping/Shiptime/quote.d.ts +111 -111
  222. package/dist/Interfaces/Shipping/Shiptime/quote.js +2 -2
  223. package/dist/Interfaces/Slider/GR.d.ts +114 -114
  224. package/dist/Interfaces/Slider/GR.js +271 -271
  225. package/dist/Interfaces/Slider/index.d.ts +30 -30
  226. package/dist/Interfaces/Slider/index.js +2 -2
  227. package/dist/Interfaces/Space/IExternalService.d.ts +54 -54
  228. package/dist/Interfaces/Space/IExternalService.js +45 -45
  229. package/dist/Interfaces/Space/IMember.d.ts +16 -16
  230. package/dist/Interfaces/Space/IMember.js +9 -9
  231. package/dist/Interfaces/Space/index.d.ts +414 -414
  232. package/dist/Interfaces/Space/index.js +176 -176
  233. package/dist/Interfaces/Specials/gr.d.ts +61 -61
  234. package/dist/Interfaces/Specials/gr.js +2 -2
  235. package/dist/Interfaces/StockNotification/index.d.ts +7 -7
  236. package/dist/Interfaces/StockNotification/index.js +2 -2
  237. package/dist/Interfaces/Store/index.d.ts +63 -63
  238. package/dist/Interfaces/Store/index.js +27 -27
  239. package/dist/Interfaces/Supplier/ICommand.d.ts +11 -11
  240. package/dist/Interfaces/Supplier/ICommand.js +2 -2
  241. package/dist/Interfaces/Supplier/index.d.ts +36 -36
  242. package/dist/Interfaces/Supplier/index.js +24 -24
  243. package/dist/Interfaces/TCG/index.d.ts +194 -194
  244. package/dist/Interfaces/TCG/index.js +60 -60
  245. package/dist/Interfaces/Tag/index.d.ts +18 -18
  246. package/dist/Interfaces/Tag/index.js +2 -2
  247. package/dist/Interfaces/Tax/index.d.ts +13 -13
  248. package/dist/Interfaces/Tax/index.js +2 -2
  249. package/dist/Interfaces/TransferRequest/index.d.ts +103 -103
  250. package/dist/Interfaces/TransferRequest/index.js +46 -46
  251. package/dist/Interfaces/Translation/index.d.ts +8 -8
  252. package/dist/Interfaces/Translation/index.js +5 -5
  253. package/dist/Interfaces/Update/index.d.ts +10 -10
  254. package/dist/Interfaces/Update/index.js +2 -2
  255. package/dist/Interfaces/User/IUser.d.ts +65 -65
  256. package/dist/Interfaces/User/IUser.js +8 -8
  257. package/dist/Interfaces/Version/index.d.ts +11 -11
  258. package/dist/Interfaces/Version/index.js +2 -2
  259. package/dist/Interfaces/Wishlist/index.d.ts +7 -7
  260. package/dist/Interfaces/Wishlist/index.js +2 -2
  261. package/dist/constants/Interfaces/IBaseApi.d.ts +15 -15
  262. package/dist/constants/Interfaces/IBaseApi.js +2 -2
  263. package/dist/constants/Interfaces/IEndpointResult.d.ts +9 -9
  264. package/dist/constants/Interfaces/IEndpointResult.js +2 -2
  265. package/dist/constants/enums.d.ts +6 -6
  266. package/dist/constants/enums.js +10 -10
  267. package/dist/constants/services.d.ts +2 -2
  268. package/dist/constants/services.js +122 -122
  269. package/dist/constants/version.d.ts +2 -2
  270. package/dist/constants/version.js +5 -5
  271. package/dist/index.d.ts +50 -50
  272. package/dist/index.js +266 -266
  273. package/dist/lib/Attribute/index.d.ts +14 -14
  274. package/dist/lib/Attribute/index.js +186 -186
  275. package/dist/lib/BGJob/index.d.ts +9 -9
  276. package/dist/lib/BGJob/index.js +216 -216
  277. package/dist/lib/BackgroundWorker/index.d.ts +34 -34
  278. package/dist/lib/BackgroundWorker/index.js +59 -59
  279. package/dist/lib/Blog/BlogArticle.d.ts +5 -5
  280. package/dist/lib/Blog/BlogArticle.js +10 -10
  281. package/dist/lib/Blog/BlogAuthor.d.ts +5 -5
  282. package/dist/lib/Blog/BlogAuthor.js +10 -10
  283. package/dist/lib/Blog/BlogCategory.d.ts +5 -5
  284. package/dist/lib/Blog/BlogCategory.js +10 -10
  285. package/dist/lib/Blog/BlogKeyword.d.ts +5 -5
  286. package/dist/lib/Blog/BlogKeyword.js +10 -10
  287. package/dist/lib/Booking/index.d.ts +85 -85
  288. package/dist/lib/Booking/index.js +596 -596
  289. package/dist/lib/Brand/index.d.ts +26 -26
  290. package/dist/lib/Brand/index.js +131 -131
  291. package/dist/lib/Cart/index.d.ts +354 -354
  292. package/dist/lib/Cart/index.js +4055 -4055
  293. package/dist/lib/CartReservedQuantities/index.d.ts +49 -49
  294. package/dist/lib/CartReservedQuantities/index.js +159 -159
  295. package/dist/lib/CashDrawerShift/index.d.ts +84 -84
  296. package/dist/lib/CashDrawerShift/index.js +206 -206
  297. package/dist/lib/Catalogue/index.d.ts +15 -15
  298. package/dist/lib/Catalogue/index.js +78 -78
  299. package/dist/lib/Category/index.d.ts +34 -34
  300. package/dist/lib/Category/index.js +230 -230
  301. package/dist/lib/Class/index.d.ts +16 -16
  302. package/dist/lib/Class/index.js +66 -66
  303. package/dist/lib/Consent/index.d.ts +4 -4
  304. package/dist/lib/Consent/index.js +29 -29
  305. package/dist/lib/Customer/index.d.ts +30 -30
  306. package/dist/lib/Customer/index.js +92 -92
  307. package/dist/lib/Declination/index.d.ts +9 -9
  308. package/dist/lib/Declination/index.js +26 -26
  309. package/dist/lib/Discount/index.d.ts +27 -27
  310. package/dist/lib/Discount/index.js +493 -493
  311. package/dist/lib/ElasticSearch/index.d.ts +13 -13
  312. package/dist/lib/ElasticSearch/index.js +50 -50
  313. package/dist/lib/Elavon/index.d.ts +18 -18
  314. package/dist/lib/Elavon/index.js +135 -135
  315. package/dist/lib/Email/AbandonedCartEmail.d.ts +16 -16
  316. package/dist/lib/Email/AbandonedCartEmail.js +24 -24
  317. package/dist/lib/Email/AccountConfirmationEmail.d.ts +19 -19
  318. package/dist/lib/Email/AccountConfirmationEmail.js +30 -30
  319. package/dist/lib/Email/AdminOrderConfirmationEmail.d.ts +16 -16
  320. package/dist/lib/Email/AdminOrderConfirmationEmail.js +24 -24
  321. package/dist/lib/Email/ApplicationEmail.d.ts +16 -16
  322. package/dist/lib/Email/ApplicationEmail.js +24 -24
  323. package/dist/lib/Email/BackInStockEmail.d.ts +16 -16
  324. package/dist/lib/Email/BackInStockEmail.js +24 -24
  325. package/dist/lib/Email/ContactEmail.d.ts +16 -16
  326. package/dist/lib/Email/ContactEmail.js +24 -24
  327. package/dist/lib/Email/CustomerBookingAdminEmail.d.ts +16 -16
  328. package/dist/lib/Email/CustomerBookingAdminEmail.js +24 -24
  329. package/dist/lib/Email/CustomerBookingEmail.d.ts +16 -16
  330. package/dist/lib/Email/CustomerBookingEmail.js +24 -24
  331. package/dist/lib/Email/OrderConfirmationEmail.d.ts +16 -16
  332. package/dist/lib/Email/OrderConfirmationEmail.js +24 -24
  333. package/dist/lib/Email/OrderDenounciationEmail.d.ts +16 -16
  334. package/dist/lib/Email/OrderDenounciationEmail.js +24 -24
  335. package/dist/lib/Email/OrderSampleEmail.d.ts +16 -16
  336. package/dist/lib/Email/OrderSampleEmail.js +24 -24
  337. package/dist/lib/Email/OtherTypeEmails.d.ts +16 -16
  338. package/dist/lib/Email/OtherTypeEmails.js +27 -27
  339. package/dist/lib/Email/PasswordResetEmail.d.ts +16 -16
  340. package/dist/lib/Email/PasswordResetEmail.js +24 -24
  341. package/dist/lib/Email/PhotoShootEmail.d.ts +16 -16
  342. package/dist/lib/Email/PhotoShootEmail.js +24 -24
  343. package/dist/lib/Email/PickUpConfirmation.d.ts +16 -16
  344. package/dist/lib/Email/PickUpConfirmation.js +24 -24
  345. package/dist/lib/Email/ShippingConfirmation.d.ts +16 -16
  346. package/dist/lib/Email/ShippingConfirmation.js +24 -24
  347. package/dist/lib/Email/WelcomeEmail.d.ts +16 -16
  348. package/dist/lib/Email/WelcomeEmail.js +24 -24
  349. package/dist/lib/Email/index.d.ts +16 -16
  350. package/dist/lib/Email/index.js +31 -31
  351. package/dist/lib/ExternalService/Ebay.d.ts +74 -74
  352. package/dist/lib/ExternalService/Ebay.js +124 -124
  353. package/dist/lib/ExternalService/index.d.ts +5 -5
  354. package/dist/lib/ExternalService/index.js +10 -10
  355. package/dist/lib/FirstOrderTracking/index.d.ts +5 -5
  356. package/dist/lib/FirstOrderTracking/index.js +10 -10
  357. package/dist/lib/Indexed/IndexedCart.d.ts +13 -13
  358. package/dist/lib/Indexed/IndexedCart.js +91 -91
  359. package/dist/lib/Indexed/Product.d.ts +17 -17
  360. package/dist/lib/Indexed/Product.js +98 -98
  361. package/dist/lib/Inventory/index.d.ts +112 -112
  362. package/dist/lib/Inventory/index.js +492 -492
  363. package/dist/lib/Invoice/index.d.ts +16 -16
  364. package/dist/lib/Invoice/index.js +21 -21
  365. package/dist/lib/MarketplacePublication/index.d.ts +9 -9
  366. package/dist/lib/MarketplacePublication/index.js +426 -426
  367. package/dist/lib/Menu/index.d.ts +11 -11
  368. package/dist/lib/Menu/index.js +107 -107
  369. package/dist/lib/MongoDB/BaseAPI.d.ts +18 -18
  370. package/dist/lib/MongoDB/BaseAPI.js +200 -200
  371. package/dist/lib/Note/index.d.ts +4 -4
  372. package/dist/lib/Note/index.js +6 -6
  373. package/dist/lib/Order/index.d.ts +27 -27
  374. package/dist/lib/Order/index.js +56 -56
  375. package/dist/lib/Org/index.d.ts +68 -68
  376. package/dist/lib/Org/index.js +216 -216
  377. package/dist/lib/PandaPay/index.d.ts +16 -16
  378. package/dist/lib/PandaPay/index.js +176 -176
  379. package/dist/lib/Paysafe/index.d.ts +11 -11
  380. package/dist/lib/Paysafe/index.js +41 -41
  381. package/dist/lib/Product/index.d.ts +182 -182
  382. package/dist/lib/Product/index.js +847 -847
  383. package/dist/lib/ProductAttribute/index.d.ts +15 -15
  384. package/dist/lib/ProductAttribute/index.js +45 -45
  385. package/dist/lib/PromiseToPurchase/index.d.ts +109 -109
  386. package/dist/lib/PromiseToPurchase/index.js +343 -343
  387. package/dist/lib/PurchaseOrder/index.d.ts +20 -20
  388. package/dist/lib/PurchaseOrder/index.js +28 -28
  389. package/dist/lib/Queue/index.d.ts +40 -0
  390. package/dist/lib/Queue/index.js +255 -0
  391. package/dist/lib/Queue/index.js.map +1 -0
  392. package/dist/lib/Schedule/index.d.ts +5 -5
  393. package/dist/lib/Schedule/index.js +12 -12
  394. package/dist/lib/Service/Enum/ServiceEnum.d.ts +3 -3
  395. package/dist/lib/Service/Enum/ServiceEnum.js +7 -7
  396. package/dist/lib/Service/index.d.ts +13 -13
  397. package/dist/lib/Service/index.js +21 -21
  398. package/dist/lib/Shipment/index.d.ts +28 -28
  399. package/dist/lib/Shipment/index.js +370 -370
  400. package/dist/lib/Slider/index.d.ts +22 -22
  401. package/dist/lib/Slider/index.js +119 -119
  402. package/dist/lib/Space/index.d.ts +1181 -1181
  403. package/dist/lib/Space/index.js +5841 -5841
  404. package/dist/lib/StockNotification/index.d.ts +4 -4
  405. package/dist/lib/StockNotification/index.js +6 -6
  406. package/dist/lib/Store/index.d.ts +5 -5
  407. package/dist/lib/Store/index.js +12 -12
  408. package/dist/lib/Supplier/Command.d.ts +5 -5
  409. package/dist/lib/Supplier/Command.js +10 -10
  410. package/dist/lib/Supplier/index.d.ts +25 -25
  411. package/dist/lib/Supplier/index.js +27 -27
  412. package/dist/lib/Tags/index.d.ts +6 -6
  413. package/dist/lib/Tags/index.js +26 -26
  414. package/dist/lib/Tax/index.d.ts +8 -8
  415. package/dist/lib/Tax/index.js +54 -54
  416. package/dist/lib/TransferRequest/index.d.ts +290 -290
  417. package/dist/lib/TransferRequest/index.js +1026 -1026
  418. package/dist/lib/Update/index.d.ts +10 -10
  419. package/dist/lib/Update/index.js +22 -22
  420. package/dist/lib/User/index.d.ts +89 -89
  421. package/dist/lib/User/index.js +328 -328
  422. package/dist/lib/Wishlist/index.d.ts +5 -5
  423. package/dist/lib/Wishlist/index.js +10 -10
  424. package/dist/lib/base.d.ts +14 -14
  425. package/dist/lib/base.js +62 -62
  426. package/dist/lib/baseService.d.ts +17 -17
  427. package/dist/lib/baseService.js +69 -69
  428. package/dist/rules/ADD/utils/buyback.d.ts +4 -4
  429. package/dist/rules/ADD/utils/buyback.js +135 -135
  430. package/dist/rules/GR/constants/data.d.ts +26 -26
  431. package/dist/rules/GR/constants/data.js +81 -81
  432. package/dist/rules/GR/constants/expedition.d.ts +4 -4
  433. package/dist/rules/GR/constants/expedition.js +9 -9
  434. package/dist/rules/GR/constants/products.d.ts +22 -22
  435. package/dist/rules/GR/constants/products.js +263 -263
  436. package/dist/rules/GR/interfaces/cart.d.ts +84 -84
  437. package/dist/rules/GR/interfaces/cart.js +41 -41
  438. package/dist/rules/GR/interfaces/data.d.ts +101 -101
  439. package/dist/rules/GR/interfaces/data.js +114 -114
  440. package/dist/rules/GR/interfaces/products.d.ts +61 -61
  441. package/dist/rules/GR/interfaces/products.js +10 -10
  442. package/dist/rules/GR/utils/cart.d.ts +95 -95
  443. package/dist/rules/GR/utils/cart.js +839 -839
  444. package/dist/rules/GR/utils/data.d.ts +3 -3
  445. package/dist/rules/GR/utils/data.js +28 -28
  446. package/dist/rules/GR/utils/expedition.d.ts +140 -140
  447. package/dist/rules/GR/utils/expedition.js +2016 -2016
  448. package/dist/rules/GR/utils/g2.d.ts +209 -209
  449. package/dist/rules/GR/utils/g2.js +1002 -1002
  450. package/dist/rules/GR/utils/invoices.d.ts +51 -51
  451. package/dist/rules/GR/utils/invoices.js +215 -215
  452. package/dist/rules/GR/utils/products.d.ts +277 -277
  453. package/dist/rules/GR/utils/products.js +1350 -1350
  454. package/dist/rules/GR/utils/upsells.d.ts +111 -111
  455. package/dist/rules/GR/utils/upsells.js +215 -215
  456. package/dist/services/database/BaseProvider.d.ts +29 -29
  457. package/dist/services/database/BaseProvider.js +28 -28
  458. package/dist/services/database/BatchUtils.d.ts +14 -14
  459. package/dist/services/database/BatchUtils.js +43 -43
  460. package/dist/services/database/Config.d.ts +2 -2
  461. package/dist/services/database/Config.js +5 -5
  462. package/dist/services/database/DatabaseService.d.ts +125 -125
  463. package/dist/services/database/DatabaseService.js +237 -237
  464. package/dist/services/database/FirebaseProvider.d.ts +17 -17
  465. package/dist/services/database/FirebaseProvider.js +235 -235
  466. package/dist/services/database/NotFirebaseProvider.d.ts +49 -49
  467. package/dist/services/database/NotFirebaseProvider.js +262 -262
  468. package/dist/services/g2/G2OrderSlip.d.ts +49 -49
  469. package/dist/services/g2/G2OrderSlip.js +228 -228
  470. package/dist/services/g2/utils.d.ts +19 -19
  471. package/dist/services/g2/utils.js +967 -967
  472. package/dist/services/logs/index.d.ts +23 -23
  473. package/dist/services/logs/index.js +66 -66
  474. package/dist/services/marketplace/BaseMarketServiceClass.d.ts +74 -69
  475. package/dist/services/marketplace/BaseMarketServiceClass.js +140 -133
  476. package/dist/services/marketplace/BaseMarketServiceClass.js.map +1 -1
  477. package/dist/services/marketplace/CardtraderServiceClass.d.ts +38 -33
  478. package/dist/services/marketplace/CardtraderServiceClass.js +223 -215
  479. package/dist/services/marketplace/CardtraderServiceClass.js.map +1 -1
  480. package/dist/services/marketplace/utils.d.ts +17 -17
  481. package/dist/services/marketplace/utils.js +32 -32
  482. package/dist/services/products/BaseClass.d.ts +79 -50
  483. package/dist/services/products/BaseClass.js +144 -66
  484. package/dist/services/products/BaseClass.js.map +1 -1
  485. package/dist/services/products/TCGService.d.ts +29 -32
  486. package/dist/services/products/TCGService.js +503 -554
  487. package/dist/services/products/TCGService.js.map +1 -1
  488. package/dist/services/products/utils.d.ts +31 -31
  489. package/dist/services/products/utils.js +144 -144
  490. package/dist/utils/algolia.d.ts +46 -46
  491. package/dist/utils/algolia.js +21 -21
  492. package/dist/utils/anonymisation.d.ts +54 -54
  493. package/dist/utils/anonymisation.js +280 -280
  494. package/dist/utils/array.d.ts +5 -5
  495. package/dist/utils/array.js +14 -14
  496. package/dist/utils/aws.d.ts +36 -36
  497. package/dist/utils/aws.js +154 -154
  498. package/dist/utils/booking.d.ts +30 -30
  499. package/dist/utils/booking.js +127 -127
  500. package/dist/utils/cart.d.ts +272 -272
  501. package/dist/utils/cart.js +1169 -1169
  502. package/dist/utils/categories.d.ts +2 -2
  503. package/dist/utils/categories.js +54 -54
  504. package/dist/utils/cmv.d.ts +10 -10
  505. package/dist/utils/cmv.js +107 -107
  506. package/dist/utils/console.d.ts +6 -6
  507. package/dist/utils/console.js +59 -59
  508. package/dist/utils/context.d.ts +20 -20
  509. package/dist/utils/context.js +61 -61
  510. package/dist/utils/currency.d.ts +6 -6
  511. package/dist/utils/currency.js +91 -91
  512. package/dist/utils/data.d.ts +31 -31
  513. package/dist/utils/data.js +296 -296
  514. package/dist/utils/date.d.ts +1 -1
  515. package/dist/utils/date.js +16 -16
  516. package/dist/utils/dimensions.d.ts +3 -3
  517. package/dist/utils/dimensions.js +16 -16
  518. package/dist/utils/discount.d.ts +174 -174
  519. package/dist/utils/discount.js +1118 -1118
  520. package/dist/utils/errors.d.ts +118 -118
  521. package/dist/utils/errors.js +123 -123
  522. package/dist/utils/file-admin.d.ts +8 -8
  523. package/dist/utils/file-admin.js +39 -39
  524. package/dist/utils/file.d.ts +39 -39
  525. package/dist/utils/file.js +208 -208
  526. package/dist/utils/firebase-admin.d.ts +11 -11
  527. package/dist/utils/firebase-admin.js +73 -73
  528. package/dist/utils/firebase.d.ts +58 -58
  529. package/dist/utils/firebase.js +148 -148
  530. package/dist/utils/import.d.ts +1 -1
  531. package/dist/utils/import.js +21 -21
  532. package/dist/utils/inventories.d.ts +101 -101
  533. package/dist/utils/inventories.js +467 -467
  534. package/dist/utils/locale.d.ts +24 -24
  535. package/dist/utils/locale.js +91 -91
  536. package/dist/utils/mailchimp.d.ts +58 -58
  537. package/dist/utils/mailchimp.js +531 -531
  538. package/dist/utils/mathUtils.d.ts +17 -17
  539. package/dist/utils/mathUtils.js +324 -324
  540. package/dist/utils/mongodb.d.ts +1 -1
  541. package/dist/utils/mongodb.js +22 -22
  542. package/dist/utils/object.d.ts +32 -32
  543. package/dist/utils/object.js +133 -133
  544. package/dist/utils/payment.d.ts +10 -10
  545. package/dist/utils/payment.js +23 -23
  546. package/dist/utils/products.d.ts +39 -39
  547. package/dist/utils/products.js +195 -195
  548. package/dist/utils/promiseToPurchase.d.ts +88 -88
  549. package/dist/utils/promiseToPurchase.js +229 -229
  550. package/dist/utils/prosprsearch.d.ts +42 -42
  551. package/dist/utils/prosprsearch.js +216 -216
  552. package/dist/utils/refunds.d.ts +2 -2
  553. package/dist/utils/refunds.js +21 -21
  554. package/dist/utils/sdc.d.ts +10 -10
  555. package/dist/utils/sdc.js +1309 -1309
  556. package/dist/utils/searchIndexes.d.ts +58 -58
  557. package/dist/utils/searchIndexes.js +247 -247
  558. package/dist/utils/services.d.ts +42 -42
  559. package/dist/utils/services.js +409 -409
  560. package/dist/utils/shipment.d.ts +110 -110
  561. package/dist/utils/shipment.js +345 -345
  562. package/dist/utils/simpletexting.d.ts +2 -2
  563. package/dist/utils/simpletexting.js +45 -45
  564. package/dist/utils/sliders.d.ts +4 -4
  565. package/dist/utils/sliders.js +24 -24
  566. package/dist/utils/string.d.ts +16 -16
  567. package/dist/utils/string.js +192 -192
  568. package/dist/utils/tcgService.d.ts +88 -88
  569. package/dist/utils/tcgService.js +408 -408
  570. package/dist/utils/tools.d.ts +5 -5
  571. package/dist/utils/tools.js +13 -13
  572. package/dist/utils/transferRequests.d.ts +43 -43
  573. package/dist/utils/transferRequests.js +67 -67
  574. package/dist/utils/update.d.ts +7 -7
  575. package/dist/utils/update.js +137 -137
  576. package/dist/utils/weight.d.ts +3 -3
  577. package/dist/utils/weight.js +16 -16
  578. package/dist/utils/zones.d.ts +11 -11
  579. package/dist/utils/zones.js +218 -218
  580. package/package.json +107 -107
  581. package/publish.sh +143 -143
  582. package/readme.md +182 -182
  583. package/.claude/settings.local.json +0 -7
  584. package/.env +0 -14
package/readme.md CHANGED
@@ -1,182 +1,182 @@
1
- # ClientGNG SDK
2
-
3
- ## Getting Started
4
-
5
- Bienvenue dans le SDK admin!
6
-
7
- Le SDK qu'on appelle "admin" est un peu le coeur de la solution ecommerce d'Addio. Il est la seule dépendance commune à tous les autres projets du ecomm, et est installé comme dépendance dans :
8
-
9
- - Les firebase functions `gng-tb-firebase-functions`
10
- - Le SDK front `gng-ecomm-sdk`, rattaché à tous les sites web des clients du ecomm
11
- - Le dashboard `gng-ecomm-dash`
12
-
13
- Il est séparé en quatre grandes sections :
14
-
15
- ### Les interfaces
16
-
17
- Dossier `src/Interfaces/`
18
- Contiennent toutes les interfaces de données qui nous servent de types pour la donnée enregistrée en BD. C'est ce qui nous permet de typer de façon pertinente les différents objets que nous avons à traiter à travers le ecommerce. Bien qu'il peut exister des interfaces pour un peu n'importe quel objet de données, on crée toujours au minimum une interface par classe.
19
-
20
- Dans certains fichiers d'interface, on retrouvera aussi des fonctions ou des objets correspondant aux valeurs "par défault" de l'interface, permettant de construire des objets vides au besoin. Lorsqu'une interface contient des interfaces ou des enums secondaires, qui ne sont pas réutilisés par d'autres, ils se trouveront aussi dans le même fichier.
21
-
22
- ### Les classes
23
-
24
- Dossier `src/lib/`
25
- Contient un fichier/dossier par collection en base de données. Nous utilisons la méthode orientée objet pour instancier les entrées de la base de donnée selon leur collection (une classe par collection). Chaque classe a sa propre interface pour son type, et peut extend une classe générale.
26
-
27
- Ces fichiers contiennent les fonctions CRUD de base pour la classe, ainsi que d'autres fonctions spécifiques à la classe, qui font les transactions avec la base de données.
28
-
29
- ### Les utilitaires
30
-
31
- Dossier `src/utils/`
32
- Contient plusieurs fonctions utilitaires, regroupées par "thème", qui sont utilisées dans plusieurs endroits/projets différents. La règle habituelle, c'est que si ça peut être utile à plus d'un contexte, on l'ajoute dans les utilitaires du SDK-admin. Par contre, il y a beaucoup de fonctions qui sont dédoublées en ce moment (il y a un ménage à faire!), donc simplement porter une attention particulière lorsque vous importez des utils du SDK-admin. Aussi, si vous avez besoin d'une fonction pour quelque chose, pourquoi ne pas vérifier avant si elle existe déjà dans les utils du SDK-admin!
33
-
34
- ### Les autres dossiers
35
-
36
- Dossier `src/rules/`
37
- Pour les règles d'affaire spécifiques à certains clients du ecomm. En ce moment, utilisé principalement pour Groupe Richer!
38
-
39
- Dossier `src/services/`
40
- Nouveau dossier qui contient toute la logique centralisée pour le traitement des données. Permet entre autre de switch entre différentes technologies de base de données, tout en s'assurant de toujours recevoir un modèle de donnée uniforme.
41
-
42
- Dossier `src/constantes/`
43
- Semble contenir que des enums et interfaces pour MongoDB, à transférer ailleurs?
44
-
45
- Dossier `src/test/`
46
- Contient une liste de tests utilitaires, qui sont exécutés au build du projet. Utilisent _Mocha_ et _Chaï_ pour les tests.
47
-
48
- ## IMPORTANT - Depuis les modifications pour la gestion des secrets
49
-
50
- Il est maintenant important que, autant dans le dash que dans les firebase functions, les variables d'environnement NEXT_PUBLIC_SERVICE_DATABASE_TOKEN et NEXT_PUBLIC_SERVICE_DATABASE_URL soient définies dans le .env à partir de zoho vault.
51
-
52
- ## Les branches
53
-
54
- Le SDK admin ne contient qu'une seule branche principale, soit la branche `master`, puisque le SDK admin est une dépendance publiée, et on veut toujours publier à partir d'une même la branche pour avoir les versions les plus à jour.
55
-
56
- Lorsqu'on souhaite partir une nouvelle branche pour développer, toujours partir de master :
57
-
58
- ```bash
59
-
60
- git checkout master
61
- git pull
62
- git checkout -b master-[num_de_tache/ticket_ici]
63
- yarn
64
-
65
- ```
66
-
67
- Faire les modifications, et ensuite
68
-
69
- ```bash
70
-
71
- git add .
72
- git commit -m "résumé de la modification"
73
- git push --set-upstream origin master-GR3-T67
74
- // et juste git push pour les fois subséquentes
75
-
76
- ```
77
-
78
- Le merge avec la branche master se fera via une pull request dans GitHub.
79
-
80
- ## Tests et développement
81
-
82
- Pour tester les modifications apportées dans le SDK-admin, ou pour voir des logs ajoutés, cela dépend du projet qui a le SDK admin en dépendance. Par contre, dans tous les cas, il faut s'assurer de toujours faire `yarn build` après avoir apporté des modifications dans le sSDK-admin, pour qu'elles soient compilées en local et appliquées dans le projet rattaché.
83
-
84
- ### Dans des fonctions appelées par le `gng-ecomm-dash` :
85
-
86
- On peut lier le sdk-admin en local directement dans le dashboard afin de voir les modifiactions en temps réel dans la version locale du dashboard. Voir la procédure exacte dans le [README du dashboard](https://github.com/ciaoqc/gng-ecomm-dash).
87
- Les logs apparaitront alors dans la console du navigateur, sur la version locale du dashboard.
88
-
89
- ### Dans des fonctions appelées par le `gng-ecomm-sdk` ou un des sites front :
90
-
91
- On doit lier le SDK-admin en local dans le SDK-front (`gng-ecomm-sdk`), puis lier le SDK-front dans le site souhaité. Voir la procédure exacte dans le [README du SDK-front](https://github.com/ciaoqc/gng-ecomm-sdk). Les logs apparaitront alors dans la console du navigateur, sur la version locale du site.
92
-
93
- ### Dans des fonctions appelées par les `gng-tb-firebase-functions` :
94
-
95
- On _ne peut PAS_ lier le SDK-admin en local dans ce cas là, puisque les firebase functions ne peuvent pas rouler en local. Il faudra alors créer et publier un canary pour le SDK-admin, et mettre à jour la dépendances dans les firebase functions pour pouvoir voir la modification. Les logs dans les firebase se trouveront dans la console des cloud functions de Firebase directement (voir le [README des firebase functions](https://github.com/ciaoqc/gng-tb-firebase-functions) pour les détails).
96
-
97
- ## Publication de versions stables et de canary
98
-
99
- Le SDK-admin est une dépendance publiée sur NPM, puis importée dans les projets où elle est nécessaire. On doit donc toujours publier une nouvelle version lorsqu'on veut mettre à jour le SDK sur l'une des branches d'un autre projet. La publication se fait de façon manuelle (n'est _pas_ automatique au déploiement).
100
-
101
- Pour faire une publication du SDK, il faut d'abord s'assurer qu'on soit connecté à NPM, et qu'on a les accès nécessaires pour publier le package. Pour vérifier si vous êtes connectés, faites la commande `npm whoami` dans le terminal, ce qui vous donnera votre compte si connecté.
102
-
103
- Une fois connecté, assurez vous d'être dans un terminal bash (surtout important pour les utilisateurs de PC), puis faites les commandes suivantes dans le terminal :
104
-
105
- ```bash
106
- yarn
107
- yarn build
108
- yarn pub
109
- ```
110
-
111
- Suivez les indications dans le terminal pour publier votre version. Si vous vous posez la question à savoir si vous devez créer une version stable ou un canary :
112
-
113
- ### Quand publier un canary
114
-
115
- Un canary est une version temporaire du SDK-admin, utilisée soit pour des tests lorsqu'on ne peut pas tester en liant le SDK localement, ou encore, lorsqu'on développe sur des branches parallèles qui doivent être maintenue à long terme avant d'être ré-intégrées avec la branche principale.
116
-
117
- Lorsqu'on se trouve sur une branche secondaire du SDK-admin (autre que master), vous n'aurez que le choix de créer un canary en faisant `yarn pub`. La règle générale, c'est qu'il ne devrait jamais y avoir de canary sur la branche master, ou sur des branches en production dans les différents projets!
118
-
119
- Lorsqu'on génère un canary, on le fait en ajoutant `-canary` + `-1`, ou le 1 est incrémenté à chaque nouveau canary. Si la version stable de laquelle vous partez est la version `1.0.0`, le canary qu'on vous proposera sera alors `1.0.0-canary-1`. Ou encore, si vous partez de la version `1.0.0-canary-45`, on vous proposera `1.0.0-canary-46`.
120
-
121
- _ATTENTION_ - Il ne peut y avoir qu'un seul canary par itération (donc un seul canary-46 par version stable, par exemple). Ce que cela veut dire, c'est qu'on doit toujours s'assurer d'être à jour avec la branche principale de développement lorsqu'on a l'intention de créer un nouveau canary, pour être synchronisé avec les versions actuellement déployées.
122
-
123
- Par contre, il est possible que deux branches parallèles aient besoin de canary en même temps. Dans ce temps là, la commande `yarn pub` s'occupera de vérifier si la version que vous tentez de créer existe déjà. Si oui, elle affichera un message en console, et passera au canary suivant, jusqu'à ce qu'il tombe sur un canary disponible. Si jamais vous voyez que la logique roule depuis un moment, et que votre canary s'incrémente à l'infini, c'est probablement que vous n'êtes pas à jour!
124
-
125
- ### Quand publier une version stable
126
-
127
- On publie une version stable du SDK-admin SEULEMENT à partir de la branche master. Et seulement lorsqu'on est prêt à ce que nos modifiactions soient disponibles à d'autres projets que celui où nous travaillons présentement.
128
-
129
- La version stable du SDK-admin s'incrémentera automatiquement elle aussi avec la commande `yarn pub`, en ajoutant 1 au troisième élément de la version ("patch release"). Ex. Si la version courrante est `1.0.0`, la version qui vous sera proposée sera `1.0.1`. Si jamais vos modifications sont plus de l'ordre de la "minor relase" ou du "major release", vous devrez utiliser la commande `yarn publish` plutôt, et entrer votre version manuellement. Nous recommandons que cela soit fait en ayant consulté les autres membres de l'équipe avant!
130
-
131
- ## Ajout du SDK admin dans d'autres projets
132
-
133
- Après avoir publié votre nouvelle version du SDK-admin, pour le mettre à jour dans les projets :
134
-
135
- - Pour mettre à jour avec la version stable la plus récente :
136
-
137
- ```bash
138
- yarn update-sdk
139
- ```
140
-
141
- - Pour mettre à jour avec le canary le plus récent :
142
-
143
- ```bash
144
- yarn update-canary
145
- ```
146
-
147
- Dans les deux cas, cela ira chercher la version la plus récente de la dépendance, et l'ajoutera au package.json du projet, en y préfixant le symbole `^`. Le `^` veut dire que cela ira toujours chercher la plus récente version lorsqu'un build est effectué. Par exemple, si dans le package.json on voit
148
-
149
- ```
150
- "gng-ecomm-admin-sdk": "^1.0.3",
151
- ```
152
-
153
- mais qu'une version `1.0.4` a été publiée depuis, au prochain yarn, cela téléchargera la version `1.0.4` du package, sans changer ce qui affiche dans le package.json. Pour savoir la version réelle du package qui est installée, vérifier dans le yarn.lock.
154
-
155
- Notre NPM a été configuré pour que, si c'est un canary qui est installé en ce moment, on va seulement chercher les canary les plus récents, et idem pour les versions stables. Par contre, cela peut évidemment causer des problèmes avec le développement, si deux canary coexistent par exemple.
156
-
157
- Pour éviter cela, lorsque vous voulez forcer la version du sdk-admin à télécharger, aller simplement retirer le `^` dans le package.json devant la version. Sauvegardez le fichier, puis refaites la commande `yarn` dans le terminal, ce qui installera une version "figée" de la dépendance. Règle générale, pour les version stables, on laisse toujours le `^` devant la version. Donc c'est surtout une manipulation qui est faite avec les canary.
158
-
159
- ## Tests unitaires
160
-
161
- Quelques tests unitaires existent déjà pour certaines classes et utilitaires du SDK-admin. Nous utilisons Mocha et Chai pour construire ces tests.
162
- Ils peuvent être déclanchés localement en utilisant les différentes commandes énoncées dans le package.json :
163
-
164
- - `yarn class-tests` : Déclenche les tests trouvés dans les classes (dossier `src/lib`)
165
- - `yarn local-tests` : Déclenche les tests trouvés dans le dossier courrant où vous êtes (naviger dans le bon dossier via le terminal avant)
166
- - `yarn rules-gr-tests` : Déclenche les tests au niveau des règles d'affaire de GR (dossier `src/rules/GR/utils`)
167
- - `yarn test` : Déclenche les test du dossier `src/test`, avec affichage réduit des résultats en console
168
- - `yarn test:with-spec-reporter` : Déclenche les test du dossier `src/test`, avec affichage détaillé des résultats en console.
169
-
170
- ## Documentation générée automatiquement
171
-
172
- Pour le SDK admin, nous tentons d'utiliser le plus possible la documentation en début de fonctions avec la nomenclature `jsdoc`. Cela nous permet non seulement de garder une meilleur trace du but des fonctions, des propriétés reçues et de la valeur retournée, mais aussi de générer de la documentation "papier" à partir de ces entêtes.
173
-
174
- Pour générer la doc, faire la commande suivante dans le terminal :
175
-
176
- ```bash
177
- yarn build:doc
178
- ```
179
-
180
- NOTE - Si jamais des erreurs de type sont trouvées, elles afficheront en console, et vous devrez les corriger pour que le document se produise.
181
-
182
- Le fichier généré se trouve à la racine du projet : `addio-sdk-doc.md`
1
+ # ClientGNG SDK
2
+
3
+ ## Getting Started
4
+
5
+ Bienvenue dans le SDK admin!
6
+
7
+ Le SDK qu'on appelle "admin" est un peu le coeur de la solution ecommerce d'Addio. Il est la seule dépendance commune à tous les autres projets du ecomm, et est installé comme dépendance dans :
8
+
9
+ - Les firebase functions `gng-tb-firebase-functions`
10
+ - Le SDK front `gng-ecomm-sdk`, rattaché à tous les sites web des clients du ecomm
11
+ - Le dashboard `gng-ecomm-dash`
12
+
13
+ Il est séparé en quatre grandes sections :
14
+
15
+ ### Les interfaces
16
+
17
+ Dossier `src/Interfaces/`
18
+ Contiennent toutes les interfaces de données qui nous servent de types pour la donnée enregistrée en BD. C'est ce qui nous permet de typer de façon pertinente les différents objets que nous avons à traiter à travers le ecommerce. Bien qu'il peut exister des interfaces pour un peu n'importe quel objet de données, on crée toujours au minimum une interface par classe.
19
+
20
+ Dans certains fichiers d'interface, on retrouvera aussi des fonctions ou des objets correspondant aux valeurs "par défault" de l'interface, permettant de construire des objets vides au besoin. Lorsqu'une interface contient des interfaces ou des enums secondaires, qui ne sont pas réutilisés par d'autres, ils se trouveront aussi dans le même fichier.
21
+
22
+ ### Les classes
23
+
24
+ Dossier `src/lib/`
25
+ Contient un fichier/dossier par collection en base de données. Nous utilisons la méthode orientée objet pour instancier les entrées de la base de donnée selon leur collection (une classe par collection). Chaque classe a sa propre interface pour son type, et peut extend une classe générale.
26
+
27
+ Ces fichiers contiennent les fonctions CRUD de base pour la classe, ainsi que d'autres fonctions spécifiques à la classe, qui font les transactions avec la base de données.
28
+
29
+ ### Les utilitaires
30
+
31
+ Dossier `src/utils/`
32
+ Contient plusieurs fonctions utilitaires, regroupées par "thème", qui sont utilisées dans plusieurs endroits/projets différents. La règle habituelle, c'est que si ça peut être utile à plus d'un contexte, on l'ajoute dans les utilitaires du SDK-admin. Par contre, il y a beaucoup de fonctions qui sont dédoublées en ce moment (il y a un ménage à faire!), donc simplement porter une attention particulière lorsque vous importez des utils du SDK-admin. Aussi, si vous avez besoin d'une fonction pour quelque chose, pourquoi ne pas vérifier avant si elle existe déjà dans les utils du SDK-admin!
33
+
34
+ ### Les autres dossiers
35
+
36
+ Dossier `src/rules/`
37
+ Pour les règles d'affaire spécifiques à certains clients du ecomm. En ce moment, utilisé principalement pour Groupe Richer!
38
+
39
+ Dossier `src/services/`
40
+ Nouveau dossier qui contient toute la logique centralisée pour le traitement des données. Permet entre autre de switch entre différentes technologies de base de données, tout en s'assurant de toujours recevoir un modèle de donnée uniforme.
41
+
42
+ Dossier `src/constantes/`
43
+ Semble contenir que des enums et interfaces pour MongoDB, à transférer ailleurs?
44
+
45
+ Dossier `src/test/`
46
+ Contient une liste de tests utilitaires, qui sont exécutés au build du projet. Utilisent _Mocha_ et _Chaï_ pour les tests.
47
+
48
+ ## IMPORTANT - Depuis les modifications pour la gestion des secrets
49
+
50
+ Il est maintenant important que, autant dans le dash que dans les firebase functions, les variables d'environnement NEXT_PUBLIC_SERVICE_DATABASE_TOKEN et NEXT_PUBLIC_SERVICE_DATABASE_URL soient définies dans le .env à partir de zoho vault.
51
+
52
+ ## Les branches
53
+
54
+ Le SDK admin ne contient qu'une seule branche principale, soit la branche `master`, puisque le SDK admin est une dépendance publiée, et on veut toujours publier à partir d'une même la branche pour avoir les versions les plus à jour.
55
+
56
+ Lorsqu'on souhaite partir une nouvelle branche pour développer, toujours partir de master :
57
+
58
+ ```bash
59
+
60
+ git checkout master
61
+ git pull
62
+ git checkout -b master-[num_de_tache/ticket_ici]
63
+ yarn
64
+
65
+ ```
66
+
67
+ Faire les modifications, et ensuite
68
+
69
+ ```bash
70
+
71
+ git add .
72
+ git commit -m "résumé de la modification"
73
+ git push --set-upstream origin master-GR3-T67
74
+ // et juste git push pour les fois subséquentes
75
+
76
+ ```
77
+
78
+ Le merge avec la branche master se fera via une pull request dans GitHub.
79
+
80
+ ## Tests et développement
81
+
82
+ Pour tester les modifications apportées dans le SDK-admin, ou pour voir des logs ajoutés, cela dépend du projet qui a le SDK admin en dépendance. Par contre, dans tous les cas, il faut s'assurer de toujours faire `yarn build` après avoir apporté des modifications dans le sSDK-admin, pour qu'elles soient compilées en local et appliquées dans le projet rattaché.
83
+
84
+ ### Dans des fonctions appelées par le `gng-ecomm-dash` :
85
+
86
+ On peut lier le sdk-admin en local directement dans le dashboard afin de voir les modifiactions en temps réel dans la version locale du dashboard. Voir la procédure exacte dans le [README du dashboard](https://github.com/ciaoqc/gng-ecomm-dash).
87
+ Les logs apparaitront alors dans la console du navigateur, sur la version locale du dashboard.
88
+
89
+ ### Dans des fonctions appelées par le `gng-ecomm-sdk` ou un des sites front :
90
+
91
+ On doit lier le SDK-admin en local dans le SDK-front (`gng-ecomm-sdk`), puis lier le SDK-front dans le site souhaité. Voir la procédure exacte dans le [README du SDK-front](https://github.com/ciaoqc/gng-ecomm-sdk). Les logs apparaitront alors dans la console du navigateur, sur la version locale du site.
92
+
93
+ ### Dans des fonctions appelées par les `gng-tb-firebase-functions` :
94
+
95
+ On _ne peut PAS_ lier le SDK-admin en local dans ce cas là, puisque les firebase functions ne peuvent pas rouler en local. Il faudra alors créer et publier un canary pour le SDK-admin, et mettre à jour la dépendances dans les firebase functions pour pouvoir voir la modification. Les logs dans les firebase se trouveront dans la console des cloud functions de Firebase directement (voir le [README des firebase functions](https://github.com/ciaoqc/gng-tb-firebase-functions) pour les détails).
96
+
97
+ ## Publication de versions stables et de canary
98
+
99
+ Le SDK-admin est une dépendance publiée sur NPM, puis importée dans les projets où elle est nécessaire. On doit donc toujours publier une nouvelle version lorsqu'on veut mettre à jour le SDK sur l'une des branches d'un autre projet. La publication se fait de façon manuelle (n'est _pas_ automatique au déploiement).
100
+
101
+ Pour faire une publication du SDK, il faut d'abord s'assurer qu'on soit connecté à NPM, et qu'on a les accès nécessaires pour publier le package. Pour vérifier si vous êtes connectés, faites la commande `npm whoami` dans le terminal, ce qui vous donnera votre compte si connecté.
102
+
103
+ Une fois connecté, assurez vous d'être dans un terminal bash (surtout important pour les utilisateurs de PC), puis faites les commandes suivantes dans le terminal :
104
+
105
+ ```bash
106
+ yarn
107
+ yarn build
108
+ yarn pub
109
+ ```
110
+
111
+ Suivez les indications dans le terminal pour publier votre version. Si vous vous posez la question à savoir si vous devez créer une version stable ou un canary :
112
+
113
+ ### Quand publier un canary
114
+
115
+ Un canary est une version temporaire du SDK-admin, utilisée soit pour des tests lorsqu'on ne peut pas tester en liant le SDK localement, ou encore, lorsqu'on développe sur des branches parallèles qui doivent être maintenue à long terme avant d'être ré-intégrées avec la branche principale.
116
+
117
+ Lorsqu'on se trouve sur une branche secondaire du SDK-admin (autre que master), vous n'aurez que le choix de créer un canary en faisant `yarn pub`. La règle générale, c'est qu'il ne devrait jamais y avoir de canary sur la branche master, ou sur des branches en production dans les différents projets!
118
+
119
+ Lorsqu'on génère un canary, on le fait en ajoutant `-canary` + `-1`, ou le 1 est incrémenté à chaque nouveau canary. Si la version stable de laquelle vous partez est la version `1.0.0`, le canary qu'on vous proposera sera alors `1.0.0-canary-1`. Ou encore, si vous partez de la version `1.0.0-canary-45`, on vous proposera `1.0.0-canary-46`.
120
+
121
+ _ATTENTION_ - Il ne peut y avoir qu'un seul canary par itération (donc un seul canary-46 par version stable, par exemple). Ce que cela veut dire, c'est qu'on doit toujours s'assurer d'être à jour avec la branche principale de développement lorsqu'on a l'intention de créer un nouveau canary, pour être synchronisé avec les versions actuellement déployées.
122
+
123
+ Par contre, il est possible que deux branches parallèles aient besoin de canary en même temps. Dans ce temps là, la commande `yarn pub` s'occupera de vérifier si la version que vous tentez de créer existe déjà. Si oui, elle affichera un message en console, et passera au canary suivant, jusqu'à ce qu'il tombe sur un canary disponible. Si jamais vous voyez que la logique roule depuis un moment, et que votre canary s'incrémente à l'infini, c'est probablement que vous n'êtes pas à jour!
124
+
125
+ ### Quand publier une version stable
126
+
127
+ On publie une version stable du SDK-admin SEULEMENT à partir de la branche master. Et seulement lorsqu'on est prêt à ce que nos modifiactions soient disponibles à d'autres projets que celui où nous travaillons présentement.
128
+
129
+ La version stable du SDK-admin s'incrémentera automatiquement elle aussi avec la commande `yarn pub`, en ajoutant 1 au troisième élément de la version ("patch release"). Ex. Si la version courrante est `1.0.0`, la version qui vous sera proposée sera `1.0.1`. Si jamais vos modifications sont plus de l'ordre de la "minor relase" ou du "major release", vous devrez utiliser la commande `yarn publish` plutôt, et entrer votre version manuellement. Nous recommandons que cela soit fait en ayant consulté les autres membres de l'équipe avant!
130
+
131
+ ## Ajout du SDK admin dans d'autres projets
132
+
133
+ Après avoir publié votre nouvelle version du SDK-admin, pour le mettre à jour dans les projets :
134
+
135
+ - Pour mettre à jour avec la version stable la plus récente :
136
+
137
+ ```bash
138
+ yarn update-sdk
139
+ ```
140
+
141
+ - Pour mettre à jour avec le canary le plus récent :
142
+
143
+ ```bash
144
+ yarn update-canary
145
+ ```
146
+
147
+ Dans les deux cas, cela ira chercher la version la plus récente de la dépendance, et l'ajoutera au package.json du projet, en y préfixant le symbole `^`. Le `^` veut dire que cela ira toujours chercher la plus récente version lorsqu'un build est effectué. Par exemple, si dans le package.json on voit
148
+
149
+ ```
150
+ "gng-ecomm-admin-sdk": "^1.0.3",
151
+ ```
152
+
153
+ mais qu'une version `1.0.4` a été publiée depuis, au prochain yarn, cela téléchargera la version `1.0.4` du package, sans changer ce qui affiche dans le package.json. Pour savoir la version réelle du package qui est installée, vérifier dans le yarn.lock.
154
+
155
+ Notre NPM a été configuré pour que, si c'est un canary qui est installé en ce moment, on va seulement chercher les canary les plus récents, et idem pour les versions stables. Par contre, cela peut évidemment causer des problèmes avec le développement, si deux canary coexistent par exemple.
156
+
157
+ Pour éviter cela, lorsque vous voulez forcer la version du sdk-admin à télécharger, aller simplement retirer le `^` dans le package.json devant la version. Sauvegardez le fichier, puis refaites la commande `yarn` dans le terminal, ce qui installera une version "figée" de la dépendance. Règle générale, pour les version stables, on laisse toujours le `^` devant la version. Donc c'est surtout une manipulation qui est faite avec les canary.
158
+
159
+ ## Tests unitaires
160
+
161
+ Quelques tests unitaires existent déjà pour certaines classes et utilitaires du SDK-admin. Nous utilisons Mocha et Chai pour construire ces tests.
162
+ Ils peuvent être déclanchés localement en utilisant les différentes commandes énoncées dans le package.json :
163
+
164
+ - `yarn class-tests` : Déclenche les tests trouvés dans les classes (dossier `src/lib`)
165
+ - `yarn local-tests` : Déclenche les tests trouvés dans le dossier courrant où vous êtes (naviger dans le bon dossier via le terminal avant)
166
+ - `yarn rules-gr-tests` : Déclenche les tests au niveau des règles d'affaire de GR (dossier `src/rules/GR/utils`)
167
+ - `yarn test` : Déclenche les test du dossier `src/test`, avec affichage réduit des résultats en console
168
+ - `yarn test:with-spec-reporter` : Déclenche les test du dossier `src/test`, avec affichage détaillé des résultats en console.
169
+
170
+ ## Documentation générée automatiquement
171
+
172
+ Pour le SDK admin, nous tentons d'utiliser le plus possible la documentation en début de fonctions avec la nomenclature `jsdoc`. Cela nous permet non seulement de garder une meilleur trace du but des fonctions, des propriétés reçues et de la valeur retournée, mais aussi de générer de la documentation "papier" à partir de ces entêtes.
173
+
174
+ Pour générer la doc, faire la commande suivante dans le terminal :
175
+
176
+ ```bash
177
+ yarn build:doc
178
+ ```
179
+
180
+ NOTE - Si jamais des erreurs de type sont trouvées, elles afficheront en console, et vous devrez les corriger pour que le document se produise.
181
+
182
+ Le fichier généré se trouve à la racine du projet : `addio-sdk-doc.md`
@@ -1,7 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(yarn test *)"
5
- ]
6
- }
7
- }
package/.env DELETED
@@ -1,14 +0,0 @@
1
- NEXT_PUBLIC_FIREBASE_CONFIG_API_KEY_DEV='AIzaSyBNtwzdIe2__HJD23S87RIbWbIqKQVtFiw'
2
- NEXT_PUBLIC_FIREBASE_CONFIG_API_KEY_PROD='AIzaSyDK6WQZkCrsMGunAPHn9KkdCGPky4hTgL4'
3
- NEXT_PUBLIC_MESSAGING_SENDER_ID_DEV='188490998694'
4
- NEXT_PUBLIC_MESSAGING_SENDER_ID_PROD='725873016982'
5
- NEXT_PUBLIC_FIREBASE_APP_ID_DEV='1:188490998694:web:eecd719e7b18f38d272567'
6
- NEXT_PUBLIC_FIREBASE_APP_ID_PROD='1:725873016982:web:9b1f6d77819909e19102b7'
7
- NEXT_PUBLIC_MEASUREMENT_ID_DEV='G-4BB66ZRTWZ'
8
- NEXT_PUBLIC_MEASUREMENT_ID_PROD='G-BB8HHZ466R'
9
- NEXT_PUBLIC_SERVICE_DATABASE_READ_PROVIDER=nobase
10
- NEXT_PUBLIC_SERVICE_DATABASE_WRITE_PROVIDER=nobase,firebase
11
- NEXT_PUBLIC_SERVICE_DATABASE_URL=https://db-test.addiocommerce.com/
12
- NEXT_PUBLIC_SERVICE_DATABASE_TOKEN=$SERVICE_DATABASE_TOKEN
13
- # NEXT_PUBLIC_API_URL=https://api-test.addiocommerce.com/v1
14
- NEXT_PUBLIC_API_URL=http://localhost:8080