@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
@@ -1,18 +1,21 @@
1
1
  import { __decorate } from "tslib";
2
- import { AutoEncoder, field, ArrayDecoder } from "@simonbackx/simple-encoding";
3
- import { OldRegisterCartPriceCalculator } from "./OldRegisterCartPriceCalculator";
4
- import { IDRegisterItem } from "./RegisterItem";
2
+ import { ArrayDecoder, AutoEncoder, field } from "@simonbackx/simple-encoding";
3
+ import { isSimpleError, isSimpleErrors, SimpleError, SimpleErrors } from "@simonbackx/simple-errors";
5
4
  import { BalanceItemCartItem } from "./BalanceItemCartItem";
5
+ import { IDRegisterItem } from "./RegisterItem";
6
+ import { RegistrationWithMember } from "../RegistrationWithMember";
6
7
  export class IDRegisterCart extends AutoEncoder {
7
8
  constructor() {
8
9
  super(...arguments);
9
10
  this.items = [];
10
11
  this.balanceItems = [];
12
+ this.deleteRegistrations = [];
11
13
  }
12
14
  hydrate(context) {
13
15
  const cart = new RegisterCart();
14
16
  cart.items = this.items.map(i => i.hydrate(context));
15
17
  cart.balanceItems = this.balanceItems;
18
+ cart.deleteRegistrations = this.deleteRegistrations;
16
19
  return cart;
17
20
  }
18
21
  }
@@ -22,22 +25,39 @@ __decorate([
22
25
  __decorate([
23
26
  field({ decoder: new ArrayDecoder(BalanceItemCartItem), optional: true })
24
27
  ], IDRegisterCart.prototype, "balanceItems", void 0);
28
+ __decorate([
29
+ field({ decoder: new ArrayDecoder(RegistrationWithMember), optional: true })
30
+ ], IDRegisterCart.prototype, "deleteRegistrations", void 0);
25
31
  export class RegisterCart {
26
32
  constructor() {
27
33
  this.items = [];
28
34
  this.balanceItems = [];
35
+ /**
36
+ * You can define which registrations you want remove as part of this register operation.
37
+ */
38
+ this.deleteRegistrations = [];
29
39
  }
30
40
  calculatePrices() {
31
- 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));
41
+ for (const item of this.items) {
42
+ item.calculatePrice();
43
+ }
44
+ }
45
+ clone() {
46
+ const cart = new RegisterCart();
47
+ cart.items = this.items.map(i => i.clone());
48
+ cart.balanceItems = this.balanceItems.map(i => i.clone());
49
+ cart.deleteRegistrations = this.deleteRegistrations.map(r => r.clone());
50
+ return cart;
32
51
  }
33
52
  convert() {
34
53
  return IDRegisterCart.create({
35
54
  items: this.items.map(i => i.convert()),
36
- balanceItems: this.balanceItems
55
+ balanceItems: this.balanceItems,
56
+ deleteRegistrations: this.deleteRegistrations
37
57
  });
38
58
  }
39
59
  add(item) {
40
- if (this.contains(item)) {
60
+ if (!this.canAdd(item)) {
41
61
  return;
42
62
  }
43
63
  this.items.push(item);
@@ -46,6 +66,9 @@ export class RegisterCart {
46
66
  if (this.contains(item)) {
47
67
  return false;
48
68
  }
69
+ if (this.items.length >= 500) {
70
+ return false;
71
+ }
49
72
  if (this.paymentConfiguration && item.paymentConfiguration && item.paymentConfiguration !== this.paymentConfiguration) {
50
73
  return false;
51
74
  }
@@ -53,12 +76,23 @@ export class RegisterCart {
53
76
  }
54
77
  contains(item) {
55
78
  for (const [i, otherItem] of this.items.entries()) {
56
- if (otherItem.id === item.id) {
79
+ if (otherItem.id === item.id || (otherItem.member.id === item.member.id && otherItem.groupId === item.groupId)) {
57
80
  return true;
58
81
  }
59
82
  }
60
83
  return false;
61
84
  }
85
+ getMemberAndGroup(memberId, groupId) {
86
+ for (const [i, otherItem] of this.items.entries()) {
87
+ if (otherItem.member.id === memberId && otherItem.groupId === groupId) {
88
+ return otherItem;
89
+ }
90
+ }
91
+ return null;
92
+ }
93
+ containsMemberAndGroup(memberId, groupId) {
94
+ return this.getMemberAndGroup(memberId, groupId) !== null;
95
+ }
62
96
  remove(item) {
63
97
  for (const [i, otherItem] of this.items.entries()) {
64
98
  if (otherItem.id === item.id) {
@@ -67,16 +101,39 @@ export class RegisterCart {
67
101
  }
68
102
  }
69
103
  }
104
+ removeMemberAndGroup(memberId, groupId) {
105
+ for (let i = this.items.length - 1; i >= 0; i--) {
106
+ const otherItem = this.items[i];
107
+ if (otherItem.member.id === memberId && otherItem.groupId === groupId) {
108
+ this.items.splice(i, 1);
109
+ }
110
+ }
111
+ }
112
+ removeRegistration(registration) {
113
+ const index = this.deleteRegistrations.findIndex(r => r.id === registration.id);
114
+ if (index === -1) {
115
+ this.deleteRegistrations.push(registration);
116
+ }
117
+ }
118
+ unremoveRegistration(registration) {
119
+ const index = this.deleteRegistrations.findIndex(r => r.id === registration.id);
120
+ if (index !== -1) {
121
+ this.deleteRegistrations.splice(index, 1);
122
+ }
123
+ }
70
124
  get isEmpty() {
71
- return this.items.length === 0;
125
+ return this.count === 0;
72
126
  }
73
127
  get count() {
74
- return this.items.length;
128
+ return this.items.length + this.balanceItems.length + this.deleteRegistrations.length;
75
129
  }
76
130
  get price() {
77
131
  return this.items.reduce((total, item) => item.calculatedPrice + total, 0)
78
132
  + this.balanceItems.reduce((total, item) => {
79
133
  return total + item.price;
134
+ }, 0)
135
+ - this.deleteRegistrations.reduce((total, item) => {
136
+ return total + item.price;
80
137
  }, 0);
81
138
  }
82
139
  get paymentConfiguration() {
@@ -90,13 +147,65 @@ export class RegisterCart {
90
147
  if (this.items.length === 0) {
91
148
  return null;
92
149
  }
93
- const organization = this.items[0].organization;
150
+ return this.items[0].organization;
151
+ }
152
+ validate(data) {
153
+ var _a, _b;
154
+ const newItems = [];
155
+ const errors = new SimpleErrors();
94
156
  for (const item of this.items) {
95
- if (item.organization.id !== organization.id) {
96
- return null;
157
+ try {
158
+ item.validate();
159
+ newItems.push(item);
160
+ }
161
+ catch (e) {
162
+ if (isSimpleError(e) || isSimpleErrors(e)) {
163
+ e.addNamespace('cart');
164
+ errors.addError(e);
165
+ }
166
+ else {
167
+ throw e;
168
+ }
169
+ if (isSimpleError(e) && ((_a = e.meta) === null || _a === void 0 ? void 0 : _a.recoverable)) {
170
+ item.cartError = e;
171
+ newItems.push(item);
172
+ }
173
+ }
174
+ }
175
+ const cleanedBalanceItems = [];
176
+ for (const balanceItem of this.balanceItems) {
177
+ // TODO: validate balance item organization (happens in backend anyway)
178
+ try {
179
+ balanceItem.validate({ balanceItems: data === null || data === void 0 ? void 0 : data.memberBalanceItems });
180
+ cleanedBalanceItems.push(balanceItem);
181
+ }
182
+ catch (e) {
183
+ if (isSimpleError(e) || isSimpleErrors(e)) {
184
+ e.addNamespace('cart');
185
+ errors.addError(e);
186
+ }
187
+ else {
188
+ throw e;
189
+ }
190
+ }
191
+ }
192
+ const cleanedRegistrations = [];
193
+ for (const registration of this.deleteRegistrations) {
194
+ if (this.singleOrganization && registration.group.organizationId !== ((_b = this.singleOrganization) === null || _b === void 0 ? void 0 : _b.id)) {
195
+ errors.addError(new SimpleError({
196
+ code: 'invalid_organization',
197
+ message: 'Invalid organization in deleteRegistrations',
198
+ human: 'Het is niet mogelijk om een inschrijving te verwijderen samen met een inschrijving voor een andere organisatie, dit moet apart gebeuren.',
199
+ field: 'deleteRegistrations'
200
+ }));
201
+ continue;
97
202
  }
203
+ cleanedRegistrations.push(registration);
98
204
  }
99
- return organization;
205
+ this.balanceItems = cleanedBalanceItems;
206
+ this.deleteRegistrations = cleanedRegistrations;
207
+ this.items = newItems;
208
+ errors.throwIfNotEmpty();
100
209
  }
101
210
  }
102
211
  //# sourceMappingURL=RegisterCart.js.map
@@ -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"}
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { AutoEncoder, EnumDecoder, field, IntegerDecoder } from "@simonbackx/simple-encoding";
2
+ import { AutoEncoder, EnumDecoder, field, IntegerDecoder, StringDecoder, URLDecoder } from "@simonbackx/simple-encoding";
3
3
  import { PaymentMethod } from "../../PaymentMethod";
4
4
  import { IDRegisterCart, RegisterCart } from "./RegisterCart";
5
5
  export class IDRegisterCheckout extends AutoEncoder {
@@ -9,6 +9,24 @@ export class IDRegisterCheckout extends AutoEncoder {
9
9
  this.administrationFee = 0;
10
10
  this.freeContribution = 0;
11
11
  this.paymentMethod = null;
12
+ /**
13
+ * The link we'll redirect the user back too after the payment page (either succeeded or failed!)
14
+ * The id query param will be appended with the payment id
15
+ */
16
+ this.redirectUrl = null;
17
+ /**
18
+ * The link we'll redirect the user back too after the user canceled a payment (not supported for all payment methods)
19
+ * The id query param will be appended with the payment id
20
+ */
21
+ this.cancelUrl = null;
22
+ /**
23
+ * Register these members as the organization
24
+ */
25
+ this.asOrganizationId = null;
26
+ /**
27
+ * Cached price so we can detect inconsistencies between frontend and backend
28
+ */
29
+ this.totalPrice = null;
12
30
  }
13
31
  hydrate(context) {
14
32
  const checkout = new RegisterCheckout();
@@ -16,6 +34,7 @@ export class IDRegisterCheckout extends AutoEncoder {
16
34
  checkout.administrationFee = this.administrationFee;
17
35
  checkout.freeContribution = this.freeContribution;
18
36
  checkout.paymentMethod = this.paymentMethod;
37
+ checkout.asOrganizationId = this.asOrganizationId;
19
38
  return checkout;
20
39
  }
21
40
  }
@@ -31,40 +50,102 @@ __decorate([
31
50
  __decorate([
32
51
  field({ decoder: new EnumDecoder(PaymentMethod), nullable: true })
33
52
  ], IDRegisterCheckout.prototype, "paymentMethod", void 0);
53
+ __decorate([
54
+ field({ decoder: new URLDecoder({ allowedProtocols: ['https:'] }), nullable: true })
55
+ ], IDRegisterCheckout.prototype, "redirectUrl", void 0);
56
+ __decorate([
57
+ field({ decoder: new URLDecoder({ allowedProtocols: ['https:'] }), nullable: true })
58
+ ], IDRegisterCheckout.prototype, "cancelUrl", void 0);
59
+ __decorate([
60
+ field({ decoder: StringDecoder, nullable: true })
61
+ ], IDRegisterCheckout.prototype, "asOrganizationId", void 0);
62
+ __decorate([
63
+ field({ decoder: IntegerDecoder, nullable: true })
64
+ ], IDRegisterCheckout.prototype, "totalPrice", void 0);
34
65
  export class RegisterCheckout {
35
66
  constructor() {
36
67
  this.cart = new RegisterCart();
37
68
  this.administrationFee = 0;
38
69
  this.freeContribution = 0;
39
70
  this.paymentMethod = null;
71
+ this.asOrganizationId = null;
72
+ // Default hint for empty carts to know the organization to use
73
+ this.defaultOrganization = null;
40
74
  }
41
75
  convert() {
42
76
  return IDRegisterCheckout.create({
43
77
  cart: this.cart.convert(),
44
78
  administrationFee: this.administrationFee,
45
79
  freeContribution: this.freeContribution,
46
- paymentMethod: this.paymentMethod
80
+ paymentMethod: this.paymentMethod,
81
+ totalPrice: this.totalPrice,
82
+ asOrganizationId: this.asOrganizationId
47
83
  });
48
84
  }
49
85
  get paymentConfiguration() {
50
86
  return this.cart.paymentConfiguration;
51
87
  }
52
88
  get singleOrganization() {
53
- return this.cart.singleOrganization;
89
+ var _a;
90
+ return (_a = this.cart.singleOrganization) !== null && _a !== void 0 ? _a : this.defaultOrganization;
91
+ }
92
+ setDefaultOrganization(organization) {
93
+ this.defaultOrganization = organization;
94
+ }
95
+ get isAdminFromSameOrganization() {
96
+ var _a;
97
+ return !!this.asOrganizationId && this.asOrganizationId === ((_a = this.singleOrganization) === null || _a === void 0 ? void 0 : _a.id);
98
+ }
99
+ add(item, options) {
100
+ this.cart.add(item);
101
+ if ((options === null || options === void 0 ? void 0 : options.calculate) !== false) {
102
+ this.updatePrices();
103
+ }
104
+ }
105
+ remove(item, options) {
106
+ this.cart.remove(item);
107
+ if ((options === null || options === void 0 ? void 0 : options.calculate) !== false) {
108
+ this.updatePrices();
109
+ }
110
+ }
111
+ removeMemberAndGroup(memberId, groupId, options) {
112
+ this.cart.removeMemberAndGroup(memberId, groupId);
113
+ if ((options === null || options === void 0 ? void 0 : options.calculate) !== false) {
114
+ this.updatePrices();
115
+ }
116
+ }
117
+ removeRegistration(registration, options) {
118
+ this.cart.removeRegistration(registration);
119
+ if ((options === null || options === void 0 ? void 0 : options.calculate) !== false) {
120
+ this.updatePrices();
121
+ }
122
+ }
123
+ unremoveRegistration(registration, options) {
124
+ this.cart.unremoveRegistration(registration);
125
+ if ((options === null || options === void 0 ? void 0 : options.calculate) !== false) {
126
+ this.updatePrices();
127
+ }
54
128
  }
55
129
  updatePrices() {
56
130
  var _a, _b;
57
131
  this.cart.calculatePrices();
58
- this.administrationFee = (_b = (_a = this.paymentConfiguration) === null || _a === void 0 ? void 0 : _a.administrationFee.calculate(this.cart.price)) !== null && _b !== void 0 ? _b : 0;
132
+ if (this.isAdminFromSameOrganization) {
133
+ this.administrationFee = 0;
134
+ }
135
+ else {
136
+ this.administrationFee = (_b = (_a = this.paymentConfiguration) === null || _a === void 0 ? void 0 : _a.administrationFee.calculate(this.cart.price)) !== null && _b !== void 0 ? _b : 0;
137
+ }
59
138
  }
60
139
  validate(data) {
61
- // todo
140
+ this.cart.validate();
141
+ // todo: validate more data
62
142
  }
63
143
  clear() {
64
144
  this.administrationFee = 0;
65
145
  this.freeContribution = 0;
66
146
  this.cart.items = [];
67
147
  this.cart.balanceItems = [];
148
+ this.cart.deleteRegistrations = [];
68
149
  }
69
150
  get totalPrice() {
70
151
  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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"}