@stamhoofd/structures 2.62.0 → 2.63.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 (139) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/BalanceItem.d.ts +65 -31
  6. package/dist/src/BalanceItem.d.ts.map +1 -1
  7. package/dist/src/BalanceItem.js +220 -72
  8. package/dist/src/BalanceItem.js.map +1 -1
  9. package/dist/src/BalanceItemDetailed.d.ts +0 -4
  10. package/dist/src/BalanceItemDetailed.d.ts.map +1 -1
  11. package/dist/src/BalanceItemDetailed.js +0 -6
  12. package/dist/src/BalanceItemDetailed.js.map +1 -1
  13. package/dist/src/Group.d.ts +0 -1
  14. package/dist/src/Group.d.ts.map +1 -1
  15. package/dist/src/Group.js +0 -3
  16. package/dist/src/Group.js.map +1 -1
  17. package/dist/src/GroupSettings.d.ts +8 -2
  18. package/dist/src/GroupSettings.d.ts.map +1 -1
  19. package/dist/src/GroupSettings.js +11 -6
  20. package/dist/src/GroupSettings.js.map +1 -1
  21. package/dist/src/PaymentMethod.d.ts +2 -1
  22. package/dist/src/PaymentMethod.d.ts.map +1 -1
  23. package/dist/src/PaymentMethod.js +21 -11
  24. package/dist/src/PaymentMethod.js.map +1 -1
  25. package/dist/src/PaymentType.d.ts +36 -0
  26. package/dist/src/PaymentType.d.ts.map +1 -0
  27. package/dist/src/PaymentType.js +55 -0
  28. package/dist/src/PaymentType.js.map +1 -0
  29. package/dist/src/ReceivableBalance.d.ts +5 -1
  30. package/dist/src/ReceivableBalance.d.ts.map +1 -1
  31. package/dist/src/ReceivableBalance.js +7 -1
  32. package/dist/src/ReceivableBalance.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 +2 -0
  36. package/dist/src/addresses/Address.d.ts.map +1 -1
  37. package/dist/src/email/EditorSmartVariable.d.ts.map +1 -1
  38. package/dist/src/email/EditorSmartVariable.js +5 -0
  39. package/dist/src/email/EditorSmartVariable.js.map +1 -1
  40. package/dist/src/endpoints/PayableBalanceCollection.d.ts +3 -2
  41. package/dist/src/endpoints/PayableBalanceCollection.d.ts.map +1 -1
  42. package/dist/src/endpoints/PayableBalanceCollection.js +4 -1
  43. package/dist/src/endpoints/PayableBalanceCollection.js.map +1 -1
  44. package/dist/src/filters/InMemoryFilter.d.ts +1 -3
  45. package/dist/src/filters/InMemoryFilter.d.ts.map +1 -1
  46. package/dist/src/filters/InMemoryFilter.js +7 -1
  47. package/dist/src/filters/InMemoryFilter.js.map +1 -1
  48. package/dist/src/members/Payment.d.ts +6 -1
  49. package/dist/src/members/Payment.d.ts.map +1 -1
  50. package/dist/src/members/Payment.js +27 -1
  51. package/dist/src/members/Payment.js.map +1 -1
  52. package/dist/src/members/PaymentGeneral.js +1 -1
  53. package/dist/src/members/PaymentGeneral.js.map +1 -1
  54. package/dist/src/members/PlatformMember.d.ts +1 -0
  55. package/dist/src/members/PlatformMember.d.ts.map +1 -1
  56. package/dist/src/members/PlatformMember.js +4 -4
  57. package/dist/src/members/PlatformMember.js.map +1 -1
  58. package/dist/src/members/checkout/BalanceItemCartItem.d.ts +3 -3
  59. package/dist/src/members/checkout/BalanceItemCartItem.d.ts.map +1 -1
  60. package/dist/src/members/checkout/BalanceItemCartItem.js +1 -1
  61. package/dist/src/members/checkout/BalanceItemCartItem.js.map +1 -1
  62. package/dist/src/members/checkout/RegisterCart.d.ts +2 -2
  63. package/dist/src/members/checkout/RegisterCart.d.ts.map +1 -1
  64. package/dist/src/members/checkout/RegisterCart.js +1 -1
  65. package/dist/src/members/checkout/RegisterCart.js.map +1 -1
  66. package/dist/src/members/checkout/RegisterCheckout.d.ts +5 -2
  67. package/dist/src/members/checkout/RegisterCheckout.d.ts.map +1 -1
  68. package/dist/src/members/checkout/RegisterCheckout.js +7 -0
  69. package/dist/src/members/checkout/RegisterCheckout.js.map +1 -1
  70. package/esm/dist/index.d.ts +1 -0
  71. package/esm/dist/index.d.ts.map +1 -1
  72. package/esm/dist/index.js +1 -0
  73. package/esm/dist/index.js.map +1 -1
  74. package/esm/dist/src/BalanceItem.d.ts +65 -31
  75. package/esm/dist/src/BalanceItem.d.ts.map +1 -1
  76. package/esm/dist/src/BalanceItem.js +218 -71
  77. package/esm/dist/src/BalanceItem.js.map +1 -1
  78. package/esm/dist/src/BalanceItemDetailed.d.ts +0 -4
  79. package/esm/dist/src/BalanceItemDetailed.d.ts.map +1 -1
  80. package/esm/dist/src/BalanceItemDetailed.js +0 -6
  81. package/esm/dist/src/BalanceItemDetailed.js.map +1 -1
  82. package/esm/dist/src/Group.d.ts +0 -1
  83. package/esm/dist/src/Group.d.ts.map +1 -1
  84. package/esm/dist/src/Group.js +0 -3
  85. package/esm/dist/src/Group.js.map +1 -1
  86. package/esm/dist/src/GroupSettings.d.ts +8 -2
  87. package/esm/dist/src/GroupSettings.d.ts.map +1 -1
  88. package/esm/dist/src/GroupSettings.js +11 -6
  89. package/esm/dist/src/GroupSettings.js.map +1 -1
  90. package/esm/dist/src/PaymentMethod.d.ts +2 -1
  91. package/esm/dist/src/PaymentMethod.d.ts.map +1 -1
  92. package/esm/dist/src/PaymentMethod.js +21 -11
  93. package/esm/dist/src/PaymentMethod.js.map +1 -1
  94. package/esm/dist/src/PaymentType.d.ts +36 -0
  95. package/esm/dist/src/PaymentType.d.ts.map +1 -0
  96. package/esm/dist/src/PaymentType.js +51 -0
  97. package/esm/dist/src/PaymentType.js.map +1 -0
  98. package/esm/dist/src/ReceivableBalance.d.ts +5 -1
  99. package/esm/dist/src/ReceivableBalance.d.ts.map +1 -1
  100. package/esm/dist/src/ReceivableBalance.js +8 -2
  101. package/esm/dist/src/ReceivableBalance.js.map +1 -1
  102. package/esm/dist/src/Version.d.ts +1 -1
  103. package/esm/dist/src/Version.js +1 -1
  104. package/esm/dist/src/addresses/Address.d.ts +2 -0
  105. package/esm/dist/src/addresses/Address.d.ts.map +1 -1
  106. package/esm/dist/src/email/EditorSmartVariable.d.ts.map +1 -1
  107. package/esm/dist/src/email/EditorSmartVariable.js +5 -0
  108. package/esm/dist/src/email/EditorSmartVariable.js.map +1 -1
  109. package/esm/dist/src/endpoints/PayableBalanceCollection.d.ts +3 -2
  110. package/esm/dist/src/endpoints/PayableBalanceCollection.d.ts.map +1 -1
  111. package/esm/dist/src/endpoints/PayableBalanceCollection.js +5 -2
  112. package/esm/dist/src/endpoints/PayableBalanceCollection.js.map +1 -1
  113. package/esm/dist/src/filters/InMemoryFilter.d.ts +1 -3
  114. package/esm/dist/src/filters/InMemoryFilter.d.ts.map +1 -1
  115. package/esm/dist/src/filters/InMemoryFilter.js +6 -1
  116. package/esm/dist/src/filters/InMemoryFilter.js.map +1 -1
  117. package/esm/dist/src/members/Payment.d.ts +6 -1
  118. package/esm/dist/src/members/Payment.d.ts.map +1 -1
  119. package/esm/dist/src/members/Payment.js +27 -1
  120. package/esm/dist/src/members/Payment.js.map +1 -1
  121. package/esm/dist/src/members/PaymentGeneral.js +1 -1
  122. package/esm/dist/src/members/PaymentGeneral.js.map +1 -1
  123. package/esm/dist/src/members/PlatformMember.d.ts +1 -0
  124. package/esm/dist/src/members/PlatformMember.d.ts.map +1 -1
  125. package/esm/dist/src/members/PlatformMember.js +4 -4
  126. package/esm/dist/src/members/PlatformMember.js.map +1 -1
  127. package/esm/dist/src/members/checkout/BalanceItemCartItem.d.ts +3 -3
  128. package/esm/dist/src/members/checkout/BalanceItemCartItem.d.ts.map +1 -1
  129. package/esm/dist/src/members/checkout/BalanceItemCartItem.js +2 -2
  130. package/esm/dist/src/members/checkout/BalanceItemCartItem.js.map +1 -1
  131. package/esm/dist/src/members/checkout/RegisterCart.d.ts +2 -2
  132. package/esm/dist/src/members/checkout/RegisterCart.d.ts.map +1 -1
  133. package/esm/dist/src/members/checkout/RegisterCart.js +1 -1
  134. package/esm/dist/src/members/checkout/RegisterCart.js.map +1 -1
  135. package/esm/dist/src/members/checkout/RegisterCheckout.d.ts +5 -2
  136. package/esm/dist/src/members/checkout/RegisterCheckout.d.ts.map +1 -1
  137. package/esm/dist/src/members/checkout/RegisterCheckout.js +7 -0
  138. package/esm/dist/src/members/checkout/RegisterCheckout.js.map +1 -1
  139. package/package.json +2 -2
package/dist/index.d.ts CHANGED
@@ -32,6 +32,7 @@ export * from './src/OrganizationSimple.js';
32
32
  export * from './src/OrganizationType.js';
33
33
  export * from './src/PaymentConfiguration.js';
34
34
  export * from './src/PaymentCustomer.js';
35
+ export * from './src/PaymentType.js';
35
36
  export * from './src/PaymentMethod.js';
36
37
  export * from './src/PaymentProvider.js';
37
38
  export * from './src/PaymentStatus.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,cAAc,yBAAyB,CAAC;AAGxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,eAAe,CAAC;AAE9B,cAAc,4BAA4B,CAAC;AAG3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,oDAAoD,CAAC;AACnE,cAAc,mDAAmD,CAAC;AAClE,cAAc,uDAAuD,CAAC;AACtE,cAAc,uCAAuC,CAAC;AACtD,cAAc,mDAAmD,CAAC;AAGlE,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,sBAAsB,CAAC;AAGrC,cAAc,qCAAqC,CAAC;AAGpD,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,oCAAoC,CAAC;AACnD,cAAc,mDAAmD,CAAC;AAClE,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,qDAAqD,CAAC;AACpE,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,kDAAkD,CAAC;AACjE,cAAc,yCAAyC,CAAC;AACxD,cAAc,6BAA6B,CAAC;AAG5C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wCAAwC,CAAC;AAGvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAGlD,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AAGjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gBAAgB,CAAC;AAG/B,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAG7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AAGjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AAEvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AAGvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAG7C,OAAO,gEAAgE,CAAC"}
package/dist/index.js CHANGED
@@ -39,6 +39,7 @@ tslib_1.__exportStar(require("./src/OrganizationSimple.js"), exports);
39
39
  tslib_1.__exportStar(require("./src/OrganizationType.js"), exports);
40
40
  tslib_1.__exportStar(require("./src/PaymentConfiguration.js"), exports);
41
41
  tslib_1.__exportStar(require("./src/PaymentCustomer.js"), exports);
42
+ tslib_1.__exportStar(require("./src/PaymentType.js"), exports);
42
43
  tslib_1.__exportStar(require("./src/PaymentMethod.js"), exports);
43
44
  tslib_1.__exportStar(require("./src/PaymentProvider.js"), exports);
44
45
  tslib_1.__exportStar(require("./src/PaymentStatus.js"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,25 @@
1
1
  import { AutoEncoder } from '@simonbackx/simple-encoding';
2
2
  import { Payment, PrivatePayment } from './members/Payment.js';
3
3
  import { PriceBreakdown } from './PriceBreakdown.js';
4
+ export declare enum BalanceItemStatusV352 {
5
+ Hidden = "Hidden",
6
+ Pending = "Pending",
7
+ Paid = "Paid"
8
+ }
4
9
  export declare enum BalanceItemStatus {
5
10
  /**
6
- * The balance is not yet owed by the member (payment is optional and not visible). But it is paid, the status will change to 'paid'.
11
+ * The balance is not yet due, but it can be paid. As soon as it is paid, it will transform into 'Due' and automatic status changes can happen to connected resources.
7
12
  */
8
13
  Hidden = "Hidden",
9
14
  /**
10
- * The balance is owed by the member, but not yet (fully) paid by the member.
11
- */
12
- Pending = "Pending",
15
+ * This means payment of the amount is a requirement.
16
+ */
17
+ Due = "Due",
13
18
  /**
14
- * The balance has been paid by the member. All settled.
15
- */
16
- Paid = "Paid"
19
+ * This means the balance is no longer due. If there is any paid amount, it is refundable.
20
+ * In case you don't want to refund the amount, you should change the status to 'Due' and change the amount to the amount that is not refundable.
21
+ */
22
+ Canceled = "Canceled"
17
23
  }
18
24
  export declare enum BalanceItemType {
19
25
  Registration = "Registration",
@@ -55,30 +61,49 @@ export declare class BalanceItem extends AutoEncoder {
55
61
  get priceOpen(): number;
56
62
  pricePaid: number;
57
63
  pricePending: number;
64
+ dueAt: Date | null;
58
65
  createdAt: Date;
59
66
  status: BalanceItemStatus;
60
67
  get isPaid(): boolean;
68
+ get isDue(): boolean;
69
+ get isOverDue(): boolean;
61
70
  organizationId: string;
62
71
  memberId: string | null;
63
72
  userId: string | null;
64
73
  registrationId: string | null;
74
+ payingOrganizationId: string | null;
75
+ static getDueOffset(from?: Date): Date;
76
+ static getOutstandingBalance(items: BalanceItem[]): {
77
+ /**
78
+ * @deprecated
79
+ */
80
+ totalPending: number;
81
+ /**
82
+ * @deprecated
83
+ */
84
+ totalOpen: number;
85
+ /**
86
+ * @deprecated
87
+ */
88
+ total: number;
89
+ price: number;
90
+ pricePending: number;
91
+ priceOpen: number;
92
+ pricePaid: number;
93
+ };
94
+ static filterBalanceItems(items: BalanceItem[]): BalanceItem[];
65
95
  get paymentShortDescription(): string;
66
96
  /**
67
97
  * To help split payments in categories: return a more detailed category than purely the type
68
98
  */
69
99
  get category(): string;
70
- get groupPrefix(): string;
71
100
  get groupTitle(): string;
72
- get groupDescription(): null;
101
+ get groupDescription(): string | null;
73
102
  get priceBreakown(): PriceBreakdown;
74
103
  /**
75
104
  * Unique identifier whithing a reporting group
76
105
  */
77
106
  get groupCode(): string;
78
- /**
79
- * When displayed as a single item
80
- */
81
- get itemPrefix(): string;
82
107
  /**
83
108
  * When displayed as a single item
84
109
  */
@@ -105,26 +130,35 @@ export declare class BalanceItemWithPayments extends BalanceItem {
105
130
  * Return whether a payment has been initiated for this balance item
106
131
  */
107
132
  get hasPendingPayment(): boolean;
108
- static getOutstandingBalance(items: BalanceItemWithPayments[]): {
109
- /**
110
- * @deprecated
111
- */
112
- totalPending: number;
113
- /**
114
- * @deprecated
115
- */
116
- totalOpen: number;
117
- /**
118
- * @deprecated
119
- */
120
- total: number;
121
- price: number;
122
- pricePending: number;
123
- priceOpen: number;
124
- pricePaid: number;
125
- };
126
133
  }
127
134
  export declare class BalanceItemWithPrivatePayments extends BalanceItemWithPayments {
128
135
  payments: BalanceItemPaymentWithPrivatePayment[];
129
136
  }
137
+ export declare class GroupedBalanceItems {
138
+ items: BalanceItem[];
139
+ constructor();
140
+ get id(): string;
141
+ add(item: BalanceItem): void;
142
+ get balanceItem(): BalanceItem;
143
+ /**
144
+ * Only shows amount open
145
+ */
146
+ get amount(): number;
147
+ get status(): BalanceItemStatus;
148
+ /**
149
+ * Only shows outstanding price
150
+ */
151
+ get priceOpen(): number;
152
+ get price(): number;
153
+ get pricePending(): number;
154
+ get pricePaid(): number;
155
+ get itemTitle(): string;
156
+ get itemDescription(): string | null;
157
+ get unitPrice(): number;
158
+ get dueAt(): Date | null;
159
+ get isDue(): boolean;
160
+ get isOverDue(): boolean;
161
+ get type(): BalanceItemType;
162
+ static group(items: BalanceItem[]): GroupedBalanceItems[];
163
+ }
130
164
  //# sourceMappingURL=BalanceItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BalanceItem.d.ts","sourceRoot":"","sources":["../../src/BalanceItem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BalanceItem.d.ts","sourceRoot":"","sources":["../../src/BalanceItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAA8E,MAAM,6BAA6B,CAAC;AAGpJ,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,oBAAY,qBAAqB;IAC7B,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;CAChB;AAED,oBAAY,iBAAiB;IACzB;;OAEG;IACH,MAAM,WAAW;IAEjB;;MAEE;IACF,GAAG,QAAQ;IAEX;;;MAGE;IACF,QAAQ,aAAa;CACxB;AAED,oBAAY,eAAe;IACvB,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,KAAK,UAAU;IACf,KAAK,UAAU;IACf,kBAAkB,uBAAuB;CAC5C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CASpE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAU3E;AAED,oBAAY,uBAAuB;IAC/B,OAAO,YAAY,CAAE,mCAAmC;IACxD,KAAK,UAAU,CAAE,oDAAoD;IACrE,UAAU,eAAe,CAAE,qDAAqD;IAChF,eAAe,oBAAoB,CAAE,yDAAyD;IAC9F,WAAW,gBAAgB,CAAE,oDAAoD;IACjF,MAAM,WAAW,CAAE,iDAAiD;IACpE,cAAc,mBAAmB;CACpC;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,uBAAuB,GAAG,MAAM,CAUpF;AAED,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,uBAAuB,GAAG,MAAM,CAU3F;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,uBAAuB,EAAE,YAAY,EAAE,GAAG,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,GAAG,OAAO,CAQrJ;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,WAAW;IAEhD,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,SAAM;CACb;AAED,qBAAa,WAAY,SAAQ,WAAW;IAExC,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,kBAAyB;IAG7B,SAAS,EAAE,GAAG,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAa;IAGzE,WAAW,SAAM;IAGjB,MAAM,SAAK;IAIX,SAAS,SAAK;IAEd,IAAI,KAAK,WAKR;IAED,IAAI,SAAS,WAKZ;IAGD,SAAS,SAAK;IAGd,YAAY,SAAK;IAGjB,KAAK,EAAE,IAAI,GAAG,IAAI,CAAQ;IAG1B,SAAS,OAAc;IAmBvB,MAAM,EAAE,iBAAiB,CAAyB;IAElD,IAAI,MAAM,YAET;IAED,IAAI,KAAK,YAUR;IAED,IAAI,SAAS,YAEZ;IAGD,cAAc,SAAM;IAGpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG/B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGrC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE3C,MAAM,CAAC,YAAY,CAAC,IAAI,GAAE,IAAiB;IAY3C,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE;QAQzC;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;;;;;;IAUX,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE;IAO9C,IAAI,uBAAuB,IAAI,MAAM,CAmBpC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAWrB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,gBAAgB,kBAWnB;IAED,IAAI,aAAa,IAAI,cAAc,CA0BlC;IAED;;OAEG;IACH,IAAI,SAAS,WAiBZ;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAkBtB;IAED;;OAEG;IACH,IAAI,eAAe,kBAuBlB;CACJ;AAED,qBAAa,kBAAmB,SAAQ,WAAW;IAE/C,EAAE,EAAE,MAAM,CAAC;IAGX,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,6BAA8B,SAAQ,kBAAkB;IAEjE,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,oCAAqC,SAAQ,kBAAkB;IAExE,OAAO,EAAE,cAAc,CAAC;CAC3B;AAED,qBAAa,uBAAwB,SAAQ,WAAW;IAEpD,QAAQ,EAAE,6BAA6B,EAAE,CAAM;IAE/C,eAAe;IAIf;;OAEG;IACH,IAAI,iBAAiB,YAEpB;CACJ;AAED,qBAAa,8BAA+B,SAAQ,uBAAuB;IAEvE,QAAQ,EAAE,oCAAoC,EAAE,CAAM;CACzD;AAED,qBAAa,mBAAmB;IAC5B,KAAK,EAAE,WAAW,EAAE,CAAC;;IAMrB,IAAI,EAAE,WAEL;IAED,GAAG,CAAC,IAAI,EAAE,WAAW;IAIrB,IAAI,WAAW,gBAEd;IAED;;OAEG;IACH,IAAI,MAAM,WAET;IAED,IAAI,MAAM,sBAET;IAED;;OAEG;IACH,IAAI,SAAS,WAEZ;IAED,IAAI,KAAK,WAER;IAED,IAAI,YAAY,WAEf;IAED,IAAI,SAAS,WAEZ;IAED,IAAI,SAAS,WAMZ;IAED,IAAI,eAAe,kBAMlB;IAED,IAAI,SAAS,WAEZ;IAED,IAAI,KAAK,gBAER;IAED,IAAI,KAAK,YAER;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,IAAI,oBAEP;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,mBAAmB,EAAE;CAc5D"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BalanceItemWithPrivatePayments = exports.BalanceItemWithPayments = exports.BalanceItemPaymentWithPrivatePayment = exports.BalanceItemPaymentWithPayment = exports.BalanceItemPayment = exports.BalanceItem = exports.BalanceItemRelation = exports.BalanceItemRelationType = exports.BalanceItemType = exports.BalanceItemStatus = void 0;
3
+ exports.GroupedBalanceItems = exports.BalanceItemWithPrivatePayments = exports.BalanceItemWithPayments = exports.BalanceItemPaymentWithPrivatePayment = exports.BalanceItemPaymentWithPayment = exports.BalanceItemPayment = exports.BalanceItem = exports.BalanceItemRelation = exports.BalanceItemRelationType = exports.BalanceItemType = exports.BalanceItemStatus = exports.BalanceItemStatusV352 = void 0;
4
4
  exports.getBalanceItemTypeName = getBalanceItemTypeName;
5
5
  exports.getBalanceItemTypeIcon = getBalanceItemTypeIcon;
6
6
  exports.getBalanceItemRelationTypeName = getBalanceItemRelationTypeName;
@@ -10,20 +10,28 @@ const tslib_1 = require("tslib");
10
10
  const simple_encoding_1 = require("@simonbackx/simple-encoding");
11
11
  const uuid_1 = require("uuid");
12
12
  const Payment_js_1 = require("./members/Payment.js");
13
+ const utility_1 = require("@stamhoofd/utility");
14
+ var BalanceItemStatusV352;
15
+ (function (BalanceItemStatusV352) {
16
+ BalanceItemStatusV352["Hidden"] = "Hidden";
17
+ BalanceItemStatusV352["Pending"] = "Pending";
18
+ BalanceItemStatusV352["Paid"] = "Paid";
19
+ })(BalanceItemStatusV352 || (exports.BalanceItemStatusV352 = BalanceItemStatusV352 = {}));
13
20
  var BalanceItemStatus;
14
21
  (function (BalanceItemStatus) {
15
22
  /**
16
- * The balance is not yet owed by the member (payment is optional and not visible). But it is paid, the status will change to 'paid'.
23
+ * The balance is not yet due, but it can be paid. As soon as it is paid, it will transform into 'Due' and automatic status changes can happen to connected resources.
17
24
  */
18
25
  BalanceItemStatus["Hidden"] = "Hidden";
19
26
  /**
20
- * The balance is owed by the member, but not yet (fully) paid by the member.
21
- */
22
- BalanceItemStatus["Pending"] = "Pending";
27
+ * This means payment of the amount is a requirement.
28
+ */
29
+ BalanceItemStatus["Due"] = "Due";
23
30
  /**
24
- * The balance has been paid by the member. All settled.
25
- */
26
- BalanceItemStatus["Paid"] = "Paid";
31
+ * This means the balance is no longer due. If there is any paid amount, it is refundable.
32
+ * In case you don't want to refund the amount, you should change the status to 'Due' and change the amount to the amount that is not refundable.
33
+ */
34
+ BalanceItemStatus["Canceled"] = "Canceled";
27
35
  })(BalanceItemStatus || (exports.BalanceItemStatus = BalanceItemStatus = {}));
28
36
  var BalanceItemType;
29
37
  (function (BalanceItemType) {
@@ -50,7 +58,7 @@ function getBalanceItemTypeIcon(type) {
50
58
  case BalanceItemType.AdministrationFee: return 'calculator';
51
59
  case BalanceItemType.FreeContribution: return 'gift';
52
60
  case BalanceItemType.Order: return 'basket';
53
- case BalanceItemType.Other: return 'card';
61
+ case BalanceItemType.Other: return 'label';
54
62
  case BalanceItemType.PlatformMembership: return 'membership-filled';
55
63
  }
56
64
  return null;
@@ -122,33 +130,100 @@ class BalanceItem extends simple_encoding_1.AutoEncoder {
122
130
  this.unitPrice = 0; // unit price
123
131
  this.pricePaid = 0;
124
132
  this.pricePending = 0;
133
+ this.dueAt = null;
125
134
  this.createdAt = new Date();
126
- this.status = BalanceItemStatus.Pending;
135
+ this.status = BalanceItemStatus.Due;
127
136
  this.organizationId = '';
128
137
  this.memberId = null;
129
138
  this.userId = null;
130
139
  this.registrationId = null;
140
+ this.payingOrganizationId = null;
131
141
  }
132
142
  get price() {
143
+ if (this.status === BalanceItemStatus.Hidden || this.status === BalanceItemStatus.Canceled) {
144
+ return 0;
145
+ }
133
146
  return this.unitPrice * this.amount;
134
147
  }
135
148
  get priceOpen() {
149
+ if (this.status === BalanceItemStatus.Hidden || this.status === BalanceItemStatus.Canceled) {
150
+ return -this.pricePaid - this.pricePending;
151
+ }
136
152
  return this.price - this.pricePaid - this.pricePending;
137
153
  }
138
154
  get isPaid() {
139
155
  return this.pricePaid === this.price;
140
156
  }
157
+ get isDue() {
158
+ if (this.status === BalanceItemStatus.Hidden || this.status === BalanceItemStatus.Canceled) {
159
+ if (this.priceOpen !== 0) {
160
+ // A paid amount remaining
161
+ return true;
162
+ }
163
+ return false;
164
+ }
165
+ return this.dueAt === null || this.dueAt <= BalanceItem.getDueOffset();
166
+ }
167
+ get isOverDue() {
168
+ return this.priceOpen > 0 && this.dueAt !== null && this.dueAt <= new Date();
169
+ }
170
+ static getDueOffset(from = new Date()) {
171
+ const d = new Date(from.getTime() - 1000 * 60 * 60 * 24 * 7); // 7 days in the past
172
+ // Set time to be between 2 - 5 AM
173
+ d.setHours(2);
174
+ d.setMinutes(0);
175
+ d.setSeconds(0);
176
+ d.setMilliseconds(0);
177
+ return d;
178
+ }
179
+ static getOutstandingBalance(items) {
180
+ // Get sum of balance payments
181
+ const totalPending = items.map(p => p.pricePending).reduce((t, total) => total + t, 0);
182
+ const totalPaid = items.map(p => p.pricePaid).reduce((t, total) => total + t, 0);
183
+ const totalPrice = items.map(p => p.price).reduce((t, total) => total + t, 0);
184
+ const totalOpen = items.map(p => p.priceOpen).reduce((t, total) => total + t, 0);
185
+ return {
186
+ /**
187
+ * @deprecated
188
+ */
189
+ totalPending, // Pending payment
190
+ /**
191
+ * @deprecated
192
+ */
193
+ totalOpen, // Not yet started
194
+ /**
195
+ * @deprecated
196
+ */
197
+ total: totalPending + totalOpen, // total not yet paid
198
+ price: totalPrice,
199
+ pricePending: totalPending,
200
+ priceOpen: totalOpen,
201
+ pricePaid: totalPaid,
202
+ };
203
+ }
204
+ static filterBalanceItems(items) {
205
+ return items.filter(i => BalanceItem.getOutstandingBalance([i]).priceOpen !== 0).sort((a, b) => {
206
+ var _a, _b;
207
+ return utility_1.Sorter.stack(utility_1.Sorter.byDateValue((_a = b.dueAt) !== null && _a !== void 0 ? _a : new Date(0), (_b = a.dueAt) !== null && _b !== void 0 ? _b : new Date(0)), utility_1.Sorter.byDateValue(b.createdAt, a.createdAt));
208
+ });
209
+ }
141
210
  get paymentShortDescription() {
142
- var _a, _b, _c, _d, _e, _f;
211
+ var _a, _b, _c;
212
+ // This doesn't list individual options
143
213
  switch (this.type) {
144
214
  case BalanceItemType.Registration: {
145
- return (_b = (_a = this.relations.get(BalanceItemRelationType.Group)) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : 'inschrijving';
215
+ const option = this.relations.get(BalanceItemRelationType.GroupOption);
216
+ const group = ((_a = this.relations.get(BalanceItemRelationType.Group)) === null || _a === void 0 ? void 0 : _a.name) || 'Onbekende inschrijvingsgroep';
217
+ if (option) {
218
+ return 'keuzeoptie voor ' + group;
219
+ }
220
+ return 'inschrijving voor ' + group;
146
221
  }
147
222
  case BalanceItemType.AdministrationFee: return 'administratiekosten';
148
223
  case BalanceItemType.FreeContribution: return 'vrije bijdrage';
149
- case BalanceItemType.Order: return (_d = (_c = this.relations.get(BalanceItemRelationType.Webshop)) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : 'webshop';
150
- case BalanceItemType.Other: return 'andere';
151
- case BalanceItemType.PlatformMembership: return (_f = (_e = this.relations.get(BalanceItemRelationType.MembershipType)) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : 'aansluitingen';
224
+ case BalanceItemType.Order: return ((_b = this.relations.get(BalanceItemRelationType.Webshop)) === null || _b === void 0 ? void 0 : _b.name) || 'onbekende webshop';
225
+ case BalanceItemType.Other: return this.description;
226
+ case BalanceItemType.PlatformMembership: return 'aansluiting voor ' + ((_c = this.relations.get(BalanceItemRelationType.MembershipType)) === null || _c === void 0 ? void 0 : _c.name) || 'onbekend aansluitingstype';
152
227
  }
153
228
  }
154
229
  /**
@@ -167,13 +242,20 @@ class BalanceItem extends simple_encoding_1.AutoEncoder {
167
242
  case BalanceItemType.PlatformMembership: return (_f = (_e = this.relations.get(BalanceItemRelationType.MembershipType)) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : 'aansluitingen';
168
243
  }
169
244
  }
170
- get groupPrefix() {
171
- return this.itemPrefix;
172
- }
173
245
  get groupTitle() {
174
246
  return this.itemTitle;
175
247
  }
176
248
  get groupDescription() {
249
+ var _a;
250
+ switch (this.type) {
251
+ case BalanceItemType.Registration: {
252
+ const option = this.relations.get(BalanceItemRelationType.GroupOption);
253
+ if (option) {
254
+ const group = ((_a = this.relations.get(BalanceItemRelationType.Group)) === null || _a === void 0 ? void 0 : _a.name) || 'Onbekende inschrijvingsgroep';
255
+ return 'Keuzeoptie ' + group;
256
+ }
257
+ }
258
+ }
177
259
  return null;
178
260
  }
179
261
  get priceBreakown() {
@@ -196,7 +278,7 @@ class BalanceItem extends simple_encoding_1.AutoEncoder {
196
278
  return [
197
279
  ...all,
198
280
  {
199
- name: this.priceOpen < 0 ? 'Terug te krijgen' : 'Te betalen',
281
+ name: this.priceOpen < 0 ? 'Terug te betalen' : 'Te betalen',
200
282
  price: Math.abs(this.priceOpen),
201
283
  },
202
284
  ];
@@ -207,37 +289,20 @@ class BalanceItem extends simple_encoding_1.AutoEncoder {
207
289
  get groupCode() {
208
290
  if (this.type === BalanceItemType.Other) {
209
291
  return 'type-' + this.type
292
+ + '-' + this.status
210
293
  + '-unit-price-' + this.unitPrice
211
- + '-description-' + this.description;
294
+ + '-description-' + this.description
295
+ + '-due-date-' + (this.dueAt ? utility_1.Formatter.dateIso(this.dueAt) : 'null');
212
296
  }
213
297
  return 'type-' + this.type
298
+ + '-' + this.status
214
299
  + '-unit-price-' + this.unitPrice
300
+ + '-due-date-' + (this.dueAt ? utility_1.Formatter.dateIso(this.dueAt) : 'null')
215
301
  + '-relations' + Array.from(this.relations.entries())
216
302
  .filter(([key]) => !shouldAggregateOnRelationType(key, this.relations))
217
303
  .map(([key, value]) => key + '-' + value.id)
218
304
  .join('-');
219
305
  }
220
- /**
221
- * When displayed as a single item
222
- */
223
- get itemPrefix() {
224
- var _a;
225
- const prefix = this.amount === 0 ? 'Geannuleerde ' : '';
226
- switch (this.type) {
227
- case BalanceItemType.Registration: {
228
- if (this.relations.get(BalanceItemRelationType.GroupOption)) {
229
- const group = ((_a = this.relations.get(BalanceItemRelationType.Group)) === null || _a === void 0 ? void 0 : _a.name) || 'onbekende inschrijvingsgroep';
230
- return prefix + 'inschrijving voor ' + group;
231
- }
232
- return prefix + 'inschrijving';
233
- }
234
- case BalanceItemType.AdministrationFee: return prefix + 'administratiekosten';
235
- case BalanceItemType.FreeContribution: return prefix + 'vrije bijdrage';
236
- case BalanceItemType.Order: return prefix + 'bestelling';
237
- case BalanceItemType.Other: return prefix + 'andere';
238
- case BalanceItemType.PlatformMembership: return prefix + 'aansluiting';
239
- }
240
- }
241
306
  /**
242
307
  * When displayed as a single item
243
308
  */
@@ -252,26 +317,33 @@ class BalanceItem extends simple_encoding_1.AutoEncoder {
252
317
  }
253
318
  const group = ((_b = this.relations.get(BalanceItemRelationType.Group)) === null || _b === void 0 ? void 0 : _b.name) || 'Onbekende inschrijvingsgroep';
254
319
  const price = (_c = this.relations.get(BalanceItemRelationType.GroupPrice)) === null || _c === void 0 ? void 0 : _c.name;
255
- return group + (price && price !== 'Standaardtarief' ? ' (' + price + ')' : '');
320
+ return 'Inschrijving voor ' + group + (price && price !== 'Standaardtarief' ? ' (' + price + ')' : '');
256
321
  }
257
322
  case BalanceItemType.AdministrationFee: return 'Administratiekosten';
258
323
  case BalanceItemType.FreeContribution: return 'Vrije bijdrage';
259
324
  case BalanceItemType.Order: return ((_d = this.relations.get(BalanceItemRelationType.Webshop)) === null || _d === void 0 ? void 0 : _d.name) || 'Onbekende webshop';
260
325
  case BalanceItemType.Other: return this.description;
261
- case BalanceItemType.PlatformMembership: return ((_e = this.relations.get(BalanceItemRelationType.MembershipType)) === null || _e === void 0 ? void 0 : _e.name) || 'Onbekend aansluitingstype';
326
+ case BalanceItemType.PlatformMembership: return 'Aansluiting voor ' + ((_e = this.relations.get(BalanceItemRelationType.MembershipType)) === null || _e === void 0 ? void 0 : _e.name) || 'Onbekend aansluitingstype';
262
327
  }
263
328
  }
264
329
  /**
265
330
  * When displayed as a single item
266
331
  */
267
332
  get itemDescription() {
333
+ var _a;
268
334
  switch (this.type) {
269
335
  case BalanceItemType.Registration: {
336
+ const option = this.relations.get(BalanceItemRelationType.GroupOption);
337
+ let prefix = '';
338
+ if (option) {
339
+ const group = ((_a = this.relations.get(BalanceItemRelationType.Group)) === null || _a === void 0 ? void 0 : _a.name) || 'Onbekende inschrijvingsgroep';
340
+ prefix = 'Keuzeoptie ' + group;
341
+ }
270
342
  const member = this.relations.get(BalanceItemRelationType.Member);
271
343
  if (member) {
272
- return member.name;
344
+ return (prefix ? (prefix + '\n') : '') + member.name;
273
345
  }
274
- return null;
346
+ return prefix;
275
347
  }
276
348
  case BalanceItemType.PlatformMembership: {
277
349
  const member = this.relations.get(BalanceItemRelationType.Member);
@@ -309,11 +381,30 @@ tslib_1.__decorate([
309
381
  tslib_1.__decorate([
310
382
  (0, simple_encoding_1.field)({ decoder: simple_encoding_1.IntegerDecoder, version: 335 })
311
383
  ], BalanceItem.prototype, "pricePending", void 0);
384
+ tslib_1.__decorate([
385
+ (0, simple_encoding_1.field)({ decoder: simple_encoding_1.DateDecoder, nullable: true, version: 353 })
386
+ ], BalanceItem.prototype, "dueAt", void 0);
312
387
  tslib_1.__decorate([
313
388
  (0, simple_encoding_1.field)({ decoder: simple_encoding_1.DateDecoder })
314
389
  ], BalanceItem.prototype, "createdAt", void 0);
315
390
  tslib_1.__decorate([
316
- (0, simple_encoding_1.field)({ decoder: new simple_encoding_1.EnumDecoder(BalanceItemStatus) })
391
+ (0, simple_encoding_1.field)({ decoder: new simple_encoding_1.EnumDecoder(BalanceItemStatusV352) }),
392
+ (0, simple_encoding_1.field)({ decoder: new simple_encoding_1.EnumDecoder(BalanceItemStatus), version: 353,
393
+ upgrade(old) {
394
+ switch (old) {
395
+ case BalanceItemStatusV352.Pending: return BalanceItemStatus.Due;
396
+ case BalanceItemStatusV352.Paid: return BalanceItemStatus.Due;
397
+ }
398
+ return old;
399
+ },
400
+ downgrade(newer) {
401
+ switch (newer) {
402
+ case BalanceItemStatus.Due: return BalanceItemStatusV352.Pending;
403
+ case BalanceItemStatus.Canceled: return BalanceItemStatusV352.Pending;
404
+ }
405
+ return newer;
406
+ },
407
+ })
317
408
  ], BalanceItem.prototype, "status", void 0);
318
409
  tslib_1.__decorate([
319
410
  (0, simple_encoding_1.field)({ decoder: simple_encoding_1.StringDecoder })
@@ -327,6 +418,9 @@ tslib_1.__decorate([
327
418
  tslib_1.__decorate([
328
419
  (0, simple_encoding_1.field)({ decoder: simple_encoding_1.StringDecoder, nullable: true })
329
420
  ], BalanceItem.prototype, "registrationId", void 0);
421
+ tslib_1.__decorate([
422
+ (0, simple_encoding_1.field)({ decoder: simple_encoding_1.StringDecoder, nullable: true, version: 353 })
423
+ ], BalanceItem.prototype, "payingOrganizationId", void 0);
330
424
  class BalanceItemPayment extends simple_encoding_1.AutoEncoder {
331
425
  }
332
426
  exports.BalanceItemPayment = BalanceItemPayment;
@@ -362,32 +456,6 @@ class BalanceItemWithPayments extends BalanceItem {
362
456
  get hasPendingPayment() {
363
457
  return !!this.payments.find(p => p.payment.isPending);
364
458
  }
365
- static getOutstandingBalance(items) {
366
- // Get sum of balance payments
367
- const totalPending = items.map(p => p.pricePending).reduce((t, total) => total + t, 0);
368
- const totalPaid = items.map(p => p.pricePaid).reduce((t, total) => total + t, 0);
369
- const totalPrice = items.map(p => p.price).reduce((t, total) => total + t, 0);
370
- const total = totalPrice - totalPaid;
371
- const totalOpen = total - totalPending;
372
- return {
373
- /**
374
- * @deprecated
375
- */
376
- totalPending, // Pending payment
377
- /**
378
- * @deprecated
379
- */
380
- totalOpen, // Not yet started
381
- /**
382
- * @deprecated
383
- */
384
- total: totalPending + totalOpen, // total not yet paid
385
- price: totalPrice,
386
- pricePending: totalPending,
387
- priceOpen: totalOpen,
388
- pricePaid: totalPaid,
389
- };
390
- }
391
459
  }
392
460
  exports.BalanceItemWithPayments = BalanceItemWithPayments;
393
461
  tslib_1.__decorate([
@@ -403,4 +471,84 @@ exports.BalanceItemWithPrivatePayments = BalanceItemWithPrivatePayments;
403
471
  tslib_1.__decorate([
404
472
  (0, simple_encoding_1.field)({ decoder: new simple_encoding_1.ArrayDecoder(BalanceItemPaymentWithPrivatePayment) })
405
473
  ], BalanceItemWithPrivatePayments.prototype, "payments", void 0);
474
+ class GroupedBalanceItems {
475
+ constructor() {
476
+ this.items = [];
477
+ }
478
+ get id() {
479
+ return this.items[0].groupCode;
480
+ }
481
+ add(item) {
482
+ this.items.push(item);
483
+ }
484
+ get balanceItem() {
485
+ return this.items[0];
486
+ }
487
+ /**
488
+ * Only shows amount open
489
+ */
490
+ get amount() {
491
+ return this.items.reduce((acc, item) => acc + item.amount, 0);
492
+ }
493
+ get status() {
494
+ return this.balanceItem.status;
495
+ }
496
+ /**
497
+ * Only shows outstanding price
498
+ */
499
+ get priceOpen() {
500
+ return this.items.reduce((acc, item) => acc + item.priceOpen, 0);
501
+ }
502
+ get price() {
503
+ return this.items.reduce((acc, item) => acc + item.price, 0);
504
+ }
505
+ get pricePending() {
506
+ return this.items.reduce((acc, item) => acc + item.pricePending, 0);
507
+ }
508
+ get pricePaid() {
509
+ return this.items.reduce((acc, item) => acc + item.pricePaid, 0);
510
+ }
511
+ get itemTitle() {
512
+ if (this.items.length === 1) {
513
+ // Return normal prefix
514
+ return this.items[0].itemTitle;
515
+ }
516
+ return this.items[0].groupTitle;
517
+ }
518
+ get itemDescription() {
519
+ if (this.items.length === 1) {
520
+ // Return normal prefix
521
+ return this.items[0].itemDescription;
522
+ }
523
+ return this.items[0].groupDescription;
524
+ }
525
+ get unitPrice() {
526
+ return this.items[0].unitPrice;
527
+ }
528
+ get dueAt() {
529
+ return this.items[0].dueAt;
530
+ ;
531
+ }
532
+ get isDue() {
533
+ return this.items[0].isDue;
534
+ }
535
+ get isOverDue() {
536
+ return this.items[0].isOverDue;
537
+ }
538
+ get type() {
539
+ return this.items[0].type;
540
+ }
541
+ static group(items) {
542
+ const map = new Map();
543
+ for (const item of items) {
544
+ const code = item.groupCode;
545
+ if (!map.has(code)) {
546
+ map.set(code, new GroupedBalanceItems());
547
+ }
548
+ map.get(code).add(item);
549
+ }
550
+ return Array.from(map.values()).filter(v => v.priceOpen !== 0);
551
+ }
552
+ }
553
+ exports.GroupedBalanceItems = GroupedBalanceItems;
406
554
  //# sourceMappingURL=BalanceItem.js.map