@stamhoofd/models 2.63.0 → 2.65.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 (291) hide show
  1. package/dist/src/helpers/EmailBuilder.d.ts +6 -1
  2. package/dist/src/helpers/EmailBuilder.d.ts.map +1 -1
  3. package/dist/src/helpers/EmailBuilder.js +60 -20
  4. package/dist/src/helpers/EmailBuilder.js.map +1 -1
  5. package/dist/src/helpers/MemberMerger.d.ts.map +1 -1
  6. package/dist/src/helpers/MemberMerger.js +1 -2
  7. package/dist/src/helpers/MemberMerger.js.map +1 -1
  8. package/dist/src/migrations/1605262045-import-postcodes.d.ts +3 -3
  9. package/dist/src/migrations/1605262045-import-postcodes.js +10 -13
  10. package/dist/src/migrations/1734429094-registration-trial-until.sql +3 -0
  11. package/dist/src/migrations/1734429095-membership-trial-until.sql +2 -0
  12. package/dist/src/migrations/1734535120-registration-period-previous-period-id.sql +3 -0
  13. package/dist/src/migrations/1734535121-platform-previous-period-id.sql +3 -0
  14. package/dist/src/migrations/1734626607-cached-balance-amount-open.sql +2 -0
  15. package/dist/src/migrations/1734698906-cached-balance-amount-paid.sql +2 -0
  16. package/dist/src/migrations/1735573520-emails-email-type.sql +2 -0
  17. package/dist/src/migrations/1735573521-email-recipients-email-type.sql +4 -0
  18. package/dist/src/migrations/1735573522-emails-indexes.sql +3 -0
  19. package/dist/src/migrations/1735982691-cached-balance-email-reminder-counts.sql +4 -0
  20. package/dist/src/migrations/1735994471-default-email-templates.sql +5 -0
  21. package/dist/src/models/AuditLog.d.ts +2 -7
  22. package/dist/src/models/AuditLog.d.ts.map +1 -1
  23. package/dist/src/models/AuditLog.js +1 -15
  24. package/dist/src/models/AuditLog.js.map +1 -1
  25. package/dist/src/models/BalanceItem.d.ts +4 -13
  26. package/dist/src/models/BalanceItem.d.ts.map +1 -1
  27. package/dist/src/models/BalanceItem.js +21 -33
  28. package/dist/src/models/BalanceItem.js.map +1 -1
  29. package/dist/src/models/BalanceItemPayment.d.ts +3 -2
  30. package/dist/src/models/BalanceItemPayment.d.ts.map +1 -1
  31. package/dist/src/models/BalanceItemPayment.js +2 -1
  32. package/dist/src/models/BalanceItemPayment.js.map +1 -1
  33. package/dist/src/models/BuckarooPayment.d.ts +2 -2
  34. package/dist/src/models/BuckarooPayment.d.ts.map +1 -1
  35. package/dist/src/models/BuckarooPayment.js +2 -1
  36. package/dist/src/models/BuckarooPayment.js.map +1 -1
  37. package/dist/src/models/CachedBalance.d.ts +12 -10
  38. package/dist/src/models/CachedBalance.d.ts.map +1 -1
  39. package/dist/src/models/CachedBalance.js +122 -39
  40. package/dist/src/models/CachedBalance.js.map +1 -1
  41. package/dist/src/models/Document.d.ts +3 -3
  42. package/dist/src/models/Document.d.ts.map +1 -1
  43. package/dist/src/models/Document.js +2 -1
  44. package/dist/src/models/Document.js.map +1 -1
  45. package/dist/src/models/DocumentTemplate.d.ts +2 -2
  46. package/dist/src/models/DocumentTemplate.d.ts.map +1 -1
  47. package/dist/src/models/DocumentTemplate.js +38 -10
  48. package/dist/src/models/DocumentTemplate.js.map +1 -1
  49. package/dist/src/models/Email.d.ts +10 -4
  50. package/dist/src/models/Email.d.ts.map +1 -1
  51. package/dist/src/models/Email.js +68 -25
  52. package/dist/src/models/Email.js.map +1 -1
  53. package/dist/src/models/EmailRecipient.d.ts +14 -8
  54. package/dist/src/models/EmailRecipient.d.ts.map +1 -1
  55. package/dist/src/models/EmailRecipient.js +19 -14
  56. package/dist/src/models/EmailRecipient.js.map +1 -1
  57. package/dist/src/models/EmailTemplate.d.ts +2 -7
  58. package/dist/src/models/EmailTemplate.d.ts.map +1 -1
  59. package/dist/src/models/EmailTemplate.js +1 -15
  60. package/dist/src/models/EmailTemplate.js.map +1 -1
  61. package/dist/src/models/EmailVerificationCode.d.ts +2 -2
  62. package/dist/src/models/EmailVerificationCode.d.ts.map +1 -1
  63. package/dist/src/models/EmailVerificationCode.js +2 -1
  64. package/dist/src/models/EmailVerificationCode.js.map +1 -1
  65. package/dist/src/models/Event.d.ts +2 -2
  66. package/dist/src/models/Event.d.ts.map +1 -1
  67. package/dist/src/models/Event.js +2 -1
  68. package/dist/src/models/Event.js.map +1 -1
  69. package/dist/src/models/Group.d.ts +2 -7
  70. package/dist/src/models/Group.d.ts.map +1 -1
  71. package/dist/src/models/Group.js +1 -17
  72. package/dist/src/models/Group.js.map +1 -1
  73. package/dist/src/models/Image.d.ts +2 -2
  74. package/dist/src/models/Image.d.ts.map +1 -1
  75. package/dist/src/models/Image.js +2 -1
  76. package/dist/src/models/Image.js.map +1 -1
  77. package/dist/src/models/Member.d.ts +6 -9
  78. package/dist/src/models/Member.d.ts.map +1 -1
  79. package/dist/src/models/Member.js +3 -42
  80. package/dist/src/models/Member.js.map +1 -1
  81. package/dist/src/models/MemberPlatformMembership.d.ts +12 -8
  82. package/dist/src/models/MemberPlatformMembership.d.ts.map +1 -1
  83. package/dist/src/models/MemberPlatformMembership.js +80 -20
  84. package/dist/src/models/MemberPlatformMembership.js.map +1 -1
  85. package/dist/src/models/MemberResponsibilityRecord.d.ts +2 -7
  86. package/dist/src/models/MemberResponsibilityRecord.d.ts.map +1 -1
  87. package/dist/src/models/MemberResponsibilityRecord.js +1 -15
  88. package/dist/src/models/MemberResponsibilityRecord.js.map +1 -1
  89. package/dist/src/models/MemberUser.d.ts +8 -0
  90. package/dist/src/models/MemberUser.d.ts.map +1 -0
  91. package/dist/src/models/MemberUser.js +26 -0
  92. package/dist/src/models/MemberUser.js.map +1 -0
  93. package/dist/src/models/MergedMember.d.ts +3 -3
  94. package/dist/src/models/MergedMember.d.ts.map +1 -1
  95. package/dist/src/models/MergedMember.js +3 -2
  96. package/dist/src/models/MergedMember.js.map +1 -1
  97. package/dist/src/models/MolliePayment.d.ts +2 -2
  98. package/dist/src/models/MolliePayment.d.ts.map +1 -1
  99. package/dist/src/models/MolliePayment.js +2 -1
  100. package/dist/src/models/MolliePayment.js.map +1 -1
  101. package/dist/src/models/MollieToken.d.ts +2 -2
  102. package/dist/src/models/MollieToken.d.ts.map +1 -1
  103. package/dist/src/models/MollieToken.js +2 -1
  104. package/dist/src/models/MollieToken.js.map +1 -1
  105. package/dist/src/models/OneTimeToken.d.ts +2 -2
  106. package/dist/src/models/OneTimeToken.d.ts.map +1 -1
  107. package/dist/src/models/OneTimeToken.js +2 -1
  108. package/dist/src/models/OneTimeToken.js.map +1 -1
  109. package/dist/src/models/Order.d.ts +3 -2
  110. package/dist/src/models/Order.d.ts.map +1 -1
  111. package/dist/src/models/Order.js +2 -1
  112. package/dist/src/models/Order.js.map +1 -1
  113. package/dist/src/models/Organization.d.ts +2 -2
  114. package/dist/src/models/Organization.d.ts.map +1 -1
  115. package/dist/src/models/Organization.js +2 -1
  116. package/dist/src/models/Organization.js.map +1 -1
  117. package/dist/src/models/OrganizationRegistrationPeriod.d.ts +2 -2
  118. package/dist/src/models/OrganizationRegistrationPeriod.d.ts.map +1 -1
  119. package/dist/src/models/OrganizationRegistrationPeriod.js +2 -1
  120. package/dist/src/models/OrganizationRegistrationPeriod.js.map +1 -1
  121. package/dist/src/models/PasswordToken.d.ts +3 -2
  122. package/dist/src/models/PasswordToken.d.ts.map +1 -1
  123. package/dist/src/models/PasswordToken.js +2 -1
  124. package/dist/src/models/PasswordToken.js.map +1 -1
  125. package/dist/src/models/PayconiqPayment.d.ts +2 -2
  126. package/dist/src/models/PayconiqPayment.d.ts.map +1 -1
  127. package/dist/src/models/PayconiqPayment.js +2 -1
  128. package/dist/src/models/PayconiqPayment.js.map +1 -1
  129. package/dist/src/models/Payment.d.ts +2 -7
  130. package/dist/src/models/Payment.d.ts.map +1 -1
  131. package/dist/src/models/Payment.js +1 -15
  132. package/dist/src/models/Payment.js.map +1 -1
  133. package/dist/src/models/Platform.d.ts +5 -3
  134. package/dist/src/models/Platform.d.ts.map +1 -1
  135. package/dist/src/models/Platform.js +11 -2
  136. package/dist/src/models/Platform.js.map +1 -1
  137. package/dist/src/models/RegisterCode.d.ts +2 -2
  138. package/dist/src/models/RegisterCode.d.ts.map +1 -1
  139. package/dist/src/models/RegisterCode.js +2 -1
  140. package/dist/src/models/RegisterCode.js.map +1 -1
  141. package/dist/src/models/Registration.d.ts +20 -7
  142. package/dist/src/models/Registration.d.ts.map +1 -1
  143. package/dist/src/models/Registration.js +25 -61
  144. package/dist/src/models/Registration.js.map +1 -1
  145. package/dist/src/models/RegistrationPeriod.d.ts +4 -2
  146. package/dist/src/models/RegistrationPeriod.d.ts.map +1 -1
  147. package/dist/src/models/RegistrationPeriod.js +23 -1
  148. package/dist/src/models/RegistrationPeriod.js.map +1 -1
  149. package/dist/src/models/STCredit.d.ts +2 -2
  150. package/dist/src/models/STCredit.d.ts.map +1 -1
  151. package/dist/src/models/STCredit.js +2 -1
  152. package/dist/src/models/STCredit.js.map +1 -1
  153. package/dist/src/models/STInvoice.d.ts +3 -2
  154. package/dist/src/models/STInvoice.d.ts.map +1 -1
  155. package/dist/src/models/STInvoice.js +2 -1
  156. package/dist/src/models/STInvoice.js.map +1 -1
  157. package/dist/src/models/STPackage.d.ts +2 -2
  158. package/dist/src/models/STPackage.d.ts.map +1 -1
  159. package/dist/src/models/STPackage.js +2 -1
  160. package/dist/src/models/STPackage.js.map +1 -1
  161. package/dist/src/models/STPendingInvoice.d.ts +3 -2
  162. package/dist/src/models/STPendingInvoice.d.ts.map +1 -1
  163. package/dist/src/models/STPendingInvoice.js +2 -1
  164. package/dist/src/models/STPendingInvoice.js.map +1 -1
  165. package/dist/src/models/StripeAccount.d.ts +2 -2
  166. package/dist/src/models/StripeAccount.d.ts.map +1 -1
  167. package/dist/src/models/StripeAccount.js +2 -1
  168. package/dist/src/models/StripeAccount.js.map +1 -1
  169. package/dist/src/models/StripeCheckoutSession.d.ts +2 -2
  170. package/dist/src/models/StripeCheckoutSession.d.ts.map +1 -1
  171. package/dist/src/models/StripeCheckoutSession.js +2 -1
  172. package/dist/src/models/StripeCheckoutSession.js.map +1 -1
  173. package/dist/src/models/StripePaymentIntent.d.ts +2 -2
  174. package/dist/src/models/StripePaymentIntent.d.ts.map +1 -1
  175. package/dist/src/models/StripePaymentIntent.js +2 -1
  176. package/dist/src/models/StripePaymentIntent.js.map +1 -1
  177. package/dist/src/models/Ticket.d.ts +3 -2
  178. package/dist/src/models/Ticket.d.ts.map +1 -1
  179. package/dist/src/models/Ticket.js +2 -1
  180. package/dist/src/models/Ticket.js.map +1 -1
  181. package/dist/src/models/Token.d.ts +3 -2
  182. package/dist/src/models/Token.d.ts.map +1 -1
  183. package/dist/src/models/Token.js +2 -1
  184. package/dist/src/models/Token.js.map +1 -1
  185. package/dist/src/models/UsedRegisterCode.d.ts +2 -2
  186. package/dist/src/models/UsedRegisterCode.d.ts.map +1 -1
  187. package/dist/src/models/UsedRegisterCode.js +2 -1
  188. package/dist/src/models/UsedRegisterCode.js.map +1 -1
  189. package/dist/src/models/User.d.ts +7 -2
  190. package/dist/src/models/User.d.ts.map +1 -1
  191. package/dist/src/models/User.js +27 -4
  192. package/dist/src/models/User.js.map +1 -1
  193. package/dist/src/models/UserPermissions.d.ts +3 -2
  194. package/dist/src/models/UserPermissions.d.ts.map +1 -1
  195. package/dist/src/models/UserPermissions.js +2 -1
  196. package/dist/src/models/UserPermissions.js.map +1 -1
  197. package/dist/src/models/Webshop.d.ts +3 -2
  198. package/dist/src/models/Webshop.d.ts.map +1 -1
  199. package/dist/src/models/Webshop.js +2 -1
  200. package/dist/src/models/Webshop.js.map +1 -1
  201. package/dist/src/models/WebshopDiscountCode.d.ts +2 -2
  202. package/dist/src/models/WebshopDiscountCode.d.ts.map +1 -1
  203. package/dist/src/models/WebshopDiscountCode.js +2 -1
  204. package/dist/src/models/WebshopDiscountCode.js.map +1 -1
  205. package/dist/src/models/addresses/City.d.ts +3 -2
  206. package/dist/src/models/addresses/City.d.ts.map +1 -1
  207. package/dist/src/models/addresses/City.js +2 -1
  208. package/dist/src/models/addresses/City.js.map +1 -1
  209. package/dist/src/models/addresses/PostalCode.d.ts +3 -2
  210. package/dist/src/models/addresses/PostalCode.d.ts.map +1 -1
  211. package/dist/src/models/addresses/PostalCode.js +2 -1
  212. package/dist/src/models/addresses/PostalCode.js.map +1 -1
  213. package/dist/src/models/addresses/Province.d.ts +2 -2
  214. package/dist/src/models/addresses/Province.d.ts.map +1 -1
  215. package/dist/src/models/addresses/Province.js +2 -1
  216. package/dist/src/models/addresses/Province.js.map +1 -1
  217. package/dist/src/models/addresses/Street.d.ts +3 -2
  218. package/dist/src/models/addresses/Street.d.ts.map +1 -1
  219. package/dist/src/models/addresses/Street.js +2 -1
  220. package/dist/src/models/addresses/Street.js.map +1 -1
  221. package/dist/src/models/index.d.ts +1 -0
  222. package/dist/src/models/index.d.ts.map +1 -1
  223. package/dist/src/models/index.js +1 -0
  224. package/dist/src/models/index.js.map +1 -1
  225. package/dist/tsconfig.tsbuildinfo +1 -1
  226. package/package.json +2 -2
  227. package/src/helpers/EmailBuilder.ts +82 -27
  228. package/src/helpers/MemberMerger.ts +2 -3
  229. package/src/migrations/1605262045-import-postcodes.ts +6 -9
  230. package/src/migrations/1734429094-registration-trial-until.sql +3 -0
  231. package/src/migrations/1734429095-membership-trial-until.sql +2 -0
  232. package/src/migrations/1734535120-registration-period-previous-period-id.sql +3 -0
  233. package/src/migrations/1734535121-platform-previous-period-id.sql +3 -0
  234. package/src/migrations/1734626607-cached-balance-amount-open.sql +2 -0
  235. package/src/migrations/1734698906-cached-balance-amount-paid.sql +2 -0
  236. package/src/migrations/1735573520-emails-email-type.sql +2 -0
  237. package/src/migrations/1735573521-email-recipients-email-type.sql +4 -0
  238. package/src/migrations/1735573522-emails-indexes.sql +3 -0
  239. package/src/migrations/1735982691-cached-balance-email-reminder-counts.sql +4 -0
  240. package/src/migrations/1735994471-default-email-templates.sql +5 -0
  241. package/src/models/AuditLog.ts +3 -21
  242. package/src/models/BalanceItem.ts +30 -46
  243. package/src/models/BalanceItemPayment.ts +3 -2
  244. package/src/models/BuckarooPayment.ts +3 -2
  245. package/src/models/CachedBalance.ts +166 -46
  246. package/src/models/Document.ts +4 -3
  247. package/src/models/DocumentTemplate.ts +43 -12
  248. package/src/models/Email.ts +80 -32
  249. package/src/models/EmailRecipient.ts +20 -20
  250. package/src/models/EmailTemplate.ts +3 -21
  251. package/src/models/EmailVerificationCode.ts +3 -2
  252. package/src/models/Event.ts +3 -2
  253. package/src/models/Group.ts +4 -23
  254. package/src/models/Image.ts +3 -2
  255. package/src/models/Member.ts +6 -52
  256. package/src/models/MemberPlatformMembership.ts +95 -26
  257. package/src/models/MemberResponsibilityRecord.ts +3 -21
  258. package/src/models/MemberUser.ts +18 -0
  259. package/src/models/MergedMember.ts +4 -3
  260. package/src/models/MolliePayment.ts +3 -2
  261. package/src/models/MollieToken.ts +3 -2
  262. package/src/models/OneTimeToken.ts +3 -2
  263. package/src/models/Order.ts +3 -2
  264. package/src/models/Organization.ts +3 -2
  265. package/src/models/OrganizationRegistrationPeriod.ts +3 -2
  266. package/src/models/PasswordToken.ts +3 -2
  267. package/src/models/PayconiqPayment.ts +3 -2
  268. package/src/models/Payment.ts +3 -21
  269. package/src/models/Platform.ts +13 -4
  270. package/src/models/RegisterCode.ts +3 -2
  271. package/src/models/Registration.ts +24 -68
  272. package/src/models/RegistrationPeriod.ts +30 -3
  273. package/src/models/STCredit.ts +3 -2
  274. package/src/models/STInvoice.ts +3 -2
  275. package/src/models/STPackage.ts +3 -2
  276. package/src/models/STPendingInvoice.ts +3 -2
  277. package/src/models/StripeAccount.ts +3 -2
  278. package/src/models/StripeCheckoutSession.ts +3 -2
  279. package/src/models/StripePaymentIntent.ts +3 -2
  280. package/src/models/Ticket.ts +3 -2
  281. package/src/models/Token.ts +3 -2
  282. package/src/models/UsedRegisterCode.ts +3 -2
  283. package/src/models/User.ts +31 -3
  284. package/src/models/UserPermissions.ts +3 -2
  285. package/src/models/Webshop.ts +3 -2
  286. package/src/models/WebshopDiscountCode.ts +3 -2
  287. package/src/models/addresses/City.ts +3 -2
  288. package/src/models/addresses/PostalCode.ts +3 -2
  289. package/src/models/addresses/Province.ts +3 -2
  290. package/src/models/addresses/Street.ts +3 -2
  291. package/src/models/index.ts +1 -0
@@ -7,10 +7,11 @@ const sql_1 = require("@stamhoofd/sql");
7
7
  const structures_1 = require("@stamhoofd/structures");
8
8
  const uuid_1 = require("uuid");
9
9
  const BalanceItem_1 = require("./BalanceItem");
10
+ const MemberUser_1 = require("./MemberUser");
10
11
  /**
11
12
  * Keeps track of how much a member/user owes or needs to be reimbursed.
12
13
  */
13
- class CachedBalance extends simple_database_1.Model {
14
+ class CachedBalance extends sql_1.QueryableModel {
14
15
  static table = 'cached_outstanding_balances';
15
16
  id;
16
17
  organizationId;
@@ -22,7 +23,8 @@ class CachedBalance extends simple_database_1.Model {
22
23
  * user: all balance items with that user id, but without a member id
23
24
  */
24
25
  objectType;
25
- amount = 0;
26
+ amountPaid = 0;
27
+ amountOpen = 0;
26
28
  /**
27
29
  * The sum of unconfirmed payments
28
30
  */
@@ -31,9 +33,15 @@ class CachedBalance extends simple_database_1.Model {
31
33
  * This is the minimum `dueAt` that lies in the future of all **unpaid** balance items connected to this object.
32
34
  */
33
35
  nextDueAt = null;
36
+ lastReminderEmail = null;
37
+ lastReminderAmountOpen = 0;
38
+ reminderEmailCount = 0;
34
39
  createdAt;
35
40
  updatedAt;
36
41
  static async getForObjects(objectIds, limitOrganizationId) {
42
+ if (objectIds.length === 0) {
43
+ return [];
44
+ }
37
45
  const query = this.select()
38
46
  .where('objectId', objectIds);
39
47
  if (limitOrganizationId) {
@@ -42,6 +50,9 @@ class CachedBalance extends simple_database_1.Model {
42
50
  return await query.fetch();
43
51
  }
44
52
  static async updateForObjects(organizationId, objectIds, objectType) {
53
+ if (objectIds.length === 0) {
54
+ return;
55
+ }
45
56
  switch (objectType) {
46
57
  case structures_1.ReceivableBalanceType.organization:
47
58
  await this.updateForOrganizations(organizationId, objectIds);
@@ -52,16 +63,24 @@ class CachedBalance extends simple_database_1.Model {
52
63
  case structures_1.ReceivableBalanceType.user:
53
64
  await this.updateForUsers(organizationId, objectIds);
54
65
  break;
66
+ case structures_1.ReceivableBalanceType.registration:
67
+ await this.updateForRegistrations(organizationId, objectIds);
68
+ break;
55
69
  }
56
70
  }
57
- static async balanceForObjects(organizationId, objectIds, objectType) {
71
+ static async balanceForObjects(organizationId, objectIds, objectType, includeUserMembers = false) {
72
+ if (objectIds.length === 0) {
73
+ return [];
74
+ }
58
75
  switch (objectType) {
59
76
  case structures_1.ReceivableBalanceType.organization:
60
77
  return await this.balanceForOrganizations(organizationId, objectIds);
61
78
  case structures_1.ReceivableBalanceType.member:
62
79
  return await this.balanceForMembers(organizationId, objectIds);
63
80
  case structures_1.ReceivableBalanceType.user:
64
- return await this.balanceForUsers(organizationId, objectIds);
81
+ return await this.balanceForUsers(organizationId, objectIds, includeUserMembers);
82
+ case structures_1.ReceivableBalanceType.registration:
83
+ return await this.balanceForRegistrations(organizationId, objectIds);
65
84
  }
66
85
  }
67
86
  static async fetchBalanceItems(organizationId, objectIds, columnName, customWhere) {
@@ -76,9 +95,12 @@ class CachedBalance extends simple_database_1.Model {
76
95
  }
77
96
  return await query.fetch();
78
97
  }
98
+ static whereNeedsUpdate() {
99
+ return sql_1.SQL.where('nextDueAt', sql_1.SQLWhereSign.LessEqual, structures_1.BalanceItem.getDueOffset());
100
+ }
79
101
  static async fetchForObjects(organizationId, objectIds, columnName, customWhere) {
80
102
  const dueOffset = structures_1.BalanceItem.getDueOffset();
81
- const query = sql_1.SQL.select(sql_1.SQL.column(columnName), new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('priceOpen')), new sql_1.SQLAlias('data__amount')), new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('pricePending')), new sql_1.SQLAlias('data__amountPending')))
103
+ const query = sql_1.SQL.select(sql_1.SQL.column(columnName), new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('pricePaid')), new sql_1.SQLAlias('data__amountPaid')), new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('priceOpen')), new sql_1.SQLAlias('data__amountOpen')), new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('pricePending')), new sql_1.SQLAlias('data__amountPending')))
82
104
  .from(BalanceItem_1.BalanceItem.table)
83
105
  .where('organizationId', organizationId)
84
106
  .where(columnName, objectIds)
@@ -92,7 +114,7 @@ class CachedBalance extends simple_database_1.Model {
92
114
  // Calculate future due
93
115
  const dueQuery = sql_1.SQL.select(sql_1.SQL.column(columnName), new sql_1.SQLSelectAs(new sql_1.SQLMin(sql_1.SQL.column('dueAt')), new sql_1.SQLAlias('data__dueAt')),
94
116
  // If the current amount_due is negative, we can ignore that negative part if there is a future due item
95
- new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('priceOpen')), new sql_1.SQLAlias('data__amount')), new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('pricePending')), new sql_1.SQLAlias('data__amountPending')))
117
+ new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('pricePaid')), new sql_1.SQLAlias('data__amountPaid')), new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('priceOpen')), new sql_1.SQLAlias('data__amountOpen')), new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('pricePending')), new sql_1.SQLAlias('data__amountPending')))
96
118
  .from(BalanceItem_1.BalanceItem.table)
97
119
  .where('organizationId', organizationId)
98
120
  .where(columnName, objectIds)
@@ -110,18 +132,22 @@ class CachedBalance extends simple_database_1.Model {
110
132
  throw new Error('Invalid ' + BalanceItem_1.BalanceItem.table + ' namespace');
111
133
  }
112
134
  const objectId = row[BalanceItem_1.BalanceItem.table][columnName];
113
- const amount = row['data']['amount'];
135
+ const amountOpen = row['data']['amountOpen'];
114
136
  const amountPending = row['data']['amountPending'];
137
+ const amountPaid = row['data']['amountPaid'];
115
138
  if (typeof objectId !== 'string') {
116
139
  throw new Error('Invalid objectId');
117
140
  }
118
- if (typeof amount !== 'number') {
119
- throw new Error('Invalid amount');
141
+ if (typeof amountOpen !== 'number') {
142
+ throw new Error('Invalid amountOpen');
120
143
  }
121
144
  if (typeof amountPending !== 'number') {
122
145
  throw new Error('Invalid amountPending');
123
146
  }
124
- results.push([objectId, { amount, amountPending, nextDueAt: null }]);
147
+ if (typeof amountPaid !== 'number') {
148
+ throw new Error('Invalid amountPaid');
149
+ }
150
+ results.push([objectId, { amountPaid, amountOpen, amountPending, nextDueAt: null }]);
125
151
  }
126
152
  for (const row of dueResult) {
127
153
  if (!row['data']) {
@@ -132,39 +158,44 @@ class CachedBalance extends simple_database_1.Model {
132
158
  }
133
159
  const objectId = row[BalanceItem_1.BalanceItem.table][columnName];
134
160
  const dueAt = row['data']['dueAt'];
135
- const amount = row['data']['amount'];
161
+ const amountOpen = row['data']['amountOpen'];
136
162
  const amountPending = row['data']['amountPending'];
163
+ const amountPaid = row['data']['amountPaid'];
137
164
  if (typeof objectId !== 'string') {
138
165
  throw new Error('Invalid objectId');
139
166
  }
140
167
  if (!(dueAt instanceof Date)) {
141
168
  throw new Error('Invalid dueAt');
142
169
  }
143
- if (typeof amount !== 'number') {
144
- throw new Error('Invalid amount');
170
+ if (typeof amountOpen !== 'number') {
171
+ throw new Error('Invalid amountOpen');
145
172
  }
146
173
  if (typeof amountPending !== 'number') {
147
174
  throw new Error('Invalid amountPending');
148
175
  }
176
+ if (typeof amountPaid !== 'number') {
177
+ throw new Error('Invalid amountPaid');
178
+ }
149
179
  const result = results.find(r => r[0] === objectId);
150
180
  if (result) {
151
181
  result[1].nextDueAt = dueAt;
152
- if (result[1].amount < 0) {
153
- if (amount > 0) {
182
+ if (result[1].amountOpen < 0) {
183
+ if (amountOpen > 0) {
154
184
  // Let the future due amount fill in the gap until maximum 0
155
- result[1].amount = Math.min(0, result[1].amount + amount);
185
+ result[1].amountOpen = Math.min(0, result[1].amountOpen + amountOpen);
156
186
  }
157
187
  }
158
188
  result[1].amountPending += amountPending;
189
+ result[1].amountPaid += amountPaid;
159
190
  }
160
191
  else {
161
- results.push([objectId, { amount: 0, amountPending: amountPending, nextDueAt: dueAt }]);
192
+ results.push([objectId, { amountPaid, amountOpen: 0, amountPending, nextDueAt: dueAt }]);
162
193
  }
163
194
  }
164
195
  // Add missing object ids (with 0 amount, otherwise we don't reset the amounts back to zero when all the balance items are hidden)
165
196
  for (const objectId of objectIds) {
166
197
  if (!results.find(([id]) => id === objectId)) {
167
- results.push([objectId, { amount: 0, amountPending: 0, nextDueAt: null }]);
198
+ results.push([objectId, { amountPaid: 0, amountOpen: 0, amountPending: 0, nextDueAt: null }]);
168
199
  }
169
200
  }
170
201
  return results;
@@ -173,23 +204,33 @@ class CachedBalance extends simple_database_1.Model {
173
204
  if (result.length === 0) {
174
205
  return;
175
206
  }
176
- const query = sql_1.SQL.insert(this.table)
177
- .columns('id', 'organizationId', 'objectId', 'objectType', 'amount', 'amountPending', 'nextDueAt', 'createdAt', 'updatedAt')
178
- .values(...result.map(([objectId, { amount, amountPending, nextDueAt }]) => {
207
+ const query = this.insert()
208
+ .columns('id', 'organizationId', 'objectId', 'objectType', 'amountPaid', 'amountOpen', 'amountPending', 'nextDueAt', 'createdAt', 'updatedAt', 'reminderEmailCount')
209
+ .values(...result.map(([objectId, { amountPaid, amountOpen, amountPending, nextDueAt }]) => {
179
210
  return [
180
211
  (0, uuid_1.v4)(),
181
212
  organizationId,
182
213
  objectId,
183
214
  objectType,
184
- amount,
215
+ amountPaid,
216
+ amountOpen,
185
217
  amountPending,
186
218
  nextDueAt,
187
219
  new Date(),
188
220
  new Date(),
221
+ 0,
189
222
  ];
190
223
  }))
191
224
  .as('v')
192
- .onDuplicateKeyUpdate(sql_1.SQL.assignment('amount', sql_1.SQL.column('v', 'amount')), sql_1.SQL.assignment('amountPending', sql_1.SQL.column('v', 'amountPending')), sql_1.SQL.assignment('nextDueAt', sql_1.SQL.column('v', 'nextDueAt')), sql_1.SQL.assignment('updatedAt', sql_1.SQL.column('v', 'updatedAt')));
225
+ .onDuplicateKeyUpdate(sql_1.SQL.assignment('amountPaid', sql_1.SQL.column('v', 'amountPaid')), sql_1.SQL.assignment('amountOpen', sql_1.SQL.column('v', 'amountOpen')), sql_1.SQL.assignment('amountPending', sql_1.SQL.column('v', 'amountPending')), sql_1.SQL.assignment('nextDueAt', sql_1.SQL.column('v', 'nextDueAt')), sql_1.SQL.assignment('updatedAt', sql_1.SQL.column('v', 'updatedAt')),
226
+ // Reset email count if amountOpen is zero
227
+ sql_1.SQL.assignment('reminderEmailCount', sql_1.SQL.if(sql_1.SQL.column('v', 'amountOpen'), 0)
228
+ .then(0)
229
+ .else(sql_1.SQL.column('reminderEmailCount'))),
230
+ // Reset lastReminderEmail if amountOpen is zero
231
+ sql_1.SQL.assignment('lastReminderEmail', sql_1.SQL.if(sql_1.SQL.column('v', 'amountOpen'), 0)
232
+ .then(null)
233
+ .else(sql_1.SQL.column('lastReminderEmail'))));
193
234
  await query.insert();
194
235
  }
195
236
  static async updateForOrganizations(organizationId, organizationIds) {
@@ -206,11 +247,42 @@ class CachedBalance extends simple_database_1.Model {
206
247
  const results = await this.fetchForObjects(organizationId, memberIds, 'memberId');
207
248
  await this.setForResults(organizationId, results, structures_1.ReceivableBalanceType.member);
208
249
  }
250
+ static async updateForRegistrations(organizationId, registrationIds) {
251
+ if (registrationIds.length === 0) {
252
+ return;
253
+ }
254
+ const results = await this.fetchForObjects(organizationId, registrationIds, 'registrationId');
255
+ await this.setForResults(organizationId, results, structures_1.ReceivableBalanceType.registration);
256
+ }
209
257
  static async updateForUsers(organizationId, userIds) {
210
258
  if (userIds.length === 0) {
211
259
  return;
212
260
  }
213
261
  const results = await this.fetchForObjects(organizationId, userIds, 'userId', sql_1.SQL.where('memberId', null));
262
+ // We also need to include the balance of the related members for each user
263
+ // Fetch members of these users
264
+ const memberUsers = await MemberUser_1.MemberUser.select().where('usersId', userIds).fetch();
265
+ const memberCachedBalances = await this.getForObjects(memberUsers.map(mu => mu.membersId), organizationId);
266
+ for (const memberCachedBalance of memberCachedBalances) {
267
+ const userIds = memberUsers.filter(mu => mu.membersId === memberCachedBalance.objectId).map(mu => mu.usersId);
268
+ for (const userId of userIds) {
269
+ // if already in results: append
270
+ const result = results.find(([objectId]) => objectId === userId);
271
+ if (result) {
272
+ result[1].amountPaid += memberCachedBalance.amountPaid;
273
+ result[1].amountOpen += memberCachedBalance.amountOpen;
274
+ result[1].amountPending += memberCachedBalance.amountPending;
275
+ if (memberCachedBalance.nextDueAt && (!result[1].nextDueAt || memberCachedBalance.nextDueAt > result[1].nextDueAt)) {
276
+ result[1].nextDueAt = memberCachedBalance.nextDueAt;
277
+ }
278
+ }
279
+ else {
280
+ // Not possible
281
+ throw new Error('User not found in results');
282
+ }
283
+ }
284
+ }
285
+ // Fetch cached balance of these members and merge the results
214
286
  await this.setForResults(organizationId, results, structures_1.ReceivableBalanceType.user);
215
287
  }
216
288
  static async balanceForOrganizations(organizationId, organizationIds) {
@@ -225,25 +297,24 @@ class CachedBalance extends simple_database_1.Model {
225
297
  }
226
298
  return await this.fetchBalanceItems(organizationId, memberIds, 'memberId');
227
299
  }
228
- static async balanceForUsers(organizationId, userIds) {
300
+ static async balanceForUsers(organizationId, userIds, includeUserMembers = false) {
229
301
  if (userIds.length === 0) {
230
302
  return [];
231
303
  }
232
- return await this.fetchBalanceItems(organizationId, userIds, 'userId', sql_1.SQL.where('memberId', null));
304
+ const base = await this.fetchBalanceItems(organizationId, userIds, 'userId', sql_1.SQL.where('memberId', null));
305
+ if (!includeUserMembers) {
306
+ return base;
307
+ }
308
+ const memberUsers = await MemberUser_1.MemberUser.select().where('usersId', userIds).fetch();
309
+ const memberIds = memberUsers.map(mu => mu.membersId);
310
+ const memberCachedBalances = await this.balanceForMembers(organizationId, memberIds);
311
+ return base.concat(memberCachedBalances);
233
312
  }
234
- /**
235
- * Experimental: needs to move to library
236
- */
237
- static select() {
238
- const transformer = (row) => {
239
- const d = this.fromRow(row[this.table]);
240
- if (!d) {
241
- throw new Error('EmailTemplate not found');
242
- }
243
- return d;
244
- };
245
- const select = new sql_1.SQLSelect(transformer, sql_1.SQL.wildcard());
246
- return select.from(sql_1.SQL.table(this.table));
313
+ static async balanceForRegistrations(organizationId, registrationIds) {
314
+ if (registrationIds.length === 0) {
315
+ return [];
316
+ }
317
+ return await this.fetchBalanceItems(organizationId, registrationIds, 'registrationId');
247
318
  }
248
319
  }
249
320
  exports.CachedBalance = CachedBalance;
@@ -265,13 +336,25 @@ tslib_1.__decorate([
265
336
  ], CachedBalance.prototype, "objectType", void 0);
266
337
  tslib_1.__decorate([
267
338
  (0, simple_database_1.column)({ type: 'integer' })
268
- ], CachedBalance.prototype, "amount", void 0);
339
+ ], CachedBalance.prototype, "amountPaid", void 0);
340
+ tslib_1.__decorate([
341
+ (0, simple_database_1.column)({ type: 'integer' })
342
+ ], CachedBalance.prototype, "amountOpen", void 0);
269
343
  tslib_1.__decorate([
270
344
  (0, simple_database_1.column)({ type: 'integer' })
271
345
  ], CachedBalance.prototype, "amountPending", void 0);
272
346
  tslib_1.__decorate([
273
347
  (0, simple_database_1.column)({ type: 'datetime', nullable: true })
274
348
  ], CachedBalance.prototype, "nextDueAt", void 0);
349
+ tslib_1.__decorate([
350
+ (0, simple_database_1.column)({ type: 'datetime', nullable: true })
351
+ ], CachedBalance.prototype, "lastReminderEmail", void 0);
352
+ tslib_1.__decorate([
353
+ (0, simple_database_1.column)({ type: 'integer' })
354
+ ], CachedBalance.prototype, "lastReminderAmountOpen", void 0);
355
+ tslib_1.__decorate([
356
+ (0, simple_database_1.column)({ type: 'integer' })
357
+ ], CachedBalance.prototype, "reminderEmailCount", void 0);
275
358
  tslib_1.__decorate([
276
359
  (0, simple_database_1.column)({
277
360
  type: 'datetime', beforeSave(old) {
@@ -1 +1 @@
1
- {"version":3,"file":"CachedBalance.js","sourceRoot":"","sources":["../../../src/models/CachedBalance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CachedBalance.js","sourceRoot":"","sources":["../../../src/models/CachedBalance.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { Model } from '@simonbackx/simple-database';
2
- import { Document as DocumentStruct, DocumentData, DocumentStatus } from '@stamhoofd/structures';
1
+ import { DocumentData, DocumentStatus, Document as DocumentStruct } from '@stamhoofd/structures';
2
+ import { QueryableModel } from '@stamhoofd/sql';
3
3
  import { RegistrationWithMember } from './Member';
4
4
  import { Organization } from './Organization';
5
5
  import { Registration } from './Registration';
6
- export declare class Document extends Model {
6
+ export declare class Document extends QueryableModel {
7
7
  static table: string;
8
8
  id: string;
9
9
  organizationId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../../../src/models/Document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,YAAY,EAAE,cAAc,EAAqB,MAAM,uBAAuB,CAAC;AAKpH,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBAAa,QAAS,SAAQ,KAAK;IAC/B,MAAM,CAAC,KAAK,SAAe;IAK3B,EAAE,EAAG,MAAM,CAAC;IAGZ,cAAc,EAAE,MAAM,CAAC;IAGvB,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IAEH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B;;OAEG;IAEH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGrC,MAAM,iBAAwB;IAE9B;;OAEG;IAEH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE7B;;OAEG;IAEH,IAAI,eAA2B;IAG/B,SAAS,EAAE,IAAI,CAAc;IAU7B,SAAS,EAAE,IAAI,CAAC;IAEhB,YAAY;IAIZ,YAAY,CAAC,YAAY,EAAE,YAAY;IA6CjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;WA2BpB,eAAe,CAAC,QAAQ,EAAE,MAAM;WAiBhC,qBAAqB,CAAC,YAAY,EAAE,sBAAsB;WAgB1D,sBAAsB,CAAC,aAAa,EAAE,YAAY,EAAE;WAapD,sBAAsB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM;WAwBxE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAsB7D,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAW3D,0BAA0B;CAW3C"}
1
+ {"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../../../src/models/Document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,IAAI,cAAc,EAAqB,MAAM,uBAAuB,CAAC;AAIpH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBAAa,QAAS,SAAQ,cAAc;IACxC,MAAM,CAAC,KAAK,SAAe;IAK3B,EAAE,EAAG,MAAM,CAAC;IAGZ,cAAc,EAAE,MAAM,CAAC;IAGvB,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IAEH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B;;OAEG;IAEH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGrC,MAAM,iBAAwB;IAE9B;;OAEG;IAEH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE7B;;OAEG;IAEH,IAAI,eAA2B;IAG/B,SAAS,EAAE,IAAI,CAAc;IAU7B,SAAS,EAAE,IAAI,CAAC;IAEhB,YAAY;IAIZ,YAAY,CAAC,YAAY,EAAE,YAAY;IA6CjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;WA2BpB,eAAe,CAAC,QAAQ,EAAE,MAAM;WAiBhC,qBAAqB,CAAC,YAAY,EAAE,sBAAsB;WAgB1D,sBAAsB,CAAC,aAAa,EAAE,YAAY,EAAE;WAapD,sBAAsB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM;WAwBxE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAsB7D,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAW3D,0BAA0B;CAW3C"}
@@ -6,8 +6,9 @@ const simple_database_1 = require("@simonbackx/simple-database");
6
6
  const structures_1 = require("@stamhoofd/structures");
7
7
  const utility_1 = require("@stamhoofd/utility");
8
8
  const uuid_1 = require("uuid");
9
+ const sql_1 = require("@stamhoofd/sql");
9
10
  const Handlebars_1 = require("../helpers/Handlebars");
10
- class Document extends simple_database_1.Model {
11
+ class Document extends sql_1.QueryableModel {
11
12
  static table = 'documents';
12
13
  id;
13
14
  organizationId;
@@ -1 +1 @@
1
- {"version":3,"file":"Document.js","sourceRoot":"","sources":["../../../src/models/Document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Document.js","sourceRoot":"","sources":["../../../src/models/Document.ts"],"names":[],"mappings":";;;;AAAA,iEAAqD;AACrD,sDAAoH;AACpH,gDAA+C;AAC/C,+BAAoC;AAEpC,wCAAgD;AAChD,sDAA+C;AAK/C,MAAa,QAAS,SAAQ,oBAAc;IACxC,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;IAK3B,EAAE,CAAU;IAGZ,cAAc,CAAS;IAGvB,UAAU,CAAS;IAEnB;;OAEG;IAEH,QAAQ,GAAkB,IAAI,CAAC;IAE/B;;OAEG;IAEH,cAAc,GAAkB,IAAI,CAAC;IAGrC,MAAM,GAAG,2BAAc,CAAC,KAAK,CAAC;IAE9B;;OAEG;IAEH,MAAM,GAAkB,IAAI,CAAC;IAE7B;;OAEG;IAEH,IAAI,GAAG,yBAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAG/B,SAAS,GAAS,IAAI,IAAI,EAAE,CAAC;IAU7B,SAAS,CAAO;IAEhB,YAAY;QACR,OAAO,qBAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,CAAC,YAA0B;QACnC,8DAA8D;QAC9D,MAAM,IAAI,GAAwB;YAC9B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,SAAS;SAC7B,CAAC;QACF,MAAM,YAAY,GAAG,qBAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,IAAI,qBAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,IAAI,qBAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;QACxI,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,cAAc,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;QAE1F,IAAI,gBAAgB,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,CAAC,GAAG;gBACnB,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,oBAAO,EAAE,CAAC,IAAI,IAAI;aAC9D,CAAC;QACN,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,GAAG;gBACf,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,oBAAO,EAAE,CAAC,IAAI,IAAI;aAC1D,CAAC;QACN,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAG,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACxC,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBACtB,CAAC;gBACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBAEvB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBAC1C,CAAC;YACL,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YACnD,OAAO;QACX,CAAC;QACD,MAAM,gBAAgB,GAAG,CAAC,gEAAa,oBAAoB,GAAC,CAAC,CAAC,gBAAgB,CAAC;QAC/E,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YAC5C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,OAAO;QACX,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,gEAAa,UAAU,GAAC,CAAC,CAAC,MAAM,CAAC;QACjD,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAChD,OAAO;QACX,CAAC;QAED,MAAM,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,QAAgB;QACzC,IAAI,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,CAAC,gEAAa,UAAU,GAAC,CAAC,CAAC,MAAM,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,eAAe,GAAG,mBAAS,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC/F,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;oBAC3C,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;gBAC3F,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,YAAoC;QACnE,IAAI,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YAEpE,MAAM,gBAAgB,GAAG,CAAC,gEAAa,oBAAoB,GAAC,CAAC,CAAC,gBAAgB,CAAC;YAC/E,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;YAEnH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAC/B,MAAM,QAAQ,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,aAA6B;QAC7D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAExH,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC3E,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,eAAyB,EAAE,cAAsB;QACjF,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO;QACX,CAAC;QACD,IAAI,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,+CAA+C,EAAE,eAAe,CAAC,CAAC;YAE9E,MAAM,gBAAgB,GAAG,CAAC,gEAAa,oBAAoB,GAAC,CAAC,CAAC,gBAAgB,CAAC;YAC/E,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;YAEtF,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,CAAC,gEAAa,UAAU,GAAC,CAAC,CAAC,MAAM,CAAC;gBACjD,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,eAAe,CAAC,CAAC;gBAEpF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBAC/B,MAAM,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;gBACzD,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,cAAsB;QAC/D,IAAI,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;YAErD,MAAM,gBAAgB,GAAG,CAAC,gEAAa,oBAAoB,GAAC,CAAC,CAAC,gBAAgB,CAAC;YAC/E,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;YAEtF,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,CAAC,gEAAa,UAAU,GAAC,CAAC,CAAC,MAAM,CAAC;gBACjD,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,OAAO,CAAC,CAAC;gBAE/E,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBAC/B,MAAM,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;gBACzD,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IAED,6BAA6B;IAC7B,KAAK,CAAC,eAAe,CAAC,YAA0B;QAC5C,MAAM,gBAAgB,GAAG,CAAC,gEAAa,oBAAoB,GAAC,CAAC,CAAC,gBAAgB,CAAC;QAC/E,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,6BAA6B;IACrB,KAAK,CAAC,0BAA0B,CAAC,YAA0B,EAAE,YAAoB;QACrF,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAM,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACzD,OAAO,YAAY,CAAC;QACxB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;;AAnPL,4BAoPC;AA9OG;IAHC,IAAA,wBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YACrD,OAAO,KAAK,IAAI,IAAA,SAAM,GAAE,CAAC;QAC7B,CAAC,EAAE,CAAC;oCACQ;AAGZ;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gDACJ;AAGvB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;4CACR;AAMnB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0CACZ;AAM/B;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gDACN;AAGrC;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;wCACG;AAM9B;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;wCACf;AAM7B;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAY,EAAE,CAAC;sCACjB;AAG/B;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;2CACA;AAU7B;IARC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,UAAU,EAAE,UAAU;YACxB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,UAAU,EAAE,IAAI;KACnB,CAAC;2CACc"}
@@ -1,10 +1,10 @@
1
- import { Model } from '@simonbackx/simple-database';
2
1
  import { DocumentPrivateSettings, DocumentSettings, DocumentStatus, DocumentTemplatePrivate, RecordAnswer } from '@stamhoofd/structures';
2
+ import { QueryableModel } from '@stamhoofd/sql';
3
3
  import { Document } from './Document';
4
4
  import { RegistrationWithMember } from './Member';
5
5
  import { Organization } from './Organization';
6
6
  import { Registration } from './Registration';
7
- export declare class DocumentTemplate extends Model {
7
+ export declare class DocumentTemplate extends QueryableModel {
8
8
  static table: string;
9
9
  id: string;
10
10
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentTemplate.d.ts","sourceRoot":"","sources":["../../../src/models/DocumentTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,EAAmC,uBAAuB,EAAE,gBAAgB,EAAE,cAAc,EAAE,uBAAuB,EAAwE,YAAY,EAA0G,MAAM,uBAAuB,CAAC;AAMxV,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAU,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBAAa,gBAAiB,SAAQ,KAAK;IACvC,MAAM,CAAC,KAAK,SAAwB;IAKpC,EAAE,EAAG,MAAM,CAAC;IAEZ;;OAEG;IAEH,IAAI,EAAE,MAAM,CAAC;IAGb,cAAc,EAAE,MAAM,CAAC;IAGvB,MAAM,iBAAwB;IAG9B,cAAc,UAAQ;IAEtB;;OAEG;IAEH,QAAQ,EAAE,gBAAgB,CAAC;IAE3B;;OAEG;IAEH,eAAe,EAAE,uBAAuB,CAAC;IAGzC,SAAS,EAAE,IAAI,CAAc;IAU7B,SAAS,EAAE,IAAI,CAAC;IAEhB,mBAAmB;IAInB;;OAEG;IACG,YAAY,CAAC,YAAY,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IA4S9H,sBAAsB,CAAC,aAAa,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAapF,qBAAqB,CAAC,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAmDtH,yBAAyB,CAAC,YAAY,EAAE,YAAY;IAqBpD,oBAAoB,CAAC,YAAY,EAAE,sBAAsB,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IA4C5F,QAAQ,CAAC,EAAE,eAAuB,EAAE;;KAAK;YAgFjC,YAAY;IA8CpB,cAAc,CAAC,YAAY,EAAE,YAAY;IAmB/C,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IAmB/C,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IAiCrF,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,sBAAsB;CAInF"}
1
+ {"version":3,"file":"DocumentTemplate.d.ts","sourceRoot":"","sources":["../../../src/models/DocumentTemplate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmC,uBAAuB,EAAE,gBAAgB,EAAE,cAAc,EAAE,uBAAuB,EAAwE,YAAY,EAA0G,MAAM,uBAAuB,CAAC;AAIxV,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAU,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,qBAAa,gBAAiB,SAAQ,cAAc;IAChD,MAAM,CAAC,KAAK,SAAwB;IAKpC,EAAE,EAAG,MAAM,CAAC;IAEZ;;OAEG;IAEH,IAAI,EAAE,MAAM,CAAC;IAGb,cAAc,EAAE,MAAM,CAAC;IAGvB,MAAM,iBAAwB;IAG9B,cAAc,UAAQ;IAEtB;;OAEG;IAEH,QAAQ,EAAE,gBAAgB,CAAC;IAE3B;;OAEG;IAEH,eAAe,EAAE,uBAAuB,CAAC;IAGzC,SAAS,EAAE,IAAI,CAAc;IAU7B,SAAS,EAAE,IAAI,CAAC;IAEhB,mBAAmB;IAInB;;OAEG;IACG,YAAY,CAAC,YAAY,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IAkU9H,sBAAsB,CAAC,aAAa,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAapF,qBAAqB,CAAC,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAmDtH,yBAAyB,CAAC,YAAY,EAAE,YAAY;IAqBpD,oBAAoB,CAAC,YAAY,EAAE,sBAAsB,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IAoD5F,QAAQ,CAAC,EAAE,eAAuB,EAAE;;KAAK;YAgFjC,YAAY;IA8CpB,cAAc,CAAC,YAAY,EAAE,YAAY;IAmB/C,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IAmB/C,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IAiCrF,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,sBAAsB;CAInF"}
@@ -8,13 +8,14 @@ const queues_1 = require("@stamhoofd/queues");
8
8
  const structures_1 = require("@stamhoofd/structures");
9
9
  const utility_1 = require("@stamhoofd/utility");
10
10
  const uuid_1 = require("uuid");
11
+ const sql_1 = require("@stamhoofd/sql");
11
12
  const Handlebars_1 = require("../helpers/Handlebars");
12
13
  const BalanceItem_1 = require("./BalanceItem");
13
14
  const Document_1 = require("./Document");
14
15
  const Group_1 = require("./Group");
15
16
  const Member_1 = require("./Member");
16
17
  const User_1 = require("./User");
17
- class DocumentTemplate extends simple_database_1.Model {
18
+ class DocumentTemplate extends sql_1.QueryableModel {
18
19
  static table = 'document_templates';
19
20
  id;
20
21
  /**
@@ -44,8 +45,10 @@ class DocumentTemplate extends simple_database_1.Model {
44
45
  const fieldAnswers = new Map();
45
46
  let missingData = false;
46
47
  const group = await Group_1.Group.getByID(registration.groupId);
47
- const { items: balanceItems, payments } = await BalanceItem_1.BalanceItem.getForRegistration(registration.id);
48
+ const { items: balanceItems, payments } = await BalanceItem_1.BalanceItem.getForRegistration(registration.id, this.organizationId);
48
49
  const paidAtDates = payments.flatMap(p => p.paidAt ? [p.paidAt?.getTime()] : []);
50
+ const price = balanceItems.reduce((sum, item) => sum + item.price, 0);
51
+ const pricePaid = balanceItems.reduce((sum, item) => sum + item.pricePaid, 0);
49
52
  // We take the minimum date here, because there is a highter change of later paymetns to be for other things than the registration itself
50
53
  const paidAt = paidAtDates.length ? new Date(Math.min(...paidAtDates)) : null;
51
54
  // Some fields are supported by default in linked fields
@@ -69,7 +72,7 @@ class DocumentTemplate extends simple_database_1.Model {
69
72
  id: 'registration.startDate',
70
73
  type: structures_1.RecordType.Date,
71
74
  }), // settings will be overwritten
72
- dateValue: group?.settings?.startDate,
75
+ dateValue: registration.startDate ?? group?.settings?.startDate,
73
76
  }),
74
77
  'registration.endDate': structures_1.RecordDateAnswer.create({
75
78
  settings: structures_1.RecordSettings.create({
@@ -80,15 +83,33 @@ class DocumentTemplate extends simple_database_1.Model {
80
83
  }),
81
84
  'registration.price': structures_1.RecordPriceAnswer.create({
82
85
  settings: structures_1.RecordSettings.create({
86
+ id: 'registration.price',
83
87
  type: structures_1.RecordType.Price,
84
88
  }), // settings will be overwritten
85
- value: registration.price,
89
+ value: price,
90
+ }),
91
+ // This one is duplicated in case it got disabled (we need to use it to check if document is included)
92
+ 'registration.priceOriginal': structures_1.RecordPriceAnswer.create({
93
+ settings: structures_1.RecordSettings.create({
94
+ id: 'registration.priceOriginal',
95
+ type: structures_1.RecordType.Price,
96
+ }), // settings will be overwritten
97
+ value: price,
98
+ }),
99
+ // This one is duplicated in case it got disabled (we need to use it to check if document is included)
100
+ 'registration.pricePaidOriginal': structures_1.RecordPriceAnswer.create({
101
+ settings: structures_1.RecordSettings.create({
102
+ id: 'registration.pricePaidOriginal',
103
+ type: structures_1.RecordType.Price,
104
+ }), // settings will be overwritten
105
+ value: pricePaid,
86
106
  }),
87
107
  'registration.pricePaid': structures_1.RecordPriceAnswer.create({
88
108
  settings: structures_1.RecordSettings.create({
109
+ id: 'registration.pricePaid',
89
110
  type: structures_1.RecordType.Price,
90
111
  }), // settings will be overwritten
91
- value: registration.pricePaid,
112
+ value: pricePaid,
92
113
  }),
93
114
  'registration.paidAt': structures_1.RecordDateAnswer.create({
94
115
  settings: structures_1.RecordSettings.create({
@@ -406,13 +427,20 @@ class DocumentTemplate extends simple_database_1.Model {
406
427
  console.warn('Missing registration.startDate in fieldAnswers when checking maxAge');
407
428
  }
408
429
  }
409
- if (this.settings.minPrice !== null) {
410
- if ((registration.price ?? 0) < this.settings.minPrice) {
411
- return false;
430
+ if (this.settings.minPrice !== null && this.settings.minPrice > 0) {
431
+ const priceAnswer = fieldAnswers.get('registration.priceOriginal');
432
+ if (priceAnswer && priceAnswer instanceof structures_1.RecordPriceAnswer) {
433
+ if ((priceAnswer.value ?? 0) < this.settings.minPrice) {
434
+ return false;
435
+ }
412
436
  }
413
437
  }
414
- if (this.settings.minPricePaid !== null) {
415
- if ((registration.pricePaid ?? 0) < this.settings.minPricePaid && (registration.price ?? 0) > 0) {
438
+ if (this.settings.minPricePaid !== null && this.settings.minPricePaid > 0) {
439
+ const pricePaidAnswer = fieldAnswers.get('registration.pricePaidOriginal');
440
+ const priceAnswer = fieldAnswers.get('registration.priceOriginal');
441
+ const price = (priceAnswer instanceof structures_1.RecordPriceAnswer ? priceAnswer.value : 0) ?? 0;
442
+ const pricePaid = (pricePaidAnswer instanceof structures_1.RecordPriceAnswer ? pricePaidAnswer.value : 0) ?? 0;
443
+ if (pricePaid < this.settings.minPricePaid && price > 0) {
416
444
  return false;
417
445
  }
418
446
  }