@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,10 +1,10 @@
1
- import { Factory } from "@simonbackx/simple-database";
1
+ import { Factory } from '@simonbackx/simple-database';
2
2
  import { Gender, MemberDetails, ParentType } from '@stamhoofd/structures';
3
- import { Formatter } from "@stamhoofd/utility";
3
+ import { Formatter } from '@stamhoofd/utility';
4
4
 
5
- import { Member, MemberWithRegistrations } from "../models/Member";
6
- import { Organization } from "../models/Organization";
7
- import { User } from "../models/User";
5
+ import { Member, MemberWithRegistrations } from '../models/Member';
6
+ import { Organization } from '../models/Organization';
7
+ import { User } from '../models/User';
8
8
  import { EmergencyContactFactory } from './EmergencyContactFactory';
9
9
  import { OrganizationFactory } from './OrganizationFactory';
10
10
  import { ParentFactory } from './ParentFactory';
@@ -16,44 +16,44 @@ class Options {
16
16
  /// In order to add something to the keychain, we need the private key of the user (since everything needs to be signed)
17
17
  userPrivateKey?: string;
18
18
 
19
- minAge?: number
20
- maxAge?: number
19
+ minAge?: number;
20
+ maxAge?: number;
21
21
  }
22
22
 
23
23
  export class MemberFactory extends Factory<Options, MemberWithRegistrations> {
24
24
  async create(): Promise<MemberWithRegistrations> {
25
25
  const organization = this.options.organization
26
- ?? await new OrganizationFactory({}).create()
26
+ ?? await new OrganizationFactory({}).create();
27
27
 
28
- const memberDetails = new MemberDetails()
29
- const minAge = (this.options.minAge ?? 6)
30
- const maxAge = this.options.maxAge ?? 18
28
+ const memberDetails = new MemberDetails();
29
+ const minAge = (this.options.minAge ?? 6);
30
+ const maxAge = this.options.maxAge ?? 18;
31
31
 
32
32
  memberDetails.gender = Math.random() >= 0.05 ? (Math.random() >= 0.5 ? Gender.Male : Gender.Female) : Gender.Other;
33
33
  memberDetails.firstName = this.randomFirstName(memberDetails.gender);
34
34
  memberDetails.birthDay = new Date(
35
- new Date().getFullYear() -
36
- (minAge + Math.floor(Math.random() * (maxAge - minAge + 1))),
35
+ new Date().getFullYear()
36
+ - (minAge + Math.floor(Math.random() * (maxAge - minAge + 1))),
37
37
  Math.floor(Math.random() * 12), // 11 = 12
38
- Math.floor(Math.random() * 31)
38
+ Math.floor(Math.random() * 31),
39
39
  );
40
40
 
41
41
  // For now only generate -18
42
42
  memberDetails.address = null;
43
43
 
44
44
  if (memberDetails.age! >= 14) {
45
- memberDetails.phone =
46
- "+32 47" +
47
- Math.floor(Math.random() * 10) +
48
- " " +
49
- Math.floor(Math.random() * 10) +
50
- Math.floor(Math.random() * 10) +
51
- " " +
52
- Math.floor(Math.random() * 10) +
53
- Math.floor(Math.random() * 10) +
54
- " " +
55
- Math.floor(Math.random() * 10) +
56
- Math.floor(Math.random() * 10);
45
+ memberDetails.phone
46
+ = '+32 47'
47
+ + Math.floor(Math.random() * 10)
48
+ + ' '
49
+ + Math.floor(Math.random() * 10)
50
+ + Math.floor(Math.random() * 10)
51
+ + ' '
52
+ + Math.floor(Math.random() * 10)
53
+ + Math.floor(Math.random() * 10)
54
+ + ' '
55
+ + Math.floor(Math.random() * 10)
56
+ + Math.floor(Math.random() * 10);
57
57
  }
58
58
 
59
59
  let parentFactory = new ParentFactory({});
@@ -61,7 +61,7 @@ export class MemberFactory extends Factory<Options, MemberWithRegistrations> {
61
61
  memberDetails.parents.push(await parentFactory.create());
62
62
 
63
63
  // 80% chance to have 2 parents if not guardian
64
- if (Math.random() >= 0.2 && memberDetails.parents[0].type != ParentType.Other) {
64
+ if (Math.random() >= 0.2 && memberDetails.parents[0].type !== ParentType.Other) {
65
65
  // 90% chance to have parents of different gender
66
66
  parentFactory = new ParentFactory({
67
67
  type:
@@ -83,19 +83,22 @@ export class MemberFactory extends Factory<Options, MemberWithRegistrations> {
83
83
  // Sort
84
84
 
85
85
  if (memberDetails.parents.length == 2 && Math.random() >= 0.9) {
86
- memberDetails.lastName = memberDetails.parents[0].lastName + "-" + memberDetails.parents[1].lastName;
87
- } else {
86
+ memberDetails.lastName = memberDetails.parents[0].lastName + '-' + memberDetails.parents[1].lastName;
87
+ }
88
+ else {
88
89
  if (memberDetails.parents[0].type == ParentType.Father) {
89
90
  memberDetails.lastName = memberDetails.parents[0].lastName;
90
- } else if (memberDetails.parents[1] && memberDetails.parents[1].type == ParentType.Father) {
91
+ }
92
+ else if (memberDetails.parents[1] && memberDetails.parents[1].type == ParentType.Father) {
91
93
  memberDetails.lastName = memberDetails.parents[1].lastName;
92
- } else {
94
+ }
95
+ else {
93
96
  memberDetails.lastName = memberDetails.parents[0].lastName;
94
97
  }
95
98
  }
96
99
 
97
100
  if (memberDetails.age! >= 16) {
98
- memberDetails.email = Formatter.slugEmail(memberDetails.firstName + "-" + memberDetails.lastName) + "@geen-email.com";
101
+ memberDetails.email = Formatter.slugEmail(memberDetails.firstName + '-' + memberDetails.lastName) + '@geen-email.com';
99
102
  }
100
103
 
101
104
  const emergencyContactFactory = new EmergencyContactFactory({});
@@ -106,17 +109,17 @@ export class MemberFactory extends Factory<Options, MemberWithRegistrations> {
106
109
 
107
110
  const member = new Member()
108
111
  .setManyRelation(Member.registrations, [])
109
- .setManyRelation(Member.users, this.options.user ? [this.options.user] : [])
112
+ .setManyRelation(Member.users, this.options.user ? [this.options.user] : []);
110
113
 
111
- member.organizationId = organization.id
112
- member.details = memberDetails
113
- await member.save()
114
+ member.organizationId = organization.id;
115
+ member.details = memberDetails;
116
+ await member.save();
114
117
 
115
118
  // Give user access to the encrypted data
116
119
  if (this.options.user) {
117
- await Member.users.link(member, [this.options.user])
120
+ await Member.users.link(member, [this.options.user]);
118
121
  }
119
-
122
+
120
123
  return member as any;
121
124
  }
122
125
  }
@@ -1,10 +1,10 @@
1
- import { Factory } from "@simonbackx/simple-database";
2
- import { Address, Country, OrganizationMetaData, OrganizationType, PermissionRoleDetailed } from "@stamhoofd/structures";
3
- import { Formatter } from "@stamhoofd/utility";
1
+ import { Factory } from '@simonbackx/simple-database';
2
+ import { Address, Country, OrganizationMetaData, OrganizationType, PermissionRoleDetailed } from '@stamhoofd/structures';
3
+ import { Formatter } from '@stamhoofd/utility';
4
4
 
5
- import { Organization } from "../models/Organization";
6
- import { RegistrationPeriod } from "../models/RegistrationPeriod";
7
- import { RegistrationPeriodFactory } from "./RegistrationPeriodFactory";
5
+ import { Organization } from '../models/Organization';
6
+ import { RegistrationPeriod } from '../models/RegistrationPeriod';
7
+ import { RegistrationPeriodFactory } from './RegistrationPeriodFactory';
8
8
 
9
9
  class Options {
10
10
  uri?: string;
@@ -19,8 +19,8 @@ class Options {
19
19
  export class OrganizationFactory extends Factory<Options, Organization> {
20
20
  async create(): Promise<Organization> {
21
21
  const organization = new Organization();
22
- organization.name = this.options.name ?? "Organization " + (new Date().getTime() + Math.floor(Math.random() * 999999));
23
- organization.website = "https://domain.com";
22
+ organization.name = this.options.name ?? 'Organization ' + (new Date().getTime() + Math.floor(Math.random() * 999999));
23
+ organization.website = 'https://domain.com';
24
24
  organization.registerDomain = this.options.domain ?? null;
25
25
  organization.uri = this.options.uri ?? Formatter.slug(organization.name);
26
26
  organization.meta = this.options.meta ?? OrganizationMetaData.create({
@@ -28,15 +28,15 @@ export class OrganizationFactory extends Factory<Options, Organization> {
28
28
  umbrellaOrganization: null,
29
29
  defaultEndDate: new Date(),
30
30
  defaultStartDate: new Date(),
31
- defaultPrices: []
31
+ defaultPrices: [],
32
32
  });
33
33
  organization.address = Address.create({
34
- street: "Demostraat",
35
- number: "12",
36
- city: this.options.city ?? "Gent",
37
- postalCode: "9000",
38
- country: Country.Belgium
39
- })
34
+ street: 'Demostraat',
35
+ number: '12',
36
+ city: this.options.city ?? 'Gent',
37
+ postalCode: '9000',
38
+ country: Country.Belgium,
39
+ });
40
40
 
41
41
  const period = this.options.period ?? await new RegistrationPeriodFactory({}).create();
42
42
  organization.periodId = period.id;
@@ -1,8 +1,8 @@
1
- import { Factory } from "@simonbackx/simple-database";
1
+ import { Factory } from '@simonbackx/simple-database';
2
2
  import { Gender, Parent, ParentType } from '@stamhoofd/structures';
3
- import { Formatter } from "@stamhoofd/utility";
3
+ import { Formatter } from '@stamhoofd/utility';
4
4
 
5
- import { AddressFactory } from "./AddressFactory";
5
+ import { AddressFactory } from './AddressFactory';
6
6
 
7
7
  interface Options {
8
8
  type?: ParentType;
@@ -21,28 +21,28 @@ export class ParentFactory extends Factory<Options, Parent> {
21
21
  parent.lastName = this.randomLastName();
22
22
 
23
23
  parent.address = await new AddressFactory({}).create();
24
- parent.phone =
25
- "+32 47" +
26
- Math.floor(Math.random() * 10) +
27
- " " +
28
- Math.floor(Math.random() * 10) +
29
- Math.floor(Math.random() * 10) +
30
- " " +
31
- Math.floor(Math.random() * 10) +
32
- Math.floor(Math.random() * 10) +
33
- " " +
34
- Math.floor(Math.random() * 10) +
35
- Math.floor(Math.random() * 10);
24
+ parent.phone
25
+ = '+32 47'
26
+ + Math.floor(Math.random() * 10)
27
+ + ' '
28
+ + Math.floor(Math.random() * 10)
29
+ + Math.floor(Math.random() * 10)
30
+ + ' '
31
+ + Math.floor(Math.random() * 10)
32
+ + Math.floor(Math.random() * 10)
33
+ + ' '
34
+ + Math.floor(Math.random() * 10)
35
+ + Math.floor(Math.random() * 10);
36
36
 
37
- parent.email =
38
- Formatter.slugEmail(
39
- (Math.random() >= 0.5 ? parent.firstName.toLowerCase() : parent.firstName.toLowerCase()[0]) +
40
- (Math.random() >= 0.5 ? "." : Math.random() >= 0.5 ? "_" : "") +
41
- parent.lastName.toLowerCase().replace(" ", "")
42
- ) +
43
- "@" +
44
- this.randomArray([
45
- "geen-email.com"
37
+ parent.email
38
+ = Formatter.slugEmail(
39
+ (Math.random() >= 0.5 ? parent.firstName.toLowerCase() : parent.firstName.toLowerCase()[0])
40
+ + (Math.random() >= 0.5 ? '.' : Math.random() >= 0.5 ? '_' : '')
41
+ + parent.lastName.toLowerCase().replace(' ', ''),
42
+ )
43
+ + '@'
44
+ + this.randomArray([
45
+ 'geen-email.com',
46
46
  ]);
47
47
  return parent;
48
48
  }
@@ -1,12 +1,13 @@
1
- import { Factory } from "@simonbackx/simple-database";
1
+ import { Factory } from '@simonbackx/simple-database';
2
2
  import { LegacyRecord, LegacyRecordType } from '@stamhoofd/structures';
3
3
 
4
- interface Options {}
4
+ type Options = Record<string, never>;
5
5
 
6
- export class RecordFactory extends Factory<Options, LegacyRecord> {LegacyRecordLegacyRecord
6
+ export class RecordFactory extends Factory<Options, LegacyRecord> {
7
+ LegacyRecordLegacyRecord;
7
8
  create(): Promise<LegacyRecord> {
8
9
  return Promise.resolve(LegacyRecord.create({
9
- type: this.randomArray(Object.values(LegacyRecordType))
10
+ type: this.randomArray(Object.values(LegacyRecordType)),
10
11
  }));
11
12
  }
12
13
  }
@@ -1,22 +1,22 @@
1
- import { Factory } from "@simonbackx/simple-database";
1
+ import { Factory } from '@simonbackx/simple-database';
2
2
 
3
- import { RegisterCode } from "../models";
3
+ import { RegisterCode } from '../models';
4
4
 
5
5
  type OrganizationOptions = {
6
- organizationId: string
7
- } | {organization: {id: string}}
6
+ organizationId: string;
7
+ } | { organization: { id: string } };
8
8
 
9
9
  type Options = OrganizationOptions & {
10
10
  value?: number;
11
11
  description?: string;
12
- }
12
+ };
13
13
 
14
14
  export class RegisterCodeFactory extends Factory<Options, RegisterCode> {
15
15
  async create(): Promise<RegisterCode> {
16
16
  const code = new RegisterCode();
17
- code.organizationId = "organizationId" in this.options ? this.options.organizationId : this.options.organization.id;
17
+ code.organizationId = 'organizationId' in this.options ? this.options.organizationId : this.options.organization.id;
18
18
  code.value = this.options.value ?? (25 * 100);
19
- code.description = this.options.description ?? "Test code";
19
+ code.description = this.options.description ?? 'Test code';
20
20
 
21
21
  await code.generateCode();
22
22
  await code.save();
@@ -1,30 +1,30 @@
1
- import { Factory } from "@simonbackx/simple-database";
1
+ import { Factory } from '@simonbackx/simple-database';
2
2
 
3
- import { GroupPrice } from "@stamhoofd/structures";
4
- import { Group } from "../models/Group";
3
+ import { GroupPrice } from '@stamhoofd/structures';
4
+ import { Group } from '../models/Group';
5
5
  import { Member } from '../models/Member';
6
6
  import { Registration } from '../models/Registration';
7
7
 
8
8
  class Options {
9
9
  member: Member;
10
10
  group: Group;
11
- groupPrice: GroupPrice
12
- price?: number
11
+ groupPrice: GroupPrice;
12
+ price?: number;
13
13
  }
14
14
 
15
15
  export class RegistrationFactory extends Factory<Options, Registration> {
16
16
  async create(): Promise<Registration> {
17
- const registration = new Registration()
18
- registration.memberId = this.options.member.id
19
- registration.groupId = this.options.group.id
20
- registration.periodId = this.options.group.periodId
21
- registration.organizationId = this.options.group.organizationId
22
- registration.registeredAt = new Date()
23
- registration.registeredAt.setMilliseconds(0)
24
- registration.groupPrice = this.options.groupPrice
25
- registration.price = this.options.price === undefined ? registration.groupPrice.price.price : this.options.price
26
-
27
- await registration.save()
17
+ const registration = new Registration();
18
+ registration.memberId = this.options.member.id;
19
+ registration.groupId = this.options.group.id;
20
+ registration.periodId = this.options.group.periodId;
21
+ registration.organizationId = this.options.group.organizationId;
22
+ registration.registeredAt = new Date();
23
+ registration.registeredAt.setMilliseconds(0);
24
+ registration.groupPrice = this.options.groupPrice;
25
+ registration.price = this.options.price === undefined ? registration.groupPrice.price.price : this.options.price;
26
+
27
+ await registration.save();
28
28
  return registration;
29
29
  }
30
30
  }
@@ -1,7 +1,7 @@
1
- import { Factory } from "@simonbackx/simple-database";
2
- import { RegistrationPeriodSettings } from "@stamhoofd/structures";
1
+ import { Factory } from '@simonbackx/simple-database';
2
+ import { RegistrationPeriodSettings } from '@stamhoofd/structures';
3
3
 
4
- import { RegistrationPeriod } from "../models";
4
+ import { RegistrationPeriod } from '../models';
5
5
 
6
6
  class Options {
7
7
  startDate?: Date;
@@ -13,8 +13,8 @@ export class RegistrationPeriodFactory extends Factory<Options, RegistrationPeri
13
13
  const period = new RegistrationPeriod();
14
14
 
15
15
  period.organizationId = null;
16
- period.startDate = this.options.startDate ?? new Date(2024,0,1,0,0,0,0);
17
- period.endDate = this.options.endDate ?? new Date(2024,11,31,59,59,59,999);
16
+ period.startDate = this.options.startDate ?? new Date(2024, 0, 1, 0, 0, 0, 0);
17
+ period.endDate = this.options.endDate ?? new Date(2024, 11, 31, 59, 59, 59, 999);
18
18
  period.settings = RegistrationPeriodSettings.create({});
19
19
 
20
20
  await period.save();
@@ -1,8 +1,8 @@
1
- import { Factory } from "@simonbackx/simple-database";
1
+ import { Factory } from '@simonbackx/simple-database';
2
2
  import { NewUser, Permissions, UserPermissions } from '@stamhoofd/structures';
3
3
 
4
- import { Organization } from "../models/Organization";
5
- import { User } from "../models/User";
4
+ import { Organization } from '../models/Organization';
5
+ import { User } from '../models/User';
6
6
  import { OrganizationFactory } from './OrganizationFactory';
7
7
 
8
8
  class Options {
@@ -15,48 +15,49 @@ class Options {
15
15
  * Default is true
16
16
  */
17
17
  verified?: boolean;
18
- permissions?: Permissions | null
19
- globalPermissions?: Permissions | null
18
+ permissions?: Permissions | null;
19
+ globalPermissions?: Permissions | null;
20
20
  }
21
21
 
22
22
  export class UserFactory extends Factory<Options, User> {
23
23
  async create(): Promise<User> {
24
- let organization: Organization
24
+ let organization: Organization;
25
25
 
26
26
  if (!this.options.organization) {
27
- const organizationFactory = new OrganizationFactory({})
28
- organization = await organizationFactory.create()
29
- } else {
30
- organization = this.options.organization
27
+ const organizationFactory = new OrganizationFactory({});
28
+ organization = await organizationFactory.create();
31
29
  }
32
-
33
- const email = this.options.email ?? "generated-email-" + this.randomString(20) + "@domain.com";
30
+ else {
31
+ organization = this.options.organization;
32
+ }
33
+
34
+ const email = this.options.email ?? 'generated-email-' + this.randomString(20) + '@domain.com';
34
35
  const password = this.options.password ?? this.randomString(20);
35
36
 
36
37
  const user = await User.register(organization, NewUser.create({
37
38
  email,
38
39
  organizationId: organization.id,
39
- password
40
+ password,
40
41
  }));
41
42
  if (!user) {
42
- throw new Error("Unexpected failure when creating user in factory");
43
+ throw new Error('Unexpected failure when creating user in factory');
43
44
  }
44
45
 
45
46
  if (this.options.permissions) {
46
- user.permissions = UserPermissions.create({})
47
- user.permissions.organizationPermissions.set(organization.id, this.options.permissions)
47
+ user.permissions = UserPermissions.create({});
48
+ user.permissions.organizationPermissions.set(organization.id, this.options.permissions);
48
49
  }
49
50
 
50
51
  if (this.options.globalPermissions) {
51
52
  if (!user.permissions) {
52
- user.permissions = UserPermissions.create({})
53
+ user.permissions = UserPermissions.create({});
53
54
  }
54
- user.permissions.globalPermissions = this.options.globalPermissions
55
+ user.permissions.globalPermissions = this.options.globalPermissions;
55
56
  }
56
57
 
57
58
  user.firstName = this.options.firstName ?? null;
58
59
  user.lastName = this.options.lastName ?? null;
59
-
60
+
60
61
  if (this.options.verified === undefined || this.options.verified === true) {
61
62
  user.verified = true;
62
63
  }
@@ -1,17 +1,17 @@
1
- import { Factory } from "@simonbackx/simple-database";
2
- import { AutoEncoderPatchType } from "@simonbackx/simple-encoding";
3
- import { Product, WebshopMetaData, WebshopPrivateMetaData } from "@stamhoofd/structures";
4
- import { Formatter } from "@stamhoofd/utility";
1
+ import { Factory } from '@simonbackx/simple-database';
2
+ import { AutoEncoderPatchType } from '@simonbackx/simple-encoding';
3
+ import { Product, WebshopMetaData, WebshopPrivateMetaData } from '@stamhoofd/structures';
4
+ import { Formatter } from '@stamhoofd/utility';
5
5
 
6
- import { Webshop } from "../models";
7
- import { OrganizationFactory } from "./OrganizationFactory";
6
+ import { Webshop } from '../models';
7
+ import { OrganizationFactory } from './OrganizationFactory';
8
8
 
9
9
  class Options {
10
- organizationId?: string
11
- name?: string
12
- meta?: WebshopMetaData|AutoEncoderPatchType<WebshopMetaData>
13
- privateMeta?: WebshopPrivateMetaData|AutoEncoderPatchType<WebshopPrivateMetaData>
14
- products?: Product[]
10
+ organizationId?: string;
11
+ name?: string;
12
+ meta?: WebshopMetaData | AutoEncoderPatchType<WebshopMetaData>;
13
+ privateMeta?: WebshopPrivateMetaData | AutoEncoderPatchType<WebshopPrivateMetaData>;
14
+ products?: Product[];
15
15
  }
16
16
 
17
17
  export class WebshopFactory extends Factory<Options, Webshop> {
@@ -21,7 +21,7 @@ export class WebshopFactory extends Factory<Options, Webshop> {
21
21
  const webshop = new Webshop();
22
22
  webshop.organizationId = organizationId;
23
23
  webshop.meta = WebshopMetaData.create({
24
- name: this.options?.name ?? ("Webshop " + (new Date().getTime() + Math.floor(Math.random() * 999999)))
24
+ name: this.options?.name ?? ('Webshop ' + (new Date().getTime() + Math.floor(Math.random() * 999999))),
25
25
  });
26
26
  webshop.uri = Formatter.slug(this.randomString(20));
27
27
 
@@ -30,13 +30,13 @@ export class WebshopFactory extends Factory<Options, Webshop> {
30
30
  }
31
31
 
32
32
  if (this.options.privateMeta) {
33
- webshop.privateMeta.patchOrPut(this.options.privateMeta);
33
+ webshop.privateMeta.patchOrPut(this.options.privateMeta);
34
34
  }
35
35
 
36
36
  if (this.options.products) {
37
37
  webshop.products = this.options.products;
38
38
  }
39
-
39
+
40
40
  await webshop.save();
41
41
  return webshop;
42
42
  }