@stamhoofd/models 2.39.0 → 2.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/dist/src/factories/AddressFactory.d.ts +3 -4
  2. package/dist/src/factories/AddressFactory.d.ts.map +1 -1
  3. package/dist/src/factories/AddressFactory.js +13 -13
  4. package/dist/src/factories/EmergencyContactFactory.d.ts +3 -4
  5. package/dist/src/factories/EmergencyContactFactory.d.ts.map +1 -1
  6. package/dist/src/factories/EmergencyContactFactory.js +27 -27
  7. package/dist/src/factories/EmergencyContactFactory.js.map +1 -1
  8. package/dist/src/factories/GroupFactory.d.ts +4 -4
  9. package/dist/src/factories/GroupFactory.d.ts.map +1 -1
  10. package/dist/src/factories/GroupFactory.js +8 -8
  11. package/dist/src/factories/GroupFactory.js.map +1 -1
  12. package/dist/src/factories/MemberFactory.d.ts +4 -4
  13. package/dist/src/factories/MemberFactory.d.ts.map +1 -1
  14. package/dist/src/factories/MemberFactory.js +17 -17
  15. package/dist/src/factories/MemberFactory.js.map +1 -1
  16. package/dist/src/factories/OrganizationFactory.d.ts +4 -4
  17. package/dist/src/factories/OrganizationFactory.js +8 -8
  18. package/dist/src/factories/OrganizationFactory.js.map +1 -1
  19. package/dist/src/factories/ParentFactory.d.ts +1 -1
  20. package/dist/src/factories/ParentFactory.js +19 -19
  21. package/dist/src/factories/ParentFactory.js.map +1 -1
  22. package/dist/src/factories/RecordFactory.d.ts +2 -3
  23. package/dist/src/factories/RecordFactory.d.ts.map +1 -1
  24. package/dist/src/factories/RecordFactory.js +1 -1
  25. package/dist/src/factories/RecordFactory.js.map +1 -1
  26. package/dist/src/factories/RegisterCodeFactory.d.ts +2 -2
  27. package/dist/src/factories/RegisterCodeFactory.d.ts.map +1 -1
  28. package/dist/src/factories/RegisterCodeFactory.js +2 -2
  29. package/dist/src/factories/RegistrationFactory.d.ts +3 -3
  30. package/dist/src/factories/RegistrationFactory.d.ts.map +1 -1
  31. package/dist/src/factories/RegistrationFactory.js.map +1 -1
  32. package/dist/src/factories/RegistrationPeriodFactory.d.ts +2 -2
  33. package/dist/src/factories/RegistrationPeriodFactory.js.map +1 -1
  34. package/dist/src/factories/UserFactory.d.ts +3 -3
  35. package/dist/src/factories/UserFactory.d.ts.map +1 -1
  36. package/dist/src/factories/UserFactory.js +3 -3
  37. package/dist/src/factories/UserFactory.js.map +1 -1
  38. package/dist/src/factories/WebshopFactory.d.ts +4 -4
  39. package/dist/src/factories/WebshopFactory.d.ts.map +1 -1
  40. package/dist/src/factories/WebshopFactory.js +1 -1
  41. package/dist/src/factories/WebshopFactory.js.map +1 -1
  42. package/dist/src/helpers/DNSValidator.d.ts +1 -1
  43. package/dist/src/helpers/DNSValidator.d.ts.map +1 -1
  44. package/dist/src/helpers/DNSValidator.js +33 -33
  45. package/dist/src/helpers/DNSValidator.js.map +1 -1
  46. package/dist/src/helpers/EmailBuilder.d.ts +10 -10
  47. package/dist/src/helpers/EmailBuilder.d.ts.map +1 -1
  48. package/dist/src/helpers/EmailBuilder.js +34 -34
  49. package/dist/src/helpers/EmailBuilder.js.map +1 -1
  50. package/dist/src/helpers/GroupBuilder.d.ts.map +1 -1
  51. package/dist/src/helpers/GroupBuilder.js +57 -57
  52. package/dist/src/helpers/GroupBuilder.js.map +1 -1
  53. package/dist/src/helpers/Handlebars.d.ts.map +1 -1
  54. package/dist/src/helpers/Handlebars.js +29 -29
  55. package/dist/src/helpers/Handlebars.js.map +1 -1
  56. package/dist/src/helpers/MemberMerger.d.ts +1 -1
  57. package/dist/src/helpers/MemberMerger.d.ts.map +1 -1
  58. package/dist/src/helpers/MemberMerger.js +33 -33
  59. package/dist/src/helpers/MemberMerger.js.map +1 -1
  60. package/dist/src/helpers/MemberMerger.test.js +194 -194
  61. package/dist/src/helpers/MemberMerger.test.js.map +1 -1
  62. package/dist/src/helpers/RateLimiter.d.ts.map +1 -1
  63. package/dist/src/helpers/RateLimiter.js +2 -2
  64. package/dist/src/helpers/RateLimiter.js.map +1 -1
  65. package/dist/src/helpers/SetupStepsUpdater.d.ts +22 -0
  66. package/dist/src/helpers/SetupStepsUpdater.d.ts.map +1 -0
  67. package/dist/src/helpers/SetupStepsUpdater.js +255 -0
  68. package/dist/src/helpers/SetupStepsUpdater.js.map +1 -0
  69. package/dist/src/helpers/WebshopCounter.d.ts +1 -1
  70. package/dist/src/helpers/WebshopCounter.d.ts.map +1 -1
  71. package/dist/src/helpers/WebshopCounter.js +1 -1
  72. package/dist/src/helpers/WebshopCounter.js.map +1 -1
  73. package/dist/src/helpers/WebshopCounter.test.js +6 -6
  74. package/dist/src/helpers/WebshopCounter.test.js.map +1 -1
  75. package/dist/src/index.d.ts +20 -19
  76. package/dist/src/index.d.ts.map +1 -1
  77. package/dist/src/index.js +1 -0
  78. package/dist/src/index.js.map +1 -1
  79. package/dist/src/migrations/1605262045-import-postcodes.js +12 -12
  80. package/dist/src/migrations/1605262046-import-postcodes-nl.js +10 -10
  81. package/dist/src/models/BalanceItem.d.ts.map +1 -1
  82. package/dist/src/models/BalanceItem.js +37 -37
  83. package/dist/src/models/BalanceItem.js.map +1 -1
  84. package/dist/src/models/BalanceItemPayment.d.ts.map +1 -1
  85. package/dist/src/models/BalanceItemPayment.js +13 -13
  86. package/dist/src/models/BalanceItemPayment.js.map +1 -1
  87. package/dist/src/models/BuckarooPayment.d.ts +1 -1
  88. package/dist/src/models/BuckarooPayment.d.ts.map +1 -1
  89. package/dist/src/models/BuckarooPayment.js +5 -5
  90. package/dist/src/models/BuckarooPayment.js.map +1 -1
  91. package/dist/src/models/CachedOutstandingBalance.d.ts.map +1 -1
  92. package/dist/src/models/CachedOutstandingBalance.js +37 -37
  93. package/dist/src/models/CachedOutstandingBalance.js.map +1 -1
  94. package/dist/src/models/Document.d.ts +4 -4
  95. package/dist/src/models/Document.d.ts.map +1 -1
  96. package/dist/src/models/Document.js +27 -27
  97. package/dist/src/models/Document.js.map +1 -1
  98. package/dist/src/models/DocumentTemplate.d.ts +4 -4
  99. package/dist/src/models/DocumentTemplate.d.ts.map +1 -1
  100. package/dist/src/models/DocumentTemplate.js +72 -72
  101. package/dist/src/models/DocumentTemplate.js.map +1 -1
  102. package/dist/src/models/Email.d.ts.map +1 -1
  103. package/dist/src/models/Email.js +63 -64
  104. package/dist/src/models/Email.js.map +1 -1
  105. package/dist/src/models/EmailRecipient.d.ts.map +1 -1
  106. package/dist/src/models/EmailRecipient.js +20 -20
  107. package/dist/src/models/EmailRecipient.js.map +1 -1
  108. package/dist/src/models/EmailTemplate.d.ts +3 -3
  109. package/dist/src/models/EmailTemplate.d.ts.map +1 -1
  110. package/dist/src/models/EmailTemplate.js +16 -16
  111. package/dist/src/models/EmailTemplate.js.map +1 -1
  112. package/dist/src/models/EmailVerificationCode.d.ts +2 -2
  113. package/dist/src/models/EmailVerificationCode.d.ts.map +1 -1
  114. package/dist/src/models/EmailVerificationCode.js +57 -55
  115. package/dist/src/models/EmailVerificationCode.js.map +1 -1
  116. package/dist/src/models/Event.d.ts +2 -2
  117. package/dist/src/models/Event.d.ts.map +1 -1
  118. package/dist/src/models/Event.js +15 -15
  119. package/dist/src/models/Event.js.map +1 -1
  120. package/dist/src/models/Group.d.ts +3 -1
  121. package/dist/src/models/Group.d.ts.map +1 -1
  122. package/dist/src/models/Group.js +46 -35
  123. package/dist/src/models/Group.js.map +1 -1
  124. package/dist/src/models/Image.d.ts +1 -1
  125. package/dist/src/models/Image.d.ts.map +1 -1
  126. package/dist/src/models/Image.js +26 -26
  127. package/dist/src/models/Image.js.map +1 -1
  128. package/dist/src/models/Member.d.ts +8 -8
  129. package/dist/src/models/Member.d.ts.map +1 -1
  130. package/dist/src/models/Member.js +60 -60
  131. package/dist/src/models/Member.js.map +1 -1
  132. package/dist/src/models/MemberPlatformMembership.d.ts +3 -3
  133. package/dist/src/models/MemberPlatformMembership.d.ts.map +1 -1
  134. package/dist/src/models/MemberPlatformMembership.js +26 -26
  135. package/dist/src/models/MemberPlatformMembership.js.map +1 -1
  136. package/dist/src/models/MemberResponsibilityRecord.d.ts.map +1 -1
  137. package/dist/src/models/MemberResponsibilityRecord.js +13 -13
  138. package/dist/src/models/MemberResponsibilityRecord.js.map +1 -1
  139. package/dist/src/models/MergedMember.d.ts +3 -3
  140. package/dist/src/models/MergedMember.d.ts.map +1 -1
  141. package/dist/src/models/MergedMember.js +19 -19
  142. package/dist/src/models/MergedMember.js.map +1 -1
  143. package/dist/src/models/MolliePayment.d.ts +1 -1
  144. package/dist/src/models/MolliePayment.d.ts.map +1 -1
  145. package/dist/src/models/MolliePayment.js +5 -5
  146. package/dist/src/models/MolliePayment.js.map +1 -1
  147. package/dist/src/models/MollieToken.d.ts.map +1 -1
  148. package/dist/src/models/MollieToken.js +60 -60
  149. package/dist/src/models/MollieToken.js.map +1 -1
  150. package/dist/src/models/OneTimeToken.d.ts +2 -2
  151. package/dist/src/models/OneTimeToken.d.ts.map +1 -1
  152. package/dist/src/models/OneTimeToken.js +13 -13
  153. package/dist/src/models/OneTimeToken.js.map +1 -1
  154. package/dist/src/models/Order.d.ts +1 -1
  155. package/dist/src/models/Order.d.ts.map +1 -1
  156. package/dist/src/models/Order.js +70 -70
  157. package/dist/src/models/Order.js.map +1 -1
  158. package/dist/src/models/Organization.d.ts +5 -5
  159. package/dist/src/models/Organization.d.ts.map +1 -1
  160. package/dist/src/models/Organization.js +127 -127
  161. package/dist/src/models/Organization.js.map +1 -1
  162. package/dist/src/models/OrganizationRegistrationPeriod.d.ts.map +1 -1
  163. package/dist/src/models/OrganizationRegistrationPeriod.js +15 -15
  164. package/dist/src/models/OrganizationRegistrationPeriod.js.map +1 -1
  165. package/dist/src/models/PasswordToken.d.ts +3 -3
  166. package/dist/src/models/PasswordToken.d.ts.map +1 -1
  167. package/dist/src/models/PasswordToken.js +17 -17
  168. package/dist/src/models/PasswordToken.js.map +1 -1
  169. package/dist/src/models/PayconiqPayment.d.ts +1 -1
  170. package/dist/src/models/PayconiqPayment.d.ts.map +1 -1
  171. package/dist/src/models/PayconiqPayment.js +49 -49
  172. package/dist/src/models/PayconiqPayment.js.map +1 -1
  173. package/dist/src/models/Payment.d.ts +3 -3
  174. package/dist/src/models/Payment.d.ts.map +1 -1
  175. package/dist/src/models/Payment.js +36 -36
  176. package/dist/src/models/Payment.js.map +1 -1
  177. package/dist/src/models/Platform.d.ts +2 -2
  178. package/dist/src/models/Platform.d.ts.map +1 -1
  179. package/dist/src/models/Platform.js +8 -8
  180. package/dist/src/models/Platform.js.map +1 -1
  181. package/dist/src/models/RegisterCode.d.ts +1 -1
  182. package/dist/src/models/RegisterCode.d.ts.map +1 -1
  183. package/dist/src/models/RegisterCode.js +11 -11
  184. package/dist/src/models/RegisterCode.js.map +1 -1
  185. package/dist/src/models/Registration.d.ts +1 -1
  186. package/dist/src/models/Registration.d.ts.map +1 -1
  187. package/dist/src/models/Registration.js +88 -88
  188. package/dist/src/models/Registration.js.map +1 -1
  189. package/dist/src/models/RegistrationPeriod.d.ts.map +1 -1
  190. package/dist/src/models/RegistrationPeriod.js +12 -12
  191. package/dist/src/models/RegistrationPeriod.js.map +1 -1
  192. package/dist/src/models/STCredit.d.ts +1 -1
  193. package/dist/src/models/STCredit.d.ts.map +1 -1
  194. package/dist/src/models/STCredit.js +12 -12
  195. package/dist/src/models/STCredit.js.map +1 -1
  196. package/dist/src/models/STInvoice.d.ts +1 -1
  197. package/dist/src/models/STInvoice.d.ts.map +1 -1
  198. package/dist/src/models/STInvoice.js +16 -16
  199. package/dist/src/models/STInvoice.js.map +1 -1
  200. package/dist/src/models/STPackage.d.ts +1 -1
  201. package/dist/src/models/STPackage.d.ts.map +1 -1
  202. package/dist/src/models/STPackage.js +39 -39
  203. package/dist/src/models/STPackage.js.map +1 -1
  204. package/dist/src/models/STPendingInvoice.d.ts +1 -1
  205. package/dist/src/models/STPendingInvoice.d.ts.map +1 -1
  206. package/dist/src/models/STPendingInvoice.js +11 -11
  207. package/dist/src/models/STPendingInvoice.js.map +1 -1
  208. package/dist/src/models/StripeAccount.d.ts.map +1 -1
  209. package/dist/src/models/StripeAccount.js +13 -13
  210. package/dist/src/models/StripeAccount.js.map +1 -1
  211. package/dist/src/models/StripeCheckoutSession.d.ts +1 -1
  212. package/dist/src/models/StripeCheckoutSession.d.ts.map +1 -1
  213. package/dist/src/models/StripeCheckoutSession.js +7 -7
  214. package/dist/src/models/StripeCheckoutSession.js.map +1 -1
  215. package/dist/src/models/StripePaymentIntent.d.ts +1 -1
  216. package/dist/src/models/StripePaymentIntent.d.ts.map +1 -1
  217. package/dist/src/models/StripePaymentIntent.js +7 -7
  218. package/dist/src/models/StripePaymentIntent.js.map +1 -1
  219. package/dist/src/models/Ticket.d.ts +2 -2
  220. package/dist/src/models/Ticket.d.ts.map +1 -1
  221. package/dist/src/models/Ticket.js +23 -23
  222. package/dist/src/models/Ticket.js.map +1 -1
  223. package/dist/src/models/Token.d.ts +3 -3
  224. package/dist/src/models/Token.d.ts.map +1 -1
  225. package/dist/src/models/Token.js +27 -27
  226. package/dist/src/models/Token.js.map +1 -1
  227. package/dist/src/models/Token.test.js +11 -11
  228. package/dist/src/models/UsedRegisterCode.d.ts +1 -1
  229. package/dist/src/models/UsedRegisterCode.d.ts.map +1 -1
  230. package/dist/src/models/UsedRegisterCode.js +10 -10
  231. package/dist/src/models/UsedRegisterCode.js.map +1 -1
  232. package/dist/src/models/User.d.ts +4 -4
  233. package/dist/src/models/User.d.ts.map +1 -1
  234. package/dist/src/models/User.js +53 -51
  235. package/dist/src/models/User.js.map +1 -1
  236. package/dist/src/models/UserPermissions.d.ts +3 -3
  237. package/dist/src/models/UserPermissions.d.ts.map +1 -1
  238. package/dist/src/models/UserPermissions.js +12 -12
  239. package/dist/src/models/UserPermissions.js.map +1 -1
  240. package/dist/src/models/Webshop.d.ts +1 -1
  241. package/dist/src/models/Webshop.d.ts.map +1 -1
  242. package/dist/src/models/Webshop.js +23 -23
  243. package/dist/src/models/Webshop.js.map +1 -1
  244. package/dist/src/models/WebshopDiscountCode.d.ts +1 -1
  245. package/dist/src/models/WebshopDiscountCode.d.ts.map +1 -1
  246. package/dist/src/models/WebshopDiscountCode.js +16 -16
  247. package/dist/src/models/WebshopDiscountCode.js.map +1 -1
  248. package/dist/src/models/addresses/City.d.ts.map +1 -1
  249. package/dist/src/models/addresses/City.js +9 -9
  250. package/dist/src/models/addresses/City.js.map +1 -1
  251. package/dist/src/models/addresses/PostalCode.d.ts.map +1 -1
  252. package/dist/src/models/addresses/PostalCode.js +11 -11
  253. package/dist/src/models/addresses/PostalCode.js.map +1 -1
  254. package/dist/src/models/addresses/PostalCode.test.js +22 -22
  255. package/dist/src/models/addresses/PostalCode.test.js.map +1 -1
  256. package/dist/src/models/addresses/Province.d.ts.map +1 -1
  257. package/dist/src/models/addresses/Province.js +5 -5
  258. package/dist/src/models/addresses/Province.js.map +1 -1
  259. package/dist/src/models/addresses/Street.d.ts.map +1 -1
  260. package/dist/src/models/addresses/Street.js +6 -6
  261. package/dist/src/models/addresses/Street.js.map +1 -1
  262. package/dist/src/models/index.d.ts +46 -46
  263. package/dist/src/models/index.d.ts.map +1 -1
  264. package/dist/src/models/index.js +0 -1
  265. package/dist/src/models/index.js.map +1 -1
  266. package/dist/src/structures/OrganizationServerMetaData.d.ts.map +1 -1
  267. package/dist/src/structures/OrganizationServerMetaData.js +4 -4
  268. package/dist/src/structures/OrganizationServerMetaData.js.map +1 -1
  269. package/dist/tests/jest.global.setup.d.ts.map +1 -1
  270. package/dist/tests/jest.global.setup.js +15 -13
  271. package/dist/tests/jest.global.setup.js.map +1 -1
  272. package/dist/tests/jest.setup.js +3 -1
  273. package/dist/tests/jest.setup.js.map +1 -1
  274. package/dist/tsconfig.tsbuildinfo +1 -0
  275. package/package.json +3 -3
  276. package/src/factories/AddressFactory.ts +17 -17
  277. package/src/factories/EmergencyContactFactory.ts +30 -31
  278. package/src/factories/GroupFactory.ts +30 -30
  279. package/src/factories/MemberFactory.ts +41 -38
  280. package/src/factories/OrganizationFactory.ts +15 -15
  281. package/src/factories/ParentFactory.ts +24 -24
  282. package/src/factories/RecordFactory.ts +5 -4
  283. package/src/factories/RegisterCodeFactory.ts +7 -7
  284. package/src/factories/RegistrationFactory.ts +16 -16
  285. package/src/factories/RegistrationPeriodFactory.ts +5 -5
  286. package/src/factories/UserFactory.ts +20 -19
  287. package/src/factories/WebshopFactory.ts +14 -14
  288. package/src/helpers/DNSValidator.ts +89 -84
  289. package/src/helpers/EmailBuilder.ts +141 -135
  290. package/src/helpers/GroupBuilder.ts +181 -181
  291. package/src/helpers/Handlebars.ts +57 -54
  292. package/src/helpers/MemberMerger.test.ts +702 -702
  293. package/src/helpers/MemberMerger.ts +83 -77
  294. package/src/helpers/RateLimiter.ts +25 -27
  295. package/src/helpers/SetupStepsUpdater.ts +402 -0
  296. package/src/helpers/WebshopCounter.test.ts +12 -12
  297. package/src/helpers/WebshopCounter.ts +20 -19
  298. package/src/index.ts +20 -19
  299. package/src/migrations/1605262045-import-postcodes.ts +59 -63
  300. package/src/migrations/1605262046-import-postcodes-nl.ts +41 -43
  301. package/src/models/BalanceItem.ts +173 -172
  302. package/src/models/BalanceItemPayment.ts +32 -33
  303. package/src/models/BuckarooPayment.ts +7 -7
  304. package/src/models/CachedOutstandingBalance.ts +98 -99
  305. package/src/models/Document.ts +90 -87
  306. package/src/models/DocumentTemplate.ts +207 -198
  307. package/src/models/Email.ts +198 -200
  308. package/src/models/EmailRecipient.ts +38 -39
  309. package/src/models/EmailTemplate.ts +36 -37
  310. package/src/models/EmailVerificationCode.ts +146 -142
  311. package/src/models/Event.ts +53 -53
  312. package/src/models/Group.ts +136 -123
  313. package/src/models/Image.ts +48 -48
  314. package/src/models/Member.ts +277 -275
  315. package/src/models/MemberPlatformMembership.ts +71 -71
  316. package/src/models/MemberResponsibilityRecord.ts +32 -32
  317. package/src/models/MergedMember.ts +77 -77
  318. package/src/models/MolliePayment.ts +7 -7
  319. package/src/models/MollieToken.ts +131 -126
  320. package/src/models/OneTimeToken.ts +40 -39
  321. package/src/models/Order.ts +379 -372
  322. package/src/models/Organization.ts +332 -325
  323. package/src/models/OrganizationRegistrationPeriod.ts +50 -50
  324. package/src/models/PasswordToken.ts +42 -42
  325. package/src/models/PayconiqPayment.ts +80 -76
  326. package/src/models/Payment.ts +86 -86
  327. package/src/models/Platform.ts +21 -22
  328. package/src/models/RegisterCode.ts +26 -26
  329. package/src/models/Registration.ts +167 -168
  330. package/src/models/RegistrationPeriod.ts +29 -29
  331. package/src/models/STCredit.ts +24 -25
  332. package/src/models/STInvoice.ts +34 -34
  333. package/src/models/STPackage.ts +143 -136
  334. package/src/models/STPendingInvoice.ts +26 -26
  335. package/src/models/StripeAccount.ts +27 -27
  336. package/src/models/StripeCheckoutSession.ts +10 -10
  337. package/src/models/StripePaymentIntent.ts +10 -10
  338. package/src/models/Ticket.ts +51 -52
  339. package/src/models/Token.test.ts +13 -13
  340. package/src/models/Token.ts +64 -63
  341. package/src/models/UsedRegisterCode.ts +20 -21
  342. package/src/models/User.ts +148 -144
  343. package/src/models/UserPermissions.ts +25 -28
  344. package/src/models/Webshop.ts +53 -53
  345. package/src/models/WebshopDiscountCode.ts +33 -33
  346. package/src/models/addresses/City.ts +12 -12
  347. package/src/models/addresses/PostalCode.test.ts +68 -69
  348. package/src/models/addresses/PostalCode.ts +57 -57
  349. package/src/models/addresses/Province.ts +8 -8
  350. package/src/models/addresses/Street.ts +10 -12
  351. package/src/models/index.ts +54 -55
  352. package/src/structures/OrganizationServerMetaData.ts +36 -36
@@ -15,7 +15,7 @@ const EmailBuilder_1 = require("../helpers/EmailBuilder");
15
15
  const OrganizationServerMetaData_1 = require("../structures/OrganizationServerMetaData");
16
16
  const _1 = require("./");
17
17
  class Organization extends simple_database_1.Model {
18
- static table = "organizations";
18
+ static table = 'organizations';
19
19
  id;
20
20
  name;
21
21
  /// URL to a website page or a Facebook page (including http)
@@ -48,7 +48,7 @@ class Organization extends simple_database_1.Model {
48
48
  * Return default locale confiruation
49
49
  */
50
50
  get i18n() {
51
- return new backend_i18n_1.I18n("nl", this.address.country);
51
+ return new backend_i18n_1.I18n('nl', this.address.country);
52
52
  }
53
53
  /**
54
54
  * Makes sure empty name is replaced with organization name
@@ -69,18 +69,18 @@ class Organization extends simple_database_1.Model {
69
69
  static async getByEmail(email) {
70
70
  if (email.startsWith('noreply-')) {
71
71
  // Trim
72
- email = email.substring("noreply-".length);
72
+ email = email.substring('noreply-'.length);
73
73
  }
74
74
  for (const domain of [
75
75
  ...Object.values(STAMHOOFD.domains.defaultBroadcastEmail ?? {}),
76
76
  ...Object.values(STAMHOOFD.domains.defaultTransactionalEmail ?? {}),
77
77
  ]) {
78
- if (email.endsWith("@" + domain)) {
79
- const uri = email.substring(0, email.length - ("@" + domain).length);
78
+ if (email.endsWith('@' + domain)) {
79
+ const uri = email.substring(0, email.length - ('@' + domain).length);
80
80
  return await Organization.getByURI(uri);
81
81
  }
82
82
  }
83
- const at = email.indexOf("@");
83
+ const at = email.indexOf('@');
84
84
  const domain = email.substring(at + 1);
85
85
  const [rows] = await simple_database_1.Database.select(`SELECT ${this.getDefaultSelect()} FROM ${this.table} WHERE privateMeta->"$.value.mailDomain" = ? LIMIT 1`, [domain]);
86
86
  if (rows.length == 0) {
@@ -117,23 +117,23 @@ class Organization extends simple_database_1.Model {
117
117
  const splitted = host.split('.');
118
118
  if (splitted.length < 2) {
119
119
  throw new simple_errors_1.SimpleError({
120
- code: "invalid_host",
121
- message: "Please specify the organization in the hostname",
120
+ code: 'invalid_host',
121
+ message: 'Please specify the organization in the hostname',
122
122
  });
123
123
  }
124
124
  const id = splitted[0];
125
125
  const organization = await this.getByID(id);
126
126
  if (!organization) {
127
127
  throw new simple_errors_1.SimpleError({
128
- code: "invalid_organization",
129
- message: "No organization known for host " + host,
128
+ code: 'invalid_organization',
129
+ message: 'No organization known for host ' + host,
130
130
  });
131
131
  }
132
132
  if (!organization.active && !options?.allowInactive) {
133
133
  throw new simple_errors_1.SimpleError({
134
- code: "archived",
135
- message: "This organization is archived",
136
- human: 'Deze groep is gearchiveerd'
134
+ code: 'archived',
135
+ message: 'This organization is archived',
136
+ human: 'Deze groep is gearchiveerd',
137
137
  });
138
138
  }
139
139
  return organization;
@@ -144,8 +144,8 @@ class Organization extends simple_database_1.Model {
144
144
  getHost(i18n) {
145
145
  if (this.registerDomain) {
146
146
  let d = this.registerDomain;
147
- if (i18n && i18n.language != this.i18n.language) {
148
- d += "/" + i18n.language;
147
+ if (i18n && i18n.language !== this.i18n.language) {
148
+ d += '/' + i18n.language;
149
149
  }
150
150
  return d;
151
151
  }
@@ -155,21 +155,21 @@ class Organization extends simple_database_1.Model {
155
155
  if (!STAMHOOFD.domains.registration) {
156
156
  return STAMHOOFD.domains.dashboard + '/' + (i18n?.locale ?? this.i18n.locale) + '/leden/' + this.uri;
157
157
  }
158
- let defaultDomain = STAMHOOFD.domains.registration[this.address.country] ?? STAMHOOFD.domains.registration[""];
159
- if (i18n && i18n.language != this.i18n.language) {
160
- defaultDomain += "/" + i18n.language;
158
+ let defaultDomain = STAMHOOFD.domains.registration[this.address.country] ?? STAMHOOFD.domains.registration[''];
159
+ if (i18n && i18n.language !== this.i18n.language) {
160
+ defaultDomain += '/' + i18n.language;
161
161
  }
162
- return this.uri + "." + defaultDomain;
162
+ return this.uri + '.' + defaultDomain;
163
163
  }
164
164
  get marketingDomain() {
165
- return STAMHOOFD.domains.marketing[this.address.country] ?? STAMHOOFD.domains.marketing[""];
165
+ return STAMHOOFD.domains.marketing[this.address.country] ?? STAMHOOFD.domains.marketing[''];
166
166
  }
167
167
  getApiHost() {
168
168
  const defaultDomain = STAMHOOFD.domains.api;
169
169
  if (!defaultDomain) {
170
- throw new Error("Missing hostname in environment");
170
+ throw new Error('Missing hostname in environment');
171
171
  }
172
- return this.id + "." + defaultDomain;
172
+ return this.id + '.' + defaultDomain;
173
173
  }
174
174
  _cachedPeriod;
175
175
  async getPeriod() {
@@ -218,13 +218,13 @@ class Organization extends simple_database_1.Model {
218
218
  // Check initial status
219
219
  let isValidRecords = true;
220
220
  for (const record of organization.privateMeta.dnsRecords) {
221
- if (record.status != structures_1.DNSRecordStatus.Valid) {
221
+ if (record.status !== structures_1.DNSRecordStatus.Valid) {
222
222
  isValidRecords = false;
223
223
  }
224
224
  }
225
225
  const { allValid } = await (0, DNSValidator_1.validateDNSRecords)(organization.privateMeta.dnsRecords);
226
226
  if (organization.registerDomain ?? organization.privateMeta.pendingRegisterDomain) {
227
- const registerDomainRecord = (organization.privateMeta.pendingRegisterDomain ?? organization.registerDomain) + ".";
227
+ const registerDomainRecord = (organization.privateMeta.pendingRegisterDomain ?? organization.registerDomain) + '.';
228
228
  const records = organization.privateMeta.dnsRecords.filter(r => r.name === registerDomainRecord);
229
229
  const areRegisterDomainRecordsValid = records.length === 0 || records.every(r => r.status === structures_1.DNSRecordStatus.Valid);
230
230
  if (areRegisterDomainRecordsValid) {
@@ -232,7 +232,7 @@ class Organization extends simple_database_1.Model {
232
232
  if (organization.privateMeta.pendingRegisterDomain !== null) {
233
233
  organization.registerDomain = organization.privateMeta.pendingRegisterDomain;
234
234
  organization.privateMeta.pendingRegisterDomain = null;
235
- console.log("Did set register domain for " + this.id + " to " + organization.registerDomain);
235
+ console.log('Did set register domain for ' + this.id + ' to ' + organization.registerDomain);
236
236
  }
237
237
  }
238
238
  else {
@@ -241,7 +241,7 @@ class Organization extends simple_database_1.Model {
241
241
  // We need to clear it, to prevent sending e-mails with invalid links
242
242
  organization.privateMeta.pendingRegisterDomain = organization.privateMeta.pendingRegisterDomain ?? organization.registerDomain;
243
243
  organization.registerDomain = null;
244
- console.log("Cleared register domain for " + this.id + " because of invalid non txt records");
244
+ console.log('Cleared register domain for ' + this.id + ' because of invalid non txt records');
245
245
  }
246
246
  }
247
247
  }
@@ -263,7 +263,7 @@ class Organization extends simple_database_1.Model {
263
263
  console.warn('DNS settings became stable for ' + this.name + ' ' + this.id);
264
264
  await this.sendEmailTemplate({
265
265
  type: structures_1.EmailTemplateType.OrganizationStableDNS,
266
- bcc: true
266
+ bcc: true,
267
267
  });
268
268
  }
269
269
  else if (!wasActive && this.privateMeta.mailDomainActive && (!didSendDomainSetupMail || didSendWarning) && !organization.serverMeta.isDNSUnstable) {
@@ -271,12 +271,12 @@ class Organization extends simple_database_1.Model {
271
271
  await organization.save();
272
272
  if (!didSendDomainSetupMail) {
273
273
  await this.sendEmailTemplate({
274
- type: structures_1.EmailTemplateType.OrganizationDNSSetupComplete
274
+ type: structures_1.EmailTemplateType.OrganizationDNSSetupComplete,
275
275
  });
276
276
  }
277
277
  else {
278
278
  await this.sendEmailTemplate({
279
- type: structures_1.EmailTemplateType.OrganizationValidDNS
279
+ type: structures_1.EmailTemplateType.OrganizationValidDNS,
280
280
  });
281
281
  }
282
282
  }
@@ -298,42 +298,42 @@ class Organization extends simple_database_1.Model {
298
298
  console.warn('DNS settings became instable for ' + this.name + ' ' + this.id);
299
299
  await this.sendEmailTemplate({
300
300
  type: structures_1.EmailTemplateType.OrganizationUnstableDNS,
301
- bcc: true
301
+ bcc: true,
302
302
  });
303
303
  }
304
304
  else if (!organization.serverMeta.isDNSUnstable && organization.serverMeta.didSendDomainSetupMail && organization.serverMeta.DNSRecordWarningCount == 0) {
305
305
  organization.serverMeta.DNSRecordWarningCount += 1;
306
306
  await organization.save();
307
307
  await this.sendEmailTemplate({
308
- type: structures_1.EmailTemplateType.OrganizationInvalidDNS
308
+ type: structures_1.EmailTemplateType.OrganizationInvalidDNS,
309
309
  });
310
310
  }
311
311
  }
312
312
  }
313
313
  async sendEmailTemplate(data) {
314
314
  const recipients = await this.getAdminRecipients();
315
- const defaultI18n = new backend_i18n_1.I18n("nl", structures_1.Country.Belgium);
315
+ const defaultI18n = new backend_i18n_1.I18n('nl', structures_1.Country.Belgium);
316
316
  const i18n = this.i18n;
317
317
  const replaceAll = [
318
318
  {
319
319
  from: defaultI18n.localizedDomains.marketing(),
320
- to: i18n.localizedDomains.marketing()
320
+ to: i18n.localizedDomains.marketing(),
321
321
  },
322
322
  {
323
- from: defaultI18n.$t("59b85264-c4c3-4cf6-8923-9b43282b2787"),
324
- to: i18n.$t("59b85264-c4c3-4cf6-8923-9b43282b2787")
323
+ from: defaultI18n.$t('59b85264-c4c3-4cf6-8923-9b43282b2787'),
324
+ to: i18n.$t('59b85264-c4c3-4cf6-8923-9b43282b2787'),
325
325
  },
326
326
  {
327
- from: defaultI18n.$t("6b3555a2-ace4-4f37-a1fd-18921552f2b5"),
328
- to: i18n.$t("6b3555a2-ace4-4f37-a1fd-18921552f2b5")
329
- }
327
+ from: defaultI18n.$t('6b3555a2-ace4-4f37-a1fd-18921552f2b5'),
328
+ to: i18n.$t('6b3555a2-ace4-4f37-a1fd-18921552f2b5'),
329
+ },
330
330
  ];
331
331
  // Create e-mail builder
332
332
  const builder = await (0, EmailBuilder_1.getEmailBuilderForTemplate)(this, {
333
333
  replaceAll,
334
334
  recipients,
335
335
  template: {
336
- type: data.type
336
+ type: data.type,
337
337
  },
338
338
  from: data.personal ? email_1.Email.getPersonalEmailFor(this.i18n) : email_1.Email.getInternalEmailFor(this.i18n),
339
339
  singleBcc: data.bcc ? 'simon@stamhoofd.be' : undefined,
@@ -342,11 +342,11 @@ class Organization extends simple_database_1.Model {
342
342
  defaultReplacements: [
343
343
  structures_1.Replacement.create({
344
344
  token: 'mailDomain',
345
- value: this.privateMeta.mailDomain ?? this.privateMeta.pendingMailDomain ?? ''
346
- })
345
+ value: this.privateMeta.mailDomain ?? this.privateMeta.pendingMailDomain ?? '',
346
+ }),
347
347
  ],
348
348
  unsubscribeType: 'marketing',
349
- fromStamhoofd: true
349
+ fromStamhoofd: true,
350
350
  });
351
351
  if (builder) {
352
352
  email_1.Email.schedule(builder);
@@ -354,10 +354,10 @@ class Organization extends simple_database_1.Model {
354
354
  }
355
355
  async deleteAWSMailIdenitity(mailDomain) {
356
356
  // Protect specific domain names
357
- if (["stamhoofd.be", "stamhoofd.nl", "stamhoofd.shop", "stamhoofd.app", "stamhoofd.email"].includes(mailDomain)) {
357
+ if (['stamhoofd.be', 'stamhoofd.nl', 'stamhoofd.shop', 'stamhoofd.app', 'stamhoofd.email'].includes(mailDomain)) {
358
358
  return;
359
359
  }
360
- if (STAMHOOFD.environment != "production") {
360
+ if (STAMHOOFD.environment !== 'production') {
361
361
  // Temporary ignore this
362
362
  return;
363
363
  }
@@ -367,22 +367,22 @@ class Organization extends simple_database_1.Model {
367
367
  let existing = undefined;
368
368
  try {
369
369
  existing = await sesv2.getEmailIdentity({
370
- EmailIdentity: mailDomain
370
+ EmailIdentity: mailDomain,
371
371
  }).promise();
372
372
  exists = true;
373
373
  // Check if DKIM keys are the same
374
374
  if (existing.VerifiedForSendingStatus === true) {
375
- console.log("Cant delete AWS mail idenitiy @" + this.id + " for " + mailDomain + ": already validated and might be in use by other organizations");
375
+ console.log('Cant delete AWS mail idenitiy @' + this.id + ' for ' + mailDomain + ': already validated and might be in use by other organizations');
376
376
  return;
377
377
  }
378
- console.log("Deleting AWS mail idenitiy @" + this.id + " for " + mailDomain);
378
+ console.log('Deleting AWS mail idenitiy @' + this.id + ' for ' + mailDomain);
379
379
  await sesv2.deleteEmailIdentity({
380
- EmailIdentity: mailDomain
380
+ EmailIdentity: mailDomain,
381
381
  }).promise();
382
- console.log("Deleted AWS mail idenitiy @" + this.id + " for " + this.privateMeta.mailDomain);
382
+ console.log('Deleted AWS mail idenitiy @' + this.id + ' for ' + this.privateMeta.mailDomain);
383
383
  }
384
384
  catch (e) {
385
- console.error("Could not delete AWS email identitiy @" + this.id + " for " + this.privateMeta.mailDomain);
385
+ console.error('Could not delete AWS email identitiy @' + this.id + ' for ' + this.privateMeta.mailDomain);
386
386
  console.error(e);
387
387
  }
388
388
  }
@@ -394,12 +394,12 @@ class Organization extends simple_database_1.Model {
394
394
  return;
395
395
  }
396
396
  // Protect specific domain names
397
- if (["stamhoofd.be", "stamhoofd.nl", "stamhoofd.shop", "stamhoofd.app", "stamhoofd.email"].includes(this.privateMeta.mailDomain)) {
398
- console.error("Tried to validate AWS mail identity with protected domains @" + this.id);
397
+ if (['stamhoofd.be', 'stamhoofd.nl', 'stamhoofd.shop', 'stamhoofd.app', 'stamhoofd.email'].includes(this.privateMeta.mailDomain)) {
398
+ console.error('Tried to validate AWS mail identity with protected domains @' + this.id);
399
399
  this.privateMeta.mailDomainActive = false;
400
400
  return;
401
401
  }
402
- if (STAMHOOFD.environment != "production") {
402
+ if (STAMHOOFD.environment !== 'production') {
403
403
  // Temporary ignore this
404
404
  this.privateMeta.mailDomainActive = true;
405
405
  return;
@@ -410,24 +410,24 @@ class Organization extends simple_database_1.Model {
410
410
  let existing = undefined;
411
411
  try {
412
412
  existing = await sesv2.getEmailIdentity({
413
- EmailIdentity: this.privateMeta.mailDomain
413
+ EmailIdentity: this.privateMeta.mailDomain,
414
414
  }).promise();
415
415
  exists = true;
416
- console.log("AWS mail idenitiy exists already: just checking the verification status in AWS @" + this.id);
417
- if (existing.ConfigurationSetName !== "stamhoofd-domains") {
416
+ console.log('AWS mail idenitiy exists already: just checking the verification status in AWS @' + this.id);
417
+ if (existing.ConfigurationSetName !== 'stamhoofd-domains') {
418
418
  // Not allowed to use this identity
419
419
  this.privateMeta.mailDomainActive = false;
420
- console.error("Organization is not allowed to use email identity " + this.privateMeta.mailDomain + " @" + this.id + ", got " + existing.ConfigurationSetName);
420
+ console.error('Organization is not allowed to use email identity ' + this.privateMeta.mailDomain + ' @' + this.id + ', got ' + existing.ConfigurationSetName);
421
421
  return;
422
422
  }
423
423
  this.privateMeta.mailDomainActive = existing.VerifiedForSendingStatus ?? false;
424
424
  if (existing.VerifiedForSendingStatus !== true) {
425
- console.error("Not validated @" + this.id);
425
+ console.error('Not validated @' + this.id);
426
426
  }
427
- if (existing.VerifiedForSendingStatus !== true && existing.DkimAttributes?.Status === "FAILED") {
428
- console.error("AWS failed to verify DKIM records. Triggering a forced recheck @" + this.id);
427
+ if (existing.VerifiedForSendingStatus !== true && existing.DkimAttributes?.Status === 'FAILED') {
428
+ console.error('AWS failed to verify DKIM records. Triggering a forced recheck @' + this.id);
429
429
  await sesv2.deleteEmailIdentity({
430
- EmailIdentity: this.privateMeta.mailDomain
430
+ EmailIdentity: this.privateMeta.mailDomain,
431
431
  }).promise();
432
432
  // Recreate it immediately
433
433
  exists = false;
@@ -437,39 +437,39 @@ class Organization extends simple_database_1.Model {
437
437
  console.error(e);
438
438
  }
439
439
  if (!exists) {
440
- console.log("Creating email identity in AWS SES...");
440
+ console.log('Creating email identity in AWS SES...');
441
441
  const result = await sesv2.createEmailIdentity({
442
442
  EmailIdentity: this.privateMeta.mailDomain,
443
- ConfigurationSetName: "stamhoofd-domains",
443
+ ConfigurationSetName: 'stamhoofd-domains',
444
444
  DkimSigningAttributes: {
445
445
  DomainSigningPrivateKey: this.serverMeta.privateDKIMKey,
446
- DomainSigningSelector: "stamhoofd"
446
+ DomainSigningSelector: 'stamhoofd',
447
447
  },
448
448
  Tags: [
449
449
  {
450
- "Key": "OrganizationId",
451
- "Value": this.id
450
+ Key: 'OrganizationId',
451
+ Value: this.id,
452
452
  },
453
453
  {
454
- "Key": "Environment",
455
- "Value": STAMHOOFD.environment ?? "Unknown"
456
- }
457
- ]
454
+ Key: 'Environment',
455
+ Value: STAMHOOFD.environment ?? 'Unknown',
456
+ },
457
+ ],
458
458
  }).promise();
459
459
  this.privateMeta.mailDomainActive = result.VerifiedForSendingStatus ?? false;
460
460
  // Disable email forwarding of bounces and complaints
461
461
  // We handle this now with the configuration set
462
462
  await sesv2.putEmailIdentityFeedbackAttributes({
463
463
  EmailIdentity: this.privateMeta.mailDomain,
464
- EmailForwardingEnabled: false
464
+ EmailForwardingEnabled: false,
465
465
  }).promise();
466
466
  }
467
467
  if (this.privateMeta.mailFromDomain && (!exists || (existing && (!existing.MailFromAttributes || existing.MailFromAttributes.MailFromDomain !== this.privateMeta.mailFromDomain)))) {
468
468
  // Also set a from domain, to fix SPF
469
- console.log("Setting mail from domain: " + this.privateMeta.mailFromDomain + " for " + this.id);
469
+ console.log('Setting mail from domain: ' + this.privateMeta.mailFromDomain + ' for ' + this.id);
470
470
  const params = {
471
471
  EmailIdentity: this.privateMeta.mailDomain,
472
- BehaviorOnMxFailure: "USE_DEFAULT_VALUE",
472
+ BehaviorOnMxFailure: 'USE_DEFAULT_VALUE',
473
473
  MailFromDomain: this.privateMeta.mailFromDomain,
474
474
  };
475
475
  await sesv2.putEmailIdentityMailFromAttributes(params).promise();
@@ -482,7 +482,7 @@ class Organization extends simple_database_1.Model {
482
482
  if (this.createdAt > days7 && !this.serverMeta.hasEmail(structures_1.EmailTemplateType.OrganizationDripWelcome)) {
483
483
  await this.sendEmailTemplate({
484
484
  type: structures_1.EmailTemplateType.OrganizationDripWelcome,
485
- personal: true
485
+ personal: true,
486
486
  });
487
487
  this.serverMeta.addEmail(structures_1.EmailTemplateType.OrganizationDripWelcome);
488
488
  await this.save();
@@ -496,7 +496,7 @@ class Organization extends simple_database_1.Model {
496
496
  // 7 days checkin
497
497
  await this.sendEmailTemplate({
498
498
  type: structures_1.EmailTemplateType.OrganizationDripWebshopTrialCheckin,
499
- personal: true
499
+ personal: true,
500
500
  });
501
501
  this.serverMeta.addEmail(structures_1.EmailTemplateType.OrganizationDripWebshopTrialCheckin);
502
502
  this.serverMeta.addEmail(structures_1.EmailTemplateType.OrganizationDripMembersTrialCheckin); // also mark members checkin
@@ -513,7 +513,7 @@ class Organization extends simple_database_1.Model {
513
513
  // 7 days checkin
514
514
  await this.sendEmailTemplate({
515
515
  type: structures_1.EmailTemplateType.OrganizationDripMembersTrialCheckin,
516
- personal: true
516
+ personal: true,
517
517
  });
518
518
  this.serverMeta.addEmail(structures_1.EmailTemplateType.OrganizationDripMembersTrialCheckin);
519
519
  this.serverMeta.addEmail(structures_1.EmailTemplateType.OrganizationDripWebshopTrialCheckin); // Also mark webshop trial checkin
@@ -529,7 +529,7 @@ class Organization extends simple_database_1.Model {
529
529
  if (deactivatedTime !== null && deactivatedTime < 14 * 24 * 60 * 60 * 1000 && deactivatedTime > 7 * 24 * 60 * 60 * 1000) {
530
530
  await this.sendEmailTemplate({
531
531
  type: structures_1.EmailTemplateType.OrganizationDripWebshopTrialExpired,
532
- personal: true
532
+ personal: true,
533
533
  });
534
534
  this.serverMeta.addEmail(structures_1.EmailTemplateType.OrganizationDripWebshopTrialExpired);
535
535
  this.serverMeta.addEmail(structures_1.EmailTemplateType.OrganizationDripMembersTrialExpired); // also mark members
@@ -544,7 +544,7 @@ class Organization extends simple_database_1.Model {
544
544
  if (deactivatedTime !== null && deactivatedTime < 14 * 24 * 60 * 60 * 1000 && deactivatedTime > 7 * 24 * 60 * 60 * 1000) {
545
545
  await this.sendEmailTemplate({
546
546
  type: structures_1.EmailTemplateType.OrganizationDripMembersTrialExpired,
547
- personal: true
547
+ personal: true,
548
548
  });
549
549
  this.serverMeta.addEmail(structures_1.EmailTemplateType.OrganizationDripMembersTrialExpired);
550
550
  this.serverMeta.addEmail(structures_1.EmailTemplateType.OrganizationDripWebshopTrialExpired); // also mark webshops
@@ -563,7 +563,7 @@ class Organization extends simple_database_1.Model {
563
563
  await this.sendEmailTemplate({
564
564
  type: structures_1.EmailTemplateType.OrganizationDripTrialExpiredReminder,
565
565
  personal: true,
566
- bcc: true
566
+ bcc: true,
567
567
  });
568
568
  this.serverMeta.addEmail(structures_1.EmailTemplateType.OrganizationDripTrialExpiredReminder);
569
569
  await this.save();
@@ -578,7 +578,7 @@ class Organization extends simple_database_1.Model {
578
578
  await this.sendEmailTemplate({
579
579
  type: structures_1.EmailTemplateType.OrganizationDripWebshopNotRenewed,
580
580
  personal: true,
581
- bcc: true
581
+ bcc: true,
582
582
  });
583
583
  this.serverMeta.addEmail(structures_1.EmailTemplateType.OrganizationDripWebshopNotRenewed);
584
584
  await this.save();
@@ -593,7 +593,7 @@ class Organization extends simple_database_1.Model {
593
593
  await this.sendEmailTemplate({
594
594
  type: structures_1.EmailTemplateType.OrganizationDripMembersNotRenewed,
595
595
  personal: true,
596
- bcc: true
596
+ bcc: true,
597
597
  });
598
598
  this.serverMeta.addEmail(structures_1.EmailTemplateType.OrganizationDripMembersNotRenewed);
599
599
  await this.save();
@@ -612,8 +612,8 @@ class Organization extends simple_database_1.Model {
612
612
  return [
613
613
  {
614
614
  name: sender.name,
615
- email: sender.email
616
- }
615
+ email: sender.email,
616
+ },
617
617
  ];
618
618
  }
619
619
  return await this.getAdminToEmails();
@@ -636,10 +636,10 @@ class Organization extends simple_database_1.Model {
636
636
  */
637
637
  async getAdminToEmails() {
638
638
  const filtered = await this.getFullAdmins();
639
- if (STAMHOOFD.environment === "production") {
639
+ if (STAMHOOFD.environment === 'production') {
640
640
  if (filtered.length > 1) {
641
641
  // remove stamhoofd email addresses
642
- const f = filtered.flatMap(f => f.getEmailTo()).filter(e => !e.email.endsWith("@stamhoofd.be") && !e.email.endsWith("@stamhoofd.nl"));
642
+ const f = filtered.flatMap(f => f.getEmailTo()).filter(e => !e.email.endsWith('@stamhoofd.be') && !e.email.endsWith('@stamhoofd.nl'));
643
643
  if (f.length > 0) {
644
644
  return f;
645
645
  }
@@ -652,23 +652,23 @@ class Organization extends simple_database_1.Model {
652
652
  */
653
653
  async getAdminRecipients() {
654
654
  let filtered = await this.getFullAdmins();
655
- if (STAMHOOFD.environment === "production") {
655
+ if (STAMHOOFD.environment === 'production') {
656
656
  if (filtered.length > 1) {
657
657
  // remove stamhoofd email addresses
658
- filtered = filtered.filter(e => !e.email.endsWith("@stamhoofd.be") && !e.email.endsWith("@stamhoofd.nl"));
658
+ filtered = filtered.filter(e => !e.email.endsWith('@stamhoofd.be') && !e.email.endsWith('@stamhoofd.nl'));
659
659
  }
660
660
  }
661
- return filtered.flatMap(f => {
661
+ return filtered.flatMap((f) => {
662
662
  return structures_1.Recipient.create({
663
663
  firstName: f.firstName,
664
664
  lastName: f.lastName,
665
665
  email: f.email,
666
666
  replacements: [
667
667
  structures_1.Replacement.create({
668
- token: "organizationName",
669
- value: this.name
670
- })
671
- ]
668
+ token: 'organizationName',
669
+ value: this.name,
670
+ }),
671
+ ],
672
672
  });
673
673
  });
674
674
  }
@@ -678,9 +678,9 @@ class Organization extends simple_database_1.Model {
678
678
  getDefaultFrom(i18n, withName = true, type = 'broadcast') {
679
679
  const domain = type === 'transactional' ? i18n.localizedDomains.defaultTransactionalEmail() : i18n.localizedDomains.defaultBroadcastEmail();
680
680
  if (!withName) {
681
- return ('noreply-' + this.uri + "@" + domain);
681
+ return ('noreply-' + this.uri + '@' + domain);
682
682
  }
683
- return '"' + this.name.replaceAll("\"", "\\\"") + '" <' + ('noreply-' + this.uri + "@" + domain) + '>';
683
+ return '"' + this.name.replaceAll('"', '\\"') + '" <' + ('noreply-' + this.uri + '@' + domain) + '>';
684
684
  }
685
685
  /**
686
686
  * @deprecated Switch to EmailBuilder.sendEmailTemplate
@@ -696,23 +696,23 @@ class Organization extends simple_database_1.Model {
696
696
  if (sender) {
697
697
  replyTo = sender.email;
698
698
  // Can we send from this e-mail or reply-to?
699
- if (replyTo && this.privateMeta.mailDomain && this.privateMeta.mailDomainActive && sender.email.endsWith("@" + this.privateMeta.mailDomain)) {
699
+ if (replyTo && this.privateMeta.mailDomain && this.privateMeta.mailDomainActive && sender.email.endsWith('@' + this.privateMeta.mailDomain)) {
700
700
  from = sender.email;
701
701
  replyTo = undefined;
702
702
  }
703
703
  // Include name in form field
704
704
  if (sender.name) {
705
- from = '"' + sender.name.replaceAll("\"", "\\\"") + "\" <" + from + ">";
705
+ from = '"' + sender.name.replaceAll('"', '\\"') + '" <' + from + '>';
706
706
  }
707
707
  else {
708
- from = '"' + this.name.replaceAll("\"", "\\\"") + "\" <" + from + ">";
708
+ from = '"' + this.name.replaceAll('"', '\\"') + '" <' + from + '>';
709
709
  }
710
710
  if (replyTo) {
711
711
  if (sender.name) {
712
- replyTo = '"' + sender.name.replaceAll("\"", "\\\"") + "\" <" + replyTo + ">";
712
+ replyTo = '"' + sender.name.replaceAll('"', '\\"') + '" <' + replyTo + '>';
713
713
  }
714
714
  else {
715
- replyTo = '"' + this.name.replaceAll("\"", "\\\"") + "\" <" + replyTo + ">";
715
+ replyTo = '"' + this.name.replaceAll('"', '\\"') + '" <' + replyTo + '>';
716
716
  }
717
717
  }
718
718
  return { from, replyTo };
@@ -724,37 +724,37 @@ class Organization extends simple_database_1.Model {
724
724
  */
725
725
  getDefaultEmail(strongDefault = false) {
726
726
  // Send confirmation e-mail
727
- let from = strongDefault ? this.getDefaultFrom(this.i18n, false) : this.uri + "@stamhoofd.email";
727
+ let from = strongDefault ? this.getDefaultFrom(this.i18n, false) : this.uri + '@stamhoofd.email';
728
728
  const sender = this.privateMeta.emails.find(e => e.default) ?? this.privateMeta.emails[0];
729
729
  let replyTo = undefined;
730
730
  if (sender) {
731
731
  replyTo = sender.email;
732
732
  // Can we send from this e-mail or reply-to?
733
- if (replyTo && this.privateMeta.mailDomain && this.privateMeta.mailDomainActive && sender.email.endsWith("@" + this.privateMeta.mailDomain)) {
733
+ if (replyTo && this.privateMeta.mailDomain && this.privateMeta.mailDomainActive && sender.email.endsWith('@' + this.privateMeta.mailDomain)) {
734
734
  from = sender.email;
735
735
  replyTo = undefined;
736
736
  }
737
737
  // Include name in form field
738
738
  if (sender.name) {
739
- from = '"' + sender.name.replaceAll("\"", "\\\"") + "\" <" + from + ">";
739
+ from = '"' + sender.name.replaceAll('"', '\\"') + '" <' + from + '>';
740
740
  }
741
741
  else {
742
- from = '"' + this.name.replaceAll("\"", "\\\"") + "\" <" + from + ">";
742
+ from = '"' + this.name.replaceAll('"', '\\"') + '" <' + from + '>';
743
743
  }
744
744
  if (replyTo) {
745
745
  if (sender.name) {
746
- replyTo = '"' + sender.name.replaceAll("\"", "\\\"") + "\" <" + replyTo + ">";
746
+ replyTo = '"' + sender.name.replaceAll('"', '\\"') + '" <' + replyTo + '>';
747
747
  }
748
748
  else {
749
- replyTo = '"' + this.name.replaceAll("\"", "\\\"") + "\" <" + replyTo + ">";
749
+ replyTo = '"' + this.name.replaceAll('"', '\\"') + '" <' + replyTo + '>';
750
750
  }
751
751
  }
752
752
  }
753
753
  else {
754
- from = '"' + this.name.replaceAll("\"", "\\\"") + "\" <" + from + ">";
754
+ from = '"' + this.name.replaceAll('"', '\\"') + '" <' + from + '>';
755
755
  }
756
756
  return {
757
- from, replyTo
757
+ from, replyTo,
758
758
  };
759
759
  }
760
760
  async getPaymentProviderFor(method, config) {
@@ -771,7 +771,7 @@ class Organization extends simple_database_1.Model {
771
771
  throw new simple_errors_1.SimpleError({
772
772
  code: 'payment_provider_not_configured',
773
773
  message: 'Payment provider not configured for ' + method,
774
- human: 'Deze betaalmethode werd helaas niet volledig geconfigureerd. Probeer later even opnieuw, neem contact met ons op of kies een andere betaalmethode.'
774
+ human: 'Deze betaalmethode werd helaas niet volledig geconfigureerd. Probeer later even opnieuw, neem contact met ons op of kies een andere betaalmethode.',
775
775
  });
776
776
  }
777
777
  if (provider !== structures_1.PaymentProvider.Stripe && stripeAccount) {
@@ -779,7 +779,7 @@ class Organization extends simple_database_1.Model {
779
779
  }
780
780
  return {
781
781
  provider,
782
- stripeAccount
782
+ stripeAccount,
783
783
  };
784
784
  }
785
785
  async getConnectedPaymentProviders() {
@@ -803,65 +803,65 @@ class Organization extends simple_database_1.Model {
803
803
  exports.Organization = Organization;
804
804
  tslib_1.__decorate([
805
805
  (0, simple_database_1.column)({
806
- primary: true, type: "string", beforeSave(value) {
806
+ primary: true, type: 'string', beforeSave(value) {
807
807
  return value ?? (0, uuid_1.v4)();
808
- }
808
+ },
809
809
  })
810
810
  ], Organization.prototype, "id", void 0);
811
811
  tslib_1.__decorate([
812
- (0, simple_database_1.column)({ type: "string" })
812
+ (0, simple_database_1.column)({ type: 'string' })
813
813
  ], Organization.prototype, "name", void 0);
814
814
  tslib_1.__decorate([
815
- (0, simple_database_1.column)({ type: "string", nullable: true })
815
+ (0, simple_database_1.column)({ type: 'string', nullable: true })
816
816
  ], Organization.prototype, "website", void 0);
817
817
  tslib_1.__decorate([
818
- (0, simple_database_1.column)({ type: "string", nullable: true })
818
+ (0, simple_database_1.column)({ type: 'string', nullable: true })
819
819
  ], Organization.prototype, "registerDomain", void 0);
820
820
  tslib_1.__decorate([
821
- (0, simple_database_1.column)({ type: "string" })
821
+ (0, simple_database_1.column)({ type: 'string' })
822
822
  ], Organization.prototype, "uri", void 0);
823
823
  tslib_1.__decorate([
824
- (0, simple_database_1.column)({ type: "string" })
824
+ (0, simple_database_1.column)({ type: 'string' })
825
825
  ], Organization.prototype, "periodId", void 0);
826
826
  tslib_1.__decorate([
827
- (0, simple_database_1.column)({ type: "json", decoder: structures_1.OrganizationMetaData })
827
+ (0, simple_database_1.column)({ type: 'json', decoder: structures_1.OrganizationMetaData })
828
828
  ], Organization.prototype, "meta", void 0);
829
829
  tslib_1.__decorate([
830
- (0, simple_database_1.column)({ type: "json", decoder: structures_1.OrganizationPrivateMetaData })
830
+ (0, simple_database_1.column)({ type: 'json', decoder: structures_1.OrganizationPrivateMetaData })
831
831
  ], Organization.prototype, "privateMeta", void 0);
832
832
  tslib_1.__decorate([
833
- (0, simple_database_1.column)({ type: "json", decoder: OrganizationServerMetaData_1.OrganizationServerMetaData })
833
+ (0, simple_database_1.column)({ type: 'json', decoder: OrganizationServerMetaData_1.OrganizationServerMetaData })
834
834
  ], Organization.prototype, "serverMeta", void 0);
835
835
  tslib_1.__decorate([
836
- (0, simple_database_1.column)({ type: "json", decoder: structures_1.Address })
836
+ (0, simple_database_1.column)({ type: 'json', decoder: structures_1.Address })
837
837
  ], Organization.prototype, "address", void 0);
838
838
  tslib_1.__decorate([
839
839
  (0, simple_database_1.column)({
840
- type: "string", beforeSave: function () {
841
- return this.name + "\n" + this.address.toString();
842
- }
840
+ type: 'string', beforeSave: function () {
841
+ return this.name + '\n' + this.address.toString();
842
+ },
843
843
  })
844
844
  ], Organization.prototype, "searchIndex", void 0);
845
845
  tslib_1.__decorate([
846
846
  (0, simple_database_1.column)({
847
- type: "datetime", beforeSave(old) {
847
+ type: 'datetime', beforeSave(old) {
848
848
  if (old !== undefined) {
849
849
  return old;
850
850
  }
851
851
  const date = new Date();
852
852
  date.setMilliseconds(0);
853
853
  return date;
854
- }
854
+ },
855
855
  })
856
856
  ], Organization.prototype, "createdAt", void 0);
857
857
  tslib_1.__decorate([
858
858
  (0, simple_database_1.column)({
859
- type: "datetime", beforeSave() {
859
+ type: 'datetime', beforeSave() {
860
860
  const date = new Date();
861
861
  date.setMilliseconds(0);
862
862
  return date;
863
863
  },
864
- skipUpdate: true
864
+ skipUpdate: true,
865
865
  })
866
866
  ], Organization.prototype, "updatedAt", void 0);
867
867
  tslib_1.__decorate([