@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
@@ -1,217 +1,217 @@
1
1
  import { column, Model, SQLResultNamespacedRow } from '@simonbackx/simple-database';
2
2
  import { BalanceItemDetailed, BalanceItemPaymentDetailed, PaymentCustomer, PaymentGeneral, PaymentMethod, PaymentProvider, PaymentStatus, Settlement, TransferSettings } from '@stamhoofd/structures';
3
3
  import { Formatter } from '@stamhoofd/utility';
4
- import { v4 as uuidv4 } from "uuid";
4
+ import { v4 as uuidv4 } from 'uuid';
5
5
 
6
6
  import { Organization } from './';
7
7
  import { SQL, SQLSelect } from '@stamhoofd/sql';
8
8
 
9
9
  export class Payment extends Model {
10
- static table = "payments"
10
+ static table = 'payments';
11
11
 
12
12
  @column({
13
- primary: true, type: "string", beforeSave(value) {
13
+ primary: true, type: 'string', beforeSave(value) {
14
14
  return value ?? uuidv4();
15
- }
15
+ },
16
16
  })
17
17
  id!: string;
18
18
 
19
- @column({ type: "string" })
19
+ @column({ type: 'string' })
20
20
  method: PaymentMethod;
21
21
 
22
- @column({ type: "json", decoder: PaymentCustomer, nullable: true })
23
- customer: PaymentCustomer | null = null
22
+ @column({ type: 'json', decoder: PaymentCustomer, nullable: true })
23
+ customer: PaymentCustomer | null = null;
24
24
 
25
- @column({ type: "string", nullable: true })
25
+ @column({ type: 'string', nullable: true })
26
26
  provider: PaymentProvider | null = null;
27
27
 
28
- @column({ type: "string" })
28
+ @column({ type: 'string' })
29
29
  status: PaymentStatus;
30
30
 
31
- @column({ type: "string", nullable: true })
32
- organizationId: string| null = null
31
+ @column({ type: 'string', nullable: true })
32
+ organizationId: string | null = null;
33
33
 
34
34
  /**
35
35
  * payingUserId
36
36
  */
37
- @column({ type: "string", nullable: true })
37
+ @column({ type: 'string', nullable: true })
38
38
  payingUserId: string | null = null;
39
39
 
40
40
  /**
41
41
  * @deprecated
42
42
  */
43
43
  get userId() {
44
- return this.payingUserId
44
+ return this.payingUserId;
45
45
  }
46
46
 
47
47
  /**
48
48
  * @deprecated
49
49
  */
50
- set userId(id: string|null) {
51
- this.payingUserId = id
50
+ set userId(id: string | null) {
51
+ this.payingUserId = id;
52
52
  }
53
53
 
54
54
  /**
55
55
  * If an organization paid, this contains the organization id
56
56
  */
57
- @column({ type: "string", nullable: true })
57
+ @column({ type: 'string', nullable: true })
58
58
  payingOrganizationId: string | null = null;
59
59
 
60
- @column({ type: "string", nullable: true })
60
+ @column({ type: 'string', nullable: true })
61
61
  stripeAccountId: string | null = null;
62
62
 
63
63
  /**
64
64
  * Total price
65
65
  */
66
- @column({ type: "integer" })
66
+ @column({ type: 'integer' })
67
67
  price: number;
68
68
 
69
69
  /**
70
70
  * Fee paid to the payment provider (if available, otherwise set to 0)
71
71
  */
72
- @column({ type: "integer" })
73
- transferFee = 0
72
+ @column({ type: 'integer' })
73
+ transferFee = 0;
74
74
 
75
75
  /**
76
76
  * Included in the total price
77
77
  */
78
- @column({ type: "integer", nullable: true })
78
+ @column({ type: 'integer', nullable: true })
79
79
  freeContribution: number | null = null;
80
80
 
81
- @column({ type: "string", nullable: true })
81
+ @column({ type: 'string', nullable: true })
82
82
  transferDescription: string | null = null;
83
83
 
84
- @column({ type: "json", nullable: true, decoder: TransferSettings })
84
+ @column({ type: 'json', nullable: true, decoder: TransferSettings })
85
85
  transferSettings: TransferSettings | null = null;
86
86
 
87
87
  @column({
88
- type: "datetime", beforeSave(old?: any) {
88
+ type: 'datetime', beforeSave(old?: any) {
89
89
  if (old !== undefined) {
90
90
  return old;
91
91
  }
92
- const date = new Date()
93
- date.setMilliseconds(0)
94
- return date
95
- }
92
+ const date = new Date();
93
+ date.setMilliseconds(0);
94
+ return date;
95
+ },
96
96
  })
97
- createdAt: Date
97
+ createdAt: Date;
98
98
 
99
- _forceUpdatedAt: Date | null = null
99
+ _forceUpdatedAt: Date | null = null;
100
100
 
101
101
  @column({
102
- type: "datetime", beforeSave() {
102
+ type: 'datetime', beforeSave() {
103
103
  if (this._forceUpdatedAt) {
104
- return this._forceUpdatedAt
104
+ return this._forceUpdatedAt;
105
105
  }
106
- const date = new Date()
107
- date.setMilliseconds(0)
108
- return date
106
+ const date = new Date();
107
+ date.setMilliseconds(0);
108
+ return date;
109
109
  },
110
- skipUpdate: true
110
+ skipUpdate: true,
111
111
  })
112
- updatedAt: Date
112
+ updatedAt: Date;
113
113
 
114
- @column({ type: "datetime", nullable: true })
115
- paidAt: Date | null = null
114
+ @column({ type: 'datetime', nullable: true })
115
+ paidAt: Date | null = null;
116
116
 
117
117
  /// Settlement meta data
118
- @column({ type: "json", decoder: Settlement, nullable: true })
118
+ @column({ type: 'json', decoder: Settlement, nullable: true })
119
119
  settlement: Settlement | null = null;
120
120
 
121
- @column({ type: "string", nullable: true })
121
+ @column({ type: 'string', nullable: true })
122
122
  iban: string | null = null;
123
123
 
124
- @column({ type: "string", nullable: true })
124
+ @column({ type: 'string', nullable: true })
125
125
  ibanName: string | null = null;
126
126
 
127
127
  generateDescription(organization: Organization, reference: string, replacements: { [key: string]: string } = {}) {
128
- const settings = this.transferSettings ?? organization.meta.transferSettings
129
- this.transferDescription = settings.generateDescription(reference, organization.address.country, replacements)
128
+ const settings = this.transferSettings ?? organization.meta.transferSettings;
129
+ this.transferDescription = settings.generateDescription(reference, organization.address.country, replacements);
130
130
  }
131
131
 
132
132
  static async getGeneralStructure(payments: Payment[], includeSettlements = false): Promise<PaymentGeneral[]> {
133
133
  if (payments.length === 0) {
134
- return []
134
+ return [];
135
135
  }
136
136
 
137
- const {balanceItemPayments, balanceItems} = await Payment.loadBalanceItems(payments)
138
-
137
+ const { balanceItemPayments, balanceItems } = await Payment.loadBalanceItems(payments);
138
+
139
139
  return this.getGeneralStructureFromRelations({
140
140
  payments,
141
141
  balanceItemPayments,
142
- balanceItems
143
- }, includeSettlements)
142
+ balanceItems,
143
+ }, includeSettlements);
144
144
  }
145
145
 
146
- static getGeneralStructureFromRelations({payments, balanceItemPayments, balanceItems}: {
146
+ static getGeneralStructureFromRelations({ payments, balanceItemPayments, balanceItems }: {
147
147
  payments: Payment[];
148
- balanceItemPayments: import("./BalanceItemPayment").BalanceItemPayment[];
149
- balanceItems: import("./BalanceItem").BalanceItem[];
148
+ balanceItemPayments: import('./BalanceItemPayment').BalanceItemPayment[];
149
+ balanceItems: import('./BalanceItem').BalanceItem[];
150
150
  }, includeSettlements = false): PaymentGeneral[] {
151
151
  if (payments.length === 0) {
152
- return []
152
+ return [];
153
153
  }
154
154
 
155
- return payments.map(payment => {
155
+ return payments.map((payment) => {
156
156
  return PaymentGeneral.create({
157
157
  ...payment,
158
158
  balanceItemPayments: balanceItemPayments.filter(item => item.paymentId === payment.id).map((item) => {
159
- const balanceItem = balanceItems.find(b => b.id === item.balanceItemId)
159
+ const balanceItem = balanceItems.find(b => b.id === item.balanceItemId);
160
160
 
161
161
  return BalanceItemPaymentDetailed.create({
162
162
  ...item,
163
163
  balanceItem: BalanceItemDetailed.create({
164
- ...balanceItem
165
- })
166
- })
164
+ ...balanceItem,
165
+ }),
166
+ });
167
167
  }),
168
- ...(payment.provider !== PaymentProvider.Stripe ? {stripeAccountId: null} : {}),
169
- ...(!includeSettlements) ? {settlement: null, transferFee: 0, stripeAccountId: null} : {}
170
- })
171
- })
168
+ ...(payment.provider !== PaymentProvider.Stripe ? { stripeAccountId: null } : {}),
169
+ ...(!includeSettlements) ? { settlement: null, transferFee: 0, stripeAccountId: null } : {},
170
+ });
171
+ });
172
172
  }
173
173
 
174
174
  /**
175
- *
175
+ *
176
176
  * @param checkPermissions Only set to undefined when not returned in the API + not for public use
177
- * @returns
177
+ * @returns
178
178
  */
179
179
  async getGeneralStructure(): Promise<PaymentGeneral> {
180
- return (await Payment.getGeneralStructure([this], false))[0]
180
+ return (await Payment.getGeneralStructure([this], false))[0];
181
181
  }
182
182
 
183
183
  static async loadBalanceItems(payments: Payment[]) {
184
184
  if (payments.length === 0) {
185
- return {balanceItemPayments: [], balanceItems: []}
185
+ return { balanceItemPayments: [], balanceItems: [] };
186
186
  }
187
- const {BalanceItemPayment} = await import("./BalanceItemPayment");
188
- const {BalanceItem} = await import("./BalanceItem");
187
+ const { BalanceItemPayment } = await import('./BalanceItemPayment');
188
+ const { BalanceItem } = await import('./BalanceItem');
189
189
 
190
190
  // Load all the related models from the database so we can build the structures
191
191
  const balanceItemPayments = await BalanceItemPayment.where({
192
192
  paymentId: {
193
193
  sign: 'IN',
194
- value: payments.map(p => p.id)
195
- }
196
- })
194
+ value: payments.map(p => p.id),
195
+ },
196
+ });
197
197
  const ids = Formatter.uniqueArray(balanceItemPayments.flatMap(p => p.balanceItemId));
198
198
  const balanceItems = await BalanceItem.getByIDs(...ids);
199
199
 
200
- return {balanceItemPayments, balanceItems}
200
+ return { balanceItemPayments, balanceItems };
201
201
  }
202
202
 
203
- static async loadBalanceItemRelations(balanceItems: import("./BalanceItem").BalanceItem[]) {
204
- const {Order} = await import("./Order");
205
- const {Member} = await import("./Member");
203
+ static async loadBalanceItemRelations(balanceItems: import('./BalanceItem').BalanceItem[]) {
204
+ const { Order } = await import('./Order');
205
+ const { Member } = await import('./Member');
206
206
 
207
207
  // Load members and orders
208
- const registrationIds = Formatter.uniqueArray(balanceItems.flatMap(b => b.registrationId ? [b.registrationId] : []))
209
- const orderIds = Formatter.uniqueArray(balanceItems.flatMap(b => b.orderId ? [b.orderId] : []))
208
+ const registrationIds = Formatter.uniqueArray(balanceItems.flatMap(b => b.registrationId ? [b.registrationId] : []));
209
+ const orderIds = Formatter.uniqueArray(balanceItems.flatMap(b => b.orderId ? [b.orderId] : []));
210
210
 
211
- const registrations = await Member.getRegistrationWithMembersByIDs(registrationIds)
212
- const orders = await Order.getByIDs(...orderIds)
211
+ const registrations = await Member.getRegistrationWithMembersByIDs(registrationIds);
212
+ const orders = await Order.getByIDs(...orderIds);
213
213
 
214
- return {registrations, orders}
214
+ return { registrations, orders };
215
215
  }
216
216
 
217
217
  /**
@@ -219,16 +219,16 @@ export class Payment extends Model {
219
219
  */
220
220
  static select() {
221
221
  const transformer = (row: SQLResultNamespacedRow): Payment => {
222
- const d = (this as typeof Payment & typeof Model).fromRow(row[this.table] as any) as Payment|undefined
222
+ const d = (this as typeof Payment & typeof Model).fromRow(row[this.table] as any) as Payment | undefined;
223
223
 
224
224
  if (!d) {
225
- throw new Error("EmailTemplate not found")
225
+ throw new Error('EmailTemplate not found');
226
226
  }
227
227
 
228
228
  return d;
229
- }
230
-
231
- const select = new SQLSelect(transformer, SQL.wildcard())
232
- return select.from(SQL.table(this.table))
229
+ };
230
+
231
+ const select = new SQLSelect(transformer, SQL.wildcard());
232
+ return select.from(SQL.table(this.table));
233
233
  }
234
234
  }
@@ -1,31 +1,30 @@
1
- import { column, Model } from "@simonbackx/simple-database";
2
- import { QueueHandler } from "@stamhoofd/queues";
3
- import { Platform as PlatformStruct,PlatformConfig, PlatformPrivateConfig } from "@stamhoofd/structures";
4
- import { v4 as uuidv4 } from "uuid";
5
- import { RegistrationPeriod } from "./RegistrationPeriod";
6
-
1
+ import { column, Model } from '@simonbackx/simple-database';
2
+ import { QueueHandler } from '@stamhoofd/queues';
3
+ import { Platform as PlatformStruct, PlatformConfig, PlatformPrivateConfig } from '@stamhoofd/structures';
4
+ import { v4 as uuidv4 } from 'uuid';
5
+ import { RegistrationPeriod } from './RegistrationPeriod';
7
6
 
8
7
  export class Platform extends Model {
9
- static table = "platform";
8
+ static table = 'platform';
10
9
 
11
10
  @column({
12
- primary: true, type: "string", beforeSave(value) {
11
+ primary: true, type: 'string', beforeSave(value) {
13
12
  return value ?? uuidv4();
14
- }
13
+ },
15
14
  })
16
15
  id!: string;
17
16
 
18
- @column({ type: "json", decoder: PlatformConfig })
19
- config: PlatformConfig = PlatformConfig.create({})
17
+ @column({ type: 'json', decoder: PlatformConfig })
18
+ config: PlatformConfig = PlatformConfig.create({});
19
+
20
+ @column({ type: 'string' })
21
+ periodId: string;
20
22
 
21
- @column({ type: "string" })
22
- periodId: string
23
-
24
- @column({ type: "string", nullable: true })
25
- membershipOrganizationId: string | null = null
23
+ @column({ type: 'string', nullable: true })
24
+ membershipOrganizationId: string | null = null;
26
25
 
27
- @column({ type: "json", decoder: PlatformPrivateConfig })
28
- privateConfig: PlatformPrivateConfig = PlatformPrivateConfig.create({})
26
+ @column({ type: 'json', decoder: PlatformPrivateConfig })
27
+ privateConfig: PlatformPrivateConfig = PlatformPrivateConfig.create({});
29
28
 
30
29
  static sharedStruct: PlatformStruct | null = null;
31
30
 
@@ -38,7 +37,7 @@ export class Platform extends Model {
38
37
  return clone;
39
38
  }
40
39
 
41
- static async getSharedPrivateStruct(): Promise<PlatformStruct & {privateConfig: PlatformPrivateConfig}> {
40
+ static async getSharedPrivateStruct(): Promise<PlatformStruct & { privateConfig: PlatformPrivateConfig }> {
42
41
  if (this.sharedStruct && this.sharedStruct.privateConfig) {
43
42
  return this.sharedStruct as any;
44
43
  }
@@ -48,7 +47,7 @@ export class Platform extends Model {
48
47
  const period = await RegistrationPeriod.getByID(model.periodId);
49
48
  const struct = PlatformStruct.create({
50
49
  ...model,
51
- period: period?.getStructure() ?? undefined
50
+ period: period?.getStructure() ?? undefined,
52
51
  });
53
52
  this.sharedStruct = struct;
54
53
 
@@ -77,8 +76,8 @@ export class Platform extends Model {
77
76
  }
78
77
 
79
78
  async save() {
80
- Platform.clearCache()
81
- const s = await super.save()
79
+ Platform.clearCache();
80
+ const s = await super.save();
82
81
 
83
82
  // Force update cache immediately
84
83
  await Platform.getSharedStruct();
@@ -1,9 +1,9 @@
1
- import { column, Model } from "@simonbackx/simple-database";
2
- import basex from "base-x";
3
- import crypto from "crypto";
1
+ import { column, Model } from '@simonbackx/simple-database';
2
+ import basex from 'base-x';
3
+ import crypto from 'crypto';
4
4
 
5
- const ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
6
- const bs58 = basex(ALPHABET)
5
+ const ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
6
+ const bs58 = basex(ALPHABET);
7
7
 
8
8
  async function randomBytes(size: number): Promise<Buffer> {
9
9
  return new Promise((resolve, reject) => {
@@ -18,50 +18,50 @@ async function randomBytes(size: number): Promise<Buffer> {
18
18
  }
19
19
 
20
20
  export class RegisterCode extends Model {
21
- static table = "register_codes";
21
+ static table = 'register_codes';
22
22
 
23
- @column({ type: "string", primary: true })
23
+ @column({ type: 'string', primary: true })
24
24
  code: string;
25
25
 
26
- @column({ type: "string" })
26
+ @column({ type: 'string' })
27
27
  description: string;
28
28
 
29
- @column({ type: "string", nullable: true })
30
- customMessage: string|null = null;
29
+ @column({ type: 'string', nullable: true })
30
+ customMessage: string | null = null;
31
31
 
32
- @column({ type: "string", nullable: true })
32
+ @column({ type: 'string', nullable: true })
33
33
  organizationId: string | null;
34
34
 
35
- @column({ type: "integer" })
35
+ @column({ type: 'integer' })
36
36
  value: number;
37
37
 
38
38
  /**
39
39
  * Invoice usages to the owning organization
40
40
  */
41
- @column({ type: "integer", nullable: true })
42
- invoiceValue: number|null = null
41
+ @column({ type: 'integer', nullable: true })
42
+ invoiceValue: number | null = null;
43
43
 
44
44
  @column({
45
- type: "datetime", beforeSave(old?: any) {
45
+ type: 'datetime', beforeSave(old?: any) {
46
46
  if (old !== undefined) {
47
47
  return old;
48
48
  }
49
- const date = new Date()
50
- date.setMilliseconds(0)
51
- return date
52
- }
49
+ const date = new Date();
50
+ date.setMilliseconds(0);
51
+ return date;
52
+ },
53
53
  })
54
- createdAt: Date
54
+ createdAt: Date;
55
55
 
56
56
  @column({
57
- type: "datetime", beforeSave() {
58
- const date = new Date()
59
- date.setMilliseconds(0)
60
- return date
57
+ type: 'datetime', beforeSave() {
58
+ const date = new Date();
59
+ date.setMilliseconds(0);
60
+ return date;
61
61
  },
62
- skipUpdate: true
62
+ skipUpdate: true,
63
63
  })
64
- updatedAt: Date
64
+ updatedAt: Date;
65
65
 
66
66
  async generateCode() {
67
67
  this.code = bs58.encode(await randomBytes(8)).toUpperCase();