@stamhoofd/structures 2.4.0 → 2.6.0

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 (275) hide show
  1. package/dist/index.d.ts +1 -7
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -7
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/BalanceItemDetailed.d.ts +11 -3
  6. package/dist/src/BalanceItemDetailed.d.ts.map +1 -1
  7. package/dist/src/BalanceItemDetailed.js +15 -7
  8. package/dist/src/BalanceItemDetailed.js.map +1 -1
  9. package/dist/src/DefaultAgeGroup.d.ts +2 -0
  10. package/dist/src/DefaultAgeGroup.d.ts.map +1 -1
  11. package/dist/src/DefaultAgeGroup.js +8 -0
  12. package/dist/src/DefaultAgeGroup.js.map +1 -1
  13. package/dist/src/Event.d.ts +13 -2
  14. package/dist/src/Event.d.ts.map +1 -1
  15. package/dist/src/Event.js +36 -3
  16. package/dist/src/Event.js.map +1 -1
  17. package/dist/src/Group.d.ts +10 -0
  18. package/dist/src/Group.d.ts.map +1 -1
  19. package/dist/src/Group.js +17 -2
  20. package/dist/src/Group.js.map +1 -1
  21. package/dist/src/GroupSettings.d.ts +59 -6
  22. package/dist/src/GroupSettings.d.ts.map +1 -1
  23. package/dist/src/GroupSettings.js +201 -16
  24. package/dist/src/GroupSettings.js.map +1 -1
  25. package/dist/src/Organization.js +2 -2
  26. package/dist/src/Organization.js.map +1 -1
  27. package/dist/src/RegistrationPeriod.d.ts +1 -0
  28. package/dist/src/RegistrationPeriod.d.ts.map +1 -1
  29. package/dist/src/RegistrationPeriod.js +3 -0
  30. package/dist/src/RegistrationPeriod.js.map +1 -1
  31. package/dist/src/StockReservation.d.ts +20 -0
  32. package/dist/src/StockReservation.d.ts.map +1 -0
  33. package/dist/src/StockReservation.js +91 -0
  34. package/dist/src/StockReservation.js.map +1 -0
  35. package/dist/src/Version.d.ts +1 -1
  36. package/dist/src/Version.js +1 -1
  37. package/dist/src/addresses/Address.d.ts +4 -0
  38. package/dist/src/addresses/Address.d.ts.map +1 -1
  39. package/dist/src/addresses/Address.js +6 -0
  40. package/dist/src/addresses/Address.js.map +1 -1
  41. package/dist/src/billing/STPackageBundle.js +6 -6
  42. package/dist/src/billing/STPackageBundle.js.map +1 -1
  43. package/dist/src/email/EditorSmartVariable.d.ts.map +1 -1
  44. package/dist/src/email/EditorSmartVariable.js +6 -11
  45. package/dist/src/email/EditorSmartVariable.js.map +1 -1
  46. package/dist/src/members/Member.d.ts +7 -0
  47. package/dist/src/members/Member.d.ts.map +1 -1
  48. package/dist/src/members/Member.js +34 -1
  49. package/dist/src/members/Member.js.map +1 -1
  50. package/dist/src/members/MemberDetails.d.ts +8 -8
  51. package/dist/src/members/MemberDetails.d.ts.map +1 -1
  52. package/dist/src/members/MemberDetails.js +85 -42
  53. package/dist/src/members/MemberDetails.js.map +1 -1
  54. package/dist/src/members/MemberPlatformMembership.d.ts +1 -0
  55. package/dist/src/members/MemberPlatformMembership.d.ts.map +1 -1
  56. package/dist/src/members/MemberPlatformMembership.js +3 -0
  57. package/dist/src/members/MemberPlatformMembership.js.map +1 -1
  58. package/dist/src/members/OrganizationRecordsConfiguration.d.ts +13 -0
  59. package/dist/src/members/OrganizationRecordsConfiguration.d.ts.map +1 -1
  60. package/dist/src/members/OrganizationRecordsConfiguration.js +49 -0
  61. package/dist/src/members/OrganizationRecordsConfiguration.js.map +1 -1
  62. package/dist/src/members/PaymentDetailed.d.ts +3 -0
  63. package/dist/src/members/PaymentDetailed.d.ts.map +1 -1
  64. package/dist/src/members/PaymentDetailed.js +7 -8
  65. package/dist/src/members/PaymentDetailed.js.map +1 -1
  66. package/dist/src/members/PaymentGeneral.d.ts +5 -2
  67. package/dist/src/members/PaymentGeneral.d.ts.map +1 -1
  68. package/dist/src/members/PaymentGeneral.js +3 -5
  69. package/dist/src/members/PaymentGeneral.js.map +1 -1
  70. package/dist/src/members/PlatformMember.d.ts +9 -6
  71. package/dist/src/members/PlatformMember.d.ts.map +1 -1
  72. package/dist/src/members/PlatformMember.js +50 -35
  73. package/dist/src/members/PlatformMember.js.map +1 -1
  74. package/dist/src/members/Registration.d.ts +12 -0
  75. package/dist/src/members/Registration.d.ts.map +1 -1
  76. package/dist/src/members/Registration.js +17 -3
  77. package/dist/src/members/Registration.js.map +1 -1
  78. package/dist/src/members/RegistrationWithMember.d.ts +3 -2
  79. package/dist/src/members/RegistrationWithMember.d.ts.map +1 -1
  80. package/dist/src/members/RegistrationWithMember.js +7 -1
  81. package/dist/src/members/RegistrationWithMember.js.map +1 -1
  82. package/dist/src/members/checkout/BalanceItemCartItem.d.ts +3 -1
  83. package/dist/src/members/checkout/BalanceItemCartItem.d.ts.map +1 -1
  84. package/dist/src/members/checkout/BalanceItemCartItem.js +11 -9
  85. package/dist/src/members/checkout/BalanceItemCartItem.js.map +1 -1
  86. package/dist/src/members/checkout/RegisterCart.d.ts +17 -1
  87. package/dist/src/members/checkout/RegisterCart.d.ts.map +1 -1
  88. package/dist/src/members/checkout/RegisterCart.js +121 -12
  89. package/dist/src/members/checkout/RegisterCart.js.map +1 -1
  90. package/dist/src/members/checkout/RegisterCheckout.d.ts +46 -3
  91. package/dist/src/members/checkout/RegisterCheckout.d.ts.map +1 -1
  92. package/dist/src/members/checkout/RegisterCheckout.js +85 -4
  93. package/dist/src/members/checkout/RegisterCheckout.js.map +1 -1
  94. package/dist/src/members/checkout/RegisterItem.d.ts +57 -16
  95. package/dist/src/members/checkout/RegisterItem.d.ts.map +1 -1
  96. package/dist/src/members/checkout/RegisterItem.js +394 -126
  97. package/dist/src/members/checkout/RegisterItem.js.map +1 -1
  98. package/dist/src/members/records/RecordCategory.d.ts +1 -0
  99. package/dist/src/members/records/RecordCategory.d.ts.map +1 -1
  100. package/dist/src/members/records/RecordCategory.js +3 -0
  101. package/dist/src/members/records/RecordCategory.js.map +1 -1
  102. package/esm/dist/index.d.ts +1 -7
  103. package/esm/dist/index.d.ts.map +1 -1
  104. package/esm/dist/index.js +1 -7
  105. package/esm/dist/index.js.map +1 -1
  106. package/esm/dist/src/BalanceItemDetailed.d.ts +11 -3
  107. package/esm/dist/src/BalanceItemDetailed.d.ts.map +1 -1
  108. package/esm/dist/src/BalanceItemDetailed.js +15 -7
  109. package/esm/dist/src/BalanceItemDetailed.js.map +1 -1
  110. package/esm/dist/src/DefaultAgeGroup.d.ts +2 -0
  111. package/esm/dist/src/DefaultAgeGroup.d.ts.map +1 -1
  112. package/esm/dist/src/DefaultAgeGroup.js +8 -0
  113. package/esm/dist/src/DefaultAgeGroup.js.map +1 -1
  114. package/esm/dist/src/Event.d.ts +13 -2
  115. package/esm/dist/src/Event.d.ts.map +1 -1
  116. package/esm/dist/src/Event.js +34 -2
  117. package/esm/dist/src/Event.js.map +1 -1
  118. package/esm/dist/src/Group.d.ts +10 -0
  119. package/esm/dist/src/Group.d.ts.map +1 -1
  120. package/esm/dist/src/Group.js +18 -3
  121. package/esm/dist/src/Group.js.map +1 -1
  122. package/esm/dist/src/GroupSettings.d.ts +59 -6
  123. package/esm/dist/src/GroupSettings.d.ts.map +1 -1
  124. package/esm/dist/src/GroupSettings.js +201 -16
  125. package/esm/dist/src/GroupSettings.js.map +1 -1
  126. package/esm/dist/src/Organization.js +2 -2
  127. package/esm/dist/src/Organization.js.map +1 -1
  128. package/esm/dist/src/RegistrationPeriod.d.ts +1 -0
  129. package/esm/dist/src/RegistrationPeriod.d.ts.map +1 -1
  130. package/esm/dist/src/RegistrationPeriod.js +3 -0
  131. package/esm/dist/src/RegistrationPeriod.js.map +1 -1
  132. package/esm/dist/src/StockReservation.d.ts +20 -0
  133. package/esm/dist/src/StockReservation.d.ts.map +1 -0
  134. package/esm/dist/src/StockReservation.js +87 -0
  135. package/esm/dist/src/StockReservation.js.map +1 -0
  136. package/esm/dist/src/Version.d.ts +1 -1
  137. package/esm/dist/src/Version.js +1 -1
  138. package/esm/dist/src/addresses/Address.d.ts +4 -0
  139. package/esm/dist/src/addresses/Address.d.ts.map +1 -1
  140. package/esm/dist/src/addresses/Address.js +6 -0
  141. package/esm/dist/src/addresses/Address.js.map +1 -1
  142. package/esm/dist/src/billing/STPackageBundle.js +6 -6
  143. package/esm/dist/src/billing/STPackageBundle.js.map +1 -1
  144. package/esm/dist/src/email/EditorSmartVariable.d.ts.map +1 -1
  145. package/esm/dist/src/email/EditorSmartVariable.js +7 -12
  146. package/esm/dist/src/email/EditorSmartVariable.js.map +1 -1
  147. package/esm/dist/src/members/Member.d.ts +7 -0
  148. package/esm/dist/src/members/Member.d.ts.map +1 -1
  149. package/esm/dist/src/members/Member.js +32 -0
  150. package/esm/dist/src/members/Member.js.map +1 -1
  151. package/esm/dist/src/members/MemberDetails.d.ts +8 -8
  152. package/esm/dist/src/members/MemberDetails.d.ts.map +1 -1
  153. package/esm/dist/src/members/MemberDetails.js +85 -42
  154. package/esm/dist/src/members/MemberDetails.js.map +1 -1
  155. package/esm/dist/src/members/MemberPlatformMembership.d.ts +1 -0
  156. package/esm/dist/src/members/MemberPlatformMembership.d.ts.map +1 -1
  157. package/esm/dist/src/members/MemberPlatformMembership.js +3 -0
  158. package/esm/dist/src/members/MemberPlatformMembership.js.map +1 -1
  159. package/esm/dist/src/members/OrganizationRecordsConfiguration.d.ts +13 -0
  160. package/esm/dist/src/members/OrganizationRecordsConfiguration.d.ts.map +1 -1
  161. package/esm/dist/src/members/OrganizationRecordsConfiguration.js +49 -0
  162. package/esm/dist/src/members/OrganizationRecordsConfiguration.js.map +1 -1
  163. package/esm/dist/src/members/PaymentDetailed.d.ts +3 -0
  164. package/esm/dist/src/members/PaymentDetailed.d.ts.map +1 -1
  165. package/esm/dist/src/members/PaymentDetailed.js +7 -8
  166. package/esm/dist/src/members/PaymentDetailed.js.map +1 -1
  167. package/esm/dist/src/members/PaymentGeneral.d.ts +5 -2
  168. package/esm/dist/src/members/PaymentGeneral.d.ts.map +1 -1
  169. package/esm/dist/src/members/PaymentGeneral.js +3 -5
  170. package/esm/dist/src/members/PaymentGeneral.js.map +1 -1
  171. package/esm/dist/src/members/PlatformMember.d.ts +9 -6
  172. package/esm/dist/src/members/PlatformMember.d.ts.map +1 -1
  173. package/esm/dist/src/members/PlatformMember.js +50 -35
  174. package/esm/dist/src/members/PlatformMember.js.map +1 -1
  175. package/esm/dist/src/members/Registration.d.ts +12 -0
  176. package/esm/dist/src/members/Registration.d.ts.map +1 -1
  177. package/esm/dist/src/members/Registration.js +18 -4
  178. package/esm/dist/src/members/Registration.js.map +1 -1
  179. package/esm/dist/src/members/RegistrationWithMember.d.ts +3 -2
  180. package/esm/dist/src/members/RegistrationWithMember.d.ts.map +1 -1
  181. package/esm/dist/src/members/RegistrationWithMember.js +8 -2
  182. package/esm/dist/src/members/RegistrationWithMember.js.map +1 -1
  183. package/esm/dist/src/members/checkout/BalanceItemCartItem.d.ts +3 -1
  184. package/esm/dist/src/members/checkout/BalanceItemCartItem.d.ts.map +1 -1
  185. package/esm/dist/src/members/checkout/BalanceItemCartItem.js +11 -9
  186. package/esm/dist/src/members/checkout/BalanceItemCartItem.js.map +1 -1
  187. package/esm/dist/src/members/checkout/RegisterCart.d.ts +17 -1
  188. package/esm/dist/src/members/checkout/RegisterCart.d.ts.map +1 -1
  189. package/esm/dist/src/members/checkout/RegisterCart.js +122 -13
  190. package/esm/dist/src/members/checkout/RegisterCart.js.map +1 -1
  191. package/esm/dist/src/members/checkout/RegisterCheckout.d.ts +46 -3
  192. package/esm/dist/src/members/checkout/RegisterCheckout.d.ts.map +1 -1
  193. package/esm/dist/src/members/checkout/RegisterCheckout.js +86 -5
  194. package/esm/dist/src/members/checkout/RegisterCheckout.js.map +1 -1
  195. package/esm/dist/src/members/checkout/RegisterItem.d.ts +57 -16
  196. package/esm/dist/src/members/checkout/RegisterItem.d.ts.map +1 -1
  197. package/esm/dist/src/members/checkout/RegisterItem.js +396 -128
  198. package/esm/dist/src/members/checkout/RegisterItem.js.map +1 -1
  199. package/esm/dist/src/members/records/RecordCategory.d.ts +1 -0
  200. package/esm/dist/src/members/records/RecordCategory.d.ts.map +1 -1
  201. package/esm/dist/src/members/records/RecordCategory.js +3 -0
  202. package/esm/dist/src/members/records/RecordCategory.js.map +1 -1
  203. package/package.json +2 -2
  204. package/dist/src/GroupPrices.d.ts +0 -44
  205. package/dist/src/GroupPrices.d.ts.map +0 -1
  206. package/dist/src/GroupPrices.js +0 -119
  207. package/dist/src/GroupPrices.js.map +0 -1
  208. package/dist/src/members/MemberWithRegistrations.d.ts +0 -52
  209. package/dist/src/members/MemberWithRegistrations.d.ts.map +0 -1
  210. package/dist/src/members/MemberWithRegistrations.js +0 -156
  211. package/dist/src/members/MemberWithRegistrations.js.map +0 -1
  212. package/dist/src/members/checkout/OldRegisterCart.d.ts +0 -50
  213. package/dist/src/members/checkout/OldRegisterCart.d.ts.map +0 -1
  214. package/dist/src/members/checkout/OldRegisterCart.js +0 -207
  215. package/dist/src/members/checkout/OldRegisterCart.js.map +0 -1
  216. package/dist/src/members/checkout/OldRegisterCartPriceCalculator.d.ts +0 -36
  217. package/dist/src/members/checkout/OldRegisterCartPriceCalculator.d.ts.map +0 -1
  218. package/dist/src/members/checkout/OldRegisterCartPriceCalculator.js +0 -339
  219. package/dist/src/members/checkout/OldRegisterCartPriceCalculator.js.map +0 -1
  220. package/dist/src/members/checkout/OldRegisterCartValidator.d.ts +0 -35
  221. package/dist/src/members/checkout/OldRegisterCartValidator.d.ts.map +0 -1
  222. package/dist/src/members/checkout/OldRegisterCartValidator.js +0 -309
  223. package/dist/src/members/checkout/OldRegisterCartValidator.js.map +0 -1
  224. package/dist/src/members/checkout/OldRegisterCheckout.d.ts +0 -22
  225. package/dist/src/members/checkout/OldRegisterCheckout.d.ts.map +0 -1
  226. package/dist/src/members/checkout/OldRegisterCheckout.js +0 -46
  227. package/dist/src/members/checkout/OldRegisterCheckout.js.map +0 -1
  228. package/dist/src/members/checkout/OldRegisterItem.d.ts +0 -46
  229. package/dist/src/members/checkout/OldRegisterItem.d.ts.map +0 -1
  230. package/dist/src/members/checkout/OldRegisterItem.js +0 -89
  231. package/dist/src/members/checkout/OldRegisterItem.js.map +0 -1
  232. package/dist/src/members/checkout/RegisterCartPriceCalculator.test.d.ts +0 -2
  233. package/dist/src/members/checkout/RegisterCartPriceCalculator.test.d.ts.map +0 -1
  234. package/dist/src/members/checkout/RegisterCartPriceCalculator.test.js +0 -1076
  235. package/dist/src/members/checkout/RegisterCartPriceCalculator.test.js.map +0 -1
  236. package/dist/src/members/checkout/UnknownMemberWithRegistrations.d.ts +0 -23
  237. package/dist/src/members/checkout/UnknownMemberWithRegistrations.d.ts.map +0 -1
  238. package/dist/src/members/checkout/UnknownMemberWithRegistrations.js +0 -3
  239. package/dist/src/members/checkout/UnknownMemberWithRegistrations.js.map +0 -1
  240. package/esm/dist/src/GroupPrices.d.ts +0 -44
  241. package/esm/dist/src/GroupPrices.d.ts.map +0 -1
  242. package/esm/dist/src/GroupPrices.js +0 -114
  243. package/esm/dist/src/GroupPrices.js.map +0 -1
  244. package/esm/dist/src/members/MemberWithRegistrations.d.ts +0 -52
  245. package/esm/dist/src/members/MemberWithRegistrations.d.ts.map +0 -1
  246. package/esm/dist/src/members/MemberWithRegistrations.js +0 -152
  247. package/esm/dist/src/members/MemberWithRegistrations.js.map +0 -1
  248. package/esm/dist/src/members/checkout/OldRegisterCart.d.ts +0 -50
  249. package/esm/dist/src/members/checkout/OldRegisterCart.d.ts.map +0 -1
  250. package/esm/dist/src/members/checkout/OldRegisterCart.js +0 -202
  251. package/esm/dist/src/members/checkout/OldRegisterCart.js.map +0 -1
  252. package/esm/dist/src/members/checkout/OldRegisterCartPriceCalculator.d.ts +0 -36
  253. package/esm/dist/src/members/checkout/OldRegisterCartPriceCalculator.d.ts.map +0 -1
  254. package/esm/dist/src/members/checkout/OldRegisterCartPriceCalculator.js +0 -334
  255. package/esm/dist/src/members/checkout/OldRegisterCartPriceCalculator.js.map +0 -1
  256. package/esm/dist/src/members/checkout/OldRegisterCartValidator.d.ts +0 -35
  257. package/esm/dist/src/members/checkout/OldRegisterCartValidator.d.ts.map +0 -1
  258. package/esm/dist/src/members/checkout/OldRegisterCartValidator.js +0 -305
  259. package/esm/dist/src/members/checkout/OldRegisterCartValidator.js.map +0 -1
  260. package/esm/dist/src/members/checkout/OldRegisterCheckout.d.ts +0 -22
  261. package/esm/dist/src/members/checkout/OldRegisterCheckout.d.ts.map +0 -1
  262. package/esm/dist/src/members/checkout/OldRegisterCheckout.js +0 -41
  263. package/esm/dist/src/members/checkout/OldRegisterCheckout.js.map +0 -1
  264. package/esm/dist/src/members/checkout/OldRegisterItem.d.ts +0 -46
  265. package/esm/dist/src/members/checkout/OldRegisterItem.d.ts.map +0 -1
  266. package/esm/dist/src/members/checkout/OldRegisterItem.js +0 -84
  267. package/esm/dist/src/members/checkout/OldRegisterItem.js.map +0 -1
  268. package/esm/dist/src/members/checkout/RegisterCartPriceCalculator.test.d.ts +0 -2
  269. package/esm/dist/src/members/checkout/RegisterCartPriceCalculator.test.d.ts.map +0 -1
  270. package/esm/dist/src/members/checkout/RegisterCartPriceCalculator.test.js +0 -1074
  271. package/esm/dist/src/members/checkout/RegisterCartPriceCalculator.test.js.map +0 -1
  272. package/esm/dist/src/members/checkout/UnknownMemberWithRegistrations.d.ts +0 -23
  273. package/esm/dist/src/members/checkout/UnknownMemberWithRegistrations.d.ts.map +0 -1
  274. package/esm/dist/src/members/checkout/UnknownMemberWithRegistrations.js +0 -2
  275. package/esm/dist/src/members/checkout/UnknownMemberWithRegistrations.js.map +0 -1
@@ -3,19 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RegisterCart = exports.IDRegisterCart = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const simple_encoding_1 = require("@simonbackx/simple-encoding");
6
- const OldRegisterCartPriceCalculator_1 = require("./OldRegisterCartPriceCalculator");
7
- const RegisterItem_1 = require("./RegisterItem");
6
+ const simple_errors_1 = require("@simonbackx/simple-errors");
8
7
  const BalanceItemCartItem_1 = require("./BalanceItemCartItem");
8
+ const RegisterItem_1 = require("./RegisterItem");
9
+ const RegistrationWithMember_1 = require("../RegistrationWithMember");
9
10
  class IDRegisterCart extends simple_encoding_1.AutoEncoder {
10
11
  constructor() {
11
12
  super(...arguments);
12
13
  this.items = [];
13
14
  this.balanceItems = [];
15
+ this.deleteRegistrations = [];
14
16
  }
15
17
  hydrate(context) {
16
18
  const cart = new RegisterCart();
17
19
  cart.items = this.items.map(i => i.hydrate(context));
18
20
  cart.balanceItems = this.balanceItems;
21
+ cart.deleteRegistrations = this.deleteRegistrations;
19
22
  return cart;
20
23
  }
21
24
  }
@@ -26,22 +29,39 @@ tslib_1.__decorate([
26
29
  tslib_1.__decorate([
27
30
  (0, simple_encoding_1.field)({ decoder: new simple_encoding_1.ArrayDecoder(BalanceItemCartItem_1.BalanceItemCartItem), optional: true })
28
31
  ], IDRegisterCart.prototype, "balanceItems", void 0);
32
+ tslib_1.__decorate([
33
+ (0, simple_encoding_1.field)({ decoder: new simple_encoding_1.ArrayDecoder(RegistrationWithMember_1.RegistrationWithMember), optional: true })
34
+ ], IDRegisterCart.prototype, "deleteRegistrations", void 0);
29
35
  class RegisterCart {
30
36
  constructor() {
31
37
  this.items = [];
32
38
  this.balanceItems = [];
39
+ /**
40
+ * You can define which registrations you want remove as part of this register operation.
41
+ */
42
+ this.deleteRegistrations = [];
33
43
  }
34
44
  calculatePrices() {
35
- OldRegisterCartPriceCalculator_1.OldRegisterCartPriceCalculator.calculatePrices(this.items, this.items.map(i => i.member.patchedMember), this.items.map(i => i.group), this.items.flatMap(i => i.organization.period.settings.categories));
45
+ for (const item of this.items) {
46
+ item.calculatePrice();
47
+ }
48
+ }
49
+ clone() {
50
+ const cart = new RegisterCart();
51
+ cart.items = this.items.map(i => i.clone());
52
+ cart.balanceItems = this.balanceItems.map(i => i.clone());
53
+ cart.deleteRegistrations = this.deleteRegistrations.map(r => r.clone());
54
+ return cart;
36
55
  }
37
56
  convert() {
38
57
  return IDRegisterCart.create({
39
58
  items: this.items.map(i => i.convert()),
40
- balanceItems: this.balanceItems
59
+ balanceItems: this.balanceItems,
60
+ deleteRegistrations: this.deleteRegistrations
41
61
  });
42
62
  }
43
63
  add(item) {
44
- if (this.contains(item)) {
64
+ if (!this.canAdd(item)) {
45
65
  return;
46
66
  }
47
67
  this.items.push(item);
@@ -50,6 +70,9 @@ class RegisterCart {
50
70
  if (this.contains(item)) {
51
71
  return false;
52
72
  }
73
+ if (this.items.length >= 500) {
74
+ return false;
75
+ }
53
76
  if (this.paymentConfiguration && item.paymentConfiguration && item.paymentConfiguration !== this.paymentConfiguration) {
54
77
  return false;
55
78
  }
@@ -57,12 +80,23 @@ class RegisterCart {
57
80
  }
58
81
  contains(item) {
59
82
  for (const [i, otherItem] of this.items.entries()) {
60
- if (otherItem.id === item.id) {
83
+ if (otherItem.id === item.id || (otherItem.member.id === item.member.id && otherItem.groupId === item.groupId)) {
61
84
  return true;
62
85
  }
63
86
  }
64
87
  return false;
65
88
  }
89
+ getMemberAndGroup(memberId, groupId) {
90
+ for (const [i, otherItem] of this.items.entries()) {
91
+ if (otherItem.member.id === memberId && otherItem.groupId === groupId) {
92
+ return otherItem;
93
+ }
94
+ }
95
+ return null;
96
+ }
97
+ containsMemberAndGroup(memberId, groupId) {
98
+ return this.getMemberAndGroup(memberId, groupId) !== null;
99
+ }
66
100
  remove(item) {
67
101
  for (const [i, otherItem] of this.items.entries()) {
68
102
  if (otherItem.id === item.id) {
@@ -71,16 +105,39 @@ class RegisterCart {
71
105
  }
72
106
  }
73
107
  }
108
+ removeMemberAndGroup(memberId, groupId) {
109
+ for (let i = this.items.length - 1; i >= 0; i--) {
110
+ const otherItem = this.items[i];
111
+ if (otherItem.member.id === memberId && otherItem.groupId === groupId) {
112
+ this.items.splice(i, 1);
113
+ }
114
+ }
115
+ }
116
+ removeRegistration(registration) {
117
+ const index = this.deleteRegistrations.findIndex(r => r.id === registration.id);
118
+ if (index === -1) {
119
+ this.deleteRegistrations.push(registration);
120
+ }
121
+ }
122
+ unremoveRegistration(registration) {
123
+ const index = this.deleteRegistrations.findIndex(r => r.id === registration.id);
124
+ if (index !== -1) {
125
+ this.deleteRegistrations.splice(index, 1);
126
+ }
127
+ }
74
128
  get isEmpty() {
75
- return this.items.length === 0;
129
+ return this.count === 0;
76
130
  }
77
131
  get count() {
78
- return this.items.length;
132
+ return this.items.length + this.balanceItems.length + this.deleteRegistrations.length;
79
133
  }
80
134
  get price() {
81
135
  return this.items.reduce((total, item) => item.calculatedPrice + total, 0)
82
136
  + this.balanceItems.reduce((total, item) => {
83
137
  return total + item.price;
138
+ }, 0)
139
+ - this.deleteRegistrations.reduce((total, item) => {
140
+ return total + item.price;
84
141
  }, 0);
85
142
  }
86
143
  get paymentConfiguration() {
@@ -94,13 +151,65 @@ class RegisterCart {
94
151
  if (this.items.length === 0) {
95
152
  return null;
96
153
  }
97
- const organization = this.items[0].organization;
154
+ return this.items[0].organization;
155
+ }
156
+ validate(data) {
157
+ var _a, _b;
158
+ const newItems = [];
159
+ const errors = new simple_errors_1.SimpleErrors();
98
160
  for (const item of this.items) {
99
- if (item.organization.id !== organization.id) {
100
- return null;
161
+ try {
162
+ item.validate();
163
+ newItems.push(item);
164
+ }
165
+ catch (e) {
166
+ if ((0, simple_errors_1.isSimpleError)(e) || (0, simple_errors_1.isSimpleErrors)(e)) {
167
+ e.addNamespace('cart');
168
+ errors.addError(e);
169
+ }
170
+ else {
171
+ throw e;
172
+ }
173
+ if ((0, simple_errors_1.isSimpleError)(e) && ((_a = e.meta) === null || _a === void 0 ? void 0 : _a.recoverable)) {
174
+ item.cartError = e;
175
+ newItems.push(item);
176
+ }
177
+ }
178
+ }
179
+ const cleanedBalanceItems = [];
180
+ for (const balanceItem of this.balanceItems) {
181
+ // TODO: validate balance item organization (happens in backend anyway)
182
+ try {
183
+ balanceItem.validate({ balanceItems: data === null || data === void 0 ? void 0 : data.memberBalanceItems });
184
+ cleanedBalanceItems.push(balanceItem);
185
+ }
186
+ catch (e) {
187
+ if ((0, simple_errors_1.isSimpleError)(e) || (0, simple_errors_1.isSimpleErrors)(e)) {
188
+ e.addNamespace('cart');
189
+ errors.addError(e);
190
+ }
191
+ else {
192
+ throw e;
193
+ }
194
+ }
195
+ }
196
+ const cleanedRegistrations = [];
197
+ for (const registration of this.deleteRegistrations) {
198
+ if (this.singleOrganization && registration.group.organizationId !== ((_b = this.singleOrganization) === null || _b === void 0 ? void 0 : _b.id)) {
199
+ errors.addError(new simple_errors_1.SimpleError({
200
+ code: 'invalid_organization',
201
+ message: 'Invalid organization in deleteRegistrations',
202
+ human: 'Het is niet mogelijk om een inschrijving te verwijderen samen met een inschrijving voor een andere organisatie, dit moet apart gebeuren.',
203
+ field: 'deleteRegistrations'
204
+ }));
205
+ continue;
101
206
  }
207
+ cleanedRegistrations.push(registration);
102
208
  }
103
- return organization;
209
+ this.balanceItems = cleanedBalanceItems;
210
+ this.deleteRegistrations = cleanedRegistrations;
211
+ this.items = newItems;
212
+ errors.throwIfNotEmpty();
104
213
  }
105
214
  }
106
215
  exports.RegisterCart = RegisterCart;
@@ -1 +1 @@
1
- {"version":3,"file":"RegisterCart.js","sourceRoot":"","sources":["../../../../src/members/checkout/RegisterCart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RegisterCart.js","sourceRoot":"","sources":["../../../../src/members/checkout/RegisterCart.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,41 @@
1
1
  import { AutoEncoder } from "@simonbackx/simple-encoding";
2
2
  import { MemberBalanceItem } from "../../BalanceItemDetailed";
3
+ import { Group } from "../../Group";
4
+ import { Organization } from "../../Organization";
3
5
  import { PaymentMethod } from "../../PaymentMethod";
4
6
  import { PriceBreakdown } from "../../PriceBreakdown";
5
- import { PlatformFamily } from "../PlatformMember";
7
+ import { PlatformMember } from "../PlatformMember";
6
8
  import { IDRegisterCart, RegisterCart } from "./RegisterCart";
9
+ import { RegisterItem } from "./RegisterItem";
10
+ import { RegistrationWithMember } from "../RegistrationWithMember";
7
11
  export type RegisterContext = {
8
- family: PlatformFamily;
12
+ members: PlatformMember[];
13
+ groups: Group[];
14
+ organizations: Organization[];
9
15
  };
10
16
  export declare class IDRegisterCheckout extends AutoEncoder {
11
17
  cart: IDRegisterCart;
12
18
  administrationFee: number;
13
19
  freeContribution: number;
14
20
  paymentMethod: PaymentMethod | null;
21
+ /**
22
+ * The link we'll redirect the user back too after the payment page (either succeeded or failed!)
23
+ * The id query param will be appended with the payment id
24
+ */
25
+ redirectUrl: URL | null;
26
+ /**
27
+ * The link we'll redirect the user back too after the user canceled a payment (not supported for all payment methods)
28
+ * The id query param will be appended with the payment id
29
+ */
30
+ cancelUrl: URL | null;
31
+ /**
32
+ * Register these members as the organization
33
+ */
34
+ asOrganizationId: string | null;
35
+ /**
36
+ * Cached price so we can detect inconsistencies between frontend and backend
37
+ */
38
+ totalPrice: number | null;
15
39
  hydrate(context: RegisterContext): RegisterCheckout;
16
40
  }
17
41
  export declare class RegisterCheckout {
@@ -19,9 +43,28 @@ export declare class RegisterCheckout {
19
43
  administrationFee: number;
20
44
  freeContribution: number;
21
45
  paymentMethod: PaymentMethod | null;
46
+ asOrganizationId: string | null;
47
+ defaultOrganization: Organization | null;
22
48
  convert(): IDRegisterCheckout;
23
49
  get paymentConfiguration(): import("../../PaymentConfiguration").PaymentConfiguration | null;
24
- get singleOrganization(): import("../../Organization").Organization | null;
50
+ get singleOrganization(): Organization | null;
51
+ setDefaultOrganization(organization: Organization | null): void;
52
+ get isAdminFromSameOrganization(): boolean;
53
+ add(item: RegisterItem, options?: {
54
+ calculate?: boolean;
55
+ }): void;
56
+ remove(item: RegisterItem, options?: {
57
+ calculate?: boolean;
58
+ }): void;
59
+ removeMemberAndGroup(memberId: string, groupId: string, options?: {
60
+ calculate?: boolean;
61
+ }): void;
62
+ removeRegistration(registration: RegistrationWithMember, options?: {
63
+ calculate?: boolean;
64
+ }): void;
65
+ unremoveRegistration(registration: RegistrationWithMember, options?: {
66
+ calculate?: boolean;
67
+ }): void;
25
68
  updatePrices(): void;
26
69
  validate(data: {
27
70
  memberBalanceItems?: MemberBalanceItem[];
@@ -1 +1 @@
1
- {"version":3,"file":"RegisterCheckout.d.ts","sourceRoot":"","sources":["../../../../src/members/checkout/RegisterCheckout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAsC,MAAM,6BAA6B,CAAC;AAE9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9D,MAAM,MAAM,eAAe,GAAG;IAC1B,MAAM,EAAE,cAAc,CAAA;CACzB,CAAA;AAGD,qBAAa,kBAAmB,SAAQ,WAAW;IAE/C,IAAI,EAAE,cAAc,CAA4B;IAGhD,iBAAiB,SAAI;IAGrB,gBAAgB,SAAI;IAGpB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAO;IAE1C,OAAO,CAAC,OAAO,EAAE,eAAe;CAQnC;AAED,qBAAa,gBAAgB;IACzB,IAAI,eAAqB;IACzB,iBAAiB,SAAK;IACtB,gBAAgB,SAAI;IACpB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAO;IAE1C,OAAO,IAAI,kBAAkB;IAS7B,IAAI,oBAAoB,qEAEvB;IAED,IAAI,kBAAkB,qDAErB;IAED,YAAY;IAKZ,QAAQ,CAAC,IAAI,EAAE;QAAC,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAA;KAAC;IAIzD,KAAK;IAOL,IAAI,UAAU,WAEb;IAED,IAAI,aAAa,IAAI,cAAc,CA0BlC;CAEJ"}
1
+ {"version":3,"file":"RegisterCheckout.d.ts","sourceRoot":"","sources":["../../../../src/members/checkout/RegisterCheckout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAiE,MAAM,6BAA6B,CAAC;AAEzH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,MAAM,eAAe,GAAG;IAC1B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,aAAa,EAAE,YAAY,EAAE,CAAA;CAChC,CAAA;AAED,qBAAa,kBAAmB,SAAQ,WAAW;IAE/C,IAAI,EAAE,cAAc,CAA4B;IAGhD,iBAAiB,SAAI;IAGrB,gBAAgB,SAAI;IAGpB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAO;IAE1C;;;OAGG;IAEH,WAAW,EAAE,GAAG,GAAC,IAAI,CAAO;IAE5B;;;OAGG;IAEH,SAAS,EAAE,GAAG,GAAC,IAAI,CAAO;IAE1B;;OAEG;IAEH,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAO;IAEtC;;OAEG;IAEH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAO;IAEhC,OAAO,CAAC,OAAO,EAAE,eAAe;CASnC;AAED,qBAAa,gBAAgB;IACzB,IAAI,eAAqB;IACzB,iBAAiB,SAAK;IACtB,gBAAgB,SAAI;IACpB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAO;IAC1C,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAO;IAGtC,mBAAmB,EAAE,YAAY,GAAG,IAAI,CAAO;IAE/C,OAAO,IAAI,kBAAkB;IAW7B,IAAI,oBAAoB,qEAEvB;IAED,IAAI,kBAAkB,wBAErB;IAED,sBAAsB,CAAC,YAAY,EAAE,YAAY,GAAC,IAAI;IAItD,IAAI,2BAA2B,YAE9B;IAED,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAC;IAQvD,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAC;IAQ1D,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAC;IAOvF,kBAAkB,CAAC,YAAY,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAC;IAOxF,oBAAoB,CAAC,YAAY,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAC;IAO1F,YAAY;IAUZ,QAAQ,CAAC,IAAI,EAAE;QAAC,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAA;KAAC;IAMzD,KAAK;IAQL,IAAI,UAAU,WAEb;IAED,IAAI,aAAa,IAAI,cAAc,CA0BlC;CAEJ"}
@@ -12,6 +12,24 @@ class IDRegisterCheckout extends simple_encoding_1.AutoEncoder {
12
12
  this.administrationFee = 0;
13
13
  this.freeContribution = 0;
14
14
  this.paymentMethod = null;
15
+ /**
16
+ * The link we'll redirect the user back too after the payment page (either succeeded or failed!)
17
+ * The id query param will be appended with the payment id
18
+ */
19
+ this.redirectUrl = null;
20
+ /**
21
+ * The link we'll redirect the user back too after the user canceled a payment (not supported for all payment methods)
22
+ * The id query param will be appended with the payment id
23
+ */
24
+ this.cancelUrl = null;
25
+ /**
26
+ * Register these members as the organization
27
+ */
28
+ this.asOrganizationId = null;
29
+ /**
30
+ * Cached price so we can detect inconsistencies between frontend and backend
31
+ */
32
+ this.totalPrice = null;
15
33
  }
16
34
  hydrate(context) {
17
35
  const checkout = new RegisterCheckout();
@@ -19,6 +37,7 @@ class IDRegisterCheckout extends simple_encoding_1.AutoEncoder {
19
37
  checkout.administrationFee = this.administrationFee;
20
38
  checkout.freeContribution = this.freeContribution;
21
39
  checkout.paymentMethod = this.paymentMethod;
40
+ checkout.asOrganizationId = this.asOrganizationId;
22
41
  return checkout;
23
42
  }
24
43
  }
@@ -35,40 +54,102 @@ tslib_1.__decorate([
35
54
  tslib_1.__decorate([
36
55
  (0, simple_encoding_1.field)({ decoder: new simple_encoding_1.EnumDecoder(PaymentMethod_1.PaymentMethod), nullable: true })
37
56
  ], IDRegisterCheckout.prototype, "paymentMethod", void 0);
57
+ tslib_1.__decorate([
58
+ (0, simple_encoding_1.field)({ decoder: new simple_encoding_1.URLDecoder({ allowedProtocols: ['https:'] }), nullable: true })
59
+ ], IDRegisterCheckout.prototype, "redirectUrl", void 0);
60
+ tslib_1.__decorate([
61
+ (0, simple_encoding_1.field)({ decoder: new simple_encoding_1.URLDecoder({ allowedProtocols: ['https:'] }), nullable: true })
62
+ ], IDRegisterCheckout.prototype, "cancelUrl", void 0);
63
+ tslib_1.__decorate([
64
+ (0, simple_encoding_1.field)({ decoder: simple_encoding_1.StringDecoder, nullable: true })
65
+ ], IDRegisterCheckout.prototype, "asOrganizationId", void 0);
66
+ tslib_1.__decorate([
67
+ (0, simple_encoding_1.field)({ decoder: simple_encoding_1.IntegerDecoder, nullable: true })
68
+ ], IDRegisterCheckout.prototype, "totalPrice", void 0);
38
69
  class RegisterCheckout {
39
70
  constructor() {
40
71
  this.cart = new RegisterCart_1.RegisterCart();
41
72
  this.administrationFee = 0;
42
73
  this.freeContribution = 0;
43
74
  this.paymentMethod = null;
75
+ this.asOrganizationId = null;
76
+ // Default hint for empty carts to know the organization to use
77
+ this.defaultOrganization = null;
44
78
  }
45
79
  convert() {
46
80
  return IDRegisterCheckout.create({
47
81
  cart: this.cart.convert(),
48
82
  administrationFee: this.administrationFee,
49
83
  freeContribution: this.freeContribution,
50
- paymentMethod: this.paymentMethod
84
+ paymentMethod: this.paymentMethod,
85
+ totalPrice: this.totalPrice,
86
+ asOrganizationId: this.asOrganizationId
51
87
  });
52
88
  }
53
89
  get paymentConfiguration() {
54
90
  return this.cart.paymentConfiguration;
55
91
  }
56
92
  get singleOrganization() {
57
- return this.cart.singleOrganization;
93
+ var _a;
94
+ return (_a = this.cart.singleOrganization) !== null && _a !== void 0 ? _a : this.defaultOrganization;
95
+ }
96
+ setDefaultOrganization(organization) {
97
+ this.defaultOrganization = organization;
98
+ }
99
+ get isAdminFromSameOrganization() {
100
+ var _a;
101
+ return !!this.asOrganizationId && this.asOrganizationId === ((_a = this.singleOrganization) === null || _a === void 0 ? void 0 : _a.id);
102
+ }
103
+ add(item, options) {
104
+ this.cart.add(item);
105
+ if ((options === null || options === void 0 ? void 0 : options.calculate) !== false) {
106
+ this.updatePrices();
107
+ }
108
+ }
109
+ remove(item, options) {
110
+ this.cart.remove(item);
111
+ if ((options === null || options === void 0 ? void 0 : options.calculate) !== false) {
112
+ this.updatePrices();
113
+ }
114
+ }
115
+ removeMemberAndGroup(memberId, groupId, options) {
116
+ this.cart.removeMemberAndGroup(memberId, groupId);
117
+ if ((options === null || options === void 0 ? void 0 : options.calculate) !== false) {
118
+ this.updatePrices();
119
+ }
120
+ }
121
+ removeRegistration(registration, options) {
122
+ this.cart.removeRegistration(registration);
123
+ if ((options === null || options === void 0 ? void 0 : options.calculate) !== false) {
124
+ this.updatePrices();
125
+ }
126
+ }
127
+ unremoveRegistration(registration, options) {
128
+ this.cart.unremoveRegistration(registration);
129
+ if ((options === null || options === void 0 ? void 0 : options.calculate) !== false) {
130
+ this.updatePrices();
131
+ }
58
132
  }
59
133
  updatePrices() {
60
134
  var _a, _b;
61
135
  this.cart.calculatePrices();
62
- this.administrationFee = (_b = (_a = this.paymentConfiguration) === null || _a === void 0 ? void 0 : _a.administrationFee.calculate(this.cart.price)) !== null && _b !== void 0 ? _b : 0;
136
+ if (this.isAdminFromSameOrganization) {
137
+ this.administrationFee = 0;
138
+ }
139
+ else {
140
+ this.administrationFee = (_b = (_a = this.paymentConfiguration) === null || _a === void 0 ? void 0 : _a.administrationFee.calculate(this.cart.price)) !== null && _b !== void 0 ? _b : 0;
141
+ }
63
142
  }
64
143
  validate(data) {
65
- // todo
144
+ this.cart.validate();
145
+ // todo: validate more data
66
146
  }
67
147
  clear() {
68
148
  this.administrationFee = 0;
69
149
  this.freeContribution = 0;
70
150
  this.cart.items = [];
71
151
  this.cart.balanceItems = [];
152
+ this.cart.deleteRegistrations = [];
72
153
  }
73
154
  get totalPrice() {
74
155
  return Math.max(0, this.cart.price + this.administrationFee + this.freeContribution);
@@ -1 +1 @@
1
- {"version":3,"file":"RegisterCheckout.js","sourceRoot":"","sources":["../../../../src/members/checkout/RegisterCheckout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RegisterCheckout.js","sourceRoot":"","sources":["../../../../src/members/checkout/RegisterCheckout.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import { AutoEncoder } from "@simonbackx/simple-encoding";
2
+ import { SimpleError, SimpleErrors } from "@simonbackx/simple-errors";
2
3
  import { Group } from "../../Group";
3
4
  import { GroupOption, GroupOptionMenu, GroupPrice } from "../../GroupSettings";
4
- import { PlatformMember, PlatformFamily } from "../PlatformMember";
5
- import { RegisterItemWithPrice } from "./OldRegisterCartPriceCalculator";
6
- import { RegisterContext } from "./RegisterCheckout";
5
+ import { Organization } from "../../Organization";
6
+ import { PlatformMember } from "../PlatformMember";
7
7
  import { Registration } from "../Registration";
8
+ import { RegisterContext } from "./RegisterCheckout";
9
+ import { StockReservation } from "../../StockReservation";
10
+ import { RegistrationWithMember } from "../RegistrationWithMember";
8
11
  export declare class RegisterItemOption extends AutoEncoder {
9
12
  option: GroupOption;
10
13
  optionMenu: GroupOptionMenu;
@@ -15,48 +18,86 @@ export declare class IDRegisterItem extends AutoEncoder {
15
18
  memberId: string;
16
19
  groupId: string;
17
20
  organizationId: string;
18
- waitingList: boolean;
21
+ groupPrice: GroupPrice;
22
+ options: RegisterItemOption[];
19
23
  hydrate(context: RegisterContext): RegisterItem;
20
24
  }
21
- export declare class RegisterItem implements RegisterItemWithPrice {
25
+ export declare class RegisterItem {
22
26
  id: string;
23
27
  member: PlatformMember;
24
28
  group: Group;
29
+ organization: Organization;
25
30
  groupPrice: GroupPrice;
26
31
  options: RegisterItemOption[];
27
- waitingList: boolean;
28
32
  calculatedPrice: number;
29
- static fromRegistration(registration: Registration, member: PlatformMember): RegisterItem;
33
+ /**
34
+ * These registrations will be replaced as part of this new registration (moving or updating a registration is possible this way)
35
+ */
36
+ replaceRegistrations: RegistrationWithMember[];
37
+ /**
38
+ * Show an error in the cart for recovery
39
+ */
40
+ cartError: SimpleError | SimpleErrors | null;
41
+ /**
42
+ * @deprecated
43
+ */
44
+ get waitingList(): boolean;
45
+ static fromRegistration(registration: Registration, member: PlatformMember, organization: Organization): RegisterItem;
30
46
  constructor(data: {
31
47
  id?: string;
32
48
  member: PlatformMember;
33
49
  group: Group;
34
- waitingList: boolean;
50
+ organization: Organization;
51
+ groupPrice?: GroupPrice;
52
+ options?: RegisterItemOption[];
53
+ replaceRegistrations?: RegistrationWithMember[];
35
54
  });
55
+ get isInCart(): boolean;
56
+ get showItemView(): boolean;
57
+ calculatePrice(): void;
58
+ clone(): RegisterItem;
59
+ copyFrom(item: RegisterItem): void;
60
+ getFilteredPrices(): GroupPrice[];
61
+ getFilteredOptionMenus(): GroupOptionMenu[];
62
+ getFilteredOptions(menu: GroupOptionMenu): GroupOption[];
36
63
  convert(): IDRegisterItem;
37
64
  get memberId(): string;
38
65
  get groupId(): string;
39
66
  get reduced(): boolean;
40
- get family(): PlatformFamily;
67
+ get family(): import("../PlatformMember").PlatformFamily;
41
68
  get checkout(): import("./RegisterCheckout").RegisterCheckout;
42
- static defaultFor(member: PlatformMember, group: Group): RegisterItem;
43
- get organization(): import("../../Organization").Organization;
69
+ static defaultFor(member: PlatformMember, group: Group, organization: Organization): RegisterItem;
44
70
  /**
45
71
  * Update self to the newest available data, and throw error if something failed (only after refreshing other ones)
46
72
  */
47
- refresh(): void;
73
+ refresh(group: Group): void;
48
74
  isAlreadyRegistered(): boolean;
49
75
  hasReachedCategoryMaximum(): boolean;
50
76
  isInvited(): boolean;
51
77
  doesMeetRequireGroupIds(): boolean;
78
+ doesMeetRequireOrganizationIds(): boolean;
79
+ doesMeetRequireOrganizationTags(): boolean;
80
+ doesMeetRequirePlatformMembershipOn(): boolean;
52
81
  isExistingMemberOrFamily(): boolean;
53
- get rowLabel(): string | null;
54
- get infoDescription(): string | null;
82
+ get description(): string;
55
83
  shouldUseWaitingList(): boolean;
56
84
  hasReachedGroupMaximum(): boolean;
57
85
  get validationError(): string | null;
58
- validate(): void;
59
- static fromId(idRegisterItem: IDRegisterItem, family: PlatformFamily): RegisterItem;
86
+ get validationWarning(): string | null;
87
+ get isValid(): boolean;
88
+ validate(options?: {
89
+ warnings?: boolean;
90
+ }): void;
91
+ static fromId(idRegisterItem: IDRegisterItem, context: RegisterContext): RegisterItem;
60
92
  get paymentConfiguration(): import("../../PaymentConfiguration").PaymentConfiguration | null;
93
+ /**
94
+ * Returns the stock that will be taken (or freed if negative) by all the register items before this item
95
+ * and with the removed registrations freed up, so this can be negative
96
+ */
97
+ getCartPendingStockReservations(): StockReservation[];
98
+ /**
99
+ * Stock that will be taken by this item
100
+ */
101
+ getPendingStockReservations(): StockReservation[];
61
102
  }
62
103
  //# sourceMappingURL=RegisterItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RegisterItem.d.ts","sourceRoot":"","sources":["../../../../src/members/checkout/RegisterItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAwD,MAAM,6BAA6B,CAAA;AAG/G,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAmB,MAAM,qBAAqB,CAAA;AAC/F,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,qBAAa,kBAAmB,SAAQ,WAAW;IAE/C,MAAM,EAAE,WAAW,CAAC;IAGpB,UAAU,EAAE,eAAe,CAAC;IAG5B,MAAM,SAAI;CACb;AAED,qBAAa,cAAe,SAAQ,WAAW;IAE3C,EAAE,EAAE,MAAM,CAAA;IAGV,QAAQ,EAAE,MAAM,CAAA;IAGhB,OAAO,EAAE,MAAM,CAAA;IAGf,cAAc,EAAE,MAAM,CAAA;IAGtB,WAAW,EAAE,OAAO,CAAA;IAEpB,OAAO,CAAC,OAAO,EAAE,eAAe;CAGnC;AAED,qBAAa,YAAa,YAAW,qBAAqB;IACtD,EAAE,EAAE,MAAM,CAAC;IAEX,MAAM,EAAE,cAAc,CAAA;IACtB,KAAK,EAAE,KAAK,CAAA;IAEZ,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,kBAAkB,EAAE,CAAK;IAElC,WAAW,UAAQ;IACnB,eAAe,SAAI;IAEnB,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc;gBAS9D,IAAI,EAAE;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAC;IAQ3F,OAAO,IAAI,cAAc;IAUzB,IAAI,QAAQ,WAEX;IAED,IAAI,OAAO,WAEV;IAED,IAAI,OAAO,YAEV;IAED,IAAI,MAAM,mBAET;IAED,IAAI,QAAQ,kDAEX;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK;IAUtD,IAAI,YAAY,8CAEf;IAED;;OAEG;IACH,OAAO;IAIP,mBAAmB;IAInB,yBAAyB,IAAI,OAAO;IAyBpC,SAAS;IAIT,uBAAuB;IAiBvB,wBAAwB;IAIxB,IAAI,QAAQ,IAAI,MAAM,GAAC,IAAI,CAM1B;IAED,IAAI,eAAe,IAAI,MAAM,GAAC,IAAI,CAuBjC;IAED,oBAAoB;IAkBpB,sBAAsB;IAgBtB,IAAI,eAAe,kBAUlB;IAED,QAAQ;IAkHR,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc;IAwBpE,IAAI,oBAAoB,qEAKvB;CACJ"}
1
+ {"version":3,"file":"RegisterItem.d.ts","sourceRoot":"","sources":["../../../../src/members/checkout/RegisterItem.ts"],"names":[],"mappings":"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"}