@stamhoofd/structures 2.1.1 → 2.1.4

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 (349) hide show
  1. package/dist/index.d.ts +19 -11
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +20 -11
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/Document.d.ts +11 -4
  6. package/dist/src/Document.d.ts.map +1 -1
  7. package/dist/src/Document.js +57 -7
  8. package/dist/src/Document.js.map +1 -1
  9. package/dist/src/Group.d.ts +10 -17
  10. package/dist/src/Group.d.ts.map +1 -1
  11. package/dist/src/Group.js +25 -22
  12. package/dist/src/Group.js.map +1 -1
  13. package/dist/src/GroupCategory.d.ts +11 -10
  14. package/dist/src/GroupCategory.d.ts.map +1 -1
  15. package/dist/src/GroupCategory.js +19 -36
  16. package/dist/src/GroupCategory.js.map +1 -1
  17. package/dist/src/GroupSettings.d.ts +11 -0
  18. package/dist/src/GroupSettings.d.ts.map +1 -1
  19. package/dist/src/GroupSettings.js +13 -0
  20. package/dist/src/GroupSettings.js.map +1 -1
  21. package/dist/src/Organization.d.ts +22 -12
  22. package/dist/src/Organization.d.ts.map +1 -1
  23. package/dist/src/Organization.js +38 -44
  24. package/dist/src/Organization.js.map +1 -1
  25. package/dist/src/OrganizationMetaData.d.ts +18 -1
  26. package/dist/src/OrganizationMetaData.d.ts.map +1 -1
  27. package/dist/src/OrganizationMetaData.js +23 -0
  28. package/dist/src/OrganizationMetaData.js.map +1 -1
  29. package/dist/src/Permissions.d.ts +134 -29
  30. package/dist/src/Permissions.d.ts.map +1 -1
  31. package/dist/src/Permissions.js +534 -115
  32. package/dist/src/Permissions.js.map +1 -1
  33. package/dist/src/Platform.d.ts +39 -1
  34. package/dist/src/Platform.d.ts.map +1 -1
  35. package/dist/src/Platform.js +101 -4
  36. package/dist/src/Platform.js.map +1 -1
  37. package/dist/src/RegistrationPeriod.d.ts +12 -1
  38. package/dist/src/RegistrationPeriod.d.ts.map +1 -1
  39. package/dist/src/RegistrationPeriod.js +21 -0
  40. package/dist/src/RegistrationPeriod.js.map +1 -1
  41. package/dist/src/User.d.ts +6 -3
  42. package/dist/src/User.d.ts.map +1 -1
  43. package/dist/src/User.js +52 -2
  44. package/dist/src/User.js.map +1 -1
  45. package/dist/src/Version.d.ts +1 -1
  46. package/dist/src/Version.js +1 -1
  47. package/dist/src/admin/OrganizationSummary.js +1 -1
  48. package/dist/src/admin/OrganizationSummary.js.map +1 -1
  49. package/dist/src/billing/STPackage.js +2 -2
  50. package/dist/src/billing/STPackage.js.map +1 -1
  51. package/dist/src/billing/STPackageBundle.js +2 -2
  52. package/dist/src/billing/STPackageBundle.js.map +1 -1
  53. package/dist/src/endpoints/RegisterResponse.d.ts +2 -2
  54. package/dist/src/endpoints/RegisterResponse.d.ts.map +1 -1
  55. package/dist/src/endpoints/RegisterResponse.js +2 -3
  56. package/dist/src/endpoints/RegisterResponse.js.map +1 -1
  57. package/dist/src/filters/PropertyFilter.d.ts +13 -10
  58. package/dist/src/filters/PropertyFilter.d.ts.map +1 -1
  59. package/dist/src/filters/PropertyFilter.js +35 -22
  60. package/dist/src/filters/PropertyFilter.js.map +1 -1
  61. package/dist/src/filters/new/FilteredRequest.d.ts +4 -1
  62. package/dist/src/filters/new/FilteredRequest.d.ts.map +1 -1
  63. package/dist/src/filters/new/FilteredRequest.js +18 -5
  64. package/dist/src/filters/new/FilteredRequest.js.map +1 -1
  65. package/dist/src/filters/new/InMemoryFilter.d.ts +7 -7
  66. package/dist/src/filters/new/InMemoryFilter.d.ts.map +1 -1
  67. package/dist/src/filters/new/InMemoryFilter.js +143 -49
  68. package/dist/src/filters/new/InMemoryFilter.js.map +1 -1
  69. package/dist/src/filters/new/Sorters.d.ts.map +1 -1
  70. package/dist/src/filters/new/Sorters.js +0 -2
  71. package/dist/src/filters/new/Sorters.js.map +1 -1
  72. package/dist/src/filters/new/StamhoofdFilter.d.ts +6 -3
  73. package/dist/src/filters/new/StamhoofdFilter.d.ts.map +1 -1
  74. package/dist/src/filters/new/StamhoofdFilter.js +11 -0
  75. package/dist/src/filters/new/StamhoofdFilter.js.map +1 -1
  76. package/dist/src/grouping/PaginatedResponse.d.ts +6 -6
  77. package/dist/src/grouping/PaginatedResponse.d.ts.map +1 -1
  78. package/dist/src/grouping/PaginatedResponse.js +3 -2
  79. package/dist/src/grouping/PaginatedResponse.js.map +1 -1
  80. package/dist/src/members/EmergencyContact.d.ts +1 -0
  81. package/dist/src/members/EmergencyContact.d.ts.map +1 -1
  82. package/dist/src/members/EmergencyContact.js +6 -1
  83. package/dist/src/members/EmergencyContact.js.map +1 -1
  84. package/dist/src/members/Member.d.ts +0 -10
  85. package/dist/src/members/Member.d.ts.map +1 -1
  86. package/dist/src/members/Member.js +0 -18
  87. package/dist/src/members/Member.js.map +1 -1
  88. package/dist/src/members/MemberDetails.d.ts +14 -35
  89. package/dist/src/members/MemberDetails.d.ts.map +1 -1
  90. package/dist/src/members/MemberDetails.js +137 -274
  91. package/dist/src/members/MemberDetails.js.map +1 -1
  92. package/dist/src/members/MemberWithRegistrations.d.ts +11 -17
  93. package/dist/src/members/MemberWithRegistrations.d.ts.map +1 -1
  94. package/dist/src/members/MemberWithRegistrations.js +9 -197
  95. package/dist/src/members/MemberWithRegistrations.js.map +1 -1
  96. package/dist/src/members/OrganizationRecordsConfiguration.d.ts +10 -48
  97. package/dist/src/members/OrganizationRecordsConfiguration.d.ts.map +1 -1
  98. package/dist/src/members/OrganizationRecordsConfiguration.js +8 -161
  99. package/dist/src/members/OrganizationRecordsConfiguration.js.map +1 -1
  100. package/dist/src/members/PlatformMember.d.ts +6 -6
  101. package/dist/src/members/PlatformMember.d.ts.map +1 -1
  102. package/dist/src/members/PlatformMember.js +17 -14
  103. package/dist/src/members/PlatformMember.js.map +1 -1
  104. package/dist/src/members/Registration.d.ts +4 -1
  105. package/dist/src/members/Registration.d.ts.map +1 -1
  106. package/dist/src/members/Registration.js +11 -2
  107. package/dist/src/members/Registration.js.map +1 -1
  108. package/dist/src/members/RegistrationWithMember.d.ts +0 -2
  109. package/dist/src/members/RegistrationWithMember.d.ts.map +1 -1
  110. package/dist/src/members/RegistrationWithMember.js +0 -4
  111. package/dist/src/members/RegistrationWithMember.js.map +1 -1
  112. package/dist/src/members/checkout/RegisterCartPriceCalculator.test.js +109 -63
  113. package/dist/src/members/checkout/RegisterCartPriceCalculator.test.js.map +1 -1
  114. package/dist/src/members/checkout/RegisterCheckout.d.ts +98 -17
  115. package/dist/src/members/checkout/RegisterCheckout.d.ts.map +1 -1
  116. package/dist/src/members/checkout/RegisterCheckout.js +545 -22
  117. package/dist/src/members/checkout/RegisterCheckout.js.map +1 -1
  118. package/dist/src/members/checkout/UnknownMemberWithRegistrations.d.ts +1 -1
  119. package/dist/src/members/records/RecordCategory.d.ts +17 -16
  120. package/dist/src/members/records/RecordCategory.d.ts.map +1 -1
  121. package/dist/src/members/records/RecordCategory.js +38 -179
  122. package/dist/src/members/records/RecordCategory.js.map +1 -1
  123. package/dist/src/members/records/RecordConfigurationFactory.d.ts.map +1 -1
  124. package/dist/src/members/records/RecordConfigurationFactory.js +62 -45
  125. package/dist/src/members/records/RecordConfigurationFactory.js.map +1 -1
  126. package/dist/src/members/records/RecordFactory.d.ts.map +1 -1
  127. package/dist/src/members/records/RecordFactory.js +6 -12
  128. package/dist/src/members/records/RecordFactory.js.map +1 -1
  129. package/dist/src/members/records/RecordSettings.d.ts +2 -1
  130. package/dist/src/members/records/RecordSettings.d.ts.map +1 -1
  131. package/dist/src/members/records/RecordSettings.js +13 -4
  132. package/dist/src/members/records/RecordSettings.js.map +1 -1
  133. package/dist/src/webshops/Checkout.d.ts +11 -8
  134. package/dist/src/webshops/Checkout.d.ts.map +1 -1
  135. package/dist/src/webshops/Checkout.js +29 -71
  136. package/dist/src/webshops/Checkout.js.map +1 -1
  137. package/dist/src/webshops/TransferSettings.d.ts +1 -1
  138. package/dist/src/webshops/TransferSettings.d.ts.map +1 -1
  139. package/dist/src/webshops/TransferSettings.js +5 -8
  140. package/dist/src/webshops/TransferSettings.js.map +1 -1
  141. package/dist/src/webshops/Webshop.js +2 -2
  142. package/dist/src/webshops/Webshop.js.map +1 -1
  143. package/dist/src/webshops/WebshopMetaData.d.ts +8 -0
  144. package/dist/src/webshops/WebshopMetaData.d.ts.map +1 -1
  145. package/dist/src/webshops/WebshopMetaData.js +9 -1
  146. package/dist/src/webshops/WebshopMetaData.js.map +1 -1
  147. package/esm/dist/index.d.ts +19 -11
  148. package/esm/dist/index.d.ts.map +1 -1
  149. package/esm/dist/index.js +20 -11
  150. package/esm/dist/index.js.map +1 -1
  151. package/esm/dist/src/Document.d.ts +11 -4
  152. package/esm/dist/src/Document.d.ts.map +1 -1
  153. package/esm/dist/src/Document.js +57 -7
  154. package/esm/dist/src/Document.js.map +1 -1
  155. package/esm/dist/src/Group.d.ts +10 -17
  156. package/esm/dist/src/Group.d.ts.map +1 -1
  157. package/esm/dist/src/Group.js +26 -23
  158. package/esm/dist/src/Group.js.map +1 -1
  159. package/esm/dist/src/GroupCategory.d.ts +11 -10
  160. package/esm/dist/src/GroupCategory.d.ts.map +1 -1
  161. package/esm/dist/src/GroupCategory.js +20 -37
  162. package/esm/dist/src/GroupCategory.js.map +1 -1
  163. package/esm/dist/src/GroupSettings.d.ts +11 -0
  164. package/esm/dist/src/GroupSettings.d.ts.map +1 -1
  165. package/esm/dist/src/GroupSettings.js +13 -0
  166. package/esm/dist/src/GroupSettings.js.map +1 -1
  167. package/esm/dist/src/Organization.d.ts +22 -12
  168. package/esm/dist/src/Organization.d.ts.map +1 -1
  169. package/esm/dist/src/Organization.js +39 -45
  170. package/esm/dist/src/Organization.js.map +1 -1
  171. package/esm/dist/src/OrganizationMetaData.d.ts +18 -1
  172. package/esm/dist/src/OrganizationMetaData.d.ts.map +1 -1
  173. package/esm/dist/src/OrganizationMetaData.js +23 -0
  174. package/esm/dist/src/OrganizationMetaData.js.map +1 -1
  175. package/esm/dist/src/Permissions.d.ts +134 -29
  176. package/esm/dist/src/Permissions.d.ts.map +1 -1
  177. package/esm/dist/src/Permissions.js +529 -113
  178. package/esm/dist/src/Permissions.js.map +1 -1
  179. package/esm/dist/src/Platform.d.ts +39 -1
  180. package/esm/dist/src/Platform.d.ts.map +1 -1
  181. package/esm/dist/src/Platform.js +98 -4
  182. package/esm/dist/src/Platform.js.map +1 -1
  183. package/esm/dist/src/RegistrationPeriod.d.ts +12 -1
  184. package/esm/dist/src/RegistrationPeriod.d.ts.map +1 -1
  185. package/esm/dist/src/RegistrationPeriod.js +21 -0
  186. package/esm/dist/src/RegistrationPeriod.js.map +1 -1
  187. package/esm/dist/src/User.d.ts +6 -3
  188. package/esm/dist/src/User.d.ts.map +1 -1
  189. package/esm/dist/src/User.js +52 -2
  190. package/esm/dist/src/User.js.map +1 -1
  191. package/esm/dist/src/Version.d.ts +1 -1
  192. package/esm/dist/src/Version.js +1 -1
  193. package/esm/dist/src/admin/OrganizationSummary.js +1 -1
  194. package/esm/dist/src/admin/OrganizationSummary.js.map +1 -1
  195. package/esm/dist/src/billing/STPackage.js +2 -2
  196. package/esm/dist/src/billing/STPackage.js.map +1 -1
  197. package/esm/dist/src/billing/STPackageBundle.js +2 -2
  198. package/esm/dist/src/billing/STPackageBundle.js.map +1 -1
  199. package/esm/dist/src/endpoints/RegisterResponse.d.ts +2 -2
  200. package/esm/dist/src/endpoints/RegisterResponse.d.ts.map +1 -1
  201. package/esm/dist/src/endpoints/RegisterResponse.js +2 -3
  202. package/esm/dist/src/endpoints/RegisterResponse.js.map +1 -1
  203. package/esm/dist/src/filters/PropertyFilter.d.ts +13 -10
  204. package/esm/dist/src/filters/PropertyFilter.d.ts.map +1 -1
  205. package/esm/dist/src/filters/PropertyFilter.js +36 -23
  206. package/esm/dist/src/filters/PropertyFilter.js.map +1 -1
  207. package/esm/dist/src/filters/new/FilteredRequest.d.ts +4 -1
  208. package/esm/dist/src/filters/new/FilteredRequest.d.ts.map +1 -1
  209. package/esm/dist/src/filters/new/FilteredRequest.js +18 -6
  210. package/esm/dist/src/filters/new/FilteredRequest.js.map +1 -1
  211. package/esm/dist/src/filters/new/InMemoryFilter.d.ts +7 -7
  212. package/esm/dist/src/filters/new/InMemoryFilter.d.ts.map +1 -1
  213. package/esm/dist/src/filters/new/InMemoryFilter.js +142 -49
  214. package/esm/dist/src/filters/new/InMemoryFilter.js.map +1 -1
  215. package/esm/dist/src/filters/new/Sorters.d.ts.map +1 -1
  216. package/esm/dist/src/filters/new/Sorters.js +0 -2
  217. package/esm/dist/src/filters/new/Sorters.js.map +1 -1
  218. package/esm/dist/src/filters/new/StamhoofdFilter.d.ts +6 -3
  219. package/esm/dist/src/filters/new/StamhoofdFilter.d.ts.map +1 -1
  220. package/esm/dist/src/filters/new/StamhoofdFilter.js +9 -1
  221. package/esm/dist/src/filters/new/StamhoofdFilter.js.map +1 -1
  222. package/esm/dist/src/grouping/PaginatedResponse.d.ts +6 -6
  223. package/esm/dist/src/grouping/PaginatedResponse.d.ts.map +1 -1
  224. package/esm/dist/src/grouping/PaginatedResponse.js +3 -2
  225. package/esm/dist/src/grouping/PaginatedResponse.js.map +1 -1
  226. package/esm/dist/src/members/EmergencyContact.d.ts +1 -0
  227. package/esm/dist/src/members/EmergencyContact.d.ts.map +1 -1
  228. package/esm/dist/src/members/EmergencyContact.js +6 -1
  229. package/esm/dist/src/members/EmergencyContact.js.map +1 -1
  230. package/esm/dist/src/members/Member.d.ts +0 -10
  231. package/esm/dist/src/members/Member.d.ts.map +1 -1
  232. package/esm/dist/src/members/Member.js +1 -19
  233. package/esm/dist/src/members/Member.js.map +1 -1
  234. package/esm/dist/src/members/MemberDetails.d.ts +14 -35
  235. package/esm/dist/src/members/MemberDetails.d.ts.map +1 -1
  236. package/esm/dist/src/members/MemberDetails.js +139 -276
  237. package/esm/dist/src/members/MemberDetails.js.map +1 -1
  238. package/esm/dist/src/members/MemberWithRegistrations.d.ts +11 -17
  239. package/esm/dist/src/members/MemberWithRegistrations.d.ts.map +1 -1
  240. package/esm/dist/src/members/MemberWithRegistrations.js +9 -197
  241. package/esm/dist/src/members/MemberWithRegistrations.js.map +1 -1
  242. package/esm/dist/src/members/OrganizationRecordsConfiguration.d.ts +10 -48
  243. package/esm/dist/src/members/OrganizationRecordsConfiguration.d.ts.map +1 -1
  244. package/esm/dist/src/members/OrganizationRecordsConfiguration.js +8 -160
  245. package/esm/dist/src/members/OrganizationRecordsConfiguration.js.map +1 -1
  246. package/esm/dist/src/members/PlatformMember.d.ts +6 -6
  247. package/esm/dist/src/members/PlatformMember.d.ts.map +1 -1
  248. package/esm/dist/src/members/PlatformMember.js +17 -14
  249. package/esm/dist/src/members/PlatformMember.js.map +1 -1
  250. package/esm/dist/src/members/Registration.d.ts +4 -1
  251. package/esm/dist/src/members/Registration.d.ts.map +1 -1
  252. package/esm/dist/src/members/Registration.js +11 -2
  253. package/esm/dist/src/members/Registration.js.map +1 -1
  254. package/esm/dist/src/members/RegistrationWithMember.d.ts +0 -2
  255. package/esm/dist/src/members/RegistrationWithMember.d.ts.map +1 -1
  256. package/esm/dist/src/members/RegistrationWithMember.js +0 -4
  257. package/esm/dist/src/members/RegistrationWithMember.js.map +1 -1
  258. package/esm/dist/src/members/checkout/RegisterCartPriceCalculator.test.js +109 -63
  259. package/esm/dist/src/members/checkout/RegisterCartPriceCalculator.test.js.map +1 -1
  260. package/esm/dist/src/members/checkout/RegisterCheckout.d.ts +98 -17
  261. package/esm/dist/src/members/checkout/RegisterCheckout.d.ts.map +1 -1
  262. package/esm/dist/src/members/checkout/RegisterCheckout.js +539 -20
  263. package/esm/dist/src/members/checkout/RegisterCheckout.js.map +1 -1
  264. package/esm/dist/src/members/checkout/UnknownMemberWithRegistrations.d.ts +1 -1
  265. package/esm/dist/src/members/records/RecordCategory.d.ts +17 -16
  266. package/esm/dist/src/members/records/RecordCategory.d.ts.map +1 -1
  267. package/esm/dist/src/members/records/RecordCategory.js +39 -179
  268. package/esm/dist/src/members/records/RecordCategory.js.map +1 -1
  269. package/esm/dist/src/members/records/RecordConfigurationFactory.d.ts.map +1 -1
  270. package/esm/dist/src/members/records/RecordConfigurationFactory.js +63 -46
  271. package/esm/dist/src/members/records/RecordConfigurationFactory.js.map +1 -1
  272. package/esm/dist/src/members/records/RecordFactory.d.ts.map +1 -1
  273. package/esm/dist/src/members/records/RecordFactory.js +6 -12
  274. package/esm/dist/src/members/records/RecordFactory.js.map +1 -1
  275. package/esm/dist/src/members/records/RecordSettings.d.ts +2 -1
  276. package/esm/dist/src/members/records/RecordSettings.d.ts.map +1 -1
  277. package/esm/dist/src/members/records/RecordSettings.js +13 -4
  278. package/esm/dist/src/members/records/RecordSettings.js.map +1 -1
  279. package/esm/dist/src/webshops/Checkout.d.ts +11 -8
  280. package/esm/dist/src/webshops/Checkout.d.ts.map +1 -1
  281. package/esm/dist/src/webshops/Checkout.js +30 -72
  282. package/esm/dist/src/webshops/Checkout.js.map +1 -1
  283. package/esm/dist/src/webshops/TransferSettings.d.ts +1 -1
  284. package/esm/dist/src/webshops/TransferSettings.d.ts.map +1 -1
  285. package/esm/dist/src/webshops/TransferSettings.js +1 -4
  286. package/esm/dist/src/webshops/TransferSettings.js.map +1 -1
  287. package/esm/dist/src/webshops/Webshop.js +2 -2
  288. package/esm/dist/src/webshops/Webshop.js.map +1 -1
  289. package/esm/dist/src/webshops/WebshopMetaData.d.ts +8 -0
  290. package/esm/dist/src/webshops/WebshopMetaData.d.ts.map +1 -1
  291. package/esm/dist/src/webshops/WebshopMetaData.js +9 -1
  292. package/esm/dist/src/webshops/WebshopMetaData.js.map +1 -1
  293. package/package.json +2 -2
  294. package/dist/src/grouping/KeychainedMembers.d.ts +0 -14
  295. package/dist/src/grouping/KeychainedMembers.d.ts.map +0 -1
  296. package/dist/src/grouping/KeychainedMembers.js +0 -27
  297. package/dist/src/grouping/KeychainedMembers.js.map +0 -1
  298. package/dist/src/grouping/KeychainedResponse.d.ts +0 -25
  299. package/dist/src/grouping/KeychainedResponse.d.ts.map +0 -1
  300. package/dist/src/grouping/KeychainedResponse.js +0 -38
  301. package/dist/src/grouping/KeychainedResponse.js.map +0 -1
  302. package/dist/src/members/EncryptedMemberWithRegistrations.d.ts +0 -8
  303. package/dist/src/members/EncryptedMemberWithRegistrations.d.ts.map +0 -1
  304. package/dist/src/members/EncryptedMemberWithRegistrations.js +0 -18
  305. package/dist/src/members/EncryptedMemberWithRegistrations.js.map +0 -1
  306. package/dist/src/members/checkout/RegisterCart.d.ts +0 -49
  307. package/dist/src/members/checkout/RegisterCart.d.ts.map +0 -1
  308. package/dist/src/members/checkout/RegisterCart.js +0 -207
  309. package/dist/src/members/checkout/RegisterCart.js.map +0 -1
  310. package/dist/src/members/checkout/RegisterCartPriceCalculator.d.ts +0 -41
  311. package/dist/src/members/checkout/RegisterCartPriceCalculator.d.ts.map +0 -1
  312. package/dist/src/members/checkout/RegisterCartPriceCalculator.js +0 -352
  313. package/dist/src/members/checkout/RegisterCartPriceCalculator.js.map +0 -1
  314. package/dist/src/members/checkout/RegisterCartValidator.d.ts +0 -35
  315. package/dist/src/members/checkout/RegisterCartValidator.d.ts.map +0 -1
  316. package/dist/src/members/checkout/RegisterCartValidator.js +0 -345
  317. package/dist/src/members/checkout/RegisterCartValidator.js.map +0 -1
  318. package/dist/src/members/checkout/RegisterItem.d.ts +0 -59
  319. package/dist/src/members/checkout/RegisterItem.d.ts.map +0 -1
  320. package/dist/src/members/checkout/RegisterItem.js +0 -148
  321. package/dist/src/members/checkout/RegisterItem.js.map +0 -1
  322. package/esm/dist/src/grouping/KeychainedMembers.d.ts +0 -14
  323. package/esm/dist/src/grouping/KeychainedMembers.d.ts.map +0 -1
  324. package/esm/dist/src/grouping/KeychainedMembers.js +0 -23
  325. package/esm/dist/src/grouping/KeychainedMembers.js.map +0 -1
  326. package/esm/dist/src/grouping/KeychainedResponse.d.ts +0 -25
  327. package/esm/dist/src/grouping/KeychainedResponse.d.ts.map +0 -1
  328. package/esm/dist/src/grouping/KeychainedResponse.js +0 -33
  329. package/esm/dist/src/grouping/KeychainedResponse.js.map +0 -1
  330. package/esm/dist/src/members/EncryptedMemberWithRegistrations.d.ts +0 -8
  331. package/esm/dist/src/members/EncryptedMemberWithRegistrations.d.ts.map +0 -1
  332. package/esm/dist/src/members/EncryptedMemberWithRegistrations.js +0 -14
  333. package/esm/dist/src/members/EncryptedMemberWithRegistrations.js.map +0 -1
  334. package/esm/dist/src/members/checkout/RegisterCart.d.ts +0 -49
  335. package/esm/dist/src/members/checkout/RegisterCart.d.ts.map +0 -1
  336. package/esm/dist/src/members/checkout/RegisterCart.js +0 -202
  337. package/esm/dist/src/members/checkout/RegisterCart.js.map +0 -1
  338. package/esm/dist/src/members/checkout/RegisterCartPriceCalculator.d.ts +0 -41
  339. package/esm/dist/src/members/checkout/RegisterCartPriceCalculator.d.ts.map +0 -1
  340. package/esm/dist/src/members/checkout/RegisterCartPriceCalculator.js +0 -347
  341. package/esm/dist/src/members/checkout/RegisterCartPriceCalculator.js.map +0 -1
  342. package/esm/dist/src/members/checkout/RegisterCartValidator.d.ts +0 -35
  343. package/esm/dist/src/members/checkout/RegisterCartValidator.d.ts.map +0 -1
  344. package/esm/dist/src/members/checkout/RegisterCartValidator.js +0 -341
  345. package/esm/dist/src/members/checkout/RegisterCartValidator.js.map +0 -1
  346. package/esm/dist/src/members/checkout/RegisterItem.d.ts +0 -59
  347. package/esm/dist/src/members/checkout/RegisterItem.d.ts.map +0 -1
  348. package/esm/dist/src/members/checkout/RegisterItem.js +0 -142
  349. package/esm/dist/src/members/checkout/RegisterItem.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"RegisterCart.js","sourceRoot":"","sources":["../../../../src/members/checkout/RegisterCart.ts"],"names":[],"mappings":";;;;AAAA,iEAA8F;AAC9F,6DAAwD;AAYxD,+EAA2E;AAC3E,6DAA6D;AAC7D,iDAAkF;AAGlF;;GAEG;AACH,MAAa,YAAY;IAMrB,YAAY,QAAwB,EAAE;QALtC,UAAK,GAAmB,EAAE,CAAA;QAC1B,iBAAY,GAA0B,EAAE,CAAA;QACxC,qBAAgB,GAAG,CAAC,CAAA;QACpB,sBAAiB,GAAG,CAAC,CAAA;QAGjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;QACtB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAA;QACzB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,OAAO;QACH,OAAO,cAAc,CAAC,MAAM,CAAC;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACvC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC5C,CAAC,CAAA;IACN,CAAC;IAED,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACrC,OAAO,KAAK,GAAG,IAAI,CAAC,eAAe,CAAA;QACvC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC7C,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAC7B,CAAC,EAAE,CAAC,CAAC,CAAA;IACT,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,gBAAgB;cACtB,IAAI,CAAC,gBAAgB;cACrB,IAAI,CAAC,iBAAiB,CAAC;IACjC,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;IACvD,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,CAAC,IAAkB;QACtB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAA;QACjB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;gBACb,OAAO,IAAI,CAAA;YACf,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,OAAO,CAAC,IAAkB;QACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,UAAU,CAAC,IAAkB;QACzB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAA;QACjB,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;gBACb,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBAC3B,OAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IAED,cAAc,CAAC,IAAyB;QACpC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED,iBAAiB,CAAC,IAAyB;QACvC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;QACtB,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBAClC,OAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,MAAwC,EAAE,MAAe,EAAE,UAA2B,EAAE,kBAAuC;QACpI,MAAM,QAAQ,GAAmB,EAAE,CAAA;QACnC,MAAM,MAAM,GAAG,IAAI,4BAAY,EAAE,CAAA;QAEjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;gBACnD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACvB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YACtB,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAA;QAErB,MAAM,eAAe,GAA0B,EAAE,CAAA;QACjD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;gBACjC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YACtB,CAAC;QACL,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,eAAe,CAAA;QAEnC,MAAM,CAAC,eAAe,EAAE,CAAA;IAC5B,CAAC;IAED,eAAe,CAAC,OAAyC,EAAE,MAAe,EAAE,UAA2B,EAAE,oBAA0C;QAC/I,yDAA2B,CAAC,eAAe,CACvC,IAAI,CAAC,KAAK,EACV,OAAO,EACP,MAAM,EACN,UAAU,CACb,CAAA;QACD,IAAI,CAAC,iBAAiB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACpG,CAAC;CACJ;AA9HD,oCA8HC;AAED;;GAEG;AACH,MAAa,cAAe,SAAQ,6BAAW;IAA/C;;QAEI,UAAK,GAAqB,EAAE,CAAA;QAG5B,iBAAY,GAA0B,EAAE,CAAA;QAGxC,qBAAgB,GAAG,CAAC,CAAA;QAGpB,sBAAiB,GAAG,CAAC,CAAC;IAyE1B,CAAC;IAvEG,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACrC,OAAO,KAAK,GAAG,IAAI,CAAC,eAAe,CAAA;QACvC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC7C,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAC7B,CAAC,EAAE,CAAC,CAAC,CAAA;IACT,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,gBAAgB;cACtB,IAAI,CAAC,gBAAgB;cACrB,IAAI,CAAC,iBAAiB,CAAC;IACjC,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;IACvD,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,CAAC,YAA0B,EAAE,OAAkC;QAClE,MAAM,IAAI,GAAG,IAAI,YAAY,EAAE,CAAA;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;YACrD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACrB,OAAO,CAAC,SAAS,CAAC,CAAA;YACtB,CAAC;YACD,OAAO,EAAE,CAAA;QACb,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAA;QAC7C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAA;QAE/C,OAAO,IAAI,CAAA;IACf,CAAC;IAED,QAAQ,CAAC,MAAwC,EAAE,MAAe,EAAE,UAA2B,EAAE,kBAAuC;QACpI,MAAM,QAAQ,GAAqB,EAAE,CAAA;QACrC,MAAM,MAAM,GAAG,IAAI,4BAAY,EAAE,CAAA;QAEjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;gBACnD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACvB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YACtB,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAA;QAErB,MAAM,eAAe,GAA0B,EAAE,CAAA;QACjD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;gBACjC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YACtB,CAAC;QACL,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,eAAe,CAAA;QAEnC,MAAM,CAAC,eAAe,EAAE,CAAA;IAC5B,CAAC;IAED,eAAe,CAAC,OAAyC,EAAE,MAAe,EAAE,UAA2B,EAAE,oBAA0C,EAAE,SAAgB;QACjK,yDAA2B,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;QAC/F,IAAI,CAAC,iBAAiB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACpG,CAAC;CACJ;AApFD,wCAoFC;AAlFG;IADC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,IAAI,8BAAY,CAAC,6BAAc,CAAC,EAAE,CAAC;6CACzB;AAG5B;IADC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,IAAI,8BAAY,CAAC,kCAAmB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oDAClC;AAGxC;IADC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,gCAAc,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;wDAC5B;AAGpB;IADC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,gCAAc,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;yDAC3B"}
@@ -1,41 +0,0 @@
1
- import { Group } from "../../Group";
2
- import { GroupCategory } from "../../GroupCategory";
3
- import { MemberDetails } from "../MemberDetails";
4
- import { Registration } from "../Registration";
5
- import { UnknownMemberWithRegistrations } from "./UnknownMemberWithRegistrations";
6
- /**
7
- * Represents both RegisterItem's
8
- */
9
- interface RegisterItemWithPrice {
10
- memberId: string;
11
- groupId: string;
12
- reduced: boolean;
13
- waitingList: boolean;
14
- calculatedPrice: number;
15
- }
16
- export declare class RegisterCartPriceCalculator {
17
- /**
18
- * Return an unique ID that is the same for all groups that should have equal family pricing (2nd, 3rd discount)
19
- */
20
- private static getFamilyDiscountIdFor;
21
- /**
22
- * Return an unique ID that is the same for all groups that should have equal family pricing (2nd, 3rd discount)
23
- */
24
- private static getParentCategory;
25
- static calculateSinglePrice(member: UnknownMemberWithRegistrations, registration: Registration, members: UnknownMemberWithRegistrations[], groups: Group[], categories: GroupCategory[]): number;
26
- static calculateSinglePriceForNewMember(details: MemberDetails, registration: Registration, members: UnknownMemberWithRegistrations[], groups: Group[], categories: GroupCategory[]): number;
27
- /**
28
- * @param items Items you want to calculate the prices for (should be all the items)
29
- * @param members All current members, including members that are not present in the items (because we need to know this for family discounts)
30
- * @param groups All the groups of this organization
31
- * @param categories All the categories of this organization
32
- */
33
- static calculatePrices(items: RegisterItemWithPrice[], members: UnknownMemberWithRegistrations[], groups: Group[], categories: GroupCategory[], forceDate?: Date): void;
34
- }
35
- /**
36
- * Return all the possible ordering of the first x items (= amount) of a given array.
37
- * E.g. [1, 2, 3, 4, 5] for 2 items: [1, 2, (3, 4, 5)], [1, 3, (2, 4, 5)], [1, 4, (2, 3, 5)], [1, 5, (3, 4, 2)], [2, 1, (3, 4, 5)], ...
38
- */
39
- export declare function getPossibleCombinations<T>(array: T[], amount: number): T[][];
40
- export {};
41
- //# sourceMappingURL=RegisterCartPriceCalculator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RegisterCartPriceCalculator.d.ts","sourceRoot":"","sources":["../../../../src/members/checkout/RegisterCartPriceCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AAEjF;;GAEG;AACH,UAAU,qBAAqB;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,OAAO,CAAA;IAGpB,eAAe,EAAE,MAAM,CAAA;CAC1B;AAUD,qBAAa,2BAA2B;IACpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAYrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAKhC,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,8BAA8B,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,8BAA8B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE;IAcvL,MAAM,CAAC,gCAAgC,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,8BAA8B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE;IAoBnL;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,SAAS,CAAC,EAAE,IAAI;CAwSnK;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,CA2B5E"}
@@ -1,352 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPossibleCombinations = exports.RegisterCartPriceCalculator = void 0;
4
- const GroupPrices_1 = require("../../GroupPrices");
5
- class RegisterCartPriceCalculator {
6
- /**
7
- * Return an unique ID that is the same for all groups that should have equal family pricing (2nd, 3rd discount)
8
- */
9
- static getFamilyDiscountIdFor(group, all) {
10
- const parents = group.getParentCategories(all, false);
11
- for (const parent of parents) {
12
- if (parent.settings.maximumRegistrations === 1) {
13
- return "category-" + parent.id;
14
- }
15
- }
16
- // Only registrations in same group are elegiable for family discount
17
- return "group-" + group.id;
18
- }
19
- /**
20
- * Return an unique ID that is the same for all groups that should have equal family pricing (2nd, 3rd discount)
21
- */
22
- static getParentCategory(group, all) {
23
- var _a;
24
- const parents = group.getParentCategories(all, false);
25
- return (_a = parents[0]) !== null && _a !== void 0 ? _a : null;
26
- }
27
- static calculateSinglePrice(member, registration, members, groups, categories) {
28
- var _a, _b;
29
- const item = {
30
- memberId: member.id,
31
- groupId: registration.groupId,
32
- reduced: (_b = (_a = member.details.requiresFinancialSupport) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : false,
33
- waitingList: registration.waitingList,
34
- calculatedPrice: 0
35
- };
36
- this.calculatePrices([item], [...members, member], groups, categories);
37
- return item.calculatedPrice;
38
- }
39
- static calculateSinglePriceForNewMember(details, registration, members, groups, categories) {
40
- var _a, _b;
41
- const member = {
42
- id: 'calculating-member',
43
- details,
44
- registrations: [registration],
45
- };
46
- const item = {
47
- memberId: member.id,
48
- groupId: registration.groupId,
49
- reduced: (_b = (_a = details.requiresFinancialSupport) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : false,
50
- waitingList: registration.waitingList,
51
- calculatedPrice: 0
52
- };
53
- this.calculatePrices([item], [...members, member], groups, categories);
54
- return item.calculatedPrice;
55
- }
56
- /**
57
- * @param items Items you want to calculate the prices for (should be all the items)
58
- * @param members All current members, including members that are not present in the items (because we need to know this for family discounts)
59
- * @param groups All the groups of this organization
60
- * @param categories All the categories of this organization
61
- */
62
- static calculatePrices(items, members, groups, categories, forceDate) {
63
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
64
- // Step 1 + 2:
65
- // 1. add the group prices
66
- // 2. group items by items that have a grouped family discount
67
- // - First: no discounts or only discount for same group (ordering doesn't matter)
68
- // - Second: Discounts for same member in category
69
- // - Last: Diuscounts for family members in category
70
- // Excluding waiting lists
71
- const groupedItems = [[], new Map(), new Map()];
72
- const now = forceDate !== null && forceDate !== void 0 ? forceDate : new Date();
73
- for (const item of items) {
74
- item.calculatedPrice = 0;
75
- const group = groups.find(g => g.id === item.groupId);
76
- const member = members.find(m => m.id === item.memberId);
77
- if (!group || !member) {
78
- throw new Error("Invalid item: member or group doesn't exist anymore");
79
- }
80
- if (!item.waitingList) {
81
- const groupPrices = (_a = group.settings.getGroupPrices(now)) !== null && _a !== void 0 ? _a : GroupPrices_1.GroupPrices.create({});
82
- const category = this.getParentCategory(group, categories);
83
- if (!category) {
84
- throw new Error("Invalid item: category doesn't exist anymore");
85
- }
86
- const _item = Object.assign(item, { _groupPrices: groupPrices, _group: group, _category: category });
87
- // In which priority queue?
88
- if (groupPrices.onlySameGroup || groupPrices.prices.length <= 1) {
89
- // First queue: ordering will never matter
90
- groupedItems[0].push(_item);
91
- }
92
- else {
93
- const prior = groupPrices.sameMemberOnlyDiscount ? 1 : 2;
94
- const key = groupPrices.sameMemberOnlyDiscount ? (category.id + "-" + member.id) : category.id;
95
- const arr = (_b = groupedItems[prior].get(key)) !== null && _b !== void 0 ? _b : [];
96
- arr.push(_item);
97
- groupedItems[prior].set(key, arr);
98
- }
99
- }
100
- }
101
- // Keep a mapping of amount of members that is registered in each category + each group
102
- /// Group ID => amount of members that are registered
103
- const groupAmounts = new Map();
104
- // Amount of registrations in a given group for a given member (member id is first)
105
- const groupPerMemberAmounts = new Map();
106
- /// Category ID => amount of members that are registered
107
- const categoryAmounts = new Map();
108
- // Amount of registrations in a given category for a given member (member id is first)
109
- const categoryPerMemberAmounts = new Map();
110
- // Fill in the existing registrations
111
- for (const member of members) {
112
- // Create map items
113
- const groupAmountsMember = new Map();
114
- const categoryAmountsMember = new Map();
115
- groupPerMemberAmounts.set(member.id, groupAmountsMember);
116
- categoryPerMemberAmounts.set(member.id, categoryAmountsMember);
117
- for (const registration of member.registrations) {
118
- // Skip this if we have an item in the cart with the same properties
119
- const inCart = !!items.find(i => i.memberId === member.id && i.groupId === registration.groupId);
120
- if (inCart) {
121
- continue;
122
- }
123
- const group = groups.find(g => g.id === registration.groupId);
124
- if (group && !registration.waitingList && registration.cycle === group.cycle && registration.registeredAt !== null && registration.deactivatedAt === null) {
125
- // Active registration
126
- groupAmounts.set(group.id, ((_c = groupAmounts.get(group.id)) !== null && _c !== void 0 ? _c : 0) + 1);
127
- groupAmountsMember.set(group.id, ((_d = groupAmountsMember.get(group.id)) !== null && _d !== void 0 ? _d : 0) + 1);
128
- const category = this.getParentCategory(group, categories);
129
- if (category) {
130
- categoryAmounts.set(category.id, ((_e = categoryAmounts.get(category.id)) !== null && _e !== void 0 ? _e : 0) + 1);
131
- categoryAmountsMember.set(category.id, ((_f = categoryAmountsMember.get(category.id)) !== null && _f !== void 0 ? _f : 0) + 1);
132
- }
133
- }
134
- }
135
- }
136
- // All items that are not affected by ordering calculate first
137
- for (const item of groupedItems[0]) {
138
- // TODO: cache this information
139
- const group = item._group;
140
- const category = item._category;
141
- let alreadyRegisteredCount = 0;
142
- if (item._groupPrices.prices.length > 1) {
143
- if (item._groupPrices.onlySameGroup) {
144
- if (item._groupPrices.sameMemberOnlyDiscount) {
145
- alreadyRegisteredCount = (_h = (_g = groupPerMemberAmounts.get(item.memberId)) === null || _g === void 0 ? void 0 : _g.get(item.groupId)) !== null && _h !== void 0 ? _h : 0;
146
- }
147
- else {
148
- alreadyRegisteredCount = (_j = groupAmounts.get(item.groupId)) !== null && _j !== void 0 ? _j : 0;
149
- }
150
- }
151
- else {
152
- throw new Error("Category based discount shouldn't be in priority 0 queue");
153
- if (item._groupPrices.sameMemberOnlyDiscount) {
154
- alreadyRegisteredCount = (_l = (_k = categoryPerMemberAmounts.get(item.memberId)) === null || _k === void 0 ? void 0 : _k.get(category.id)) !== null && _l !== void 0 ? _l : 0;
155
- }
156
- else {
157
- alreadyRegisteredCount = (_m = categoryAmounts.get(category.id)) !== null && _m !== void 0 ? _m : 0;
158
- }
159
- }
160
- }
161
- const price = item._groupPrices.getPriceFor(item.reduced, alreadyRegisteredCount);
162
- item.calculatedPrice = price;
163
- // Increase counters
164
- const groupAmountsMember = groupPerMemberAmounts.get(item.memberId);
165
- const categoryAmountsMember = categoryPerMemberAmounts.get(item.memberId);
166
- groupAmounts.set(group.id, ((_o = groupAmounts.get(group.id)) !== null && _o !== void 0 ? _o : 0) + 1);
167
- groupAmountsMember.set(group.id, ((_p = groupAmountsMember.get(group.id)) !== null && _p !== void 0 ? _p : 0) + 1);
168
- categoryAmounts.set(category.id, ((_q = categoryAmounts.get(category.id)) !== null && _q !== void 0 ? _q : 0) + 1);
169
- categoryAmountsMember.set(category.id, ((_r = categoryAmountsMember.get(category.id)) !== null && _r !== void 0 ? _r : 0) + 1);
170
- }
171
- // Discount for category, for same member
172
- for (const [_, items] of groupedItems[1]) {
173
- const memberId = items[0].memberId;
174
- const group = items[0]._group;
175
- const category = items[0]._category;
176
- const maxFamilyMembersDiscount = Math.max(...items.map(i => i._groupPrices.prices.length));
177
- // Get current amounts
178
- const existingCount = (_t = (_s = categoryPerMemberAmounts.get(memberId)) === null || _s === void 0 ? void 0 : _s.get(category.id)) !== null && _t !== void 0 ? _t : 0;
179
- // Find most optimal order
180
- const combinations = getPossibleCombinations(items, maxFamilyMembersDiscount - 1 - existingCount);
181
- let minimumPrice = null;
182
- let minimumCombination = [];
183
- // Calculate the smallest price
184
- for (const combination of combinations) {
185
- let total = 0;
186
- let alreadyRegisteredCount = existingCount;
187
- for (const item of combination) {
188
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
189
- const price = item._groupPrices.getPriceFor(item.reduced, alreadyRegisteredCount);
190
- alreadyRegisteredCount++;
191
- total += price;
192
- }
193
- if (minimumPrice === null || total < minimumPrice) {
194
- minimumPrice = total;
195
- minimumCombination = combination;
196
- }
197
- }
198
- // Calculate once again to set the fixed price for every item
199
- let alreadyRegisteredCount = existingCount;
200
- for (const item of minimumCombination) {
201
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
202
- const price = item._groupPrices.getPriceFor(item.reduced, alreadyRegisteredCount);
203
- item.calculatedPrice = price;
204
- alreadyRegisteredCount++;
205
- // Increase counters for next cycle (groups don't matter anymore, so skipped, and same member also doesn't matter anymore)
206
- //const groupAmountsMember = groupPerMemberAmounts.get(item.memberId)!
207
- //const categoryAmountsMember = categoryPerMemberAmounts.get(item.memberId)!
208
- //groupAmounts.set(group.id, (groupAmounts.get(group.id) ?? 0) + 1)
209
- //groupAmountsMember.set(group.id, (groupAmountsMember.get(group.id) ?? 0) + 1)
210
- categoryAmounts.set(category.id, ((_u = categoryAmounts.get(category.id)) !== null && _u !== void 0 ? _u : 0) + 1);
211
- //categoryAmountsMember.set(category.id, (categoryAmountsMember.get(category.id) ?? 0) + 1)
212
- }
213
- }
214
- // Discount for category, for same member
215
- for (const [_, items] of groupedItems[2]) {
216
- const memberId = items[0].memberId;
217
- const group = items[0]._group;
218
- const category = items[0]._category;
219
- const maxFamilyMembersDiscount = Math.max(...items.map(i => i._groupPrices.prices.length));
220
- // Get current amounts
221
- const existingCount = (_v = categoryAmounts.get(category.id)) !== null && _v !== void 0 ? _v : 0;
222
- // Find most optimal order
223
- const combinations = getPossibleCombinations(items, maxFamilyMembersDiscount - 1 - existingCount);
224
- let minimumPrice = null;
225
- let minimumCombination = [];
226
- // Calculate the smallest price
227
- for (const combination of combinations) {
228
- let total = 0;
229
- let alreadyRegisteredCount = existingCount;
230
- for (const item of combination) {
231
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
232
- const price = item._groupPrices.getPriceFor(item.reduced, alreadyRegisteredCount);
233
- alreadyRegisteredCount++;
234
- total += price;
235
- }
236
- if (minimumPrice === null || total < minimumPrice) {
237
- minimumPrice = total;
238
- minimumCombination = combination;
239
- }
240
- }
241
- // Calculate once again to set the fixed price for every item
242
- let alreadyRegisteredCount = existingCount;
243
- for (const item of minimumCombination) {
244
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
245
- const price = item._groupPrices.getPriceFor(item.reduced, alreadyRegisteredCount);
246
- item.calculatedPrice = price;
247
- alreadyRegisteredCount++;
248
- // No need to increase counters: it's done
249
- }
250
- }
251
- // Step 3: calculate all possible prices
252
- /*for (const [familyID, items] of groupedItems) {
253
- // Count all members that are already registered in this family discount group
254
- // (to know the number of members, and to know the discount)
255
- let existingCount = 0
256
- for (const member of members) {
257
- for (const registration of member.registrations) {
258
-
259
- // Skip this if we have an item in the cart with the same properties
260
- const inCart = !!items.find(i => i.memberId === member.id && i.groupId === registration.groupId)
261
- if (inCart) {
262
- continue
263
- }
264
- const group = groups.find(g => g.id === registration.groupId)
265
- if (group && !registration.waitingList && registration.cycle === group.cycle && registration.registeredAt !== null && registration.deactivatedAt === null) {
266
- // Active registration
267
- if (this.getFamilyDiscountIdFor(group, categories) == familyID) {
268
- existingCount++
269
- }
270
- }
271
- }
272
- }
273
-
274
- // TODO: move those without discounts to the start and remove them from the combinations that need to get calculated. They always need to be added first because they don't give discount
275
-
276
- const maxFamilyMembersDiscount = 3 // discount for third + more members
277
-
278
- // Order in all possible ways (where only the first X places matter)
279
- const combinations = getPossibleCombinations(items, maxFamilyMembersDiscount - 1 - existingCount)
280
-
281
- let minimumPrice: number | null = null
282
- let minimumCombination: RegisterItemWithPriceAndGroupPrices[] = []
283
-
284
- // Calculate the smallest price
285
- for (const combination of combinations) {
286
- let total = 0
287
- let alreadyRegisteredCount = existingCount
288
- for (const item of combination) {
289
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
290
- const price = item._groupPrices.getPriceFor(item.reduced, alreadyRegisteredCount)
291
- alreadyRegisteredCount++
292
- total += price
293
- }
294
-
295
- if (minimumPrice === null || total < minimumPrice) {
296
- minimumPrice = total
297
- minimumCombination = combination
298
- }
299
- }
300
-
301
- // Calculate once again to set the fixed price for every item
302
- let alreadyRegisteredCount = existingCount
303
- for (const item of minimumCombination) {
304
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
305
- const price = item._groupPrices.getPriceFor(item.reduced, alreadyRegisteredCount)
306
- item.calculatedPrice = price
307
- alreadyRegisteredCount++
308
- }
309
- }*/
310
- // Clean up
311
- for (const item of items) {
312
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
313
- const i = item;
314
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
315
- delete i._groupPrices;
316
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
317
- delete i._group;
318
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
319
- delete i._category;
320
- }
321
- }
322
- }
323
- exports.RegisterCartPriceCalculator = RegisterCartPriceCalculator;
324
- /**
325
- * Return all the possible ordering of the first x items (= amount) of a given array.
326
- * E.g. [1, 2, 3, 4, 5] for 2 items: [1, 2, (3, 4, 5)], [1, 3, (2, 4, 5)], [1, 4, (2, 3, 5)], [1, 5, (3, 4, 2)], [2, 1, (3, 4, 5)], ...
327
- */
328
- function getPossibleCombinations(array, amount) {
329
- if (amount <= 0) {
330
- // Only one possibility
331
- return [array];
332
- }
333
- if (array.length <= 1) {
334
- // Only one possible combination
335
- return [array];
336
- }
337
- // On array.length possibilities
338
- return array.flatMap((first, index) => {
339
- // Remove first from the array, get possible combinations, append first back to each combination and return these combinations
340
- const arr = array.slice();
341
- arr.splice(index, 1);
342
- // Get all possibilities
343
- const combo = getPossibleCombinations(arr, amount - 1);
344
- // Append first back to all possible combinations
345
- for (const c of combo) {
346
- c.unshift(first);
347
- }
348
- return combo;
349
- });
350
- }
351
- exports.getPossibleCombinations = getPossibleCombinations;
352
- //# sourceMappingURL=RegisterCartPriceCalculator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RegisterCartPriceCalculator.js","sourceRoot":"","sources":["../../../../src/members/checkout/RegisterCartPriceCalculator.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- import { Group } from "../../Group";
2
- import { GroupCategory } from "../../GroupCategory";
3
- import { IDRegisterItem, RegisterItem } from "./RegisterItem";
4
- import { UnknownMemberWithRegistrations } from "./UnknownMemberWithRegistrations";
5
- export type CanRegisterResponse = {
6
- closed: boolean;
7
- waitingList: boolean;
8
- message?: string;
9
- description?: string;
10
- invited: boolean;
11
- };
12
- /**
13
- * Class that can validate a Cart and registrations.
14
- * This is usefull to share the validation between backend and frontend (for both the encrypted and non-encrypted versions)
15
- */
16
- export declare class RegisterCartValidator {
17
- static isAlreadyRegistered(member: UnknownMemberWithRegistrations, group: Group, waitingList: boolean): boolean;
18
- static canRegister(member: UnknownMemberWithRegistrations, group: Group, family: UnknownMemberWithRegistrations[], groups: Group[], categories: GroupCategory[], cart: (IDRegisterItem | RegisterItem)[]): CanRegisterResponse;
19
- static getAlreadyInCartDescription({ member, group, waitingList, cart }: {
20
- member: UnknownMemberWithRegistrations;
21
- group: Group;
22
- waitingList: boolean;
23
- cart: (IDRegisterItem | RegisterItem)[];
24
- }): "Dit staat klaar in jouw mandje. Bevestig het mandje om jouw plaats op de wachtlijst te bevestigen. " | "Dit staat klaar in jouw mandje. Bevestig het mandje om jouw plaats om jouw inschrijving te bevestigen. " | undefined;
25
- /**
26
- * Return true if this member was registered in the previous year (current doesn't count)
27
- */
28
- static isExistingMember(member: UnknownMemberWithRegistrations, groups: Group[]): boolean;
29
- /**
30
- * True if you cannot register because you reached the maximum of a group category
31
- */
32
- static hasReachedCategoryMaximum(member: UnknownMemberWithRegistrations, group: Group, groups: Group[], categories: GroupCategory[], cart?: (IDRegisterItem | RegisterItem)[]): boolean;
33
- static validateItem(item: IDRegisterItem | RegisterItem, family: UnknownMemberWithRegistrations[], groups: Group[], categories: GroupCategory[], previousItems: (IDRegisterItem | RegisterItem)[]): void;
34
- }
35
- //# sourceMappingURL=RegisterCartValidator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RegisterCartValidator.d.ts","sourceRoot":"","sources":["../../../../src/members/checkout/RegisterCartValidator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AAEjF,MAAM,MAAM,mBAAmB,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAAC;AAErI;;;GAGG;AACH,qBAAa,qBAAqB;IAC9B,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,8BAA8B,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO;IAGrG,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,8BAA8B,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,8BAA8B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,cAAc,GAAG,YAAY,CAAC,EAAE,GAAG,mBAAmB;IAiP9N,MAAM,CAAC,2BAA2B,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAC,EAAE;QAAC,MAAM,EAAE,8BAA8B,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,CAAC,cAAc,GAAG,YAAY,CAAC,EAAE,CAAA;KAAC;IAiB5L;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,8BAA8B,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO;IAwBzF;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,8BAA8B,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,IAAI,GAAE,CAAC,cAAc,GAAG,YAAY,CAAC,EAAO,GAAG,OAAO;IA0B3L,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,YAAY,EAAE,MAAM,EAAE,8BAA8B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,CAAC,cAAc,GAAG,YAAY,CAAC,EAAE;CA8CpM"}