@stamhoofd/structures 2.7.0 → 2.9.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 (197) hide show
  1. package/dist/index.d.ts +2 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/BalanceItem.d.ts +44 -5
  6. package/dist/src/BalanceItem.d.ts.map +1 -1
  7. package/dist/src/BalanceItem.js +108 -12
  8. package/dist/src/BalanceItem.js.map +1 -1
  9. package/dist/src/BalanceItemDetailed.d.ts +25 -25
  10. package/dist/src/BalanceItemDetailed.d.ts.map +1 -1
  11. package/dist/src/BalanceItemDetailed.js +128 -59
  12. package/dist/src/BalanceItemDetailed.js.map +1 -1
  13. package/dist/src/Event.d.ts +4 -0
  14. package/dist/src/Event.d.ts.map +1 -1
  15. package/dist/src/Event.js +7 -0
  16. package/dist/src/Event.js.map +1 -1
  17. package/dist/src/GroupSettings.d.ts +18 -0
  18. package/dist/src/GroupSettings.d.ts.map +1 -1
  19. package/dist/src/GroupSettings.js +64 -11
  20. package/dist/src/GroupSettings.js.map +1 -1
  21. package/dist/src/OrganizationPrivateMetaData.d.ts +3 -1
  22. package/dist/src/OrganizationPrivateMetaData.d.ts.map +1 -1
  23. package/dist/src/OrganizationPrivateMetaData.js +6 -1
  24. package/dist/src/OrganizationPrivateMetaData.js.map +1 -1
  25. package/dist/src/Platform.d.ts +24 -2
  26. package/dist/src/Platform.d.ts.map +1 -1
  27. package/dist/src/Platform.js +67 -3
  28. package/dist/src/Platform.js.map +1 -1
  29. package/dist/src/StockReservation.d.ts +1 -1
  30. package/dist/src/StockReservation.d.ts.map +1 -1
  31. package/dist/src/StockReservation.js +3 -6
  32. package/dist/src/StockReservation.js.map +1 -1
  33. package/dist/src/Version.d.ts +1 -1
  34. package/dist/src/Version.js +1 -1
  35. package/dist/src/addresses/Address.d.ts.map +1 -1
  36. package/dist/src/addresses/Address.js.map +1 -1
  37. package/dist/src/addresses/Premise.d.ts +10 -0
  38. package/dist/src/addresses/Premise.d.ts.map +1 -0
  39. package/dist/src/addresses/Premise.js +28 -0
  40. package/dist/src/addresses/Premise.js.map +1 -0
  41. package/dist/src/email/EditorSmartVariable.d.ts.map +1 -1
  42. package/dist/src/email/EditorSmartVariable.js +44 -53
  43. package/dist/src/email/EditorSmartVariable.js.map +1 -1
  44. package/dist/src/email/EmailTemplate.d.ts +1 -0
  45. package/dist/src/email/EmailTemplate.d.ts.map +1 -1
  46. package/dist/src/email/EmailTemplate.js +23 -15
  47. package/dist/src/email/EmailTemplate.js.map +1 -1
  48. package/dist/src/endpoints/GroupsWithOrganizations.d.ts +8 -0
  49. package/dist/src/endpoints/GroupsWithOrganizations.d.ts.map +1 -0
  50. package/dist/src/endpoints/GroupsWithOrganizations.js +22 -0
  51. package/dist/src/endpoints/GroupsWithOrganizations.js.map +1 -0
  52. package/dist/src/members/MemberDetails.d.ts +8 -0
  53. package/dist/src/members/MemberDetails.d.ts.map +1 -1
  54. package/dist/src/members/MemberDetails.js +40 -2
  55. package/dist/src/members/MemberDetails.js.map +1 -1
  56. package/dist/src/members/OrganizationRecordsConfiguration.d.ts +16 -5
  57. package/dist/src/members/OrganizationRecordsConfiguration.d.ts.map +1 -1
  58. package/dist/src/members/OrganizationRecordsConfiguration.js +26 -1
  59. package/dist/src/members/OrganizationRecordsConfiguration.js.map +1 -1
  60. package/dist/src/members/PaymentGeneral.d.ts +2 -4
  61. package/dist/src/members/PaymentGeneral.d.ts.map +1 -1
  62. package/dist/src/members/PaymentGeneral.js +50 -26
  63. package/dist/src/members/PaymentGeneral.js.map +1 -1
  64. package/dist/src/members/PlatformMember.d.ts +17 -13
  65. package/dist/src/members/PlatformMember.d.ts.map +1 -1
  66. package/dist/src/members/PlatformMember.js +90 -78
  67. package/dist/src/members/PlatformMember.js.map +1 -1
  68. package/dist/src/members/Registration.d.ts +5 -0
  69. package/dist/src/members/Registration.d.ts.map +1 -1
  70. package/dist/src/members/Registration.js +21 -2
  71. package/dist/src/members/Registration.js.map +1 -1
  72. package/dist/src/members/checkout/BalanceItemCartItem.d.ts +3 -3
  73. package/dist/src/members/checkout/BalanceItemCartItem.d.ts.map +1 -1
  74. package/dist/src/members/checkout/BalanceItemCartItem.js +3 -3
  75. package/dist/src/members/checkout/BalanceItemCartItem.js.map +1 -1
  76. package/dist/src/members/checkout/RegisterCart.d.ts +6 -6
  77. package/dist/src/members/checkout/RegisterCart.d.ts.map +1 -1
  78. package/dist/src/members/checkout/RegisterCart.js +42 -21
  79. package/dist/src/members/checkout/RegisterCart.js.map +1 -1
  80. package/dist/src/members/checkout/RegisterCheckout.d.ts +5 -4
  81. package/dist/src/members/checkout/RegisterCheckout.d.ts.map +1 -1
  82. package/dist/src/members/checkout/RegisterCheckout.js +23 -8
  83. package/dist/src/members/checkout/RegisterCheckout.js.map +1 -1
  84. package/dist/src/members/checkout/RegisterItem.d.ts +22 -10
  85. package/dist/src/members/checkout/RegisterItem.d.ts.map +1 -1
  86. package/dist/src/members/checkout/RegisterItem.js +270 -111
  87. package/dist/src/members/checkout/RegisterItem.js.map +1 -1
  88. package/dist/src/members/records/RecordAnswer.d.ts.map +1 -1
  89. package/dist/src/members/records/RecordAnswer.js +2 -1
  90. package/dist/src/members/records/RecordAnswer.js.map +1 -1
  91. package/dist/src/webshops/CartItem.d.ts +2 -2
  92. package/dist/src/webshops/CartItem.d.ts.map +1 -1
  93. package/dist/src/webshops/CartItem.js +1 -1
  94. package/dist/src/webshops/CartItem.js.map +1 -1
  95. package/esm/dist/index.d.ts +2 -1
  96. package/esm/dist/index.d.ts.map +1 -1
  97. package/esm/dist/index.js +2 -1
  98. package/esm/dist/index.js.map +1 -1
  99. package/esm/dist/src/BalanceItem.d.ts +44 -5
  100. package/esm/dist/src/BalanceItem.d.ts.map +1 -1
  101. package/esm/dist/src/BalanceItem.js +104 -11
  102. package/esm/dist/src/BalanceItem.js.map +1 -1
  103. package/esm/dist/src/BalanceItemDetailed.d.ts +25 -25
  104. package/esm/dist/src/BalanceItemDetailed.d.ts.map +1 -1
  105. package/esm/dist/src/BalanceItemDetailed.js +128 -58
  106. package/esm/dist/src/BalanceItemDetailed.js.map +1 -1
  107. package/esm/dist/src/Event.d.ts +4 -0
  108. package/esm/dist/src/Event.d.ts.map +1 -1
  109. package/esm/dist/src/Event.js +7 -0
  110. package/esm/dist/src/Event.js.map +1 -1
  111. package/esm/dist/src/GroupSettings.d.ts +18 -0
  112. package/esm/dist/src/GroupSettings.d.ts.map +1 -1
  113. package/esm/dist/src/GroupSettings.js +64 -11
  114. package/esm/dist/src/GroupSettings.js.map +1 -1
  115. package/esm/dist/src/OrganizationPrivateMetaData.d.ts +3 -1
  116. package/esm/dist/src/OrganizationPrivateMetaData.d.ts.map +1 -1
  117. package/esm/dist/src/OrganizationPrivateMetaData.js +6 -1
  118. package/esm/dist/src/OrganizationPrivateMetaData.js.map +1 -1
  119. package/esm/dist/src/Platform.d.ts +24 -2
  120. package/esm/dist/src/Platform.d.ts.map +1 -1
  121. package/esm/dist/src/Platform.js +66 -3
  122. package/esm/dist/src/Platform.js.map +1 -1
  123. package/esm/dist/src/StockReservation.d.ts +1 -1
  124. package/esm/dist/src/StockReservation.d.ts.map +1 -1
  125. package/esm/dist/src/StockReservation.js +3 -6
  126. package/esm/dist/src/StockReservation.js.map +1 -1
  127. package/esm/dist/src/Version.d.ts +1 -1
  128. package/esm/dist/src/Version.js +1 -1
  129. package/esm/dist/src/addresses/Address.d.ts.map +1 -1
  130. package/esm/dist/src/addresses/Address.js.map +1 -1
  131. package/esm/dist/src/addresses/Premise.d.ts +10 -0
  132. package/esm/dist/src/addresses/Premise.d.ts.map +1 -0
  133. package/esm/dist/src/addresses/Premise.js +24 -0
  134. package/esm/dist/src/addresses/Premise.js.map +1 -0
  135. package/esm/dist/src/email/EditorSmartVariable.d.ts.map +1 -1
  136. package/esm/dist/src/email/EditorSmartVariable.js +46 -55
  137. package/esm/dist/src/email/EditorSmartVariable.js.map +1 -1
  138. package/esm/dist/src/email/EmailTemplate.d.ts +1 -0
  139. package/esm/dist/src/email/EmailTemplate.d.ts.map +1 -1
  140. package/esm/dist/src/email/EmailTemplate.js +23 -15
  141. package/esm/dist/src/email/EmailTemplate.js.map +1 -1
  142. package/esm/dist/src/endpoints/GroupsWithOrganizations.d.ts +8 -0
  143. package/esm/dist/src/endpoints/GroupsWithOrganizations.d.ts.map +1 -0
  144. package/esm/dist/src/endpoints/GroupsWithOrganizations.js +18 -0
  145. package/esm/dist/src/endpoints/GroupsWithOrganizations.js.map +1 -0
  146. package/esm/dist/src/members/MemberDetails.d.ts +8 -0
  147. package/esm/dist/src/members/MemberDetails.d.ts.map +1 -1
  148. package/esm/dist/src/members/MemberDetails.js +40 -2
  149. package/esm/dist/src/members/MemberDetails.js.map +1 -1
  150. package/esm/dist/src/members/OrganizationRecordsConfiguration.d.ts +16 -5
  151. package/esm/dist/src/members/OrganizationRecordsConfiguration.d.ts.map +1 -1
  152. package/esm/dist/src/members/OrganizationRecordsConfiguration.js +27 -2
  153. package/esm/dist/src/members/OrganizationRecordsConfiguration.js.map +1 -1
  154. package/esm/dist/src/members/PaymentGeneral.d.ts +2 -4
  155. package/esm/dist/src/members/PaymentGeneral.d.ts.map +1 -1
  156. package/esm/dist/src/members/PaymentGeneral.js +50 -26
  157. package/esm/dist/src/members/PaymentGeneral.js.map +1 -1
  158. package/esm/dist/src/members/PlatformMember.d.ts +17 -13
  159. package/esm/dist/src/members/PlatformMember.d.ts.map +1 -1
  160. package/esm/dist/src/members/PlatformMember.js +90 -78
  161. package/esm/dist/src/members/PlatformMember.js.map +1 -1
  162. package/esm/dist/src/members/Registration.d.ts +5 -0
  163. package/esm/dist/src/members/Registration.d.ts.map +1 -1
  164. package/esm/dist/src/members/Registration.js +21 -2
  165. package/esm/dist/src/members/Registration.js.map +1 -1
  166. package/esm/dist/src/members/checkout/BalanceItemCartItem.d.ts +3 -3
  167. package/esm/dist/src/members/checkout/BalanceItemCartItem.d.ts.map +1 -1
  168. package/esm/dist/src/members/checkout/BalanceItemCartItem.js +3 -3
  169. package/esm/dist/src/members/checkout/BalanceItemCartItem.js.map +1 -1
  170. package/esm/dist/src/members/checkout/RegisterCart.d.ts +6 -6
  171. package/esm/dist/src/members/checkout/RegisterCart.d.ts.map +1 -1
  172. package/esm/dist/src/members/checkout/RegisterCart.js +43 -22
  173. package/esm/dist/src/members/checkout/RegisterCart.js.map +1 -1
  174. package/esm/dist/src/members/checkout/RegisterCheckout.d.ts +5 -4
  175. package/esm/dist/src/members/checkout/RegisterCheckout.d.ts.map +1 -1
  176. package/esm/dist/src/members/checkout/RegisterCheckout.js +23 -8
  177. package/esm/dist/src/members/checkout/RegisterCheckout.js.map +1 -1
  178. package/esm/dist/src/members/checkout/RegisterItem.d.ts +22 -10
  179. package/esm/dist/src/members/checkout/RegisterItem.d.ts.map +1 -1
  180. package/esm/dist/src/members/checkout/RegisterItem.js +270 -111
  181. package/esm/dist/src/members/checkout/RegisterItem.js.map +1 -1
  182. package/esm/dist/src/members/records/RecordAnswer.d.ts.map +1 -1
  183. package/esm/dist/src/members/records/RecordAnswer.js +2 -1
  184. package/esm/dist/src/members/records/RecordAnswer.js.map +1 -1
  185. package/esm/dist/src/webshops/CartItem.d.ts +2 -2
  186. package/esm/dist/src/webshops/CartItem.d.ts.map +1 -1
  187. package/esm/dist/src/webshops/CartItem.js +1 -1
  188. package/esm/dist/src/webshops/CartItem.js.map +1 -1
  189. package/package.json +3 -3
  190. package/dist/src/members/PaymentDetailed.d.ts +0 -16
  191. package/dist/src/members/PaymentDetailed.d.ts.map +0 -1
  192. package/dist/src/members/PaymentDetailed.js +0 -43
  193. package/dist/src/members/PaymentDetailed.js.map +0 -1
  194. package/esm/dist/src/members/PaymentDetailed.d.ts +0 -16
  195. package/esm/dist/src/members/PaymentDetailed.d.ts.map +0 -1
  196. package/esm/dist/src/members/PaymentDetailed.js +0 -39
  197. package/esm/dist/src/members/PaymentDetailed.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { ArrayDecoder, AutoEncoder, DateDecoder, EnumDecoder, field, IntegerDecoder, StringDecoder } from "@simonbackx/simple-encoding";
2
+ import { ArrayDecoder, AutoEncoder, DateDecoder, EnumDecoder, field, IntegerDecoder, MapDecoder, StringDecoder } from "@simonbackx/simple-encoding";
3
3
  import { v4 as uuidv4 } from "uuid";
4
4
  import { Payment, PrivatePayment } from "./members/Payment";
5
5
  export var BalanceItemStatus;
@@ -17,14 +17,74 @@ export var BalanceItemStatus;
17
17
  */
18
18
  BalanceItemStatus["Paid"] = "Paid";
19
19
  })(BalanceItemStatus || (BalanceItemStatus = {}));
20
+ export var BalanceItemType;
21
+ (function (BalanceItemType) {
22
+ BalanceItemType["Registration"] = "Registration";
23
+ BalanceItemType["AdministrationFee"] = "AdministrationFee";
24
+ BalanceItemType["FreeContribution"] = "FreeContribution";
25
+ BalanceItemType["Order"] = "Order";
26
+ BalanceItemType["Other"] = "Other";
27
+ })(BalanceItemType || (BalanceItemType = {}));
28
+ export var BalanceItemRelationType;
29
+ (function (BalanceItemRelationType) {
30
+ BalanceItemRelationType["Webshop"] = "Webshop";
31
+ BalanceItemRelationType["Group"] = "Group";
32
+ BalanceItemRelationType["GroupPrice"] = "GroupPrice";
33
+ BalanceItemRelationType["GroupOptionMenu"] = "GroupOptionMenu";
34
+ BalanceItemRelationType["GroupOption"] = "GroupOption";
35
+ BalanceItemRelationType["Member"] = "Member";
36
+ })(BalanceItemRelationType || (BalanceItemRelationType = {}));
37
+ export function getBalanceItemRelationTypeName(type) {
38
+ switch (type) {
39
+ case BalanceItemRelationType.Webshop: return "Webshop";
40
+ case BalanceItemRelationType.Group: return "Inschrijving";
41
+ case BalanceItemRelationType.GroupPrice: return "Tarief";
42
+ case BalanceItemRelationType.GroupOptionMenu: return "Keuzemenu";
43
+ case BalanceItemRelationType.GroupOption: return "Keuze";
44
+ case BalanceItemRelationType.Member: return "Lid";
45
+ }
46
+ }
47
+ export function shouldAggregateOnRelationType(type, allRelations) {
48
+ switch (type) {
49
+ case BalanceItemRelationType.GroupPrice:
50
+ // Only aggregate on group price if it is not for a specific option (we'll combine all options in one group, regardless of the corresponding groupPrice)
51
+ return !allRelations.has(BalanceItemRelationType.GroupOption);
52
+ case BalanceItemRelationType.Member: return true;
53
+ }
54
+ return false;
55
+ }
56
+ /**
57
+ * Helps you understand what a balance item is for. It can be for multiple things at the same time, e.g. when it is an option to buy a ticket, it is also a ticket.
58
+ */
59
+ export class BalanceItemRelation extends AutoEncoder {
60
+ constructor() {
61
+ super(...arguments);
62
+ this.name = '';
63
+ }
64
+ }
65
+ __decorate([
66
+ field({ decoder: StringDecoder })
67
+ ], BalanceItemRelation.prototype, "id", void 0);
68
+ __decorate([
69
+ field({ decoder: StringDecoder })
70
+ ], BalanceItemRelation.prototype, "name", void 0);
20
71
  export class BalanceItem extends AutoEncoder {
21
72
  constructor() {
22
73
  super(...arguments);
74
+ this.type = BalanceItemType.Other;
75
+ this.relations = new Map();
23
76
  this.description = "";
24
- this.price = 0;
77
+ this.amount = 1;
78
+ this.unitPrice = 0; // unit price
25
79
  this.pricePaid = 0;
26
80
  this.createdAt = new Date();
27
81
  this.status = BalanceItemStatus.Pending;
82
+ this.memberId = null;
83
+ this.userId = null;
84
+ this.registrationId = null;
85
+ }
86
+ get price() {
87
+ return this.unitPrice * this.amount;
28
88
  }
29
89
  get isPaid() {
30
90
  return this.pricePaid === this.price;
@@ -33,12 +93,22 @@ export class BalanceItem extends AutoEncoder {
33
93
  __decorate([
34
94
  field({ decoder: StringDecoder, defaultValue: () => uuidv4() })
35
95
  ], BalanceItem.prototype, "id", void 0);
96
+ __decorate([
97
+ field({ decoder: new EnumDecoder(BalanceItemType), version: 307 })
98
+ ], BalanceItem.prototype, "type", void 0);
99
+ __decorate([
100
+ field({ decoder: new MapDecoder(new EnumDecoder(BalanceItemRelationType), BalanceItemRelation), version: 307 })
101
+ ], BalanceItem.prototype, "relations", void 0);
36
102
  __decorate([
37
103
  field({ decoder: StringDecoder })
38
104
  ], BalanceItem.prototype, "description", void 0);
39
105
  __decorate([
40
- field({ decoder: IntegerDecoder })
41
- ], BalanceItem.prototype, "price", void 0);
106
+ field({ decoder: IntegerDecoder, version: 307 })
107
+ ], BalanceItem.prototype, "amount", void 0);
108
+ __decorate([
109
+ field({ decoder: IntegerDecoder, field: 'price' }),
110
+ field({ decoder: IntegerDecoder, field: 'unitPrice', version: 307 })
111
+ ], BalanceItem.prototype, "unitPrice", void 0);
42
112
  __decorate([
43
113
  field({ decoder: IntegerDecoder })
44
114
  ], BalanceItem.prototype, "pricePaid", void 0);
@@ -48,6 +118,15 @@ __decorate([
48
118
  __decorate([
49
119
  field({ decoder: new EnumDecoder(BalanceItemStatus) })
50
120
  ], BalanceItem.prototype, "status", void 0);
121
+ __decorate([
122
+ field({ decoder: StringDecoder, nullable: true })
123
+ ], BalanceItem.prototype, "memberId", void 0);
124
+ __decorate([
125
+ field({ decoder: StringDecoder, nullable: true })
126
+ ], BalanceItem.prototype, "userId", void 0);
127
+ __decorate([
128
+ field({ decoder: StringDecoder, nullable: true })
129
+ ], BalanceItem.prototype, "registrationId", void 0);
51
130
  export class BalanceItemPayment extends AutoEncoder {
52
131
  }
53
132
  __decorate([
@@ -56,11 +135,11 @@ __decorate([
56
135
  __decorate([
57
136
  field({ decoder: IntegerDecoder })
58
137
  ], BalanceItemPayment.prototype, "price", void 0);
59
- export class MemberBalanceItemPayment extends BalanceItemPayment {
138
+ export class BalanceItemPaymentWithPayment extends BalanceItemPayment {
60
139
  }
61
140
  __decorate([
62
141
  field({ decoder: Payment })
63
- ], MemberBalanceItemPayment.prototype, "payment", void 0);
142
+ ], BalanceItemPaymentWithPayment.prototype, "payment", void 0);
64
143
  export class BalanceItemPaymentWithPrivatePayment extends BalanceItemPayment {
65
144
  }
66
145
  __decorate([
@@ -74,18 +153,32 @@ export class BalanceItemWithPayments extends BalanceItem {
74
153
  updatePricePaid() {
75
154
  this.pricePaid = this.payments.reduce((total, payment) => total + (payment.payment.isSucceeded ? payment.price : 0), 0);
76
155
  }
156
+ /**
157
+ * Return whether a payment has been initiated for this balance item
158
+ */
159
+ get hasPendingPayment() {
160
+ return !!this.payments.find(p => p.payment.isPending);
161
+ }
162
+ static getOutstandingBalance(items) {
163
+ // Get sum of balance payments
164
+ const totalPending = items.flatMap(b => b.payments).filter(p => p.payment.isPending).map(p => p.price).reduce((t, total) => total + t, 0);
165
+ const total = items.map(p => p.price - p.pricePaid).reduce((t, total) => total + t, 0);
166
+ const totalOpen = total - totalPending;
167
+ return {
168
+ totalPending, // Pending payment
169
+ totalOpen, // Not yet started
170
+ total: totalPending + totalOpen // total not yet paid
171
+ };
172
+ }
77
173
  }
78
174
  __decorate([
79
- field({ decoder: new ArrayDecoder(MemberBalanceItemPayment) })
175
+ field({ decoder: new ArrayDecoder(BalanceItemPaymentWithPayment) })
80
176
  ], BalanceItemWithPayments.prototype, "payments", void 0);
81
- export class BalanceItemWithPrivatePayments extends BalanceItem {
177
+ export class BalanceItemWithPrivatePayments extends BalanceItemWithPayments {
82
178
  constructor() {
83
179
  super(...arguments);
84
180
  this.payments = [];
85
181
  }
86
- updatePricePaid() {
87
- this.pricePaid = this.payments.reduce((total, payment) => total + (payment.payment.isSucceeded ? payment.price : 0), 0);
88
- }
89
182
  }
90
183
  __decorate([
91
184
  field({ decoder: new ArrayDecoder(BalanceItemPaymentWithPrivatePayment) })
@@ -1 +1 @@
1
- {"version":3,"file":"BalanceItem.js","sourceRoot":"","sources":["../../../src/BalanceItem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BalanceItem.js","sourceRoot":"","sources":["../../../src/BalanceItem.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,38 @@
1
- import { BalanceItem, BalanceItemPayment, MemberBalanceItemPayment } from "./BalanceItem";
2
- import { Registration } from "./members/Registration";
1
+ import { BalanceItem, BalanceItemPayment } from "./BalanceItem";
3
2
  import { RegistrationWithMember } from "./members/RegistrationWithMember";
4
3
  import { Order } from "./webshops/Order";
5
4
  export declare class BalanceItemDetailed extends BalanceItem {
6
5
  registration: RegistrationWithMember | null;
7
6
  order: Order | null;
7
+ }
8
+ export declare class BalanceItemPaymentDetailed extends BalanceItemPayment {
9
+ balanceItem: BalanceItem;
8
10
  /**
9
- * @deprecated
10
- * Use registration.memberId instead
11
+ * Note: this can be a float in case of partial payments
12
+ * Try to avoid using this in calculations, as this is not super reliable
13
+ *
14
+ * Always round when displaying!
11
15
  */
12
- get memberId(): string | null;
16
+ get amount(): number;
17
+ get unitPrice(): number;
18
+ get groupPrefix(): string;
19
+ get groupTitle(): string;
20
+ get groupDescription(): null;
13
21
  /**
14
- * @deprecated
15
- * Use registration.member instead
22
+ * When displayed as a single item
16
23
  */
17
- get member(): import("..").TinyMember | null;
18
- }
19
- export declare class BalanceItemPaymentDetailed extends BalanceItemPayment {
20
- balanceItem: BalanceItemDetailed;
21
- }
22
- export declare class MemberBalanceItem extends BalanceItem {
23
- payments: MemberBalanceItemPayment[];
24
- memberId: string | null;
25
- userId: string | null;
26
- registration: Registration | null;
27
- order: Order | null;
24
+ get itemPrefix(): string;
25
+ /**
26
+ * When displayed as a single item
27
+ */
28
+ get itemTitle(): string;
29
+ /**
30
+ * When displayed as a single item
31
+ */
32
+ get itemDescription(): string | null;
28
33
  /**
29
- * Return whether a payment has been initiated for this balance item
34
+ * Unique identifier whithing a reporting group
30
35
  */
31
- get hasPendingPayment(): boolean;
32
- static getOutstandingBalance(items: MemberBalanceItem[]): {
33
- totalPending: number;
34
- totalOpen: number;
35
- total: number;
36
- };
36
+ get groupCode(): string;
37
37
  }
38
38
  //# sourceMappingURL=BalanceItemDetailed.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BalanceItemDetailed.d.ts","sourceRoot":"","sources":["../../../src/BalanceItemDetailed.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAExC,qBAAa,mBAAoB,SAAQ,WAAW;IAEhD,YAAY,EAAE,sBAAsB,GAAG,IAAI,CAAO;IAGlD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAO;IAE1B;;;OAGG;IACH,IAAI,QAAQ,kBAEX;IAED;;;OAGG;IACH,IAAI,MAAM,mCAET;CACJ;AAED,qBAAa,0BAA2B,SAAQ,kBAAkB;IAE9D,WAAW,EAAE,mBAAmB,CAAA;CACnC;AAED,qBAAa,iBAAkB,SAAQ,WAAW;IAE9C,QAAQ,EAAE,wBAAwB,EAAE,CAAK;IAGzC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAO;IAG9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAO;IAG5B,YAAY,EAAE,YAAY,GAAG,IAAI,CAAO;IAGxC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAO;IAE1B;;OAEG;IACH,IAAI,iBAAiB,YAEpB;IAED,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,EAAE;;;;;CAa1D"}
1
+ {"version":3,"file":"BalanceItemDetailed.d.ts","sourceRoot":"","sources":["../../../src/BalanceItemDetailed.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAA2E,MAAM,eAAe,CAAA;AACxI,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAGxC,qBAAa,mBAAoB,SAAQ,WAAW;IAEhD,YAAY,EAAE,sBAAsB,GAAG,IAAI,CAAO;IAGlD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAO;CAC7B;AAED,qBAAa,0BAA2B,SAAQ,kBAAkB;IAE9D,WAAW,EAAE,WAAW,CAAA;IAExB;;;;;OAKG;IACH,IAAI,MAAM,WAOT;IAED,IAAI,SAAS,WAKZ;IAGD,IAAI,WAAW,IAAI,MAAM,CAcxB;IAED,IAAI,UAAU,IAAI,MAAM,CAiBvB;IAED,IAAI,gBAAgB,SAEnB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAcvB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAiBtB;IAED;;OAEG;IACH,IAAI,eAAe,kBAUlB;IAED;;OAEG;IACH,IAAI,SAAS,WAaZ;CAEJ"}
@@ -1,31 +1,15 @@
1
1
  import { __decorate } from "tslib";
2
- import { ArrayDecoder, field, StringDecoder } from "@simonbackx/simple-encoding";
3
- import { BalanceItem, BalanceItemPayment, MemberBalanceItemPayment } from "./BalanceItem";
4
- import { Registration } from "./members/Registration";
2
+ import { field } from "@simonbackx/simple-encoding";
3
+ import { BalanceItem, BalanceItemPayment, BalanceItemRelationType, BalanceItemType, shouldAggregateOnRelationType } from "./BalanceItem";
5
4
  import { RegistrationWithMember } from "./members/RegistrationWithMember";
6
5
  import { Order } from "./webshops/Order";
6
+ // Do we still need this?
7
7
  export class BalanceItemDetailed extends BalanceItem {
8
8
  constructor() {
9
9
  super(...arguments);
10
10
  this.registration = null;
11
11
  this.order = null;
12
12
  }
13
- /**
14
- * @deprecated
15
- * Use registration.memberId instead
16
- */
17
- get memberId() {
18
- var _a, _b;
19
- return (_b = (_a = this.registration) === null || _a === void 0 ? void 0 : _a.memberId) !== null && _b !== void 0 ? _b : null;
20
- }
21
- /**
22
- * @deprecated
23
- * Use registration.member instead
24
- */
25
- get member() {
26
- var _a, _b;
27
- return (_b = (_a = this.registration) === null || _a === void 0 ? void 0 : _a.member) !== null && _b !== void 0 ? _b : null;
28
- }
29
13
  }
30
14
  __decorate([
31
15
  field({ decoder: RegistrationWithMember, nullable: true })
@@ -34,50 +18,136 @@ __decorate([
34
18
  field({ decoder: Order, nullable: true })
35
19
  ], BalanceItemDetailed.prototype, "order", void 0);
36
20
  export class BalanceItemPaymentDetailed extends BalanceItemPayment {
37
- }
38
- __decorate([
39
- field({ decoder: BalanceItemDetailed })
40
- ], BalanceItemPaymentDetailed.prototype, "balanceItem", void 0);
41
- export class MemberBalanceItem extends BalanceItem {
42
- constructor() {
43
- super(...arguments);
44
- this.payments = [];
45
- this.memberId = null;
46
- this.userId = null;
47
- this.registration = null;
48
- this.order = null;
21
+ /**
22
+ * Note: this can be a float in case of partial payments
23
+ * Try to avoid using this in calculations, as this is not super reliable
24
+ *
25
+ * Always round when displaying!
26
+ */
27
+ get amount() {
28
+ if (this.unitPrice === 0) {
29
+ // Not possible to calculate amount
30
+ return this.balanceItem.amount;
31
+ }
32
+ return this.price / this.unitPrice;
33
+ }
34
+ get unitPrice() {
35
+ if (this.price < 0 && this.balanceItem.unitPrice > 0) {
36
+ return -this.balanceItem.unitPrice;
37
+ }
38
+ return this.balanceItem.unitPrice;
39
+ }
40
+ get groupPrefix() {
41
+ var _a;
42
+ switch (this.balanceItem.type) {
43
+ case BalanceItemType.Registration: {
44
+ if (this.balanceItem.relations.get(BalanceItemRelationType.GroupOption)) {
45
+ const group = ((_a = this.balanceItem.relations.get(BalanceItemRelationType.Group)) === null || _a === void 0 ? void 0 : _a.name) || 'Onbekende inschrijvingsgroep';
46
+ return 'Inschrijving voor ' + group;
47
+ }
48
+ return 'Inschrijving';
49
+ }
50
+ case BalanceItemType.AdministrationFee: return 'Administratiekosten';
51
+ case BalanceItemType.FreeContribution: return 'Vrije bijdrage';
52
+ case BalanceItemType.Order: return 'Bestelling';
53
+ case BalanceItemType.Other: return 'Andere';
54
+ }
55
+ }
56
+ get groupTitle() {
57
+ var _a, _b, _c, _d;
58
+ switch (this.balanceItem.type) {
59
+ case BalanceItemType.Registration: {
60
+ const option = this.balanceItem.relations.get(BalanceItemRelationType.GroupOption);
61
+ if (option) {
62
+ const optionMenu = this.balanceItem.relations.get(BalanceItemRelationType.GroupOptionMenu);
63
+ return ((_a = optionMenu === null || optionMenu === void 0 ? void 0 : optionMenu.name) !== null && _a !== void 0 ? _a : 'Onbekend') + ': ' + option.name;
64
+ }
65
+ const group = ((_b = this.balanceItem.relations.get(BalanceItemRelationType.Group)) === null || _b === void 0 ? void 0 : _b.name) || 'Onbekende inschrijvingsgroep';
66
+ const price = (_c = this.balanceItem.relations.get(BalanceItemRelationType.GroupPrice)) === null || _c === void 0 ? void 0 : _c.name;
67
+ return group + (price && price !== 'Standaardtarief' ? ' (' + price + ')' : '');
68
+ }
69
+ case BalanceItemType.AdministrationFee: return 'Administratiekosten';
70
+ case BalanceItemType.FreeContribution: return 'Vrije bijdrage';
71
+ case BalanceItemType.Order: return ((_d = this.balanceItem.relations.get(BalanceItemRelationType.Webshop)) === null || _d === void 0 ? void 0 : _d.name) || 'Onbekende webshop';
72
+ case BalanceItemType.Other: return this.balanceItem.description;
73
+ }
74
+ }
75
+ get groupDescription() {
76
+ return null;
77
+ }
78
+ /**
79
+ * When displayed as a single item
80
+ */
81
+ get itemPrefix() {
82
+ var _a;
83
+ switch (this.balanceItem.type) {
84
+ case BalanceItemType.Registration: {
85
+ if (this.balanceItem.relations.get(BalanceItemRelationType.GroupOption)) {
86
+ const group = ((_a = this.balanceItem.relations.get(BalanceItemRelationType.Group)) === null || _a === void 0 ? void 0 : _a.name) || 'Onbekende inschrijvingsgroep';
87
+ return 'Inschrijving voor ' + group;
88
+ }
89
+ return 'Inschrijving';
90
+ }
91
+ case BalanceItemType.AdministrationFee: return 'Administratiekosten';
92
+ case BalanceItemType.FreeContribution: return 'Vrije bijdrage';
93
+ case BalanceItemType.Order: return 'Bestelling';
94
+ case BalanceItemType.Other: return 'Andere';
95
+ }
96
+ }
97
+ /**
98
+ * When displayed as a single item
99
+ */
100
+ get itemTitle() {
101
+ var _a, _b, _c, _d;
102
+ switch (this.balanceItem.type) {
103
+ case BalanceItemType.Registration: {
104
+ const option = this.balanceItem.relations.get(BalanceItemRelationType.GroupOption);
105
+ if (option) {
106
+ const optionMenu = this.balanceItem.relations.get(BalanceItemRelationType.GroupOptionMenu);
107
+ return ((_a = optionMenu === null || optionMenu === void 0 ? void 0 : optionMenu.name) !== null && _a !== void 0 ? _a : 'Onbekend') + ': ' + option.name;
108
+ }
109
+ const group = ((_b = this.balanceItem.relations.get(BalanceItemRelationType.Group)) === null || _b === void 0 ? void 0 : _b.name) || 'Onbekende inschrijvingsgroep';
110
+ const price = (_c = this.balanceItem.relations.get(BalanceItemRelationType.GroupPrice)) === null || _c === void 0 ? void 0 : _c.name;
111
+ return group + (price && price !== 'Standaardtarief' ? ' (' + price + ')' : '');
112
+ }
113
+ case BalanceItemType.AdministrationFee: return 'Administratiekosten';
114
+ case BalanceItemType.FreeContribution: return 'Vrije bijdrage';
115
+ case BalanceItemType.Order: return ((_d = this.balanceItem.relations.get(BalanceItemRelationType.Webshop)) === null || _d === void 0 ? void 0 : _d.name) || 'Onbekende webshop';
116
+ case BalanceItemType.Other: return this.balanceItem.description;
117
+ }
49
118
  }
50
119
  /**
51
- * Return whether a payment has been initiated for this balance item
120
+ * When displayed as a single item
52
121
  */
53
- get hasPendingPayment() {
54
- return !!this.payments.find(p => p.payment.isPending);
122
+ get itemDescription() {
123
+ switch (this.balanceItem.type) {
124
+ case BalanceItemType.Registration: {
125
+ const member = this.balanceItem.relations.get(BalanceItemRelationType.Member);
126
+ if (member) {
127
+ return member.name;
128
+ }
129
+ }
130
+ }
131
+ return null;
55
132
  }
56
- static getOutstandingBalance(items) {
57
- // Get sum of balance payments
58
- const totalPending = items.flatMap(b => b.payments).filter(p => p.payment.isPending).map(p => p.price).reduce((t, total) => total + t, 0);
59
- const total = items.map(p => p.price - p.pricePaid).reduce((t, total) => total + t, 0);
60
- const totalOpen = total - totalPending;
61
- return {
62
- totalPending, // Pending payment
63
- totalOpen, // Not yet started
64
- total: totalPending + totalOpen // total not yet paid
65
- };
133
+ /**
134
+ * Unique identifier whithing a reporting group
135
+ */
136
+ get groupCode() {
137
+ if (this.balanceItem.type === BalanceItemType.Other) {
138
+ return 'type-' + this.balanceItem.type
139
+ + '-unit-price-' + this.unitPrice
140
+ + '-description-' + this.balanceItem.description;
141
+ }
142
+ return 'type-' + this.balanceItem.type
143
+ + '-unit-price-' + this.unitPrice
144
+ + '-relations' + Array.from(this.balanceItem.relations.entries())
145
+ .filter(([key]) => !shouldAggregateOnRelationType(key, this.balanceItem.relations))
146
+ .map(([key, value]) => key + '-' + value.id)
147
+ .join('-');
66
148
  }
67
149
  }
68
150
  __decorate([
69
- field({ decoder: new ArrayDecoder(MemberBalanceItemPayment) })
70
- ], MemberBalanceItem.prototype, "payments", void 0);
71
- __decorate([
72
- field({ decoder: StringDecoder, nullable: true })
73
- ], MemberBalanceItem.prototype, "memberId", void 0);
74
- __decorate([
75
- field({ decoder: StringDecoder, nullable: true })
76
- ], MemberBalanceItem.prototype, "userId", void 0);
77
- __decorate([
78
- field({ decoder: Registration, nullable: true })
79
- ], MemberBalanceItem.prototype, "registration", void 0);
80
- __decorate([
81
- field({ decoder: Order, nullable: true })
82
- ], MemberBalanceItem.prototype, "order", void 0);
151
+ field({ decoder: BalanceItem })
152
+ ], BalanceItemPaymentDetailed.prototype, "balanceItem", void 0);
83
153
  //# sourceMappingURL=BalanceItemDetailed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BalanceItemDetailed.js","sourceRoot":"","sources":["../../../src/BalanceItemDetailed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BalanceItemDetailed.js","sourceRoot":"","sources":["../../../src/BalanceItemDetailed.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,10 @@ export declare class NamedObject extends AutoEncoder {
16
16
  description: string;
17
17
  }
18
18
  export declare class EventMeta extends AutoEncoder {
19
+ /**
20
+ * Contains the name of the organization for displaying the event
21
+ */
22
+ organizationCache: NamedObject | null;
19
23
  description: RichText;
20
24
  visible: boolean;
21
25
  location: EventLocation | null;
@@ -1 +1 @@
1
- {"version":3,"file":"Event.d.ts","sourceRoot":"","sources":["../../../src/Event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAqD,MAAM,6BAA6B,CAAC;AAE3H,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,qBAAa,aAAc,SAAQ,WAAW;IAE1C,IAAI,SAAK;IAGT,OAAO,EAAE,OAAO,GAAC,IAAI,CAAO;CAC/B;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAExC,EAAE,SAAK;IAGP,IAAI,SAAK;IAGT,WAAW,SAAK;CACnB;AAED,qBAAa,SAAU,SAAQ,WAAW;IAEtC,WAAW,WAAsB;IAGjC,OAAO,UAAO;IAGd,QAAQ,EAAE,aAAa,GAAC,IAAI,CAAO;IAEnC;;;;OAIG;IAEH,kBAAkB,EAAE,MAAM,EAAE,GAAC,IAAI,CAAO;IAExC;;;;;OAKG;IAEH,MAAM,EAAE,WAAW,EAAE,GAAC,IAAI,CAAO;IAEjC;;;;OAIG;IAEH,kBAAkB,EAAE,MAAM,EAAE,GAAC,IAAI,CAAO;IAGxC,UAAU,EAAE,KAAK,GAAG,IAAI,CAAO;CAClC;AAED,qBAAa,KAAM,SAAQ,WAAW;IAElC,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,SAAK;IAGT,MAAM,SAAK;IAGX,cAAc,EAAE,MAAM,GAAC,IAAI,CAAO;IAGlC,SAAS,OAAa;IAGtB,OAAO,OAAa;IAGpB,IAAI,EAAE,SAAS,CAAuB;IAGtC,KAAK,EAAE,KAAK,GAAC,IAAI,CAAQ;IAGzB,SAAS,EAAE,IAAI,CAAa;IAG5B,SAAS,EAAE,IAAI,CAAa;IAE5B,IAAI,SAAS,WAEZ;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE;eAEb,MAAM;gBACL,KAAK,EAAE;;CAiB1B;AAGD,qBAAa,sBAAuB,SAAQ,KAAK;CAEhD"}
1
+ {"version":3,"file":"Event.d.ts","sourceRoot":"","sources":["../../../src/Event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAqD,MAAM,6BAA6B,CAAC;AAE3H,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,qBAAa,aAAc,SAAQ,WAAW;IAE1C,IAAI,SAAK;IAGT,OAAO,EAAE,OAAO,GAAC,IAAI,CAAO;CAC/B;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAExC,EAAE,SAAK;IAGP,IAAI,SAAK;IAGT,WAAW,SAAK;CACnB;AAED,qBAAa,SAAU,SAAQ,WAAW;IACtC;;OAEG;IAEH,iBAAiB,EAAE,WAAW,GAAG,IAAI,CAAO;IAG5C,WAAW,WAAsB;IAGjC,OAAO,UAAO;IAGd,QAAQ,EAAE,aAAa,GAAC,IAAI,CAAO;IAEnC;;;;OAIG;IAEH,kBAAkB,EAAE,MAAM,EAAE,GAAC,IAAI,CAAO;IAExC;;;;;OAKG;IAEH,MAAM,EAAE,WAAW,EAAE,GAAC,IAAI,CAAO;IAEjC;;;;OAIG;IAEH,kBAAkB,EAAE,MAAM,EAAE,GAAC,IAAI,CAAO;IAGxC,UAAU,EAAE,KAAK,GAAG,IAAI,CAAO;CAClC;AAED,qBAAa,KAAM,SAAQ,WAAW;IAElC,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,SAAK;IAGT,MAAM,SAAK;IAGX,cAAc,EAAE,MAAM,GAAC,IAAI,CAAO;IAGlC,SAAS,OAAa;IAGtB,OAAO,OAAa;IAGpB,IAAI,EAAE,SAAS,CAAuB;IAGtC,KAAK,EAAE,KAAK,GAAC,IAAI,CAAQ;IAGzB,SAAS,EAAE,IAAI,CAAa;IAG5B,SAAS,EAAE,IAAI,CAAa;IAE5B,IAAI,SAAS,WAEZ;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE;eAEb,MAAM;gBACL,KAAK,EAAE;;CAiB1B;AAGD,qBAAa,sBAAuB,SAAQ,KAAK;CAEhD"}
@@ -42,6 +42,10 @@ __decorate([
42
42
  export class EventMeta extends AutoEncoder {
43
43
  constructor() {
44
44
  super(...arguments);
45
+ /**
46
+ * Contains the name of the organization for displaying the event
47
+ */
48
+ this.organizationCache = null;
45
49
  this.description = RichText.create({});
46
50
  this.visible = true;
47
51
  this.location = null;
@@ -67,6 +71,9 @@ export class EventMeta extends AutoEncoder {
67
71
  this.coverPhoto = null;
68
72
  }
69
73
  }
74
+ __decorate([
75
+ field({ decoder: NamedObject, nullable: true, version: 311 })
76
+ ], EventMeta.prototype, "organizationCache", void 0);
70
77
  __decorate([
71
78
  field({ decoder: RichText })
72
79
  ], EventMeta.prototype, "description", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"Event.js","sourceRoot":"","sources":["../../../src/Event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Event.js","sourceRoot":"","sources":["../../../src/Event.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,9 @@ export declare class GroupOptionMenu extends AutoEncoder {
82
82
  description: string;
83
83
  multipleChoice: boolean;
84
84
  options: GroupOption[];
85
+ getFilteredOptions(options?: {
86
+ admin?: boolean;
87
+ }): GroupOption[];
85
88
  }
86
89
  export declare enum WaitingListType {
87
90
  None = "None",
@@ -127,10 +130,12 @@ export declare class GroupSettings extends AutoEncoder {
127
130
  maxMembers: number | null;
128
131
  waitingListIfFull: boolean;
129
132
  /**
133
+ * @deprecated
130
134
  * If maxMembers is not null, this will get filled in by the backend
131
135
  */
132
136
  registeredMembers: number | null;
133
137
  /**
138
+ * @deprecated
134
139
  * Amount of members that is reserved (e.g in payment process, or a member on the waiting list that is invited)
135
140
  */
136
141
  reservedMembers: number | null;
@@ -139,6 +144,13 @@ export declare class GroupSettings extends AutoEncoder {
139
144
  * Amount of members on the waiting list
140
145
  */
141
146
  waitingListSize: number | null;
147
+ getUsedStock(group: Group): number;
148
+ /**
149
+ * Can be negative is we are editing items, positive if other items in the cart cause stock changes
150
+ */
151
+ getPendingStock(item: RegisterItem): number;
152
+ isSoldOut(item: RegisterItem | Group): boolean;
153
+ getRemainingStock(item: RegisterItem | Group): number | null;
142
154
  get isFull(): boolean;
143
155
  get canHaveWaitingList(): boolean;
144
156
  get canHaveWaitingListWithoutMax(): boolean;
@@ -240,6 +252,12 @@ export declare class GroupSettings extends AutoEncoder {
240
252
  }): number | null;
241
253
  getShortCode(maxLength: number): string;
242
254
  getRecommendedFilter(): StamhoofdFilter;
255
+ getFilteredPrices(options?: {
256
+ admin?: boolean;
257
+ }): GroupPrice[];
258
+ getFilteredOptionMenus(options?: {
259
+ admin?: boolean;
260
+ }): GroupOptionMenu[];
243
261
  }
244
262
  export declare const GroupSettingsPatch: typeof AutoEncoder & (new () => import("@simonbackx/simple-encoding").AutoEncoderPatchType<GroupSettings>);
245
263
  //# sourceMappingURL=GroupSettings.d.ts.map