@stamhoofd/models 2.119.0 → 2.120.1

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 (1024) hide show
  1. package/dist/factories/AddressFactory.d.ts.map +1 -0
  2. package/dist/factories/AddressFactory.js +38 -0
  3. package/dist/factories/AddressFactory.js.map +1 -0
  4. package/dist/factories/BalanceItemFactory.d.ts +29 -0
  5. package/dist/factories/BalanceItemFactory.d.ts.map +1 -0
  6. package/dist/factories/BalanceItemFactory.js +56 -0
  7. package/dist/factories/BalanceItemFactory.js.map +1 -0
  8. package/dist/factories/DocumentTemplateFactory.d.ts +22 -0
  9. package/dist/factories/DocumentTemplateFactory.d.ts.map +1 -0
  10. package/dist/factories/DocumentTemplateFactory.js +145 -0
  11. package/dist/factories/DocumentTemplateFactory.js.map +1 -0
  12. package/dist/factories/EmailTemplateFactory.d.ts +18 -0
  13. package/dist/factories/EmailTemplateFactory.d.ts.map +1 -0
  14. package/dist/factories/EmailTemplateFactory.js +39 -0
  15. package/dist/factories/EmailTemplateFactory.js.map +1 -0
  16. package/dist/factories/EmergencyContactFactory.d.ts.map +1 -0
  17. package/dist/factories/EmergencyContactFactory.js +38 -0
  18. package/dist/factories/EmergencyContactFactory.js.map +1 -0
  19. package/dist/factories/EventFactory.d.ts +19 -0
  20. package/dist/factories/EventFactory.d.ts.map +1 -0
  21. package/dist/factories/EventFactory.js +31 -0
  22. package/dist/factories/EventFactory.js.map +1 -0
  23. package/dist/factories/EventNotificationFactory.d.ts +23 -0
  24. package/dist/factories/EventNotificationFactory.d.ts.map +1 -0
  25. package/dist/factories/EventNotificationFactory.js +40 -0
  26. package/dist/factories/EventNotificationFactory.js.map +1 -0
  27. package/dist/factories/EventNotificationTypeFactory.d.ts +12 -0
  28. package/dist/factories/EventNotificationTypeFactory.d.ts.map +1 -0
  29. package/dist/factories/EventNotificationTypeFactory.js +21 -0
  30. package/dist/factories/EventNotificationTypeFactory.js.map +1 -0
  31. package/dist/factories/GroupFactory.d.ts +27 -0
  32. package/dist/factories/GroupFactory.d.ts.map +1 -0
  33. package/dist/factories/GroupFactory.js +88 -0
  34. package/dist/factories/GroupFactory.js.map +1 -0
  35. package/dist/factories/MemberFactory.d.ts +26 -0
  36. package/dist/factories/MemberFactory.d.ts.map +1 -0
  37. package/dist/factories/MemberFactory.js +131 -0
  38. package/dist/factories/MemberFactory.js.map +1 -0
  39. package/dist/factories/MemberResponsibilityRecordFactory.d.ts +15 -0
  40. package/dist/factories/MemberResponsibilityRecordFactory.d.ts.map +1 -0
  41. package/dist/factories/MemberResponsibilityRecordFactory.js +30 -0
  42. package/dist/factories/MemberResponsibilityRecordFactory.js.map +1 -0
  43. package/dist/factories/OrganizationFactory.d.ts +20 -0
  44. package/dist/factories/OrganizationFactory.d.ts.map +1 -0
  45. package/dist/factories/OrganizationFactory.js +61 -0
  46. package/dist/factories/OrganizationFactory.js.map +1 -0
  47. package/dist/factories/OrganizationRegistrationPeriodFactory.d.ts +13 -0
  48. package/dist/factories/OrganizationRegistrationPeriodFactory.d.ts.map +1 -0
  49. package/dist/factories/OrganizationRegistrationPeriodFactory.js +16 -0
  50. package/dist/factories/OrganizationRegistrationPeriodFactory.js.map +1 -0
  51. package/dist/factories/OrganizationTagFactory.d.ts.map +1 -0
  52. package/dist/factories/OrganizationTagFactory.js +19 -0
  53. package/dist/factories/OrganizationTagFactory.js.map +1 -0
  54. package/dist/factories/ParentFactory.d.ts.map +1 -0
  55. package/dist/factories/ParentFactory.js +39 -0
  56. package/dist/factories/ParentFactory.js.map +1 -0
  57. package/dist/factories/PlatformEventTypeFactory.d.ts.map +1 -0
  58. package/dist/factories/PlatformEventTypeFactory.js +23 -0
  59. package/dist/factories/PlatformEventTypeFactory.js.map +1 -0
  60. package/dist/factories/PlatformResponsibilityFactory.d.ts.map +1 -0
  61. package/dist/factories/PlatformResponsibilityFactory.js +21 -0
  62. package/dist/factories/PlatformResponsibilityFactory.js.map +1 -0
  63. package/dist/factories/RecordAnswerFactory.d.ts +18 -0
  64. package/dist/factories/RecordAnswerFactory.d.ts.map +1 -0
  65. package/dist/factories/RecordAnswerFactory.js +91 -0
  66. package/dist/factories/RecordAnswerFactory.js.map +1 -0
  67. package/dist/factories/RecordCategoryFactory.d.ts +11 -0
  68. package/dist/factories/RecordCategoryFactory.d.ts.map +1 -0
  69. package/dist/factories/RecordCategoryFactory.js +19 -0
  70. package/dist/factories/RecordCategoryFactory.js.map +1 -0
  71. package/dist/factories/RecordFactory.d.ts.map +1 -0
  72. package/dist/factories/RecordFactory.js +16 -0
  73. package/dist/factories/RecordFactory.js.map +1 -0
  74. package/dist/factories/RegisterCodeFactory.d.ts.map +1 -0
  75. package/dist/factories/RegisterCodeFactory.js +14 -0
  76. package/dist/factories/RegisterCodeFactory.js.map +1 -0
  77. package/dist/factories/RegistrationFactory.d.ts +21 -0
  78. package/dist/factories/RegistrationFactory.d.ts.map +1 -0
  79. package/dist/factories/RegistrationFactory.js +21 -0
  80. package/dist/factories/RegistrationFactory.js.map +1 -0
  81. package/dist/factories/RegistrationPeriodFactory.d.ts +16 -0
  82. package/dist/factories/RegistrationPeriodFactory.d.ts.map +1 -0
  83. package/dist/factories/RegistrationPeriodFactory.js +30 -0
  84. package/dist/factories/RegistrationPeriodFactory.js.map +1 -0
  85. package/dist/factories/STPackageFactory.d.ts +15 -0
  86. package/dist/factories/STPackageFactory.d.ts.map +1 -0
  87. package/dist/factories/STPackageFactory.js +34 -0
  88. package/dist/factories/STPackageFactory.js.map +1 -0
  89. package/dist/factories/UserFactory.d.ts +22 -0
  90. package/dist/factories/UserFactory.d.ts.map +1 -0
  91. package/dist/factories/UserFactory.js +63 -0
  92. package/dist/factories/UserFactory.js.map +1 -0
  93. package/dist/factories/WebshopFactory.d.ts +17 -0
  94. package/dist/factories/WebshopFactory.d.ts.map +1 -0
  95. package/dist/factories/WebshopFactory.js +35 -0
  96. package/dist/factories/WebshopFactory.js.map +1 -0
  97. package/dist/factories/index.d.ts.map +1 -0
  98. package/dist/factories/index.js +27 -0
  99. package/dist/factories/index.js.map +1 -0
  100. package/dist/helpers/DNSValidator.d.ts +6 -0
  101. package/dist/helpers/DNSValidator.d.ts.map +1 -0
  102. package/dist/helpers/DNSValidator.js +142 -0
  103. package/dist/helpers/DNSValidator.js.map +1 -0
  104. package/dist/helpers/EmailBuilder.d.ts +88 -0
  105. package/dist/helpers/EmailBuilder.d.ts.map +1 -0
  106. package/dist/helpers/EmailBuilder.js +603 -0
  107. package/dist/helpers/EmailBuilder.js.map +1 -0
  108. package/dist/helpers/Handlebars.d.ts.map +1 -0
  109. package/dist/helpers/Handlebars.js +244 -0
  110. package/dist/helpers/Handlebars.js.map +1 -0
  111. package/dist/helpers/MemberMerger.d.ts.map +1 -0
  112. package/dist/helpers/MemberMerger.js +364 -0
  113. package/dist/helpers/MemberMerger.js.map +1 -0
  114. package/dist/helpers/RateLimiter.d.ts.map +1 -0
  115. package/dist/helpers/RateLimiter.js +64 -0
  116. package/dist/helpers/RateLimiter.js.map +1 -0
  117. package/dist/helpers/WebshopCounter.d.ts +8 -0
  118. package/dist/helpers/WebshopCounter.d.ts.map +1 -0
  119. package/dist/helpers/WebshopCounter.js +46 -0
  120. package/dist/helpers/WebshopCounter.js.map +1 -0
  121. package/dist/index.d.ts.map +1 -0
  122. package/dist/index.js +11 -0
  123. package/dist/index.js.map +1 -0
  124. package/dist/migrations/1605262045-import-postcodes.d.ts.map +1 -0
  125. package/dist/migrations/1605262045-import-postcodes.js +117 -0
  126. package/dist/migrations/1605262045-import-postcodes.js.map +1 -0
  127. package/dist/migrations/1605262046-import-postcodes-nl.d.ts.map +1 -0
  128. package/dist/migrations/1605262046-import-postcodes-nl.js +80 -0
  129. package/dist/migrations/1605262046-import-postcodes-nl.js.map +1 -0
  130. package/dist/migrations/1720080976-convert-charset-leads.d.ts +10 -0
  131. package/dist/migrations/1720080976-convert-charset-leads.d.ts.map +1 -0
  132. package/dist/migrations/1720080976-convert-charset-leads.js +41 -0
  133. package/dist/migrations/1720080976-convert-charset-leads.js.map +1 -0
  134. package/dist/models/AuditLog.d.ts.map +1 -0
  135. package/dist/models/AuditLog.js +94 -0
  136. package/dist/models/AuditLog.js.map +1 -0
  137. package/dist/models/BalanceItem.d.ts +218 -0
  138. package/dist/models/BalanceItem.d.ts.map +1 -0
  139. package/dist/models/BalanceItem.js +626 -0
  140. package/dist/models/BalanceItem.js.map +1 -0
  141. package/dist/models/BalanceItemPayment.d.ts +24 -0
  142. package/dist/models/BalanceItemPayment.d.ts.map +1 -0
  143. package/dist/models/BalanceItemPayment.js +65 -0
  144. package/dist/models/BalanceItemPayment.js.map +1 -0
  145. package/dist/models/BuckarooPayment.d.ts.map +1 -0
  146. package/dist/models/BuckarooPayment.js +24 -0
  147. package/dist/models/BuckarooPayment.js.map +1 -0
  148. package/dist/models/CachedBalance.d.ts +51 -0
  149. package/dist/models/CachedBalance.d.ts.map +1 -0
  150. package/dist/models/CachedBalance.js +390 -0
  151. package/dist/models/CachedBalance.js.map +1 -0
  152. package/dist/models/Document.d.ts +41 -0
  153. package/dist/models/Document.d.ts.map +1 -0
  154. package/dist/models/Document.js +251 -0
  155. package/dist/models/Document.js.map +1 -0
  156. package/dist/models/DocumentTemplate.d.ts +56 -0
  157. package/dist/models/DocumentTemplate.d.ts.map +1 -0
  158. package/dist/models/DocumentTemplate.js +719 -0
  159. package/dist/models/DocumentTemplate.js.map +1 -0
  160. package/dist/models/Email.d.ts +141 -0
  161. package/dist/models/Email.d.ts.map +1 -0
  162. package/dist/models/Email.js +1341 -0
  163. package/dist/models/Email.js.map +1 -0
  164. package/dist/models/EmailRecipient.d.ts.map +1 -0
  165. package/dist/models/EmailRecipient.js +194 -0
  166. package/dist/models/EmailRecipient.js.map +1 -0
  167. package/dist/models/EmailTemplate.d.ts +24 -0
  168. package/dist/models/EmailTemplate.d.ts.map +1 -0
  169. package/dist/models/EmailTemplate.js +79 -0
  170. package/dist/models/EmailTemplate.js.map +1 -0
  171. package/dist/models/EmailVerificationCode.d.ts +61 -0
  172. package/dist/models/EmailVerificationCode.d.ts.map +1 -0
  173. package/dist/models/EmailVerificationCode.js +339 -0
  174. package/dist/models/EmailVerificationCode.js.map +1 -0
  175. package/dist/models/Event.d.ts.map +1 -0
  176. package/dist/models/Event.js +132 -0
  177. package/dist/models/Event.js.map +1 -0
  178. package/dist/models/EventNotification.d.ts +32 -0
  179. package/dist/models/EventNotification.d.ts.map +1 -0
  180. package/dist/models/EventNotification.js +98 -0
  181. package/dist/models/EventNotification.js.map +1 -0
  182. package/dist/models/Group.d.ts +46 -0
  183. package/dist/models/Group.d.ts.map +1 -0
  184. package/dist/models/Group.js +213 -0
  185. package/dist/models/Group.js.map +1 -0
  186. package/dist/models/Image.d.ts +17 -0
  187. package/dist/models/Image.d.ts.map +1 -0
  188. package/dist/models/Image.js +169 -0
  189. package/dist/models/Image.js.map +1 -0
  190. package/dist/models/Invoice.d.ts.map +1 -0
  191. package/dist/models/Invoice.js +186 -0
  192. package/dist/models/Invoice.js.map +1 -0
  193. package/dist/models/InvoicedBalanceItem.d.ts +66 -0
  194. package/dist/models/InvoicedBalanceItem.d.ts.map +1 -0
  195. package/dist/models/InvoicedBalanceItem.js +130 -0
  196. package/dist/models/InvoicedBalanceItem.js.map +1 -0
  197. package/dist/models/Member.d.ts +114 -0
  198. package/dist/models/Member.d.ts.map +1 -0
  199. package/dist/models/Member.js +415 -0
  200. package/dist/models/Member.js.map +1 -0
  201. package/dist/models/MemberPlatformMembership.d.ts +48 -0
  202. package/dist/models/MemberPlatformMembership.d.ts.map +1 -0
  203. package/dist/models/MemberPlatformMembership.js +377 -0
  204. package/dist/models/MemberPlatformMembership.js.map +1 -0
  205. package/dist/models/MemberResponsibilityRecord.d.ts +17 -0
  206. package/dist/models/MemberResponsibilityRecord.d.ts.map +1 -0
  207. package/dist/models/MemberResponsibilityRecord.js +65 -0
  208. package/dist/models/MemberResponsibilityRecord.js.map +1 -0
  209. package/dist/models/MemberUser.d.ts.map +1 -0
  210. package/dist/models/MemberUser.js +22 -0
  211. package/dist/models/MemberUser.js.map +1 -0
  212. package/dist/models/MergedMember.d.ts +23 -0
  213. package/dist/models/MergedMember.d.ts.map +1 -0
  214. package/dist/models/MergedMember.js +123 -0
  215. package/dist/models/MergedMember.js.map +1 -0
  216. package/dist/models/MolliePayment.d.ts.map +1 -0
  217. package/dist/models/MolliePayment.js +24 -0
  218. package/dist/models/MolliePayment.js.map +1 -0
  219. package/dist/models/MollieToken.d.ts +45 -0
  220. package/dist/models/MollieToken.d.ts.map +1 -0
  221. package/dist/models/MollieToken.js +330 -0
  222. package/dist/models/MollieToken.js.map +1 -0
  223. package/dist/models/OneTimeToken.d.ts +38 -0
  224. package/dist/models/OneTimeToken.d.ts.map +1 -0
  225. package/dist/models/OneTimeToken.js +125 -0
  226. package/dist/models/OneTimeToken.js.map +1 -0
  227. package/dist/models/Order.d.ts +115 -0
  228. package/dist/models/Order.d.ts.map +1 -0
  229. package/dist/models/Order.js +908 -0
  230. package/dist/models/Order.js.map +1 -0
  231. package/dist/models/Organization.d.ts +128 -0
  232. package/dist/models/Organization.d.ts.map +1 -0
  233. package/dist/models/Organization.js +846 -0
  234. package/dist/models/Organization.js.map +1 -0
  235. package/dist/models/OrganizationRegistrationPeriod.d.ts +22 -0
  236. package/dist/models/OrganizationRegistrationPeriod.d.ts.map +1 -0
  237. package/dist/models/OrganizationRegistrationPeriod.js +129 -0
  238. package/dist/models/OrganizationRegistrationPeriod.js.map +1 -0
  239. package/dist/models/PasswordToken.d.ts +31 -0
  240. package/dist/models/PasswordToken.d.ts.map +1 -0
  241. package/dist/models/PasswordToken.js +129 -0
  242. package/dist/models/PasswordToken.js.map +1 -0
  243. package/dist/models/PayconiqPayment.d.ts +24 -0
  244. package/dist/models/PayconiqPayment.d.ts.map +1 -0
  245. package/dist/models/PayconiqPayment.js +272 -0
  246. package/dist/models/PayconiqPayment.js.map +1 -0
  247. package/dist/models/Payment.d.ts +120 -0
  248. package/dist/models/Payment.d.ts.map +1 -0
  249. package/dist/models/Payment.js +289 -0
  250. package/dist/models/Payment.js.map +1 -0
  251. package/dist/models/Platform.d.ts.map +1 -0
  252. package/dist/models/Platform.js +178 -0
  253. package/dist/models/Platform.js.map +1 -0
  254. package/dist/models/RegisterCode.d.ts.map +1 -0
  255. package/dist/models/RegisterCode.js +76 -0
  256. package/dist/models/RegisterCode.js.map +1 -0
  257. package/dist/models/Registration.d.ts +85 -0
  258. package/dist/models/Registration.d.ts.map +1 -0
  259. package/dist/models/Registration.js +190 -0
  260. package/dist/models/Registration.js.map +1 -0
  261. package/dist/models/RegistrationPeriod.d.ts.map +1 -0
  262. package/dist/models/RegistrationPeriod.js +140 -0
  263. package/dist/models/RegistrationPeriod.js.map +1 -0
  264. package/dist/models/STCredit.d.ts.map +1 -0
  265. package/dist/models/STCredit.js +61 -0
  266. package/dist/models/STCredit.js.map +1 -0
  267. package/dist/models/STInvoice.d.ts +37 -0
  268. package/dist/models/STInvoice.d.ts.map +1 -0
  269. package/dist/models/STInvoice.js +139 -0
  270. package/dist/models/STInvoice.js.map +1 -0
  271. package/dist/models/STPackage.d.ts.map +1 -0
  272. package/dist/models/STPackage.js +276 -0
  273. package/dist/models/STPackage.js.map +1 -0
  274. package/dist/models/STPendingInvoice.d.ts +26 -0
  275. package/dist/models/STPendingInvoice.d.ts.map +1 -0
  276. package/dist/models/STPendingInvoice.js +68 -0
  277. package/dist/models/STPendingInvoice.js.map +1 -0
  278. package/dist/models/StripeAccount.d.ts.map +1 -0
  279. package/dist/models/StripeAccount.js +81 -0
  280. package/dist/models/StripeAccount.js.map +1 -0
  281. package/dist/models/StripeCheckoutSession.d.ts.map +1 -0
  282. package/dist/models/StripeCheckoutSession.js +35 -0
  283. package/dist/models/StripeCheckoutSession.js.map +1 -0
  284. package/dist/models/StripePaymentIntent.d.ts.map +1 -0
  285. package/dist/models/StripePaymentIntent.js +35 -0
  286. package/dist/models/StripePaymentIntent.js.map +1 -0
  287. package/dist/models/Ticket.d.ts +65 -0
  288. package/dist/models/Ticket.d.ts.map +1 -0
  289. package/dist/models/Ticket.js +157 -0
  290. package/dist/models/Ticket.js.map +1 -0
  291. package/dist/models/Token.d.ts +48 -0
  292. package/dist/models/Token.d.ts.map +1 -0
  293. package/dist/models/Token.js +208 -0
  294. package/dist/models/Token.js.map +1 -0
  295. package/dist/models/UitpasClientCredential.d.ts.map +1 -0
  296. package/dist/models/UitpasClientCredential.js +62 -0
  297. package/dist/models/UitpasClientCredential.js.map +1 -0
  298. package/dist/models/UsedRegisterCode.d.ts.map +1 -0
  299. package/dist/models/UsedRegisterCode.js +58 -0
  300. package/dist/models/UsedRegisterCode.js.map +1 -0
  301. package/dist/models/User.d.ts +76 -0
  302. package/dist/models/User.d.ts.map +1 -0
  303. package/dist/models/User.js +484 -0
  304. package/dist/models/User.js.map +1 -0
  305. package/dist/models/UserPermissions.d.ts +16 -0
  306. package/dist/models/UserPermissions.d.ts.map +1 -0
  307. package/dist/models/UserPermissions.js +56 -0
  308. package/dist/models/UserPermissions.js.map +1 -0
  309. package/dist/models/Webshop.d.ts +45 -0
  310. package/dist/models/Webshop.d.ts.map +1 -0
  311. package/dist/models/Webshop.js +187 -0
  312. package/dist/models/Webshop.js.map +1 -0
  313. package/dist/models/WebshopDiscountCode.d.ts.map +1 -0
  314. package/dist/models/WebshopDiscountCode.js +89 -0
  315. package/dist/models/WebshopDiscountCode.js.map +1 -0
  316. package/dist/models/WebshopUitpasNumber.d.ts.map +1 -0
  317. package/dist/models/WebshopUitpasNumber.js +91 -0
  318. package/dist/models/WebshopUitpasNumber.js.map +1 -0
  319. package/dist/models/_relations.d.ts +8 -0
  320. package/dist/models/_relations.d.ts.map +1 -0
  321. package/dist/models/_relations.js +110 -0
  322. package/dist/models/_relations.js.map +1 -0
  323. package/dist/models/addresses/City.d.ts +15 -0
  324. package/dist/models/addresses/City.d.ts.map +1 -0
  325. package/dist/models/addresses/City.js +35 -0
  326. package/dist/models/addresses/City.js.map +1 -0
  327. package/dist/models/addresses/PostalCode.d.ts +21 -0
  328. package/dist/models/addresses/PostalCode.d.ts.map +1 -0
  329. package/dist/models/addresses/PostalCode.js +139 -0
  330. package/dist/models/addresses/PostalCode.js.map +1 -0
  331. package/dist/models/addresses/Province.d.ts +9 -0
  332. package/dist/models/addresses/Province.d.ts.map +1 -0
  333. package/dist/models/addresses/Province.js +24 -0
  334. package/dist/models/addresses/Province.js.map +1 -0
  335. package/dist/models/addresses/Street.d.ts.map +1 -0
  336. package/dist/models/addresses/Street.js +26 -0
  337. package/dist/models/addresses/Street.js.map +1 -0
  338. package/dist/models/index.d.ts +55 -0
  339. package/dist/models/index.d.ts.map +1 -0
  340. package/dist/models/index.js +55 -0
  341. package/dist/models/index.js.map +1 -0
  342. package/dist/structures/OrganizationServerMetaData.d.ts.map +1 -0
  343. package/dist/structures/OrganizationServerMetaData.js +130 -0
  344. package/dist/structures/OrganizationServerMetaData.js.map +1 -0
  345. package/package.json +13 -10
  346. package/src/factories/AddressFactory.ts +3 -2
  347. package/src/factories/BalanceItemFactory.ts +2 -1
  348. package/src/factories/DocumentTemplateFactory.ts +2 -1
  349. package/src/factories/EmailTemplateFactory.ts +3 -2
  350. package/src/factories/EmergencyContactFactory.ts +1 -1
  351. package/src/factories/EventFactory.ts +2 -2
  352. package/src/factories/EventNotificationFactory.ts +6 -4
  353. package/src/factories/EventNotificationTypeFactory.ts +2 -1
  354. package/src/factories/GroupFactory.ts +4 -3
  355. package/src/factories/MemberFactory.ts +6 -5
  356. package/src/factories/MemberResponsibilityRecordFactory.ts +3 -2
  357. package/src/factories/OrganizationFactory.ts +4 -2
  358. package/src/factories/OrganizationRegistrationPeriodFactory.ts +2 -2
  359. package/src/factories/ParentFactory.ts +1 -1
  360. package/src/factories/RecordAnswerFactory.ts +2 -1
  361. package/src/factories/RecordCategoryFactory.ts +4 -2
  362. package/src/factories/RegistrationFactory.ts +5 -4
  363. package/src/factories/RegistrationPeriodFactory.ts +2 -1
  364. package/src/factories/STPackageFactory.ts +1 -1
  365. package/src/factories/UserFactory.ts +3 -2
  366. package/src/factories/WebshopFactory.ts +3 -2
  367. package/src/helpers/DNSValidator.ts +2 -1
  368. package/src/helpers/EmailBuilder.ts +13 -4
  369. package/src/helpers/Handlebars.ts +3 -3
  370. package/src/helpers/MemberMerger.test.ts +1 -1
  371. package/src/helpers/MemberMerger.ts +5 -4
  372. package/src/helpers/WebshopCounter.ts +1 -1
  373. package/src/migrations/1605262045-import-postcodes.ts +1 -1
  374. package/src/migrations/1605262046-import-postcodes-nl.ts +2 -2
  375. package/src/migrations/1720080976-convert-charset-leads.ts +53 -0
  376. package/src/models/AuditLog.ts +2 -1
  377. package/src/models/BalanceItem.ts +4 -3
  378. package/src/models/BalanceItemPayment.ts +9 -6
  379. package/src/models/CachedBalance.test.ts +331 -0
  380. package/src/models/CachedBalance.ts +3 -2
  381. package/src/models/Document.ts +2 -2
  382. package/src/models/DocumentTemplate.ts +5 -3
  383. package/src/models/Email.test.ts +32 -31
  384. package/src/models/Email.ts +7 -4
  385. package/src/models/EmailTemplate.ts +2 -1
  386. package/src/models/EmailVerificationCode.ts +7 -5
  387. package/src/models/EventNotification.ts +3 -2
  388. package/src/models/Group.ts +5 -15
  389. package/src/models/Image.ts +2 -1
  390. package/src/models/InvoicedBalanceItem.ts +9 -8
  391. package/src/models/Member.ts +8 -4
  392. package/src/models/MemberPlatformMembership.ts +1 -1
  393. package/src/models/MemberResponsibilityRecord.ts +2 -1
  394. package/src/models/MergedMember.ts +1 -1
  395. package/src/models/MollieToken.ts +3 -3
  396. package/src/models/OneTimeToken.ts +1 -1
  397. package/src/models/Order.ts +17 -9
  398. package/src/models/Organization.ts +39 -11
  399. package/src/models/OrganizationRegistrationPeriod.ts +2 -2
  400. package/src/models/PasswordToken.ts +7 -5
  401. package/src/models/PayconiqPayment.ts +6 -3
  402. package/src/models/Payment.ts +8 -5
  403. package/src/models/Registration.ts +9 -97
  404. package/src/models/STInvoice.ts +1 -4
  405. package/src/models/STPackage.ts +1 -1
  406. package/src/models/STPendingInvoice.ts +5 -4
  407. package/src/models/Ticket.ts +11 -9
  408. package/src/models/Token.test.ts +2 -2
  409. package/src/models/Token.ts +6 -6
  410. package/src/models/User.ts +7 -8
  411. package/src/models/UserPermissions.ts +7 -6
  412. package/src/models/Webshop.ts +5 -5
  413. package/src/models/_relations.ts +133 -0
  414. package/src/models/addresses/City.ts +1 -1
  415. package/src/models/addresses/PostalCode.test.ts +1 -1
  416. package/src/models/addresses/PostalCode.ts +1 -1
  417. package/src/models/addresses/Province.ts +1 -1
  418. package/src/models/index.ts +22 -20
  419. package/src/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  420. package/dist/src/factories/AddressFactory.d.ts.map +0 -1
  421. package/dist/src/factories/AddressFactory.js +0 -42
  422. package/dist/src/factories/AddressFactory.js.map +0 -1
  423. package/dist/src/factories/BalanceItemFactory.d.ts +0 -28
  424. package/dist/src/factories/BalanceItemFactory.d.ts.map +0 -1
  425. package/dist/src/factories/BalanceItemFactory.js +0 -60
  426. package/dist/src/factories/BalanceItemFactory.js.map +0 -1
  427. package/dist/src/factories/DocumentTemplateFactory.d.ts +0 -21
  428. package/dist/src/factories/DocumentTemplateFactory.d.ts.map +0 -1
  429. package/dist/src/factories/DocumentTemplateFactory.js +0 -149
  430. package/dist/src/factories/DocumentTemplateFactory.js.map +0 -1
  431. package/dist/src/factories/EmailTemplateFactory.d.ts +0 -18
  432. package/dist/src/factories/EmailTemplateFactory.d.ts.map +0 -1
  433. package/dist/src/factories/EmailTemplateFactory.js +0 -43
  434. package/dist/src/factories/EmailTemplateFactory.js.map +0 -1
  435. package/dist/src/factories/EmergencyContactFactory.d.ts.map +0 -1
  436. package/dist/src/factories/EmergencyContactFactory.js +0 -42
  437. package/dist/src/factories/EmergencyContactFactory.js.map +0 -1
  438. package/dist/src/factories/EventFactory.d.ts +0 -19
  439. package/dist/src/factories/EventFactory.d.ts.map +0 -1
  440. package/dist/src/factories/EventFactory.js +0 -35
  441. package/dist/src/factories/EventFactory.js.map +0 -1
  442. package/dist/src/factories/EventNotificationFactory.d.ts +0 -21
  443. package/dist/src/factories/EventNotificationFactory.d.ts.map +0 -1
  444. package/dist/src/factories/EventNotificationFactory.js +0 -44
  445. package/dist/src/factories/EventNotificationFactory.js.map +0 -1
  446. package/dist/src/factories/EventNotificationTypeFactory.d.ts +0 -11
  447. package/dist/src/factories/EventNotificationTypeFactory.d.ts.map +0 -1
  448. package/dist/src/factories/EventNotificationTypeFactory.js +0 -25
  449. package/dist/src/factories/EventNotificationTypeFactory.js.map +0 -1
  450. package/dist/src/factories/GroupFactory.d.ts +0 -26
  451. package/dist/src/factories/GroupFactory.d.ts.map +0 -1
  452. package/dist/src/factories/GroupFactory.js +0 -92
  453. package/dist/src/factories/GroupFactory.js.map +0 -1
  454. package/dist/src/factories/MemberFactory.d.ts +0 -26
  455. package/dist/src/factories/MemberFactory.d.ts.map +0 -1
  456. package/dist/src/factories/MemberFactory.js +0 -135
  457. package/dist/src/factories/MemberFactory.js.map +0 -1
  458. package/dist/src/factories/MemberResponsibilityRecordFactory.d.ts +0 -14
  459. package/dist/src/factories/MemberResponsibilityRecordFactory.d.ts.map +0 -1
  460. package/dist/src/factories/MemberResponsibilityRecordFactory.js +0 -34
  461. package/dist/src/factories/MemberResponsibilityRecordFactory.js.map +0 -1
  462. package/dist/src/factories/OrganizationFactory.d.ts +0 -19
  463. package/dist/src/factories/OrganizationFactory.d.ts.map +0 -1
  464. package/dist/src/factories/OrganizationFactory.js +0 -64
  465. package/dist/src/factories/OrganizationFactory.js.map +0 -1
  466. package/dist/src/factories/OrganizationRegistrationPeriodFactory.d.ts +0 -13
  467. package/dist/src/factories/OrganizationRegistrationPeriodFactory.d.ts.map +0 -1
  468. package/dist/src/factories/OrganizationRegistrationPeriodFactory.js +0 -20
  469. package/dist/src/factories/OrganizationRegistrationPeriodFactory.js.map +0 -1
  470. package/dist/src/factories/OrganizationTagFactory.d.ts.map +0 -1
  471. package/dist/src/factories/OrganizationTagFactory.js +0 -23
  472. package/dist/src/factories/OrganizationTagFactory.js.map +0 -1
  473. package/dist/src/factories/ParentFactory.d.ts.map +0 -1
  474. package/dist/src/factories/ParentFactory.js +0 -43
  475. package/dist/src/factories/ParentFactory.js.map +0 -1
  476. package/dist/src/factories/PlatformEventTypeFactory.d.ts.map +0 -1
  477. package/dist/src/factories/PlatformEventTypeFactory.js +0 -27
  478. package/dist/src/factories/PlatformEventTypeFactory.js.map +0 -1
  479. package/dist/src/factories/PlatformResponsibilityFactory.d.ts.map +0 -1
  480. package/dist/src/factories/PlatformResponsibilityFactory.js +0 -25
  481. package/dist/src/factories/PlatformResponsibilityFactory.js.map +0 -1
  482. package/dist/src/factories/RecordAnswerFactory.d.ts +0 -17
  483. package/dist/src/factories/RecordAnswerFactory.d.ts.map +0 -1
  484. package/dist/src/factories/RecordAnswerFactory.js +0 -95
  485. package/dist/src/factories/RecordAnswerFactory.js.map +0 -1
  486. package/dist/src/factories/RecordCategoryFactory.d.ts +0 -11
  487. package/dist/src/factories/RecordCategoryFactory.d.ts.map +0 -1
  488. package/dist/src/factories/RecordCategoryFactory.js +0 -23
  489. package/dist/src/factories/RecordCategoryFactory.js.map +0 -1
  490. package/dist/src/factories/RecordFactory.d.ts.map +0 -1
  491. package/dist/src/factories/RecordFactory.js +0 -21
  492. package/dist/src/factories/RecordFactory.js.map +0 -1
  493. package/dist/src/factories/RegisterCodeFactory.d.ts.map +0 -1
  494. package/dist/src/factories/RegisterCodeFactory.js +0 -18
  495. package/dist/src/factories/RegisterCodeFactory.js.map +0 -1
  496. package/dist/src/factories/RegistrationFactory.d.ts +0 -21
  497. package/dist/src/factories/RegistrationFactory.d.ts.map +0 -1
  498. package/dist/src/factories/RegistrationFactory.js +0 -25
  499. package/dist/src/factories/RegistrationFactory.js.map +0 -1
  500. package/dist/src/factories/RegistrationPeriodFactory.d.ts +0 -15
  501. package/dist/src/factories/RegistrationPeriodFactory.d.ts.map +0 -1
  502. package/dist/src/factories/RegistrationPeriodFactory.js +0 -34
  503. package/dist/src/factories/RegistrationPeriodFactory.js.map +0 -1
  504. package/dist/src/factories/STPackageFactory.d.ts +0 -15
  505. package/dist/src/factories/STPackageFactory.d.ts.map +0 -1
  506. package/dist/src/factories/STPackageFactory.js +0 -38
  507. package/dist/src/factories/STPackageFactory.js.map +0 -1
  508. package/dist/src/factories/UserFactory.d.ts +0 -22
  509. package/dist/src/factories/UserFactory.d.ts.map +0 -1
  510. package/dist/src/factories/UserFactory.js +0 -67
  511. package/dist/src/factories/UserFactory.js.map +0 -1
  512. package/dist/src/factories/WebshopFactory.d.ts +0 -16
  513. package/dist/src/factories/WebshopFactory.d.ts.map +0 -1
  514. package/dist/src/factories/WebshopFactory.js +0 -39
  515. package/dist/src/factories/WebshopFactory.js.map +0 -1
  516. package/dist/src/factories/index.d.ts.map +0 -1
  517. package/dist/src/factories/index.js +0 -30
  518. package/dist/src/factories/index.js.map +0 -1
  519. package/dist/src/helpers/DNSValidator.d.ts +0 -6
  520. package/dist/src/helpers/DNSValidator.d.ts.map +0 -1
  521. package/dist/src/helpers/DNSValidator.js +0 -145
  522. package/dist/src/helpers/DNSValidator.js.map +0 -1
  523. package/dist/src/helpers/EmailBuilder.d.ts +0 -83
  524. package/dist/src/helpers/EmailBuilder.d.ts.map +0 -1
  525. package/dist/src/helpers/EmailBuilder.js +0 -646
  526. package/dist/src/helpers/EmailBuilder.js.map +0 -1
  527. package/dist/src/helpers/Handlebars.d.ts.map +0 -1
  528. package/dist/src/helpers/Handlebars.js +0 -248
  529. package/dist/src/helpers/Handlebars.js.map +0 -1
  530. package/dist/src/helpers/MemberMerger.d.ts.map +0 -1
  531. package/dist/src/helpers/MemberMerger.js +0 -371
  532. package/dist/src/helpers/MemberMerger.js.map +0 -1
  533. package/dist/src/helpers/MemberMerger.test.d.ts +0 -2
  534. package/dist/src/helpers/MemberMerger.test.d.ts.map +0 -1
  535. package/dist/src/helpers/MemberMerger.test.js +0 -644
  536. package/dist/src/helpers/MemberMerger.test.js.map +0 -1
  537. package/dist/src/helpers/RateLimiter.d.ts.map +0 -1
  538. package/dist/src/helpers/RateLimiter.js +0 -69
  539. package/dist/src/helpers/RateLimiter.js.map +0 -1
  540. package/dist/src/helpers/WebshopCounter.d.ts +0 -8
  541. package/dist/src/helpers/WebshopCounter.d.ts.map +0 -1
  542. package/dist/src/helpers/WebshopCounter.js +0 -50
  543. package/dist/src/helpers/WebshopCounter.js.map +0 -1
  544. package/dist/src/index.d.ts.map +0 -1
  545. package/dist/src/index.js +0 -14
  546. package/dist/src/index.js.map +0 -1
  547. package/dist/src/migrations/1605262045-import-postcodes.js +0 -121
  548. package/dist/src/migrations/1605262046-import-postcodes-nl.js +0 -83
  549. package/dist/src/models/AuditLog.d.ts.map +0 -1
  550. package/dist/src/models/AuditLog.js +0 -98
  551. package/dist/src/models/AuditLog.js.map +0 -1
  552. package/dist/src/models/BalanceItem.d.ts +0 -217
  553. package/dist/src/models/BalanceItem.d.ts.map +0 -1
  554. package/dist/src/models/BalanceItem.js +0 -630
  555. package/dist/src/models/BalanceItem.js.map +0 -1
  556. package/dist/src/models/BalanceItemPayment.d.ts +0 -23
  557. package/dist/src/models/BalanceItemPayment.d.ts.map +0 -1
  558. package/dist/src/models/BalanceItemPayment.js +0 -70
  559. package/dist/src/models/BalanceItemPayment.js.map +0 -1
  560. package/dist/src/models/BuckarooPayment.d.ts.map +0 -1
  561. package/dist/src/models/BuckarooPayment.js +0 -28
  562. package/dist/src/models/BuckarooPayment.js.map +0 -1
  563. package/dist/src/models/CachedBalance.d.ts +0 -50
  564. package/dist/src/models/CachedBalance.d.ts.map +0 -1
  565. package/dist/src/models/CachedBalance.js +0 -394
  566. package/dist/src/models/CachedBalance.js.map +0 -1
  567. package/dist/src/models/Document.d.ts +0 -41
  568. package/dist/src/models/Document.d.ts.map +0 -1
  569. package/dist/src/models/Document.js +0 -255
  570. package/dist/src/models/Document.js.map +0 -1
  571. package/dist/src/models/DocumentTemplate.d.ts +0 -55
  572. package/dist/src/models/DocumentTemplate.d.ts.map +0 -1
  573. package/dist/src/models/DocumentTemplate.js +0 -723
  574. package/dist/src/models/DocumentTemplate.js.map +0 -1
  575. package/dist/src/models/DocumentTemplate.test.d.ts +0 -2
  576. package/dist/src/models/DocumentTemplate.test.d.ts.map +0 -1
  577. package/dist/src/models/DocumentTemplate.test.js +0 -57
  578. package/dist/src/models/DocumentTemplate.test.js.map +0 -1
  579. package/dist/src/models/Email.d.ts +0 -140
  580. package/dist/src/models/Email.d.ts.map +0 -1
  581. package/dist/src/models/Email.js +0 -1345
  582. package/dist/src/models/Email.js.map +0 -1
  583. package/dist/src/models/Email.test.d.ts +0 -2
  584. package/dist/src/models/Email.test.d.ts.map +0 -1
  585. package/dist/src/models/Email.test.js +0 -1036
  586. package/dist/src/models/Email.test.js.map +0 -1
  587. package/dist/src/models/EmailRecipient.d.ts.map +0 -1
  588. package/dist/src/models/EmailRecipient.js +0 -198
  589. package/dist/src/models/EmailRecipient.js.map +0 -1
  590. package/dist/src/models/EmailTemplate.d.ts +0 -23
  591. package/dist/src/models/EmailTemplate.d.ts.map +0 -1
  592. package/dist/src/models/EmailTemplate.js +0 -83
  593. package/dist/src/models/EmailTemplate.js.map +0 -1
  594. package/dist/src/models/EmailVerificationCode.d.ts +0 -59
  595. package/dist/src/models/EmailVerificationCode.d.ts.map +0 -1
  596. package/dist/src/models/EmailVerificationCode.js +0 -343
  597. package/dist/src/models/EmailVerificationCode.js.map +0 -1
  598. package/dist/src/models/Event.d.ts.map +0 -1
  599. package/dist/src/models/Event.js +0 -136
  600. package/dist/src/models/Event.js.map +0 -1
  601. package/dist/src/models/EventNotification.d.ts +0 -31
  602. package/dist/src/models/EventNotification.d.ts.map +0 -1
  603. package/dist/src/models/EventNotification.js +0 -102
  604. package/dist/src/models/EventNotification.js.map +0 -1
  605. package/dist/src/models/Group.d.ts +0 -45
  606. package/dist/src/models/Group.d.ts.map +0 -1
  607. package/dist/src/models/Group.js +0 -228
  608. package/dist/src/models/Group.js.map +0 -1
  609. package/dist/src/models/Image.d.ts +0 -16
  610. package/dist/src/models/Image.d.ts.map +0 -1
  611. package/dist/src/models/Image.js +0 -173
  612. package/dist/src/models/Image.js.map +0 -1
  613. package/dist/src/models/Invoice.d.ts.map +0 -1
  614. package/dist/src/models/Invoice.js +0 -190
  615. package/dist/src/models/Invoice.js.map +0 -1
  616. package/dist/src/models/InvoicedBalanceItem.d.ts +0 -66
  617. package/dist/src/models/InvoicedBalanceItem.d.ts.map +0 -1
  618. package/dist/src/models/InvoicedBalanceItem.js +0 -136
  619. package/dist/src/models/InvoicedBalanceItem.js.map +0 -1
  620. package/dist/src/models/Member.d.ts +0 -112
  621. package/dist/src/models/Member.d.ts.map +0 -1
  622. package/dist/src/models/Member.js +0 -415
  623. package/dist/src/models/Member.js.map +0 -1
  624. package/dist/src/models/MemberPlatformMembership.d.ts +0 -48
  625. package/dist/src/models/MemberPlatformMembership.d.ts.map +0 -1
  626. package/dist/src/models/MemberPlatformMembership.js +0 -381
  627. package/dist/src/models/MemberPlatformMembership.js.map +0 -1
  628. package/dist/src/models/MemberResponsibilityRecord.d.ts +0 -16
  629. package/dist/src/models/MemberResponsibilityRecord.d.ts.map +0 -1
  630. package/dist/src/models/MemberResponsibilityRecord.js +0 -69
  631. package/dist/src/models/MemberResponsibilityRecord.js.map +0 -1
  632. package/dist/src/models/MemberUser.d.ts.map +0 -1
  633. package/dist/src/models/MemberUser.js +0 -26
  634. package/dist/src/models/MemberUser.js.map +0 -1
  635. package/dist/src/models/MergedMember.d.ts +0 -23
  636. package/dist/src/models/MergedMember.d.ts.map +0 -1
  637. package/dist/src/models/MergedMember.js +0 -127
  638. package/dist/src/models/MergedMember.js.map +0 -1
  639. package/dist/src/models/MolliePayment.d.ts.map +0 -1
  640. package/dist/src/models/MolliePayment.js +0 -28
  641. package/dist/src/models/MolliePayment.js.map +0 -1
  642. package/dist/src/models/MollieToken.d.ts +0 -45
  643. package/dist/src/models/MollieToken.d.ts.map +0 -1
  644. package/dist/src/models/MollieToken.js +0 -334
  645. package/dist/src/models/MollieToken.js.map +0 -1
  646. package/dist/src/models/OneTimeToken.d.ts +0 -38
  647. package/dist/src/models/OneTimeToken.d.ts.map +0 -1
  648. package/dist/src/models/OneTimeToken.js +0 -129
  649. package/dist/src/models/OneTimeToken.js.map +0 -1
  650. package/dist/src/models/Order.d.ts +0 -112
  651. package/dist/src/models/Order.d.ts.map +0 -1
  652. package/dist/src/models/Order.js +0 -906
  653. package/dist/src/models/Order.js.map +0 -1
  654. package/dist/src/models/Organization.d.ts +0 -120
  655. package/dist/src/models/Organization.d.ts.map +0 -1
  656. package/dist/src/models/Organization.js +0 -828
  657. package/dist/src/models/Organization.js.map +0 -1
  658. package/dist/src/models/OrganizationRegistrationPeriod.d.ts +0 -22
  659. package/dist/src/models/OrganizationRegistrationPeriod.d.ts.map +0 -1
  660. package/dist/src/models/OrganizationRegistrationPeriod.js +0 -133
  661. package/dist/src/models/OrganizationRegistrationPeriod.js.map +0 -1
  662. package/dist/src/models/PasswordToken.d.ts +0 -30
  663. package/dist/src/models/PasswordToken.d.ts.map +0 -1
  664. package/dist/src/models/PasswordToken.js +0 -133
  665. package/dist/src/models/PasswordToken.js.map +0 -1
  666. package/dist/src/models/PayconiqPayment.d.ts +0 -22
  667. package/dist/src/models/PayconiqPayment.d.ts.map +0 -1
  668. package/dist/src/models/PayconiqPayment.js +0 -276
  669. package/dist/src/models/PayconiqPayment.js.map +0 -1
  670. package/dist/src/models/Payment.d.ts +0 -117
  671. package/dist/src/models/Payment.d.ts.map +0 -1
  672. package/dist/src/models/Payment.js +0 -293
  673. package/dist/src/models/Payment.js.map +0 -1
  674. package/dist/src/models/Platform.d.ts.map +0 -1
  675. package/dist/src/models/Platform.js +0 -182
  676. package/dist/src/models/Platform.js.map +0 -1
  677. package/dist/src/models/Platform.test.d.ts +0 -2
  678. package/dist/src/models/Platform.test.d.ts.map +0 -1
  679. package/dist/src/models/Platform.test.js +0 -90
  680. package/dist/src/models/Platform.test.js.map +0 -1
  681. package/dist/src/models/RegisterCode.d.ts.map +0 -1
  682. package/dist/src/models/RegisterCode.js +0 -80
  683. package/dist/src/models/RegisterCode.js.map +0 -1
  684. package/dist/src/models/Registration.d.ts +0 -93
  685. package/dist/src/models/Registration.d.ts.map +0 -1
  686. package/dist/src/models/Registration.js +0 -267
  687. package/dist/src/models/Registration.js.map +0 -1
  688. package/dist/src/models/RegistrationPeriod.d.ts.map +0 -1
  689. package/dist/src/models/RegistrationPeriod.js +0 -144
  690. package/dist/src/models/RegistrationPeriod.js.map +0 -1
  691. package/dist/src/models/STCredit.d.ts.map +0 -1
  692. package/dist/src/models/STCredit.js +0 -65
  693. package/dist/src/models/STCredit.js.map +0 -1
  694. package/dist/src/models/STInvoice.d.ts +0 -37
  695. package/dist/src/models/STInvoice.d.ts.map +0 -1
  696. package/dist/src/models/STInvoice.js +0 -145
  697. package/dist/src/models/STInvoice.js.map +0 -1
  698. package/dist/src/models/STPackage.d.ts.map +0 -1
  699. package/dist/src/models/STPackage.js +0 -280
  700. package/dist/src/models/STPackage.js.map +0 -1
  701. package/dist/src/models/STPendingInvoice.d.ts +0 -26
  702. package/dist/src/models/STPendingInvoice.d.ts.map +0 -1
  703. package/dist/src/models/STPendingInvoice.js +0 -73
  704. package/dist/src/models/STPendingInvoice.js.map +0 -1
  705. package/dist/src/models/StripeAccount.d.ts.map +0 -1
  706. package/dist/src/models/StripeAccount.js +0 -85
  707. package/dist/src/models/StripeAccount.js.map +0 -1
  708. package/dist/src/models/StripeCheckoutSession.d.ts.map +0 -1
  709. package/dist/src/models/StripeCheckoutSession.js +0 -39
  710. package/dist/src/models/StripeCheckoutSession.js.map +0 -1
  711. package/dist/src/models/StripePaymentIntent.d.ts.map +0 -1
  712. package/dist/src/models/StripePaymentIntent.js +0 -39
  713. package/dist/src/models/StripePaymentIntent.js.map +0 -1
  714. package/dist/src/models/Ticket.d.ts +0 -63
  715. package/dist/src/models/Ticket.d.ts.map +0 -1
  716. package/dist/src/models/Ticket.js +0 -162
  717. package/dist/src/models/Ticket.js.map +0 -1
  718. package/dist/src/models/Token.d.ts +0 -48
  719. package/dist/src/models/Token.d.ts.map +0 -1
  720. package/dist/src/models/Token.js +0 -212
  721. package/dist/src/models/Token.js.map +0 -1
  722. package/dist/src/models/Token.test.d.ts +0 -2
  723. package/dist/src/models/Token.test.d.ts.map +0 -1
  724. package/dist/src/models/Token.test.js +0 -60
  725. package/dist/src/models/Token.test.js.map +0 -1
  726. package/dist/src/models/UitpasClientCredential.d.ts.map +0 -1
  727. package/dist/src/models/UitpasClientCredential.js +0 -66
  728. package/dist/src/models/UitpasClientCredential.js.map +0 -1
  729. package/dist/src/models/UsedRegisterCode.d.ts.map +0 -1
  730. package/dist/src/models/UsedRegisterCode.js +0 -62
  731. package/dist/src/models/UsedRegisterCode.js.map +0 -1
  732. package/dist/src/models/User.d.ts +0 -77
  733. package/dist/src/models/User.d.ts.map +0 -1
  734. package/dist/src/models/User.js +0 -490
  735. package/dist/src/models/User.js.map +0 -1
  736. package/dist/src/models/UserPermissions.d.ts +0 -16
  737. package/dist/src/models/UserPermissions.d.ts.map +0 -1
  738. package/dist/src/models/UserPermissions.js +0 -61
  739. package/dist/src/models/UserPermissions.js.map +0 -1
  740. package/dist/src/models/Webshop.d.ts +0 -45
  741. package/dist/src/models/Webshop.d.ts.map +0 -1
  742. package/dist/src/models/Webshop.js +0 -192
  743. package/dist/src/models/Webshop.js.map +0 -1
  744. package/dist/src/models/WebshopDiscountCode.d.ts.map +0 -1
  745. package/dist/src/models/WebshopDiscountCode.js +0 -93
  746. package/dist/src/models/WebshopDiscountCode.js.map +0 -1
  747. package/dist/src/models/WebshopUitpasNumber.d.ts.map +0 -1
  748. package/dist/src/models/WebshopUitpasNumber.js +0 -95
  749. package/dist/src/models/WebshopUitpasNumber.js.map +0 -1
  750. package/dist/src/models/addresses/City.d.ts +0 -15
  751. package/dist/src/models/addresses/City.d.ts.map +0 -1
  752. package/dist/src/models/addresses/City.js +0 -39
  753. package/dist/src/models/addresses/City.js.map +0 -1
  754. package/dist/src/models/addresses/PostalCode.d.ts +0 -21
  755. package/dist/src/models/addresses/PostalCode.d.ts.map +0 -1
  756. package/dist/src/models/addresses/PostalCode.js +0 -143
  757. package/dist/src/models/addresses/PostalCode.js.map +0 -1
  758. package/dist/src/models/addresses/PostalCode.test.d.ts +0 -2
  759. package/dist/src/models/addresses/PostalCode.test.d.ts.map +0 -1
  760. package/dist/src/models/addresses/PostalCode.test.js +0 -98
  761. package/dist/src/models/addresses/PostalCode.test.js.map +0 -1
  762. package/dist/src/models/addresses/Province.d.ts +0 -9
  763. package/dist/src/models/addresses/Province.d.ts.map +0 -1
  764. package/dist/src/models/addresses/Province.js +0 -28
  765. package/dist/src/models/addresses/Province.js.map +0 -1
  766. package/dist/src/models/addresses/Street.d.ts.map +0 -1
  767. package/dist/src/models/addresses/Street.js +0 -30
  768. package/dist/src/models/addresses/Street.js.map +0 -1
  769. package/dist/src/models/index.d.ts +0 -54
  770. package/dist/src/models/index.d.ts.map +0 -1
  771. package/dist/src/models/index.js +0 -69
  772. package/dist/src/models/index.js.map +0 -1
  773. package/dist/src/structures/OrganizationServerMetaData.d.ts.map +0 -1
  774. package/dist/src/structures/OrganizationServerMetaData.js +0 -135
  775. package/dist/src/structures/OrganizationServerMetaData.js.map +0 -1
  776. package/dist/tests/jest.global.setup.d.ts +0 -3
  777. package/dist/tests/jest.global.setup.d.ts.map +0 -1
  778. package/dist/tests/jest.global.setup.js +0 -33
  779. package/dist/tests/jest.global.setup.js.map +0 -1
  780. package/dist/tests/jest.setup.d.ts +0 -2
  781. package/dist/tests/jest.setup.d.ts.map +0 -1
  782. package/dist/tests/jest.setup.js +0 -32
  783. package/dist/tests/jest.setup.js.map +0 -1
  784. package/dist/tsconfig.tsbuildinfo +0 -1
  785. /package/dist/{src/assets → assets}/Metropolis-Black.woff2 +0 -0
  786. /package/dist/{src/assets → assets}/Metropolis-BlackItalic.woff2 +0 -0
  787. /package/dist/{src/assets → assets}/Metropolis-Bold.woff2 +0 -0
  788. /package/dist/{src/assets → assets}/Metropolis-BoldItalic.woff2 +0 -0
  789. /package/dist/{src/assets → assets}/Metropolis-ExtraBold.woff2 +0 -0
  790. /package/dist/{src/assets → assets}/Metropolis-ExtraBoldItalic.woff2 +0 -0
  791. /package/dist/{src/assets → assets}/Metropolis-ExtraLight.woff2 +0 -0
  792. /package/dist/{src/assets → assets}/Metropolis-ExtraLightItalic.woff2 +0 -0
  793. /package/dist/{src/assets → assets}/Metropolis-Light.woff2 +0 -0
  794. /package/dist/{src/assets → assets}/Metropolis-LightItalic.woff2 +0 -0
  795. /package/dist/{src/assets → assets}/Metropolis-Medium.woff2 +0 -0
  796. /package/dist/{src/assets → assets}/Metropolis-MediumItalic.woff2 +0 -0
  797. /package/dist/{src/assets → assets}/Metropolis-Regular.woff2 +0 -0
  798. /package/dist/{src/assets → assets}/Metropolis-RegularItalic.woff2 +0 -0
  799. /package/dist/{src/assets → assets}/Metropolis-SemiBold.woff2 +0 -0
  800. /package/dist/{src/assets → assets}/Metropolis-SemiBoldItalic.woff2 +0 -0
  801. /package/dist/{src/assets → assets}/Metropolis-Thin.woff2 +0 -0
  802. /package/dist/{src/assets → assets}/Metropolis-ThinItalic.woff2 +0 -0
  803. /package/dist/{src/assets → assets}/logo.png +0 -0
  804. /package/dist/{src/factories → factories}/AddressFactory.d.ts +0 -0
  805. /package/dist/{src/factories → factories}/EmergencyContactFactory.d.ts +0 -0
  806. /package/dist/{src/factories → factories}/OrganizationTagFactory.d.ts +0 -0
  807. /package/dist/{src/factories → factories}/ParentFactory.d.ts +0 -0
  808. /package/dist/{src/factories → factories}/PlatformEventTypeFactory.d.ts +0 -0
  809. /package/dist/{src/factories → factories}/PlatformResponsibilityFactory.d.ts +0 -0
  810. /package/dist/{src/factories → factories}/RecordFactory.d.ts +0 -0
  811. /package/dist/{src/factories → factories}/RegisterCodeFactory.d.ts +0 -0
  812. /package/dist/{src/factories → factories}/index.d.ts +0 -0
  813. /package/dist/{src/helpers → helpers}/Handlebars.d.ts +0 -0
  814. /package/dist/{src/helpers → helpers}/MemberMerger.d.ts +0 -0
  815. /package/dist/{src/helpers → helpers}/RateLimiter.d.ts +0 -0
  816. /package/dist/{src/index.d.ts → index.d.ts} +0 -0
  817. /package/dist/{src/migrations → migrations}/1593773929-create-initial-tables.sql +0 -0
  818. /package/dist/{src/migrations → migrations}/1605261999-gemeenten-tmp.sql +0 -0
  819. /package/dist/{src/migrations → migrations}/1605262045-import-postcodes.d.ts +0 -0
  820. /package/dist/{src/migrations → migrations}/1605262046-import-postcodes-nl.d.ts +0 -0
  821. /package/dist/{src/migrations → migrations}/1605279038-drop-gemeenten-tmp.sql +0 -0
  822. /package/dist/{src/migrations → migrations}/1708607340-tickets-deleted-at.sql +0 -0
  823. /package/dist/{src/migrations → migrations}/1710459176-register-code-invoices.sql +0 -0
  824. /package/dist/{src/migrations → migrations}/1712158247-discount-codes.sql +0 -0
  825. /package/dist/{src/migrations → migrations}/1713178665-drop-invites.sql +0 -0
  826. /package/dist/{src/migrations → migrations}/1713178666-drop-keychain.sql +0 -0
  827. /package/dist/{src/migrations → migrations}/1713178667-drop-challenges.sql +0 -0
  828. /package/dist/{src/migrations → migrations}/1713178668-drop-user-keys.sql +0 -0
  829. /package/dist/{src/migrations → migrations}/1713178669-drop-organization-key.sql +0 -0
  830. /package/dist/{src/migrations → migrations}/1714985451-user-nullable-organization-id.sql +0 -0
  831. /package/dist/{src/migrations → migrations}/1714985452-email-verification-code-nullable-organization-id.sql +0 -0
  832. /package/dist/{src/migrations → migrations}/1714985453-user-organization-permissions.sql +0 -0
  833. /package/dist/{src/migrations → migrations}/1714985454-user-organization-permissions.sql +0 -0
  834. /package/dist/{src/migrations → migrations}/1715079362-platform.sql +0 -0
  835. /package/dist/{src/migrations → migrations}/1715181649-registrations-organization-id.sql +0 -0
  836. /package/dist/{src/migrations → migrations}/1715181650-registrations-organization-id-fill.sql +0 -0
  837. /package/dist/{src/migrations → migrations}/1715181651-registrations-organization-id-drop-null.sql +0 -0
  838. /package/dist/{src/migrations → migrations}/1716117067-members-nullable-organization-id.sql +0 -0
  839. /package/dist/{src/migrations → migrations}/1719567581-registration-periods.sql +0 -0
  840. /package/dist/{src/migrations → migrations}/1719567582-organization-registration-periods.sql +0 -0
  841. /package/dist/{src/migrations → migrations}/1719567881-organization-periodId.sql +0 -0
  842. /package/dist/{src/migrations → migrations}/1719567882-groups-periodId.sql +0 -0
  843. /package/dist/{src/migrations → migrations}/1719567883-platform-periodId.sql +0 -0
  844. /package/dist/{src/migrations → migrations}/1719568079-default-period.sql +0 -0
  845. /package/dist/{src/migrations → migrations}/1719568080-set-default-period-platform.sql +0 -0
  846. /package/dist/{src/migrations → migrations}/1719568081-set-default-period-organizations.sql +0 -0
  847. /package/dist/{src/migrations → migrations}/1719568082-set-default-period-groups.sql +0 -0
  848. /package/dist/{src/migrations → migrations}/1719580828-registrations-periodId.sql +0 -0
  849. /package/dist/{src/migrations → migrations}/1719580829-set-default-period-registrations.sql +0 -0
  850. /package/dist/{src/migrations → migrations}/1719931362-groups-default-age-group-id.sql +0 -0
  851. /package/dist/{src/migrations → migrations}/1720080975-convert-charset.sql +0 -0
  852. /package/dist/{src/migrations → migrations}/1720080976-responsibilities.sql +0 -0
  853. /package/dist/{src/migrations → migrations}/1720088136-member-membership-types.sql +0 -0
  854. /package/dist/{src/migrations → migrations}/1720088137-member-membership-types-expire-date.sql +0 -0
  855. /package/dist/{src/migrations → migrations}/1720444931-organization-active.sql +0 -0
  856. /package/dist/{src/migrations → migrations}/1721050380-email-table.sql +0 -0
  857. /package/dist/{src/migrations → migrations}/1721050381-email-recipients-table.sql +0 -0
  858. /package/dist/{src/migrations → migrations}/1721342679-responsibility-groupId.sql +0 -0
  859. /package/dist/{src/migrations → migrations}/1721342680-responsibility-groupId-foreign-key.sql +0 -0
  860. /package/dist/{src/migrations → migrations}/1721400546-users-memberId.sql +0 -0
  861. /package/dist/{src/migrations → migrations}/1721639159-membership-deleted-at.sql +0 -0
  862. /package/dist/{src/migrations → migrations}/1721639160-membership-generated.sql +0 -0
  863. /package/dist/{src/migrations → migrations}/1721841819-group-type.sql +0 -0
  864. /package/dist/{src/migrations → migrations}/1722090482-events.sql +0 -0
  865. /package/dist/{src/migrations → migrations}/1722269236-group-waitinglist-id.sql +0 -0
  866. /package/dist/{src/migrations → migrations}/1722525785-balance-item-paying-organization-id.sql +0 -0
  867. /package/dist/{src/migrations → migrations}/1722525787-depending-balance-item.sql +0 -0
  868. /package/dist/{src/migrations → migrations}/1722845608-registration-stock-reservations.sql +0 -0
  869. /package/dist/{src/migrations → migrations}/1722845609-group-stock-reservations.sql +0 -0
  870. /package/dist/{src/migrations → migrations}/1722852362-stripe-intents-account-id.sql +0 -0
  871. /package/dist/{src/migrations → migrations}/1722852363-stripe-checkout-sessions-account-id.sql +0 -0
  872. /package/dist/{src/migrations → migrations}/1722959111-allow-multiple-registrations.sql +0 -0
  873. /package/dist/{src/migrations → migrations}/1722963554-registration-group-price-and-options.sql +0 -0
  874. /package/dist/{src/migrations → migrations}/1723202125-member-number.sql +0 -0
  875. /package/dist/{src/migrations → migrations}/1723202126-member-number-index.sql +0 -0
  876. /package/dist/{src/migrations → migrations}/1723218160-balance-item-unit-price.sql +0 -0
  877. /package/dist/{src/migrations → migrations}/1723218161-balance-item-amount.sql +0 -0
  878. /package/dist/{src/migrations → migrations}/1723218162-balance-item-type.sql +0 -0
  879. /package/dist/{src/migrations → migrations}/1723218163-balance-item-type-defaults.sql +0 -0
  880. /package/dist/{src/migrations → migrations}/1723218164-balance-item-relations.sql +0 -0
  881. /package/dist/{src/migrations → migrations}/1723652795-payments-paying-user-id.sql +0 -0
  882. /package/dist/{src/migrations → migrations}/1723652796-payments-paying-organization-id.sql +0 -0
  883. /package/dist/{src/migrations → migrations}/1723652797-payments-paying-organization-id-fk.sql +0 -0
  884. /package/dist/{src/migrations → migrations}/1723652798-payments-customer.sql +0 -0
  885. /package/dist/{src/migrations → migrations}/1723736282-merged-members.sql +0 -0
  886. /package/dist/{src/migrations → migrations}/1724076162-setup-steps.sql +0 -0
  887. /package/dist/{src/migrations → migrations}/1724156666-member-indexes.sql +0 -0
  888. /package/dist/{src/migrations → migrations}/1724156667-organization-tag-index.sql +0 -0
  889. /package/dist/{src/migrations → migrations}/1724256125-membership-balance-item-id.sql +0 -0
  890. /package/dist/{src/migrations → migrations}/1724256126-membership-balance-item-fk.sql +0 -0
  891. /package/dist/{src/migrations → migrations}/1724258844-membershipOrganizationId.sql +0 -0
  892. /package/dist/{src/migrations → migrations}/1724258845-membershipOrganizationId-fk.sql +0 -0
  893. /package/dist/{src/migrations → migrations}/1726054851-balance-item-price-pending.sql +0 -0
  894. /package/dist/{src/migrations → migrations}/1726054852-cached-outstanding-balances.sql +0 -0
  895. /package/dist/{src/migrations → migrations}/1726668114-maximum-free-amount.sql +0 -0
  896. /package/dist/{src/migrations → migrations}/1726668115-free-amount.sql +0 -0
  897. /package/dist/{src/migrations → migrations}/1726668116-price-without-discount.sql +0 -0
  898. /package/dist/{src/migrations → migrations}/1727947041-registration-record-answers.sql +0 -0
  899. /package/dist/{src/migrations → migrations}/1729251385-order-extra-filter-columns.sql +0 -0
  900. /package/dist/{src/migrations → migrations}/1732285080-audit-logs.sql +0 -0
  901. /package/dist/{src/migrations → migrations}/1733129611-clear-audit-logs.sql +0 -0
  902. /package/dist/{src/migrations → migrations}/1733129612-audit-logs-source.sql +0 -0
  903. /package/dist/{src/migrations → migrations}/1733317908-added-missing-organization-fk-on-registrations.sql +0 -0
  904. /package/dist/{src/migrations → migrations}/1733317909-paying-organization-id-registrations.sql +0 -0
  905. /package/dist/{src/migrations → migrations}/1733317910-paying-organization-id-fk.sql +0 -0
  906. /package/dist/{src/migrations → migrations}/1733410641-audit-log-external-id.sql +0 -0
  907. /package/dist/{src/migrations → migrations}/1733418667-desc-audit-log-primary-key.sql +0 -0
  908. /package/dist/{src/migrations → migrations}/1733909398-balance-items-due-at.sql +0 -0
  909. /package/dist/{src/migrations → migrations}/1733909399-recalculate-at.sql +0 -0
  910. /package/dist/{src/migrations → migrations}/1733994454-balance-item-price-open.sql +0 -0
  911. /package/dist/{src/migrations → migrations}/1734084689-payment-type.sql +0 -0
  912. /package/dist/{src/migrations → migrations}/1734084690-move-payment-column-order.sql +0 -0
  913. /package/dist/{src/migrations → migrations}/1734084691-fill-payment-type-refunds.sql +0 -0
  914. /package/dist/{src/migrations → migrations}/1734084692-fill-payment-type-reallocations.sql +0 -0
  915. /package/dist/{src/migrations → migrations}/1734429094-registration-trial-until.sql +0 -0
  916. /package/dist/{src/migrations → migrations}/1734429095-membership-trial-until.sql +0 -0
  917. /package/dist/{src/migrations → migrations}/1734535120-registration-period-previous-period-id.sql +0 -0
  918. /package/dist/{src/migrations → migrations}/1734535121-platform-previous-period-id.sql +0 -0
  919. /package/dist/{src/migrations → migrations}/1734626607-cached-balance-amount-open.sql +0 -0
  920. /package/dist/{src/migrations → migrations}/1734698906-cached-balance-amount-paid.sql +0 -0
  921. /package/dist/{src/migrations → migrations}/1735573520-emails-email-type.sql +0 -0
  922. /package/dist/{src/migrations → migrations}/1735573521-email-recipients-email-type.sql +0 -0
  923. /package/dist/{src/migrations → migrations}/1735573522-emails-indexes.sql +0 -0
  924. /package/dist/{src/migrations → migrations}/1735982691-cached-balance-email-reminder-counts.sql +0 -0
  925. /package/dist/{src/migrations → migrations}/1736850097-audit-logs-meta.sql +0 -0
  926. /package/dist/{src/migrations → migrations}/1736947931-platform-server-config.sql +0 -0
  927. /package/dist/{src/migrations → migrations}/1738922428-membership-locked.sql +0 -0
  928. /package/dist/{src/migrations → migrations}/1739017508-event-notifications.sql +0 -0
  929. /package/dist/{src/migrations → migrations}/1739017509-event-notifications-link.sql +0 -0
  930. /package/dist/{src/migrations → migrations}/1739282590-event-notifications-submitted-at.sql +0 -0
  931. /package/dist/{src/migrations → migrations}/1741954610-event-notifications-accepted-record-answers.sql +0 -0
  932. /package/dist/{src/migrations → migrations}/1742579832-audit-log-longer-object-size.sql +0 -0
  933. /package/dist/{src/migrations → migrations}/1747913433-registration-discounts.sql +0 -0
  934. /package/dist/{src/migrations → migrations}/1747996262-balance-items-paid-at.sql +0 -0
  935. /package/dist/{src/migrations → migrations}/1747996263-balance-items-paid-at-fill.sql +0 -0
  936. /package/dist/{src/migrations → migrations}/1751633220-create-uitpas-client-credentials.sql +0 -0
  937. /package/dist/{src/migrations → migrations}/1751970372-create-webshop-uitpas-numbers.sql +0 -0
  938. /package/dist/{src/migrations → migrations}/1752655335-events-webshop-id.sql +0 -0
  939. /package/dist/{src/migrations → migrations}/1752678047-confirmation-email.sql +0 -0
  940. /package/dist/{src/migrations → migrations}/1753363434-service-fees.sql +0 -0
  941. /package/dist/{src/migrations → migrations}/1753430415-update-webshop-uitpasnumbers.sql +0 -0
  942. /package/dist/{src/migrations → migrations}/1755529026-email-sender-id.sql +0 -0
  943. /package/dist/{src/migrations → migrations}/1755789797-email-counts-errors.sql +0 -0
  944. /package/dist/{src/migrations → migrations}/1755789798-email-recipient-errors.sql +0 -0
  945. /package/dist/{src/migrations → migrations}/1756115313-email-recipient-ids-and-errors.sql +0 -0
  946. /package/dist/{src/migrations → migrations}/1756115314-email-recipient-email-optional.sql +0 -0
  947. /package/dist/{src/migrations → migrations}/1756115315-email-recipients-count.sql +0 -0
  948. /package/dist/{src/migrations → migrations}/1756115316-email-cached-counts.sql +0 -0
  949. /package/dist/{src/migrations → migrations}/1756115317-email-deleted-at.sql +0 -0
  950. /package/dist/{src/migrations → migrations}/1756293494-registration-period-next-period-id.sql +0 -0
  951. /package/dist/{src/migrations → migrations}/1756293495-platform-next-period-id.sql +0 -0
  952. /package/dist/{src/migrations → migrations}/1756387016-registration-period-custom-name.sql +0 -0
  953. /package/dist/{src/migrations → migrations}/1756391212-email-recipients-duplicate.sql +0 -0
  954. /package/dist/{src/migrations → migrations}/1756821154-email-send-as-email.sql +0 -0
  955. /package/dist/{src/migrations → migrations}/1758034021-email-recipient-previous-error.sql +0 -0
  956. /package/dist/{src/migrations → migrations}/1760535508-update-cached-balances-object-id-unique-constraint.sql +0 -0
  957. /package/dist/{src/migrations → migrations}/1761750780-renamed-invoice-organization-id.sql +0 -0
  958. /package/dist/{src/migrations → migrations}/1761750781-rename-index.sql +0 -0
  959. /package/dist/{src/migrations → migrations}/1761750782-invoices-add-organization-id.sql +0 -0
  960. /package/dist/{src/migrations → migrations}/1761750783-invoices-organization-id-fk.sql +0 -0
  961. /package/dist/{src/migrations → migrations}/1762521336-did-send-peppol.sql +0 -0
  962. /package/dist/{src/migrations → migrations}/1763216321-multiply-balance-item-payments.sql +0 -0
  963. /package/dist/{src/migrations → migrations}/1763216322-multiply-balance-items.sql +0 -0
  964. /package/dist/{src/migrations → migrations}/1763216323-bigint-cached-balances.sql +0 -0
  965. /package/dist/{src/migrations → migrations}/1763216324-multiply-cached-balances.sql +0 -0
  966. /package/dist/{src/migrations → migrations}/1763216325-multiply-member-platform-memberships.sql +0 -0
  967. /package/dist/{src/migrations → migrations}/1763216326-multiply-payments.sql +0 -0
  968. /package/dist/{src/migrations → migrations}/1763216327-multiply-register-codes.sql +0 -0
  969. /package/dist/{src/migrations → migrations}/1763216328-multiply-credits.sql +0 -0
  970. /package/dist/{src/migrations → migrations}/1763216329-multiply-orders.sql +0 -0
  971. /package/dist/{src/migrations → migrations}/1763216330-multiply-uitpas-numbers.sql +0 -0
  972. /package/dist/{src/migrations → migrations}/1763216331-balance-item-vat-percentages.sql +0 -0
  973. /package/dist/{src/migrations → migrations}/1763216332-balance-item-price-total.sql +0 -0
  974. /package/dist/{src/migrations → migrations}/1763216333-balance-item-price-total-fill.sql +0 -0
  975. /package/dist/{src/migrations → migrations}/1765895470-document-year.sql +0 -0
  976. /package/dist/{src/migrations → migrations}/1766150401-document-published-at.sql +0 -0
  977. /package/dist/{src/migrations → migrations}/1766410598-registration-end-date.sql +0 -0
  978. /package/dist/{src/migrations → migrations}/1769087807-invoices-table.sql +0 -0
  979. /package/dist/{src/migrations → migrations}/1769087808-invoiced-balance-items-table.sql +0 -0
  980. /package/dist/{src/migrations → migrations}/1769087809-payments-invoice-id.sql +0 -0
  981. /package/dist/{src/migrations → migrations}/1769621227-payments-rounding-amount.sql +0 -0
  982. /package/dist/{src/migrations → migrations}/1770917406-create-cached-balances-global-index.sql +0 -0
  983. /package/dist/{src/migrations → migrations}/1770917407-create-member-name-ordering-index.sql +0 -0
  984. /package/dist/{src/migrations → migrations}/1770917408-create-member-name-ordering-index-desc.sql +0 -0
  985. /package/dist/{src/migrations → migrations}/1770917409-create-member-age-ordering-index.sql +0 -0
  986. /package/dist/{src/migrations → migrations}/1770917410-create-member-age-ordering-index-desc.sql +0 -0
  987. /package/dist/{src/migrations → migrations}/1770917411-drop-duplicate-member-indexes.sql +0 -0
  988. /package/dist/{src/migrations → migrations}/1771510518-events-index-organization-id-start-date.sql +0 -0
  989. /package/dist/{src/migrations → migrations}/1771918307-membership-active-filter-index.sql +0 -0
  990. /package/dist/{src/migrations → migrations}/1772033555-balance-item-package-id.sql +0 -0
  991. /package/dist/{src/migrations → migrations}/1772033715-balance-item-start-end-date.sql +0 -0
  992. /package/dist/{src/migrations → migrations}/data/postcodes/nl/Drenthe +0 -0
  993. /package/dist/{src/migrations → migrations}/data/postcodes/nl/Flevoland +0 -0
  994. /package/dist/{src/migrations → migrations}/data/postcodes/nl/Friesland +0 -0
  995. /package/dist/{src/migrations → migrations}/data/postcodes/nl/Gelderland +0 -0
  996. /package/dist/{src/migrations → migrations}/data/postcodes/nl/Groningen +0 -0
  997. /package/dist/{src/migrations → migrations}/data/postcodes/nl/Limburg +0 -0
  998. /package/dist/{src/migrations → migrations}/data/postcodes/nl/Noord-Brabant +0 -0
  999. /package/dist/{src/migrations → migrations}/data/postcodes/nl/Noord-Holland +0 -0
  1000. /package/dist/{src/migrations → migrations}/data/postcodes/nl/Overrijsel +0 -0
  1001. /package/dist/{src/migrations → migrations}/data/postcodes/nl/Utrecht +0 -0
  1002. /package/dist/{src/migrations → migrations}/data/postcodes/nl/Zeeland +0 -0
  1003. /package/dist/{src/migrations → migrations}/data/postcodes/nl/Zuid-Holland +0 -0
  1004. /package/dist/{src/models → models}/AuditLog.d.ts +0 -0
  1005. /package/dist/{src/models → models}/BuckarooPayment.d.ts +0 -0
  1006. /package/dist/{src/models → models}/EmailRecipient.d.ts +0 -0
  1007. /package/dist/{src/models → models}/Event.d.ts +0 -0
  1008. /package/dist/{src/models → models}/Invoice.d.ts +0 -0
  1009. /package/dist/{src/models → models}/MemberUser.d.ts +0 -0
  1010. /package/dist/{src/models → models}/MolliePayment.d.ts +0 -0
  1011. /package/dist/{src/models → models}/Platform.d.ts +0 -0
  1012. /package/dist/{src/models → models}/RegisterCode.d.ts +0 -0
  1013. /package/dist/{src/models → models}/RegistrationPeriod.d.ts +0 -0
  1014. /package/dist/{src/models → models}/STCredit.d.ts +0 -0
  1015. /package/dist/{src/models → models}/STPackage.d.ts +0 -0
  1016. /package/dist/{src/models → models}/StripeAccount.d.ts +0 -0
  1017. /package/dist/{src/models → models}/StripeCheckoutSession.d.ts +0 -0
  1018. /package/dist/{src/models → models}/StripePaymentIntent.d.ts +0 -0
  1019. /package/dist/{src/models → models}/UitpasClientCredential.d.ts +0 -0
  1020. /package/dist/{src/models → models}/UsedRegisterCode.d.ts +0 -0
  1021. /package/dist/{src/models → models}/WebshopDiscountCode.d.ts +0 -0
  1022. /package/dist/{src/models → models}/WebshopUitpasNumber.d.ts +0 -0
  1023. /package/dist/{src/models → models}/addresses/Street.d.ts +0 -0
  1024. /package/dist/{src/structures → structures}/OrganizationServerMetaData.d.ts +0 -0
@@ -1,1036 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const structures_1 = require("@stamhoofd/structures");
4
- const Email_js_1 = require("./Email.js");
5
- const EmailRecipient_js_1 = require("./EmailRecipient.js");
6
- const email_1 = require("@stamhoofd/email");
7
- const test_utils_1 = require("@stamhoofd/test-utils");
8
- const OrganizationFactory_js_1 = require("../factories/OrganizationFactory.js");
9
- const Platform_js_1 = require("./Platform.js");
10
- const index_js_1 = require("../factories/index.js");
11
- const CachedBalance_js_1 = require("./CachedBalance.js");
12
- const utility_1 = require("@stamhoofd/utility");
13
- async function buildEmail(data) {
14
- Email_js_1.Email.recipientLoaders.set(structures_1.EmailRecipientFilterType.Members, {
15
- fetch: async (query) => {
16
- return Promise.resolve(new structures_1.PaginatedResponse({
17
- results: data.recipients,
18
- next: undefined,
19
- }));
20
- },
21
- count: async (query) => {
22
- return data.recipients.length;
23
- },
24
- });
25
- const model = new Email_js_1.Email();
26
- model.userId = null;
27
- model.organizationId = data.organizationId ?? null;
28
- model.recipientFilter = structures_1.EmailRecipientFilter.create({
29
- filters: [
30
- structures_1.EmailRecipientSubfilter.create({
31
- type: structures_1.EmailRecipientFilterType.Members,
32
- filter: { id: { $in: ['test'] } },
33
- }),
34
- ],
35
- });
36
- model.subject = data.subject ?? 'This is a test email';
37
- model.html = data.html ?? '<p>This is a test email</p> {{unsubscribeUrl}}';
38
- model.text = data.text ?? 'This is a test email {{unsubscribeUrl}}';
39
- model.json = data.json ?? {};
40
- model.status = data.status ?? structures_1.EmailStatus.Draft;
41
- model.attachments = [];
42
- model.fromAddress = data.fromAddress ?? 'test@stamhoofd.be';
43
- model.fromName = data.fromName ?? null;
44
- model.emailType = data.emailType ?? null;
45
- await model.save();
46
- return model;
47
- }
48
- /**
49
- * An email that won't be able to fetch recipients
50
- */
51
- async function buildFailEmail(data) {
52
- Email_js_1.Email.recipientLoaders.set(structures_1.EmailRecipientFilterType.Members, {
53
- fetch: async (query) => {
54
- throw new Error('This is a simulated error while fetching recipients');
55
- },
56
- count: async (query) => {
57
- return data.recipients.length;
58
- },
59
- });
60
- const model = new Email_js_1.Email();
61
- model.userId = null;
62
- model.organizationId = data.organizationId ?? null;
63
- model.recipientFilter = structures_1.EmailRecipientFilter.create({
64
- filters: [
65
- structures_1.EmailRecipientSubfilter.create({
66
- type: structures_1.EmailRecipientFilterType.Members,
67
- filter: { id: { $in: ['test'] } },
68
- }),
69
- ],
70
- });
71
- model.subject = data.subject ?? 'This is a test email';
72
- model.html = data.html ?? '<p>This is a test email</p> {{unsubscribeUrl}}';
73
- model.text = data.text ?? 'This is a test email {{unsubscribeUrl}}';
74
- model.json = data.json ?? {};
75
- model.status = data.status ?? structures_1.EmailStatus.Draft;
76
- model.attachments = [];
77
- model.fromAddress = data.fromAddress ?? 'test@stamhoofd.be';
78
- model.fromName = data.fromName ?? null;
79
- model.emailType = data.emailType ?? null;
80
- await model.save();
81
- return model;
82
- }
83
- describe('Model.Email', () => {
84
- it('Correctly whitelists email recipients', async () => {
85
- test_utils_1.TestUtils.setEnvironment('WHITELISTED_EMAIL_DESTINATIONS', ['*@stamhoofd-allowed-domain-tests.be']);
86
- const model = await buildEmail({
87
- recipients: [
88
- structures_1.EmailRecipient.create({
89
- firstName: 'Test',
90
- lastName: 'Test',
91
- email: 'example@not-whitelisted-domain.be',
92
- }),
93
- structures_1.EmailRecipient.create({
94
- firstName: 'Test',
95
- lastName: 'Test',
96
- email: 'example2@stamhoofd-allowed-domain-tests.be',
97
- }),
98
- ],
99
- });
100
- await model.queueForSending(true);
101
- await model.refresh();
102
- // Check if it was sent correctly
103
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
104
- expect(model.emailRecipientsCount).toBe(2);
105
- expect(model.succeededCount).toBe(1);
106
- expect(model.failedCount).toBe(1);
107
- expect(model.emailErrors).toBe(null);
108
- expect(model.recipientsErrors).toBe(null);
109
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
110
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
111
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0); // never tried to send any failed emails (whitelist)
112
- // Load recipietns
113
- const recipients = await EmailRecipient_js_1.EmailRecipient.select().where('emailId', model.id).fetch();
114
- expect(recipients).toIncludeSameMembers([
115
- expect.objectContaining({
116
- email: 'example2@stamhoofd-allowed-domain-tests.be',
117
- sentAt: expect.any(Date),
118
- failCount: 0,
119
- failErrorMessage: null,
120
- firstFailedAt: null,
121
- lastFailedAt: null,
122
- }),
123
- expect.objectContaining({
124
- email: 'example@not-whitelisted-domain.be',
125
- sentAt: null,
126
- failCount: 1,
127
- failErrorMessage: 'All recipients are filtered due to environment',
128
- firstFailedAt: expect.any(Date),
129
- lastFailedAt: expect.any(Date),
130
- }),
131
- ]);
132
- }, 15_000);
133
- it('Retries emails on network errors', async () => {
134
- const model = await buildEmail({
135
- recipients: [
136
- structures_1.EmailRecipient.create({
137
- firstName: 'Test',
138
- lastName: 'Test',
139
- email: 'example@domain.be',
140
- }),
141
- structures_1.EmailRecipient.create({
142
- firstName: 'Test',
143
- lastName: 'Test',
144
- email: 'example2@domain.be',
145
- }),
146
- ],
147
- });
148
- // Only one failure (the first email)
149
- // It should automatically retry to send the email
150
- email_1.EmailMocker.broadcast.failNext(new Error('This is a simulated network error'));
151
- await model.queueForSending(true);
152
- await model.refresh();
153
- // Check if it was sent correctly
154
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
155
- expect(model.emailRecipientsCount).toBe(2);
156
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
157
- expect(model.succeededCount).toBe(2);
158
- expect(model.failedCount).toBe(0);
159
- expect(model.softFailedCount).toBe(0);
160
- // Both have succeeded
161
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(2);
162
- expect(await email_1.EmailMocker.getFailedCount()).toBe(1); // One retry
163
- // Load recipietns
164
- const recipients = await EmailRecipient_js_1.EmailRecipient.select().where('emailId', model.id).fetch();
165
- expect(recipients).toIncludeSameMembers([
166
- expect.objectContaining({
167
- email: 'example@domain.be',
168
- sentAt: expect.any(Date),
169
- failCount: 0,
170
- }),
171
- expect.objectContaining({
172
- email: 'example2@domain.be',
173
- sentAt: expect.any(Date),
174
- failCount: 0,
175
- }),
176
- ]);
177
- }, 15_000);
178
- it('Email changes to failed state if email recipients fails to build', async () => {
179
- const model = await buildFailEmail({
180
- recipients: [
181
- structures_1.EmailRecipient.create({
182
- firstName: 'Test',
183
- lastName: 'Test',
184
- email: 'example@domain.be',
185
- }),
186
- structures_1.EmailRecipient.create({
187
- firstName: 'Test',
188
- lastName: 'Test',
189
- email: 'example2@domain.be',
190
- }),
191
- ],
192
- });
193
- await expect(model.queueForSending(true)).toReject();
194
- await model.refresh();
195
- // Check if it was sent correctly
196
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.NotCreated);
197
- expect(model.recipientsErrors).toEqual(test_utils_1.STExpect.simpleErrors([{
198
- code: 'unknown_error',
199
- message: 'This is a simulated error while fetching recipients',
200
- }]));
201
- expect(model.emailRecipientsCount).toBe(null);
202
- expect(model.status).toBe(structures_1.EmailStatus.Failed);
203
- expect(model.succeededCount).toBe(0);
204
- expect(model.failedCount).toBe(0);
205
- expect(model.softFailedCount).toBe(0);
206
- // Both have succeeded
207
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(0);
208
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0); // One retry
209
- }, 15_000);
210
- it('Marks email recipient as failed if fails three times', async () => {
211
- const model = await buildEmail({
212
- recipients: [
213
- structures_1.EmailRecipient.create({
214
- firstName: 'Test',
215
- lastName: 'Test',
216
- email: 'example@domain.be',
217
- }),
218
- structures_1.EmailRecipient.create({
219
- firstName: 'Test',
220
- lastName: 'Test',
221
- email: 'example2@domain.be',
222
- }),
223
- ],
224
- });
225
- email_1.EmailMocker.broadcast.failNext(new Error('This is a simulated network error 1'));
226
- email_1.EmailMocker.broadcast.failNext(new Error('This is a simulated network error 2'));
227
- email_1.EmailMocker.broadcast.failNext(new Error('This is a simulated network error 3'));
228
- email_1.EmailMocker.broadcast.failNext(new Error('This is a simulated network error 4'));
229
- email_1.EmailMocker.broadcast.failNext(new Error('This is a simulated network error 5'));
230
- email_1.EmailMocker.broadcast.failNext(new Error('This is a simulated network error 6'));
231
- await model.queueForSending(true);
232
- await model.refresh();
233
- // Check if it was sent correctly
234
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
235
- expect(model.emailRecipientsCount).toBe(2);
236
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
237
- expect(model.succeededCount).toBe(0);
238
- expect(model.failedCount).toBe(2);
239
- expect(model.softFailedCount).toBe(0);
240
- // Both have succeeded
241
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(0);
242
- expect(await email_1.EmailMocker.getFailedCount()).toBe(6); // Two retries for each recipient
243
- // Load recipietns
244
- const recipients = await EmailRecipient_js_1.EmailRecipient.select().where('emailId', model.id).fetch();
245
- expect(recipients).toIncludeSameMembers([
246
- expect.objectContaining({
247
- email: 'example@domain.be',
248
- sentAt: null,
249
- failCount: 1,
250
- failError: test_utils_1.STExpect.simpleErrors([{
251
- message: /This is a simulated network error (3|4|5|6)/,
252
- }]),
253
- firstFailedAt: expect.any(Date),
254
- lastFailedAt: expect.any(Date),
255
- }),
256
- expect.objectContaining({
257
- email: 'example2@domain.be',
258
- sentAt: null,
259
- failCount: 1,
260
- failError: test_utils_1.STExpect.simpleErrors([{
261
- message: /This is a simulated network error (3|4|5|6)/,
262
- }]),
263
- firstFailedAt: expect.any(Date),
264
- lastFailedAt: expect.any(Date),
265
- }),
266
- ]);
267
- }, 15_000);
268
- it('Can handle recipients without name', async () => {
269
- const model = await buildEmail({
270
- recipients: [
271
- structures_1.EmailRecipient.create({
272
- email: 'example@domain.be',
273
- }),
274
- ],
275
- });
276
- await model.queueForSending(true);
277
- await model.refresh();
278
- // Check if it was sent correctly
279
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
280
- expect(model.emailRecipientsCount).toBe(1);
281
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
282
- expect(model.succeededCount).toBe(1);
283
- expect(model.failedCount).toBe(0);
284
- expect(model.softFailedCount).toBe(0);
285
- // Both have succeeded
286
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
287
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
288
- // Load recipietns
289
- const recipients = await EmailRecipient_js_1.EmailRecipient.select().where('emailId', model.id).fetch();
290
- expect(recipients).toIncludeSameMembers([
291
- expect.objectContaining({
292
- email: 'example@domain.be',
293
- sentAt: expect.any(Date),
294
- failCount: 0,
295
- }),
296
- ]);
297
- // Check to header
298
- expect(email_1.EmailMocker.getSucceededEmail(0).to).toEqual('example@domain.be');
299
- }, 15_000);
300
- it('Includes recipient names in mail header', async () => {
301
- const model = await buildEmail({
302
- recipients: [
303
- structures_1.EmailRecipient.create({
304
- firstName: 'John',
305
- lastName: 'Von Doe',
306
- email: 'example@domain.be',
307
- }),
308
- ],
309
- });
310
- await model.queueForSending(true);
311
- await model.refresh();
312
- // Check if it was sent correctly
313
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
314
- expect(model.emailRecipientsCount).toBe(1);
315
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
316
- expect(model.succeededCount).toBe(1);
317
- expect(model.failedCount).toBe(0);
318
- expect(model.softFailedCount).toBe(0);
319
- // Both have succeeded
320
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
321
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
322
- // Load recipietns
323
- const recipients = await EmailRecipient_js_1.EmailRecipient.select().where('emailId', model.id).fetch();
324
- expect(recipients).toIncludeSameMembers([
325
- expect.objectContaining({
326
- firstName: 'John',
327
- lastName: 'Von Doe',
328
- email: 'example@domain.be',
329
- sentAt: expect.any(Date),
330
- failCount: 0,
331
- }),
332
- ]);
333
- // Check to header
334
- expect(email_1.EmailMocker.getSucceededEmail(0).to).toEqual('"John Von Doe" <example@domain.be>');
335
- }, 15_000);
336
- it('Skips invalid email addresses', async () => {
337
- const model = await buildEmail({
338
- recipients: [
339
- structures_1.EmailRecipient.create({
340
- firstName: 'John',
341
- lastName: 'Von Doe',
342
- email: 'invalid',
343
- }),
344
- ],
345
- });
346
- await model.queueForSending(true);
347
- await model.refresh();
348
- // Check if it was sent correctly
349
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
350
- expect(model.emailRecipientsCount).toBe(1);
351
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
352
- expect(model.succeededCount).toBe(0);
353
- expect(model.failedCount).toBe(1);
354
- expect(model.softFailedCount).toBe(0);
355
- // Both have succeeded
356
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(0);
357
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
358
- // Load recipietns
359
- const recipients = await EmailRecipient_js_1.EmailRecipient.select().where('emailId', model.id).fetch();
360
- expect(recipients).toIncludeSameMembers([
361
- expect.objectContaining({
362
- firstName: 'John',
363
- lastName: 'Von Doe',
364
- email: 'invalid',
365
- failCount: 1,
366
- failError: test_utils_1.STExpect.simpleErrors([{
367
- code: 'invalid_email_address',
368
- message: 'Invalid email address',
369
- }]),
370
- firstFailedAt: expect.any(Date),
371
- lastFailedAt: expect.any(Date),
372
- }),
373
- ]);
374
- }, 15_000);
375
- it('Skips empty email addresses while creating recipients', async () => {
376
- const model = await buildEmail({
377
- recipients: [
378
- structures_1.EmailRecipient.create({
379
- firstName: '',
380
- lastName: '',
381
- email: '',
382
- }),
383
- structures_1.EmailRecipient.create({
384
- firstName: '',
385
- lastName: '',
386
- email: 'valid@example.com',
387
- }),
388
- ],
389
- });
390
- await model.queueForSending(true);
391
- await model.refresh();
392
- // Check if it was sent correctly
393
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
394
- expect(model.emailRecipientsCount).toBe(1);
395
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
396
- expect(model.succeededCount).toBe(1);
397
- expect(model.failedCount).toBe(0);
398
- expect(model.softFailedCount).toBe(0);
399
- // Both have succeeded
400
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
401
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
402
- // Load recipietns
403
- const recipients = await EmailRecipient_js_1.EmailRecipient.select().where('emailId', model.id).fetch();
404
- expect(recipients).toIncludeSameMembers([
405
- expect.objectContaining({
406
- email: 'valid@example.com',
407
- sentAt: expect.any(Date),
408
- failError: null,
409
- }),
410
- ]);
411
- }, 15_000);
412
- it('Platform can send from default domain', async () => {
413
- test_utils_1.TestUtils.setEnvironment('domains', {
414
- ...STAMHOOFD.domains,
415
- defaultTransactionalEmail: {
416
- '': 'my-platform.com',
417
- },
418
- defaultBroadcastEmail: {
419
- '': 'broadcast.my-platform.com',
420
- },
421
- });
422
- const model = await buildEmail({
423
- recipients: [
424
- structures_1.EmailRecipient.create({
425
- email: 'example@domain.be',
426
- }),
427
- ],
428
- fromAddress: 'info@my-platform.com',
429
- fromName: 'My Platform',
430
- });
431
- await model.queueForSending(true);
432
- await model.refresh();
433
- // Check if it was sent correctly
434
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
435
- expect(model.emailRecipientsCount).toBe(1);
436
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
437
- expect(model.succeededCount).toBe(1);
438
- expect(model.failedCount).toBe(0);
439
- expect(model.softFailedCount).toBe(0);
440
- // Both have succeeded
441
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
442
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
443
- // Check to header
444
- expect(email_1.EmailMocker.getSucceededEmail(0)).toMatchObject({
445
- to: 'example@domain.be',
446
- from: '"My Platform" <info@my-platform.com>',
447
- replyTo: undefined,
448
- });
449
- }, 15_000);
450
- it('Platform cannot send from unsupported domain', async () => {
451
- test_utils_1.TestUtils.setEnvironment('domains', {
452
- ...STAMHOOFD.domains,
453
- defaultTransactionalEmail: {
454
- '': 'my-platform.com',
455
- },
456
- defaultBroadcastEmail: {
457
- '': 'broadcast.my-platform.com',
458
- },
459
- });
460
- const model = await buildEmail({
461
- recipients: [
462
- structures_1.EmailRecipient.create({
463
- email: 'example@domain.be',
464
- }),
465
- ],
466
- fromAddress: 'info@other-platform.com',
467
- fromName: 'My Platform',
468
- });
469
- await model.queueForSending(true);
470
- await model.refresh();
471
- // Check if it was sent correctly
472
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
473
- expect(model.emailRecipientsCount).toBe(1);
474
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
475
- expect(model.succeededCount).toBe(1);
476
- expect(model.failedCount).toBe(0);
477
- expect(model.softFailedCount).toBe(0);
478
- // Both have succeeded
479
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
480
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
481
- // Check to header
482
- expect(email_1.EmailMocker.getSucceededEmail(0)).toMatchObject({
483
- to: 'example@domain.be',
484
- from: '"My Platform" <noreply@broadcast.my-platform.com>', // domain has changed here
485
- replyTo: '"My Platform" <info@other-platform.com>', // Reply to should be set
486
- });
487
- }, 15_000);
488
- it('Organization cannot send from platform domain', async () => {
489
- test_utils_1.TestUtils.setEnvironment('domains', {
490
- ...STAMHOOFD.domains,
491
- defaultTransactionalEmail: {
492
- '': 'my-platform.com',
493
- },
494
- defaultBroadcastEmail: {
495
- '': 'broadcast.my-platform.com',
496
- },
497
- });
498
- const organization = await new OrganizationFactory_js_1.OrganizationFactory({
499
- uri: 'uritest',
500
- }).create();
501
- const model = await buildEmail({
502
- organizationId: organization.id,
503
- recipients: [
504
- structures_1.EmailRecipient.create({
505
- email: 'example@domain.be',
506
- }),
507
- ],
508
- fromAddress: 'info@my-platform.com',
509
- fromName: 'My Platform',
510
- });
511
- await model.queueForSending(true);
512
- await model.refresh();
513
- // Check if it was sent correctly
514
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
515
- expect(model.emailRecipientsCount).toBe(1);
516
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
517
- expect(model.succeededCount).toBe(1);
518
- expect(model.failedCount).toBe(0);
519
- expect(model.softFailedCount).toBe(0);
520
- // Both have succeeded
521
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
522
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
523
- // Check to header
524
- expect(email_1.EmailMocker.getSucceededEmail(0)).toMatchObject({
525
- to: 'example@domain.be',
526
- from: '"My Platform" <noreply-uritest@broadcast.my-platform.com>', // domain has changed here
527
- replyTo: '"My Platform" <info@my-platform.com>', // Reply to should be set
528
- });
529
- }, 15_000);
530
- it('Organization can send from platform domain if default membership organization', async () => {
531
- test_utils_1.TestUtils.setEnvironment('domains', {
532
- ...STAMHOOFD.domains,
533
- defaultTransactionalEmail: {
534
- '': 'my-platform.com',
535
- },
536
- defaultBroadcastEmail: {
537
- '': 'broadcast.my-platform.com',
538
- },
539
- });
540
- const organization = await new OrganizationFactory_js_1.OrganizationFactory({}).create();
541
- const platform = await Platform_js_1.Platform.getForEditing();
542
- platform.membershipOrganizationId = organization.id;
543
- await platform.save();
544
- const model = await buildEmail({
545
- organizationId: organization.id,
546
- recipients: [
547
- structures_1.EmailRecipient.create({
548
- email: 'example@domain.be',
549
- }),
550
- ],
551
- fromAddress: 'info@my-platform.com',
552
- fromName: 'My Platform',
553
- });
554
- await model.queueForSending(true);
555
- await model.refresh();
556
- // Check if it was sent correctly
557
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
558
- expect(model.emailRecipientsCount).toBe(1);
559
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
560
- expect(model.succeededCount).toBe(1);
561
- expect(model.failedCount).toBe(0);
562
- expect(model.softFailedCount).toBe(0);
563
- // Both have succeeded
564
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
565
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
566
- // Check to header
567
- expect(email_1.EmailMocker.getSucceededEmail(0)).toMatchObject({
568
- to: 'example@domain.be',
569
- from: '"My Platform" <info@my-platform.com>', // domain has changed here
570
- replyTo: undefined,
571
- });
572
- }, 15_000);
573
- describe('Replacements', () => {
574
- it('[Regression] When sending an email the organization fromAddress is replaced to the reply-to if it is not allowed to be sent from', async () => {
575
- test_utils_1.TestUtils.setEnvironment('domains', {
576
- ...STAMHOOFD.domains,
577
- defaultTransactionalEmail: {
578
- '': 'my-platform.com',
579
- },
580
- defaultBroadcastEmail: {
581
- '': 'broadcast.my-platform.com',
582
- },
583
- });
584
- const organization = await new OrganizationFactory_js_1.OrganizationFactory({}).create();
585
- const model = await buildEmail({
586
- organizationId: organization.id,
587
- recipients: [
588
- structures_1.EmailRecipient.create({
589
- email: 'example@domain.be',
590
- }),
591
- ],
592
- fromAddress: 'custom@customdomain.com',
593
- fromName: 'Custom Name',
594
- html: '{{fromAddress}}',
595
- text: '{{fromAddress}}',
596
- subject: '{{fromAddress}}',
597
- emailType: 'system-test', // Makes sure we don't need to include unsubscribeUrl
598
- });
599
- await model.queueForSending(true);
600
- await model.refresh();
601
- // Check if it was sent correctly
602
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
603
- expect(model.emailRecipientsCount).toBe(1);
604
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
605
- // Both have succeeded
606
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
607
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
608
- // Check to header
609
- expect(email_1.EmailMocker.getSucceededEmail(0)).toMatchObject({
610
- to: 'example@domain.be',
611
- from: '"Custom Name" <noreply-' + organization.uri + '@broadcast.my-platform.com>',
612
- replyTo: '"Custom Name" <custom@customdomain.com>', // domain has changed here
613
- subject: 'custom@customdomain.com',
614
- html: 'custom@customdomain.com',
615
- text: 'custom@customdomain.com',
616
- });
617
- }, 15_000);
618
- it('Default organization replacements work as expected', async () => {
619
- test_utils_1.TestUtils.setEnvironment('domains', {
620
- ...STAMHOOFD.domains,
621
- defaultTransactionalEmail: {
622
- '': 'my-platform.com',
623
- },
624
- defaultBroadcastEmail: {
625
- '': 'broadcast.my-platform.com',
626
- },
627
- });
628
- const brightYellow = '#FFD700';
629
- const expectedContrastColor = '#000'; // black
630
- const organization = await new OrganizationFactory_js_1.OrganizationFactory({
631
- meta: structures_1.OrganizationMetaData.create({
632
- color: brightYellow,
633
- }),
634
- }).create();
635
- const model = await buildEmail({
636
- organizationId: organization.id,
637
- recipients: [
638
- structures_1.EmailRecipient.create({
639
- email: 'example@domain.be',
640
- }),
641
- ],
642
- fromAddress: 'custom@customdomain.com',
643
- html: '{{primaryColor}};{{primaryColorContrast}};{{organizationName}};{{fromName}}',
644
- text: '{{primaryColor}};{{primaryColorContrast}};{{organizationName}};{{fromName}}',
645
- subject: '{{primaryColor}};{{primaryColorContrast}};{{organizationName}};{{fromName}}',
646
- emailType: 'system-test', // Makes sure we don't need to include unsubscribeUrl
647
- });
648
- await model.queueForSending(true);
649
- await model.refresh();
650
- // Check if it was sent correctly
651
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
652
- expect(model.emailRecipientsCount).toBe(1);
653
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
654
- // Both have succeeded
655
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
656
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
657
- // Check to header
658
- expect(email_1.EmailMocker.getSucceededEmail(0)).toMatchObject({
659
- subject: `${brightYellow};${expectedContrastColor};${organization.name};${organization.name}`,
660
- html: `${brightYellow};${expectedContrastColor};${organization.name};${organization.name}`,
661
- text: `${brightYellow};${expectedContrastColor};${organization.name};${organization.name}`,
662
- });
663
- }, 15_000);
664
- it('Organization replacements default to platform replacements if not set', async () => {
665
- test_utils_1.TestUtils.setEnvironment('domains', {
666
- ...STAMHOOFD.domains,
667
- defaultTransactionalEmail: {
668
- '': 'my-platform.com',
669
- },
670
- defaultBroadcastEmail: {
671
- '': 'broadcast.my-platform.com',
672
- },
673
- });
674
- const brightBlue = '#0000FF';
675
- const expectedContrastColor = '#fff'; // white
676
- const platform = await Platform_js_1.Platform.getForEditing();
677
- platform.config.color = brightBlue;
678
- await platform.save();
679
- const organization = await new OrganizationFactory_js_1.OrganizationFactory({
680
- meta: structures_1.OrganizationMetaData.create({
681
- color: null,
682
- }),
683
- }).create();
684
- const model = await buildEmail({
685
- organizationId: organization.id,
686
- recipients: [
687
- structures_1.EmailRecipient.create({
688
- email: 'example@domain.be',
689
- }),
690
- ],
691
- fromAddress: 'custom@customdomain.com',
692
- fromName: 'Custom Name',
693
- html: '{{primaryColor}};{{primaryColorContrast}};{{organizationName}};{{fromName}}',
694
- text: '{{primaryColor}};{{primaryColorContrast}};{{organizationName}};{{fromName}}',
695
- subject: '{{primaryColor}};{{primaryColorContrast}};{{organizationName}};{{fromName}}',
696
- emailType: 'system-test', // Makes sure we don't need to include unsubscribeUrl
697
- });
698
- await model.queueForSending(true);
699
- await model.refresh();
700
- // Check if it was sent correctly
701
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
702
- expect(model.emailRecipientsCount).toBe(1);
703
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
704
- // Both have succeeded
705
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
706
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
707
- // Check to header
708
- expect(email_1.EmailMocker.getSucceededEmail(0)).toMatchObject({
709
- subject: `${brightBlue};${expectedContrastColor};${organization.name};Custom Name`,
710
- html: `${brightBlue};${expectedContrastColor};${organization.name};Custom Name`,
711
- text: `${brightBlue};${expectedContrastColor};${organization.name};Custom Name`,
712
- });
713
- }, 15_000);
714
- it('Platform replacements are used for platform level emails', async () => {
715
- test_utils_1.TestUtils.setEnvironment('domains', {
716
- ...STAMHOOFD.domains,
717
- defaultTransactionalEmail: {
718
- '': 'my-platform.com',
719
- },
720
- defaultBroadcastEmail: {
721
- '': 'broadcast.my-platform.com',
722
- },
723
- });
724
- const darkRed = '#8B0000';
725
- const expectedContrastColor = '#fff'; // white
726
- const platform = await Platform_js_1.Platform.getForEditing();
727
- platform.config.color = darkRed;
728
- await platform.save();
729
- const model = await buildEmail({
730
- recipients: [
731
- structures_1.EmailRecipient.create({
732
- email: 'example@domain.be',
733
- }),
734
- ],
735
- fromAddress: 'custom@customdomain.com',
736
- html: '{{primaryColor}};{{primaryColorContrast}};{{organizationName}};{{fromName}}',
737
- text: '{{primaryColor}};{{primaryColorContrast}};{{organizationName}};{{fromName}}',
738
- subject: '{{primaryColor}};{{primaryColorContrast}};{{organizationName}};{{fromName}}',
739
- emailType: 'system-test', // Makes sure we don't need to include unsubscribeUrl
740
- });
741
- await model.queueForSending(true);
742
- await model.refresh();
743
- // Check if it was sent correctly
744
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
745
- expect(model.emailRecipientsCount).toBe(1);
746
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
747
- // Both have succeeded
748
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
749
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
750
- // Check to header
751
- expect(email_1.EmailMocker.getSucceededEmail(0)).toMatchObject({
752
- subject: `${darkRed};${expectedContrastColor};${platform.config.name};${platform.config.name}`,
753
- html: `${darkRed};${expectedContrastColor};${platform.config.name};${platform.config.name}`,
754
- text: `${darkRed};${expectedContrastColor};${platform.config.name};${platform.config.name}`,
755
- });
756
- }, 15_000);
757
- describe('User based replacements', () => {
758
- it('The balance is added for existing users', async () => {
759
- test_utils_1.TestUtils.setEnvironment('domains', {
760
- ...STAMHOOFD.domains,
761
- defaultTransactionalEmail: {
762
- '': 'my-platform.com',
763
- },
764
- defaultBroadcastEmail: {
765
- '': 'broadcast.my-platform.com',
766
- },
767
- });
768
- const organization = await new OrganizationFactory_js_1.OrganizationFactory({}).create();
769
- const existingUser = await new index_js_1.UserFactory({
770
- organization,
771
- }).create();
772
- // Add outstanding balance items for this user
773
- const balanceItem = await new index_js_1.BalanceItemFactory({
774
- userId: existingUser.id,
775
- organizationId: organization.id,
776
- type: structures_1.BalanceItemType.Other,
777
- amount: 2,
778
- unitPrice: 12_99,
779
- description: 'Test balance item',
780
- }).create();
781
- await CachedBalance_js_1.CachedBalance.updateForUsers(organization.id, [existingUser.id]);
782
- const model = await buildEmail({
783
- organizationId: organization.id,
784
- recipients: [
785
- structures_1.EmailRecipient.create({
786
- email: existingUser.email,
787
- userId: existingUser.id,
788
- }),
789
- ],
790
- fromAddress: 'custom@customdomain.com',
791
- html: '<p>{{outstandingBalance}}</p>{{balanceTable}}',
792
- subject: '{{outstandingBalance}}',
793
- emailType: 'system-test', // Makes sure we don't need to include unsubscribeUrl
794
- });
795
- await model.queueForSending(true);
796
- await model.refresh();
797
- // Check if it was sent correctly
798
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
799
- expect(model.emailRecipientsCount).toBe(1);
800
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
801
- // Both have succeeded
802
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
803
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
804
- const expectedAmount = utility_1.Formatter.price(balanceItem.unitPrice * balanceItem.amount);
805
- // Check to header
806
- expect(email_1.EmailMocker.getSucceededEmail(0)).toMatchObject({
807
- subject: `${expectedAmount}`,
808
- });
809
- expect(email_1.EmailMocker.getSucceededEmail(0).html).toInclude('<p>' + expectedAmount + '</p>');
810
- expect(email_1.EmailMocker.getSucceededEmail(0).text).toInclude(expectedAmount);
811
- // Check if the table is correct
812
- expect(email_1.EmailMocker.getSucceededEmail(0).html).toInclude('<table');
813
- expect(email_1.EmailMocker.getSucceededEmail(0).html).toInclude('2 x '); // amount
814
- expect(email_1.EmailMocker.getSucceededEmail(0).html).toInclude(utility_1.Formatter.price(12_99)); // unit price
815
- expect(email_1.EmailMocker.getSucceededEmail(0).html).toInclude('<td>' + expectedAmount); // total price in table
816
- expect(email_1.EmailMocker.getSucceededEmail(0).html).toInclude('Test balance item'); // description
817
- expect(email_1.EmailMocker.getSucceededEmail(0).text).toInclude('2 x '); // amount
818
- expect(email_1.EmailMocker.getSucceededEmail(0).text).toInclude(utility_1.Formatter.price(12_99)); // unit price
819
- expect(email_1.EmailMocker.getSucceededEmail(0).text).toInclude(expectedAmount); // total price in table
820
- expect(email_1.EmailMocker.getSucceededEmail(0).text?.toLowerCase()).toInclude('test balance item'); // description
821
- }, 15_000);
822
- it('The balance is zero for unknown users', async () => {
823
- test_utils_1.TestUtils.setEnvironment('domains', {
824
- ...STAMHOOFD.domains,
825
- defaultTransactionalEmail: {
826
- '': 'my-platform.com',
827
- },
828
- defaultBroadcastEmail: {
829
- '': 'broadcast.my-platform.com',
830
- },
831
- });
832
- const organization = await new OrganizationFactory_js_1.OrganizationFactory({}).create();
833
- const model = await buildEmail({
834
- organizationId: organization.id,
835
- recipients: [
836
- structures_1.EmailRecipient.create({
837
- email: 'unknown-user@example.com',
838
- }),
839
- ],
840
- fromAddress: 'custom@customdomain.com',
841
- html: '<p>{{outstandingBalance}}</p>{{balanceTable}}',
842
- subject: '{{outstandingBalance}}',
843
- emailType: 'system-test', // Makes sure we don't need to include unsubscribeUrl
844
- });
845
- await model.queueForSending(true);
846
- await model.refresh();
847
- // Check if it was sent correctly
848
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
849
- expect(model.emailRecipientsCount).toBe(1);
850
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
851
- // Both have succeeded
852
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
853
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
854
- const expectedAmount = utility_1.Formatter.price(0);
855
- // Check to header
856
- expect(email_1.EmailMocker.getSucceededEmail(0)).toMatchObject({
857
- subject: `${expectedAmount}`,
858
- });
859
- expect(email_1.EmailMocker.getSucceededEmail(0).html).toInclude('<p>' + expectedAmount + '</p>');
860
- expect(email_1.EmailMocker.getSucceededEmail(0).text).toInclude(expectedAmount);
861
- // Check if the table is correct
862
- expect(email_1.EmailMocker.getSucceededEmail(0).html).not.toInclude('<table');
863
- expect(email_1.EmailMocker.getSucceededEmail(0).html).not.toInclude(' x '); // amount
864
- expect(email_1.EmailMocker.getSucceededEmail(0).html).toInclude('<p class="description">' + $t('%hX') + '</p>');
865
- expect(email_1.EmailMocker.getSucceededEmail(0).text).not.toInclude(' x '); // amount
866
- expect(email_1.EmailMocker.getSucceededEmail(0).text?.toLowerCase()).toInclude($t('%hX').toLowerCase());
867
- }, 15_000);
868
- it('loginDetails are added for existing users without password', async () => {
869
- test_utils_1.TestUtils.setEnvironment('domains', {
870
- ...STAMHOOFD.domains,
871
- defaultTransactionalEmail: {
872
- '': 'my-platform.com',
873
- },
874
- defaultBroadcastEmail: {
875
- '': 'broadcast.my-platform.com',
876
- },
877
- });
878
- const organization = await new OrganizationFactory_js_1.OrganizationFactory({}).create();
879
- const existingUser = await new index_js_1.UserFactory({
880
- organization,
881
- password: null,
882
- }).create();
883
- const model = await buildEmail({
884
- organizationId: organization.id,
885
- recipients: [
886
- structures_1.EmailRecipient.create({
887
- email: existingUser.email,
888
- userId: existingUser.id,
889
- }),
890
- ],
891
- fromAddress: 'custom@customdomain.com',
892
- html: '{{loginDetails}}',
893
- emailType: 'system-test', // Makes sure we don't need to include unsubscribeUrl
894
- });
895
- await model.queueForSending(true);
896
- await model.refresh();
897
- // Check if it was sent correctly
898
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
899
- expect(model.emailRecipientsCount).toBe(1);
900
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
901
- // Both have succeeded
902
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
903
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
904
- expect(email_1.EmailMocker.getSucceededEmail(0).html).toInclude($t('%1EB', { email: existingUser.email }));
905
- expect(email_1.EmailMocker.getSucceededEmail(0).text).toInclude($t('%1EB', { email: existingUser.email }));
906
- }, 15_000);
907
- it('loginDetails are added for inexisting users', async () => {
908
- test_utils_1.TestUtils.setEnvironment('domains', {
909
- ...STAMHOOFD.domains,
910
- defaultTransactionalEmail: {
911
- '': 'my-platform.com',
912
- },
913
- defaultBroadcastEmail: {
914
- '': 'broadcast.my-platform.com',
915
- },
916
- });
917
- const organization = await new OrganizationFactory_js_1.OrganizationFactory({}).create();
918
- const model = await buildEmail({
919
- organizationId: organization.id,
920
- recipients: [
921
- structures_1.EmailRecipient.create({
922
- email: 'unknown@example.com',
923
- }),
924
- ],
925
- fromAddress: 'custom@customdomain.com',
926
- html: '{{loginDetails}}',
927
- emailType: 'system-test', // Makes sure we don't need to include unsubscribeUrl
928
- });
929
- await model.queueForSending(true);
930
- await model.refresh();
931
- // Check if it was sent correctly
932
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
933
- expect(model.emailRecipientsCount).toBe(1);
934
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
935
- // Both have succeeded
936
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
937
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
938
- expect(email_1.EmailMocker.getSucceededEmail(0).html).toInclude($t('%1EB', { email: 'unknown@example.com' }));
939
- expect(email_1.EmailMocker.getSucceededEmail(0).text).toInclude($t('%1EB', { email: 'unknown@example.com' }));
940
- }, 15_000);
941
- it('loginDetails are added for existing users with password', async () => {
942
- test_utils_1.TestUtils.setEnvironment('domains', {
943
- ...STAMHOOFD.domains,
944
- defaultTransactionalEmail: {
945
- '': 'my-platform.com',
946
- },
947
- defaultBroadcastEmail: {
948
- '': 'broadcast.my-platform.com',
949
- },
950
- });
951
- const organization = await new OrganizationFactory_js_1.OrganizationFactory({}).create();
952
- const existingUser = await new index_js_1.UserFactory({
953
- organization,
954
- password: 'existing',
955
- }).create();
956
- const model = await buildEmail({
957
- organizationId: organization.id,
958
- recipients: [
959
- structures_1.EmailRecipient.create({
960
- email: existingUser.email,
961
- userId: existingUser.id,
962
- }),
963
- ],
964
- fromAddress: 'custom@customdomain.com',
965
- html: '{{loginDetails}}',
966
- emailType: 'system-test', // Makes sure we don't need to include unsubscribeUrl
967
- });
968
- await model.queueForSending(true);
969
- await model.refresh();
970
- // Check if it was sent correctly
971
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
972
- expect(model.emailRecipientsCount).toBe(1);
973
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
974
- // Both have succeeded
975
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
976
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
977
- expect(email_1.EmailMocker.getSucceededEmail(0).html).toInclude($t('%1EA', { email: existingUser.email }));
978
- expect(email_1.EmailMocker.getSucceededEmail(0).text).toInclude($t('%1EA', { email: existingUser.email }));
979
- }, 15_000);
980
- it('loginDetails include member security keys for existing users without password', async () => {
981
- test_utils_1.TestUtils.setEnvironment('userMode', 'platform');
982
- test_utils_1.TestUtils.setEnvironment('domains', {
983
- ...STAMHOOFD.domains,
984
- defaultTransactionalEmail: {
985
- '': 'my-platform.com',
986
- },
987
- defaultBroadcastEmail: {
988
- '': 'broadcast.my-platform.com',
989
- },
990
- });
991
- const organization = await new OrganizationFactory_js_1.OrganizationFactory({}).create();
992
- const existingUser = await new index_js_1.UserFactory({
993
- organization,
994
- password: null,
995
- }).create();
996
- const member = await new index_js_1.MemberFactory({
997
- organization,
998
- user: existingUser,
999
- }).create();
1000
- member.details.securityCode = '123456790123456'; // 16 chars
1001
- await member.save();
1002
- // Add a linked member
1003
- const model = await buildEmail({
1004
- organizationId: organization.id,
1005
- recipients: [
1006
- structures_1.EmailRecipient.create({
1007
- email: existingUser.email,
1008
- userId: existingUser.id,
1009
- }),
1010
- ],
1011
- fromAddress: 'custom@customdomain.com',
1012
- html: '{{loginDetails}}',
1013
- emailType: 'system-test', // Makes sure we don't need to include unsubscribeUrl
1014
- });
1015
- await model.queueForSending(true);
1016
- await model.refresh();
1017
- // Check if it was sent correctly
1018
- expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
1019
- expect(model.emailRecipientsCount).toBe(1);
1020
- expect(model.status).toBe(structures_1.EmailStatus.Sent);
1021
- // Both have succeeded
1022
- expect(await email_1.EmailMocker.getSucceededCount()).toBe(1);
1023
- expect(await email_1.EmailMocker.getFailedCount()).toBe(0);
1024
- expect(email_1.EmailMocker.getSucceededEmail(0).html).toInclude($t('%1EC', {
1025
- firstName: utility_1.Formatter.escapeHtml(member.firstName),
1026
- securityCode: `<span class="style-inline-code">${utility_1.Formatter.escapeHtml(utility_1.Formatter.spaceString(member.details.securityCode ?? '', 4, '-'))}</span>`,
1027
- }));
1028
- expect(email_1.EmailMocker.getSucceededEmail(0).text).toInclude($t('%1EC', {
1029
- firstName: member.firstName,
1030
- securityCode: utility_1.Formatter.spaceString(member.details.securityCode ?? '', 4, '-'),
1031
- }));
1032
- }, 15_000);
1033
- });
1034
- });
1035
- });
1036
- //# sourceMappingURL=Email.test.js.map