@stamhoofd/models 2.64.0 → 2.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. package/dist/src/helpers/EmailBuilder.d.ts +6 -1
  2. package/dist/src/helpers/EmailBuilder.d.ts.map +1 -1
  3. package/dist/src/helpers/EmailBuilder.js +60 -20
  4. package/dist/src/helpers/EmailBuilder.js.map +1 -1
  5. package/dist/src/helpers/MemberMerger.d.ts.map +1 -1
  6. package/dist/src/helpers/MemberMerger.js +1 -2
  7. package/dist/src/helpers/MemberMerger.js.map +1 -1
  8. package/dist/src/migrations/1605262045-import-postcodes.d.ts +2 -2
  9. package/dist/src/migrations/1605262045-import-postcodes.js +9 -9
  10. package/dist/src/migrations/1735573520-emails-email-type.sql +2 -0
  11. package/dist/src/migrations/1735573521-email-recipients-email-type.sql +4 -0
  12. package/dist/src/migrations/1735573522-emails-indexes.sql +3 -0
  13. package/dist/src/migrations/1735982691-cached-balance-email-reminder-counts.sql +4 -0
  14. package/dist/src/migrations/1735994471-default-email-templates.sql +5 -0
  15. package/dist/src/models/AuditLog.d.ts +2 -7
  16. package/dist/src/models/AuditLog.d.ts.map +1 -1
  17. package/dist/src/models/AuditLog.js +1 -15
  18. package/dist/src/models/AuditLog.js.map +1 -1
  19. package/dist/src/models/BalanceItem.d.ts +2 -11
  20. package/dist/src/models/BalanceItem.d.ts.map +1 -1
  21. package/dist/src/models/BalanceItem.js +8 -22
  22. package/dist/src/models/BalanceItem.js.map +1 -1
  23. package/dist/src/models/BalanceItemPayment.d.ts +3 -7
  24. package/dist/src/models/BalanceItemPayment.d.ts.map +1 -1
  25. package/dist/src/models/BalanceItemPayment.js +1 -15
  26. package/dist/src/models/BalanceItemPayment.js.map +1 -1
  27. package/dist/src/models/BuckarooPayment.d.ts +2 -2
  28. package/dist/src/models/BuckarooPayment.d.ts.map +1 -1
  29. package/dist/src/models/BuckarooPayment.js +2 -1
  30. package/dist/src/models/BuckarooPayment.js.map +1 -1
  31. package/dist/src/models/CachedBalance.d.ts +7 -9
  32. package/dist/src/models/CachedBalance.d.ts.map +1 -1
  33. package/dist/src/models/CachedBalance.js +61 -22
  34. package/dist/src/models/CachedBalance.js.map +1 -1
  35. package/dist/src/models/Document.d.ts +3 -3
  36. package/dist/src/models/Document.d.ts.map +1 -1
  37. package/dist/src/models/Document.js +2 -1
  38. package/dist/src/models/Document.js.map +1 -1
  39. package/dist/src/models/DocumentTemplate.d.ts +2 -2
  40. package/dist/src/models/DocumentTemplate.d.ts.map +1 -1
  41. package/dist/src/models/DocumentTemplate.js +2 -1
  42. package/dist/src/models/DocumentTemplate.js.map +1 -1
  43. package/dist/src/models/Email.d.ts +10 -4
  44. package/dist/src/models/Email.d.ts.map +1 -1
  45. package/dist/src/models/Email.js +68 -25
  46. package/dist/src/models/Email.js.map +1 -1
  47. package/dist/src/models/EmailRecipient.d.ts +14 -8
  48. package/dist/src/models/EmailRecipient.d.ts.map +1 -1
  49. package/dist/src/models/EmailRecipient.js +19 -14
  50. package/dist/src/models/EmailRecipient.js.map +1 -1
  51. package/dist/src/models/EmailTemplate.d.ts +2 -7
  52. package/dist/src/models/EmailTemplate.d.ts.map +1 -1
  53. package/dist/src/models/EmailTemplate.js +1 -15
  54. package/dist/src/models/EmailTemplate.js.map +1 -1
  55. package/dist/src/models/EmailVerificationCode.d.ts +2 -2
  56. package/dist/src/models/EmailVerificationCode.d.ts.map +1 -1
  57. package/dist/src/models/EmailVerificationCode.js +2 -1
  58. package/dist/src/models/EmailVerificationCode.js.map +1 -1
  59. package/dist/src/models/Event.d.ts +2 -2
  60. package/dist/src/models/Event.d.ts.map +1 -1
  61. package/dist/src/models/Event.js +2 -1
  62. package/dist/src/models/Event.js.map +1 -1
  63. package/dist/src/models/Group.d.ts +2 -7
  64. package/dist/src/models/Group.d.ts.map +1 -1
  65. package/dist/src/models/Group.js +1 -17
  66. package/dist/src/models/Group.js.map +1 -1
  67. package/dist/src/models/Image.d.ts +2 -2
  68. package/dist/src/models/Image.d.ts.map +1 -1
  69. package/dist/src/models/Image.js +2 -1
  70. package/dist/src/models/Image.js.map +1 -1
  71. package/dist/src/models/Member.d.ts +3 -2
  72. package/dist/src/models/Member.d.ts.map +1 -1
  73. package/dist/src/models/Member.js +1 -1
  74. package/dist/src/models/Member.js.map +1 -1
  75. package/dist/src/models/MemberPlatformMembership.d.ts +2 -7
  76. package/dist/src/models/MemberPlatformMembership.d.ts.map +1 -1
  77. package/dist/src/models/MemberPlatformMembership.js +1 -15
  78. package/dist/src/models/MemberPlatformMembership.js.map +1 -1
  79. package/dist/src/models/MemberResponsibilityRecord.d.ts +2 -7
  80. package/dist/src/models/MemberResponsibilityRecord.d.ts.map +1 -1
  81. package/dist/src/models/MemberResponsibilityRecord.js +1 -15
  82. package/dist/src/models/MemberResponsibilityRecord.js.map +1 -1
  83. package/dist/src/models/MemberUser.d.ts +8 -0
  84. package/dist/src/models/MemberUser.d.ts.map +1 -0
  85. package/dist/src/models/MemberUser.js +26 -0
  86. package/dist/src/models/MemberUser.js.map +1 -0
  87. package/dist/src/models/MergedMember.d.ts +2 -2
  88. package/dist/src/models/MergedMember.d.ts.map +1 -1
  89. package/dist/src/models/MergedMember.js +2 -1
  90. package/dist/src/models/MergedMember.js.map +1 -1
  91. package/dist/src/models/MolliePayment.d.ts +2 -2
  92. package/dist/src/models/MolliePayment.d.ts.map +1 -1
  93. package/dist/src/models/MolliePayment.js +2 -1
  94. package/dist/src/models/MolliePayment.js.map +1 -1
  95. package/dist/src/models/MollieToken.d.ts +2 -2
  96. package/dist/src/models/MollieToken.d.ts.map +1 -1
  97. package/dist/src/models/MollieToken.js +2 -1
  98. package/dist/src/models/MollieToken.js.map +1 -1
  99. package/dist/src/models/OneTimeToken.d.ts +2 -2
  100. package/dist/src/models/OneTimeToken.d.ts.map +1 -1
  101. package/dist/src/models/OneTimeToken.js +2 -1
  102. package/dist/src/models/OneTimeToken.js.map +1 -1
  103. package/dist/src/models/Order.d.ts +3 -2
  104. package/dist/src/models/Order.d.ts.map +1 -1
  105. package/dist/src/models/Order.js +2 -1
  106. package/dist/src/models/Order.js.map +1 -1
  107. package/dist/src/models/Organization.d.ts +2 -2
  108. package/dist/src/models/Organization.d.ts.map +1 -1
  109. package/dist/src/models/Organization.js +2 -1
  110. package/dist/src/models/Organization.js.map +1 -1
  111. package/dist/src/models/OrganizationRegistrationPeriod.d.ts +2 -2
  112. package/dist/src/models/OrganizationRegistrationPeriod.d.ts.map +1 -1
  113. package/dist/src/models/OrganizationRegistrationPeriod.js +2 -1
  114. package/dist/src/models/OrganizationRegistrationPeriod.js.map +1 -1
  115. package/dist/src/models/PasswordToken.d.ts +3 -2
  116. package/dist/src/models/PasswordToken.d.ts.map +1 -1
  117. package/dist/src/models/PasswordToken.js +2 -1
  118. package/dist/src/models/PasswordToken.js.map +1 -1
  119. package/dist/src/models/PayconiqPayment.d.ts +2 -2
  120. package/dist/src/models/PayconiqPayment.d.ts.map +1 -1
  121. package/dist/src/models/PayconiqPayment.js +2 -1
  122. package/dist/src/models/PayconiqPayment.js.map +1 -1
  123. package/dist/src/models/Payment.d.ts +2 -7
  124. package/dist/src/models/Payment.d.ts.map +1 -1
  125. package/dist/src/models/Payment.js +1 -15
  126. package/dist/src/models/Payment.js.map +1 -1
  127. package/dist/src/models/Platform.d.ts +3 -3
  128. package/dist/src/models/Platform.d.ts.map +1 -1
  129. package/dist/src/models/Platform.js +2 -1
  130. package/dist/src/models/Platform.js.map +1 -1
  131. package/dist/src/models/RegisterCode.d.ts +2 -2
  132. package/dist/src/models/RegisterCode.d.ts.map +1 -1
  133. package/dist/src/models/RegisterCode.js +2 -1
  134. package/dist/src/models/RegisterCode.js.map +1 -1
  135. package/dist/src/models/Registration.d.ts +3 -2
  136. package/dist/src/models/Registration.d.ts.map +1 -1
  137. package/dist/src/models/Registration.js +2 -27
  138. package/dist/src/models/Registration.js.map +1 -1
  139. package/dist/src/models/RegistrationPeriod.d.ts +2 -7
  140. package/dist/src/models/RegistrationPeriod.d.ts.map +1 -1
  141. package/dist/src/models/RegistrationPeriod.js +1 -15
  142. package/dist/src/models/RegistrationPeriod.js.map +1 -1
  143. package/dist/src/models/STCredit.d.ts +2 -2
  144. package/dist/src/models/STCredit.d.ts.map +1 -1
  145. package/dist/src/models/STCredit.js +2 -1
  146. package/dist/src/models/STCredit.js.map +1 -1
  147. package/dist/src/models/STInvoice.d.ts +3 -2
  148. package/dist/src/models/STInvoice.d.ts.map +1 -1
  149. package/dist/src/models/STInvoice.js +2 -1
  150. package/dist/src/models/STInvoice.js.map +1 -1
  151. package/dist/src/models/STPackage.d.ts +2 -2
  152. package/dist/src/models/STPackage.d.ts.map +1 -1
  153. package/dist/src/models/STPackage.js +2 -1
  154. package/dist/src/models/STPackage.js.map +1 -1
  155. package/dist/src/models/STPendingInvoice.d.ts +3 -2
  156. package/dist/src/models/STPendingInvoice.d.ts.map +1 -1
  157. package/dist/src/models/STPendingInvoice.js +2 -1
  158. package/dist/src/models/STPendingInvoice.js.map +1 -1
  159. package/dist/src/models/StripeAccount.d.ts +2 -2
  160. package/dist/src/models/StripeAccount.d.ts.map +1 -1
  161. package/dist/src/models/StripeAccount.js +2 -1
  162. package/dist/src/models/StripeAccount.js.map +1 -1
  163. package/dist/src/models/StripeCheckoutSession.d.ts +2 -2
  164. package/dist/src/models/StripeCheckoutSession.d.ts.map +1 -1
  165. package/dist/src/models/StripeCheckoutSession.js +2 -1
  166. package/dist/src/models/StripeCheckoutSession.js.map +1 -1
  167. package/dist/src/models/StripePaymentIntent.d.ts +2 -2
  168. package/dist/src/models/StripePaymentIntent.d.ts.map +1 -1
  169. package/dist/src/models/StripePaymentIntent.js +2 -1
  170. package/dist/src/models/StripePaymentIntent.js.map +1 -1
  171. package/dist/src/models/Ticket.d.ts +3 -2
  172. package/dist/src/models/Ticket.d.ts.map +1 -1
  173. package/dist/src/models/Ticket.js +2 -1
  174. package/dist/src/models/Ticket.js.map +1 -1
  175. package/dist/src/models/Token.d.ts +3 -2
  176. package/dist/src/models/Token.d.ts.map +1 -1
  177. package/dist/src/models/Token.js +2 -1
  178. package/dist/src/models/Token.js.map +1 -1
  179. package/dist/src/models/UsedRegisterCode.d.ts +2 -2
  180. package/dist/src/models/UsedRegisterCode.d.ts.map +1 -1
  181. package/dist/src/models/UsedRegisterCode.js +2 -1
  182. package/dist/src/models/UsedRegisterCode.js.map +1 -1
  183. package/dist/src/models/User.d.ts +7 -2
  184. package/dist/src/models/User.d.ts.map +1 -1
  185. package/dist/src/models/User.js +27 -4
  186. package/dist/src/models/User.js.map +1 -1
  187. package/dist/src/models/UserPermissions.d.ts +3 -2
  188. package/dist/src/models/UserPermissions.d.ts.map +1 -1
  189. package/dist/src/models/UserPermissions.js +2 -1
  190. package/dist/src/models/UserPermissions.js.map +1 -1
  191. package/dist/src/models/Webshop.d.ts +3 -2
  192. package/dist/src/models/Webshop.d.ts.map +1 -1
  193. package/dist/src/models/Webshop.js +2 -1
  194. package/dist/src/models/Webshop.js.map +1 -1
  195. package/dist/src/models/WebshopDiscountCode.d.ts +2 -2
  196. package/dist/src/models/WebshopDiscountCode.d.ts.map +1 -1
  197. package/dist/src/models/WebshopDiscountCode.js +2 -1
  198. package/dist/src/models/WebshopDiscountCode.js.map +1 -1
  199. package/dist/src/models/addresses/City.d.ts +3 -2
  200. package/dist/src/models/addresses/City.d.ts.map +1 -1
  201. package/dist/src/models/addresses/City.js +2 -1
  202. package/dist/src/models/addresses/City.js.map +1 -1
  203. package/dist/src/models/addresses/PostalCode.d.ts +3 -2
  204. package/dist/src/models/addresses/PostalCode.d.ts.map +1 -1
  205. package/dist/src/models/addresses/PostalCode.js +2 -1
  206. package/dist/src/models/addresses/PostalCode.js.map +1 -1
  207. package/dist/src/models/addresses/Province.d.ts +2 -2
  208. package/dist/src/models/addresses/Province.d.ts.map +1 -1
  209. package/dist/src/models/addresses/Province.js +2 -1
  210. package/dist/src/models/addresses/Province.js.map +1 -1
  211. package/dist/src/models/addresses/Street.d.ts +3 -2
  212. package/dist/src/models/addresses/Street.d.ts.map +1 -1
  213. package/dist/src/models/addresses/Street.js +2 -1
  214. package/dist/src/models/addresses/Street.js.map +1 -1
  215. package/dist/src/models/index.d.ts +1 -0
  216. package/dist/src/models/index.d.ts.map +1 -1
  217. package/dist/src/models/index.js +1 -0
  218. package/dist/src/models/index.js.map +1 -1
  219. package/dist/tsconfig.tsbuildinfo +1 -1
  220. package/package.json +2 -2
  221. package/src/helpers/EmailBuilder.ts +82 -27
  222. package/src/helpers/MemberMerger.ts +2 -3
  223. package/src/migrations/1605262045-import-postcodes.ts +4 -5
  224. package/src/migrations/1735573520-emails-email-type.sql +2 -0
  225. package/src/migrations/1735573521-email-recipients-email-type.sql +4 -0
  226. package/src/migrations/1735573522-emails-indexes.sql +3 -0
  227. package/src/migrations/1735982691-cached-balance-email-reminder-counts.sql +4 -0
  228. package/src/migrations/1735994471-default-email-templates.sql +5 -0
  229. package/src/models/AuditLog.ts +3 -21
  230. package/src/models/BalanceItem.ts +13 -30
  231. package/src/models/BalanceItemPayment.ts +3 -21
  232. package/src/models/BuckarooPayment.ts +3 -2
  233. package/src/models/CachedBalance.ts +82 -27
  234. package/src/models/Document.ts +4 -3
  235. package/src/models/DocumentTemplate.ts +4 -3
  236. package/src/models/Email.ts +80 -32
  237. package/src/models/EmailRecipient.ts +20 -20
  238. package/src/models/EmailTemplate.ts +3 -21
  239. package/src/models/EmailVerificationCode.ts +3 -2
  240. package/src/models/Event.ts +3 -2
  241. package/src/models/Group.ts +4 -23
  242. package/src/models/Image.ts +3 -2
  243. package/src/models/Member.ts +4 -4
  244. package/src/models/MemberPlatformMembership.ts +3 -21
  245. package/src/models/MemberResponsibilityRecord.ts +3 -21
  246. package/src/models/MemberUser.ts +18 -0
  247. package/src/models/MergedMember.ts +3 -2
  248. package/src/models/MolliePayment.ts +3 -2
  249. package/src/models/MollieToken.ts +3 -2
  250. package/src/models/OneTimeToken.ts +3 -2
  251. package/src/models/Order.ts +3 -2
  252. package/src/models/Organization.ts +3 -2
  253. package/src/models/OrganizationRegistrationPeriod.ts +3 -2
  254. package/src/models/PasswordToken.ts +3 -2
  255. package/src/models/PayconiqPayment.ts +3 -2
  256. package/src/models/Payment.ts +3 -21
  257. package/src/models/Platform.ts +4 -3
  258. package/src/models/RegisterCode.ts +3 -2
  259. package/src/models/Registration.ts +3 -28
  260. package/src/models/RegistrationPeriod.ts +3 -21
  261. package/src/models/STCredit.ts +3 -2
  262. package/src/models/STInvoice.ts +3 -2
  263. package/src/models/STPackage.ts +3 -2
  264. package/src/models/STPendingInvoice.ts +3 -2
  265. package/src/models/StripeAccount.ts +3 -2
  266. package/src/models/StripeCheckoutSession.ts +3 -2
  267. package/src/models/StripePaymentIntent.ts +3 -2
  268. package/src/models/Ticket.ts +3 -2
  269. package/src/models/Token.ts +3 -2
  270. package/src/models/UsedRegisterCode.ts +3 -2
  271. package/src/models/User.ts +31 -3
  272. package/src/models/UserPermissions.ts +3 -2
  273. package/src/models/Webshop.ts +3 -2
  274. package/src/models/WebshopDiscountCode.ts +3 -2
  275. package/src/models/addresses/City.ts +3 -2
  276. package/src/models/addresses/PostalCode.ts +3 -2
  277. package/src/models/addresses/Province.ts +3 -2
  278. package/src/models/addresses/Street.ts +3 -2
  279. package/src/models/index.ts +1 -0
@@ -4,9 +4,10 @@ exports.WebshopDiscountCode = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const simple_database_1 = require("@simonbackx/simple-database");
6
6
  const simple_encoding_1 = require("@simonbackx/simple-encoding");
7
+ const sql_1 = require("@stamhoofd/sql");
7
8
  const structures_1 = require("@stamhoofd/structures");
8
9
  const uuid_1 = require("uuid");
9
- class WebshopDiscountCode extends simple_database_1.Model {
10
+ class WebshopDiscountCode extends sql_1.QueryableModel {
10
11
  static table = 'webshop_discount_codes';
11
12
  // Columns
12
13
  id;
@@ -1 +1 @@
1
- {"version":3,"file":"WebshopDiscountCode.js","sourceRoot":"","sources":["../../../src/models/WebshopDiscountCode.ts"],"names":[],"mappings":";;;;AAAA,iEAA4D;AAC5D,iEAA2D;AAC3D,sDAA+D;AAC/D,+BAAoC;AAEpC,MAAa,mBAAoB,SAAQ,uBAAK;IAC1C,MAAM,CAAC,KAAK,GAAG,wBAAwB,CAAC;IAExC,UAAU;IAMV,EAAE,CAAU;IAGZ,cAAc,CAAS;IAGvB,SAAS,CAAS;IAGlB,IAAI,CAAS;IAGb,WAAW,GAAG,EAAE,CAAC;IAGjB,SAAS,GAAe,EAAE,CAAC;IAG3B,UAAU,GAAG,CAAC,CAAC;IAGf,YAAY,GAAkB,IAAI,CAAC;IAYnC,SAAS,CAAO;IAUhB,SAAS,CAAO;IAEhB,YAAY;QACR,OAAO,yBAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,KAAe;QAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,MAAM,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC;YACzC,SAAS;YACT,IAAI,EAAE;gBACF,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;aACf;SACJ,CAAC,CAAC;QAEH,6BAA6B;QAC7B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QACtF,OAAO,MAAM,CAAC;IAClB,CAAC;;AA1EL,kDA2EC;AAlEG;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,IAAI,IAAA,SAAM,GAAE,CAAC;QAC7B,CAAC;KACJ,CAAC;+CACU;AAGZ;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;2DACJ;AAGvB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;sDACT;AAGlB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;iDACd;AAGb;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;wDACV;AAGjB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,8BAAY,CAAC,qBAAQ,CAAC,EAAE,CAAC;sDACnC;AAG3B;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;uDACb;AAGf;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;yDACT;AAYnC;IAVC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,GAAS;YAClC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACpB,OAAO,GAAG,CAAC;YACf,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ,CAAC;sDACc;AAUhB;IARC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,UAAU,EAAE,UAAU;YACxB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,UAAU,EAAE,IAAI;KACnB,CAAC;sDACc"}
1
+ {"version":3,"file":"WebshopDiscountCode.js","sourceRoot":"","sources":["../../../src/models/WebshopDiscountCode.ts"],"names":[],"mappings":";;;;AAAA,iEAAqD;AACrD,iEAA2D;AAC3D,wCAAgD;AAChD,sDAA+D;AAC/D,+BAAoC;AAEpC,MAAa,mBAAoB,SAAQ,oBAAc;IACnD,MAAM,CAAC,KAAK,GAAG,wBAAwB,CAAC;IAExC,UAAU;IAMV,EAAE,CAAU;IAGZ,cAAc,CAAS;IAGvB,SAAS,CAAS;IAGlB,IAAI,CAAS;IAGb,WAAW,GAAG,EAAE,CAAC;IAGjB,SAAS,GAAe,EAAE,CAAC;IAG3B,UAAU,GAAG,CAAC,CAAC;IAGf,YAAY,GAAkB,IAAI,CAAC;IAYnC,SAAS,CAAO;IAUhB,SAAS,CAAO;IAEhB,YAAY;QACR,OAAO,yBAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,KAAe;QAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,MAAM,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC;YACzC,SAAS;YACT,IAAI,EAAE;gBACF,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;aACf;SACJ,CAAC,CAAC;QAEH,6BAA6B;QAC7B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QACtF,OAAO,MAAM,CAAC;IAClB,CAAC;;AA1EL,kDA2EC;AAlEG;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,IAAI,IAAA,SAAM,GAAE,CAAC;QAC7B,CAAC;KACJ,CAAC;+CACU;AAGZ;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;2DACJ;AAGvB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;sDACT;AAGlB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;iDACd;AAGb;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;wDACV;AAGjB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,8BAAY,CAAC,qBAAQ,CAAC,EAAE,CAAC;sDACnC;AAG3B;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;uDACb;AAGf;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;yDACT;AAYnC;IAVC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,GAAS;YAClC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACpB,OAAO,GAAG,CAAC;YACf,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ,CAAC;sDACc;AAUhB;IARC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,UAAU,EAAE,UAAU;YACxB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,UAAU,EAAE,IAAI;KACnB,CAAC;sDACc"}
@@ -1,7 +1,8 @@
1
- import { ManyToOneRelation, Model } from '@simonbackx/simple-database';
1
+ import { ManyToOneRelation } from '@simonbackx/simple-database';
2
2
  import { Country } from '@stamhoofd/structures';
3
+ import { QueryableModel } from '@stamhoofd/sql';
3
4
  import { Province } from './Province';
4
- export declare class City extends Model {
5
+ export declare class City extends QueryableModel {
5
6
  static table: string;
6
7
  id: string;
7
8
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"City.d.ts","sourceRoot":"","sources":["../../../../src/models/addresses/City.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,iBAAiB,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBAAa,IAAK,SAAQ,KAAK;IAC3B,MAAM,CAAC,KAAK,SAAY;IAOxB,EAAE,EAAG,MAAM,CAAC;IAGZ,IAAI,EAAE,MAAM,CAAC;IAGb,UAAU,EAAE,MAAM,CAAC;IAGnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGnC,OAAO,EAAE,OAAO,CAAC;IAEjB,MAAM,CAAC,UAAU,wCAA6C;IAC9D,MAAM,CAAC,QAAQ,0CAA+C;CACjE"}
1
+ {"version":3,"file":"City.d.ts","sourceRoot":"","sources":["../../../../src/models/addresses/City.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBAAa,IAAK,SAAQ,cAAc;IACpC,MAAM,CAAC,KAAK,SAAY;IAOxB,EAAE,EAAG,MAAM,CAAC;IAGZ,IAAI,EAAE,MAAM,CAAC;IAGb,UAAU,EAAE,MAAM,CAAC;IAGnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGnC,OAAO,EAAE,OAAO,CAAC;IAEjB,MAAM,CAAC,UAAU,wCAA6C;IAC9D,MAAM,CAAC,QAAQ,0CAA+C;CACjE"}
@@ -4,8 +4,9 @@ exports.City = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const simple_database_1 = require("@simonbackx/simple-database");
6
6
  const uuid_1 = require("uuid");
7
+ const sql_1 = require("@stamhoofd/sql");
7
8
  const Province_1 = require("./Province");
8
- class City extends simple_database_1.Model {
9
+ class City extends sql_1.QueryableModel {
9
10
  static table = 'cities';
10
11
  id;
11
12
  name;
@@ -1 +1 @@
1
- {"version":3,"file":"City.js","sourceRoot":"","sources":["../../../../src/models/addresses/City.ts"],"names":[],"mappings":";;;;AAAA,iEAA+E;AAE/E,+BAAoC;AAEpC,yCAAsC;AAEtC,MAAa,IAAK,SAAQ,uBAAK;IAC3B,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;IAOxB,EAAE,CAAU;IAGZ,IAAI,CAAS;IAGb,UAAU,CAAS;IAGnB,YAAY,GAAkB,IAAI,CAAC;IAGnC,OAAO,CAAU;IAEjB,MAAM,CAAC,UAAU,GAAG,IAAI,mCAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC9D,MAAM,CAAC,QAAQ,GAAG,IAAI,mCAAiB,CAAC,mBAAQ,EAAE,UAAU,CAAC,CAAC;;AAvBlE,oBAwBC;AAhBG;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,IAAI,IAAA,SAAM,GAAE,CAAC;QAC7B,CAAC;KACJ,CAAC;gCACU;AAGZ;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;kCACd;AAGb;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;wCACnC;AAGnB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0CACrC;AAGnC;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;qCACV"}
1
+ {"version":3,"file":"City.js","sourceRoot":"","sources":["../../../../src/models/addresses/City.ts"],"names":[],"mappings":";;;;AAAA,iEAAwE;AAExE,+BAAoC;AAEpC,wCAAgD;AAChD,yCAAsC;AAEtC,MAAa,IAAK,SAAQ,oBAAc;IACpC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;IAOxB,EAAE,CAAU;IAGZ,IAAI,CAAS;IAGb,UAAU,CAAS;IAGnB,YAAY,GAAkB,IAAI,CAAC;IAGnC,OAAO,CAAU;IAEjB,MAAM,CAAC,UAAU,GAAG,IAAI,mCAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC9D,MAAM,CAAC,QAAQ,GAAG,IAAI,mCAAiB,CAAC,mBAAQ,EAAE,UAAU,CAAC,CAAC;;AAvBlE,oBAwBC;AAhBG;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,IAAI,IAAA,SAAM,GAAE,CAAC;QAC7B,CAAC;KACJ,CAAC;gCACU;AAGZ;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;kCACd;AAGb;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;wCACnC;AAGnB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0CACrC;AAGnC;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;qCACV"}
@@ -1,7 +1,8 @@
1
- import { ManyToOneRelation, Model } from '@simonbackx/simple-database';
1
+ import { ManyToOneRelation } from '@simonbackx/simple-database';
2
+ import { QueryableModel } from '@stamhoofd/sql';
2
3
  import { Country } from '@stamhoofd/structures';
3
4
  import { City } from './City';
4
- export declare class PostalCode extends Model {
5
+ export declare class PostalCode extends QueryableModel {
5
6
  static table: string;
6
7
  id: string;
7
8
  postalCode: string;
@@ -1 +1 @@
1
- {"version":3,"file":"PostalCode.d.ts","sourceRoot":"","sources":["../../../../src/models/addresses/PostalCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,iBAAiB,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzF,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAIhD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,UAAW,SAAQ,KAAK;IACjC,MAAM,CAAC,KAAK,SAAkB;IAO9B,EAAE,EAAG,MAAM,CAAC;IAGZ,UAAU,EAAE,MAAM,CAAC;IAGnB,MAAM,EAAE,MAAM,CAAC;IAGf,OAAO,EAAE,OAAO,CAAC;IAEjB,MAAM,CAAC,IAAI,kCAAuC;IAElD;;OAEG;WACU,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IA8ElG;;OAEG;WACU,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;CAkD7G"}
1
+ {"version":3,"file":"PostalCode.d.ts","sourceRoot":"","sources":["../../../../src/models/addresses/PostalCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAElF,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAIhD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,UAAW,SAAQ,cAAc;IAC1C,MAAM,CAAC,KAAK,SAAkB;IAO9B,EAAE,EAAG,MAAM,CAAC;IAGZ,UAAU,EAAE,MAAM,CAAC;IAGnB,MAAM,EAAE,MAAM,CAAC;IAGf,OAAO,EAAE,OAAO,CAAC;IAEjB,MAAM,CAAC,IAAI,kCAAuC;IAElD;;OAEG;WACU,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IA8ElG;;OAEG;WACU,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;CAkD7G"}
@@ -4,11 +4,12 @@ exports.PostalCode = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const simple_database_1 = require("@simonbackx/simple-database");
6
6
  const simple_errors_1 = require("@simonbackx/simple-errors");
7
+ const sql_1 = require("@stamhoofd/sql");
7
8
  const structures_1 = require("@stamhoofd/structures");
8
9
  const utility_1 = require("@stamhoofd/utility");
9
10
  const uuid_1 = require("uuid");
10
11
  const City_1 = require("./City");
11
- class PostalCode extends simple_database_1.Model {
12
+ class PostalCode extends sql_1.QueryableModel {
12
13
  static table = 'postal_codes';
13
14
  id;
14
15
  postalCode;
@@ -1 +1 @@
1
- {"version":3,"file":"PostalCode.js","sourceRoot":"","sources":["../../../../src/models/addresses/PostalCode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostalCode.js","sourceRoot":"","sources":["../../../../src/models/addresses/PostalCode.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Model } from '@simonbackx/simple-database';
1
+ import { QueryableModel } from '@stamhoofd/sql';
2
2
  import { Country } from '@stamhoofd/structures';
3
- export declare class Province extends Model {
3
+ export declare class Province extends QueryableModel {
4
4
  static table: string;
5
5
  id: string;
6
6
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Province.d.ts","sourceRoot":"","sources":["../../../../src/models/addresses/Province.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,qBAAa,QAAS,SAAQ,KAAK;IAC/B,MAAM,CAAC,KAAK,SAAe;IAO3B,EAAE,EAAG,MAAM,CAAC;IAGZ,IAAI,EAAE,MAAM,CAAC;IAGb,OAAO,EAAE,OAAO,CAAC;CACpB"}
1
+ {"version":3,"file":"Province.d.ts","sourceRoot":"","sources":["../../../../src/models/addresses/Province.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,qBAAa,QAAS,SAAQ,cAAc;IACxC,MAAM,CAAC,KAAK,SAAe;IAO3B,EAAE,EAAG,MAAM,CAAC;IAGZ,IAAI,EAAE,MAAM,CAAC;IAGb,OAAO,EAAE,OAAO,CAAC;CACpB"}
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Province = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const simple_database_1 = require("@simonbackx/simple-database");
6
+ const sql_1 = require("@stamhoofd/sql");
6
7
  const uuid_1 = require("uuid");
7
- class Province extends simple_database_1.Model {
8
+ class Province extends sql_1.QueryableModel {
8
9
  static table = 'provinces';
9
10
  id;
10
11
  name;
@@ -1 +1 @@
1
- {"version":3,"file":"Province.js","sourceRoot":"","sources":["../../../../src/models/addresses/Province.ts"],"names":[],"mappings":";;;;AAAA,iEAA4D;AAE5D,+BAAoC;AAEpC,MAAa,QAAS,SAAQ,uBAAK;IAC/B,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;IAO3B,EAAE,CAAU;IAGZ,IAAI,CAAS;IAGb,OAAO,CAAU;;AAdrB,4BAeC;AAPG;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,IAAI,IAAA,SAAM,GAAE,CAAC;QAC7B,CAAC;KACJ,CAAC;oCACU;AAGZ;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;sCACd;AAGb;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;yCACV"}
1
+ {"version":3,"file":"Province.js","sourceRoot":"","sources":["../../../../src/models/addresses/Province.ts"],"names":[],"mappings":";;;;AAAA,iEAAqD;AACrD,wCAAgD;AAEhD,+BAAoC;AAEpC,MAAa,QAAS,SAAQ,oBAAc;IACxC,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;IAO3B,EAAE,CAAU;IAGZ,IAAI,CAAS;IAGb,OAAO,CAAU;;AAdrB,4BAeC;AAPG;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,IAAI,IAAA,SAAM,GAAE,CAAC;QAC7B,CAAC;KACJ,CAAC;oCACU;AAGZ;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;sCACd;AAGb;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;yCACV"}
@@ -1,6 +1,7 @@
1
- import { ManyToOneRelation, Model } from '@simonbackx/simple-database';
1
+ import { ManyToOneRelation } from '@simonbackx/simple-database';
2
+ import { QueryableModel } from '@stamhoofd/sql';
2
3
  import { City } from './City';
3
- export declare class Street extends Model {
4
+ export declare class Street extends QueryableModel {
4
5
  static table: string;
5
6
  id: string;
6
7
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Street.d.ts","sourceRoot":"","sources":["../../../../src/models/addresses/Street.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,iBAAiB,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAG/E,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,MAAO,SAAQ,KAAK;IAC7B,MAAM,CAAC,KAAK,SAAa;IAOzB,EAAE,EAAG,MAAM,CAAC;IAGZ,IAAI,EAAE,MAAM,CAAC;IAGb,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,IAAI,kCAAuC;CACrD"}
1
+ {"version":3,"file":"Street.d.ts","sourceRoot":"","sources":["../../../../src/models/addresses/Street.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,MAAO,SAAQ,cAAc;IACtC,MAAM,CAAC,KAAK,SAAa;IAOzB,EAAE,EAAG,MAAM,CAAC;IAGZ,IAAI,EAAE,MAAM,CAAC;IAGb,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,IAAI,kCAAuC;CACrD"}
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Street = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const simple_database_1 = require("@simonbackx/simple-database");
6
+ const sql_1 = require("@stamhoofd/sql");
6
7
  const uuid_1 = require("uuid");
7
8
  const City_1 = require("./City");
8
- class Street extends simple_database_1.Model {
9
+ class Street extends sql_1.QueryableModel {
9
10
  static table = 'streets';
10
11
  id;
11
12
  name;
@@ -1 +1 @@
1
- {"version":3,"file":"Street.js","sourceRoot":"","sources":["../../../../src/models/addresses/Street.ts"],"names":[],"mappings":";;;;AAAA,iEAA+E;AAC/E,+BAAoC;AAEpC,iCAA8B;AAE9B,MAAa,MAAO,SAAQ,uBAAK;IAC7B,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;IAOzB,EAAE,CAAU;IAGZ,IAAI,CAAS;IAGb,MAAM,CAAS;IAEf,MAAM,CAAC,IAAI,GAAG,IAAI,mCAAiB,CAAC,WAAI,EAAE,MAAM,CAAC,CAAC;;AAhBtD,wBAiBC;AATG;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,IAAI,IAAA,SAAM,GAAE,CAAC;QAC7B,CAAC;KACJ,CAAC;kCACU;AAGZ;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oCACd;AAGb;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;sCACrC"}
1
+ {"version":3,"file":"Street.js","sourceRoot":"","sources":["../../../../src/models/addresses/Street.ts"],"names":[],"mappings":";;;;AAAA,iEAAwE;AACxE,wCAAgD;AAChD,+BAAoC;AAEpC,iCAA8B;AAE9B,MAAa,MAAO,SAAQ,oBAAc;IACtC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;IAOzB,EAAE,CAAU;IAGZ,IAAI,CAAS;IAGb,MAAM,CAAS;IAEf,MAAM,CAAC,IAAI,GAAG,IAAI,mCAAiB,CAAC,WAAI,EAAE,MAAM,CAAC,CAAC;;AAhBtD,wBAiBC;AATG;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,IAAI,IAAA,SAAM,GAAE,CAAC;QAC7B,CAAC;KACJ,CAAC;kCACU;AAGZ;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oCACd;AAGb;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;sCACrC"}
@@ -45,4 +45,5 @@ export * from './EmailRecipient';
45
45
  export * from './Event';
46
46
  export * from './CachedBalance';
47
47
  export * from './AuditLog';
48
+ export * from './MemberUser';
48
49
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,cAAc,yBAAyB,CAAC;AAExC,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/C,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAErC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AAExC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AAEnC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,cAAc,yBAAyB,CAAC;AAExC,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/C,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAErC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AAExC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AAEnC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
@@ -61,4 +61,5 @@ tslib_1.__exportStar(require("./EmailRecipient"), exports);
61
61
  tslib_1.__exportStar(require("./Event"), exports);
62
62
  tslib_1.__exportStar(require("./CachedBalance"), exports);
63
63
  tslib_1.__exportStar(require("./AuditLog"), exports);
64
+ tslib_1.__exportStar(require("./MemberUser"), exports);
64
65
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,mCAAmF;AAA1E,gGAAA,MAAM,OAAA;AACf,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,kEAAwC;AAExC,kDAAwB;AACxB,0DAAgC;AAChC,wDAA8B;AAC9B,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,0DAAgC;AAChC,4DAAkC;AAClC,yDAA+B;AAC/B,sDAA4B;AAC5B,sDAA4B;AAC5B,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,iCAA+C;AAAtC,8FAAA,KAAK,OAAA;AACd,oDAA0B;AAC1B,qDAA2B;AAC3B,6DAAmC;AACnC,mDAAyB;AACzB,0DAAgC;AAChC,4DAAkC;AAClC,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AAEd,6DAAmC;AACnC,2DAAiC;AACjC,iEAAuC;AACvC,+DAAqC;AAErC,0DAAgC;AAChC,gEAAsC;AACtC,kEAAwC;AAExC,qDAA2B;AAC3B,6DAAmC;AAEnC,gEAAsC;AAEtC,qDAA2B;AAC3B,uEAA6C;AAE7C,2EAAiD;AACjD,+DAAqC;AACrC,qEAA2C;AAC3C,kDAAwB;AACxB,2DAAiC;AACjC,kDAAwB;AACxB,0DAAgC;AAChC,qDAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,mCAAmF;AAA1E,gGAAA,MAAM,OAAA;AACf,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,kEAAwC;AAExC,kDAAwB;AACxB,0DAAgC;AAChC,wDAA8B;AAC9B,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,0DAAgC;AAChC,4DAAkC;AAClC,yDAA+B;AAC/B,sDAA4B;AAC5B,sDAA4B;AAC5B,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,iCAA+C;AAAtC,8FAAA,KAAK,OAAA;AACd,oDAA0B;AAC1B,qDAA2B;AAC3B,6DAAmC;AACnC,mDAAyB;AACzB,0DAAgC;AAChC,4DAAkC;AAClC,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AAEd,6DAAmC;AACnC,2DAAiC;AACjC,iEAAuC;AACvC,+DAAqC;AAErC,0DAAgC;AAChC,gEAAsC;AACtC,kEAAwC;AAExC,qDAA2B;AAC3B,6DAAmC;AAEnC,gEAAsC;AAEtC,qDAA2B;AAC3B,uEAA6C;AAE7C,2EAAiD;AACjD,+DAAqC;AACrC,qEAA2C;AAC3C,kDAAwB;AACxB,2DAAiC;AACjC,kDAAwB;AACxB,0DAAgC;AAChC,qDAA2B;AAC3B,uDAA6B"}
@@ -1 +1 @@
1
- {"root":["../src/index.ts","../src/factories/addressfactory.ts","../src/factories/emergencycontactfactory.ts","../src/factories/groupfactory.ts","../src/factories/memberfactory.ts","../src/factories/organizationfactory.ts","../src/factories/parentfactory.ts","../src/factories/recordfactory.ts","../src/factories/registercodefactory.ts","../src/factories/registrationfactory.ts","../src/factories/registrationperiodfactory.ts","../src/factories/userfactory.ts","../src/factories/webshopfactory.ts","../src/helpers/dnsvalidator.ts","../src/helpers/emailbuilder.ts","../src/helpers/groupbuilder.ts","../src/helpers/handlebars.ts","../src/helpers/membermerger.test.ts","../src/helpers/membermerger.ts","../src/helpers/ratelimiter.ts","../src/helpers/webshopcounter.ts","../src/migrations/1605262045-import-postcodes.ts","../src/migrations/1605262046-import-postcodes-nl.ts","../src/models/auditlog.ts","../src/models/balanceitem.ts","../src/models/balanceitempayment.ts","../src/models/buckaroopayment.ts","../src/models/cachedbalance.ts","../src/models/document.ts","../src/models/documenttemplate.ts","../src/models/email.ts","../src/models/emailrecipient.ts","../src/models/emailtemplate.ts","../src/models/emailverificationcode.ts","../src/models/event.ts","../src/models/group.ts","../src/models/image.ts","../src/models/member.ts","../src/models/memberplatformmembership.ts","../src/models/memberresponsibilityrecord.ts","../src/models/mergedmember.ts","../src/models/molliepayment.ts","../src/models/mollietoken.ts","../src/models/onetimetoken.ts","../src/models/order.ts","../src/models/organization.ts","../src/models/organizationregistrationperiod.ts","../src/models/passwordtoken.ts","../src/models/payconiqpayment.ts","../src/models/payment.ts","../src/models/platform.ts","../src/models/registercode.ts","../src/models/registration.ts","../src/models/registrationperiod.ts","../src/models/stcredit.ts","../src/models/stinvoice.ts","../src/models/stpackage.ts","../src/models/stpendinginvoice.ts","../src/models/stripeaccount.ts","../src/models/stripecheckoutsession.ts","../src/models/stripepaymentintent.ts","../src/models/ticket.ts","../src/models/token.test.ts","../src/models/token.ts","../src/models/usedregistercode.ts","../src/models/user.ts","../src/models/userpermissions.ts","../src/models/webshop.ts","../src/models/webshopdiscountcode.ts","../src/models/index.ts","../src/models/addresses/city.ts","../src/models/addresses/postalcode.test.ts","../src/models/addresses/postalcode.ts","../src/models/addresses/province.ts","../src/models/addresses/street.ts","../src/structures/organizationservermetadata.ts","../tests/jest.global.setup.ts","../tests/jest.setup.ts","../../../../environment.d.ts","../../../../jest-extended.d.ts","../../../stamhoofd.d.ts"],"version":"5.6.2"}
1
+ {"root":["../src/index.ts","../src/factories/addressfactory.ts","../src/factories/emergencycontactfactory.ts","../src/factories/groupfactory.ts","../src/factories/memberfactory.ts","../src/factories/organizationfactory.ts","../src/factories/parentfactory.ts","../src/factories/recordfactory.ts","../src/factories/registercodefactory.ts","../src/factories/registrationfactory.ts","../src/factories/registrationperiodfactory.ts","../src/factories/userfactory.ts","../src/factories/webshopfactory.ts","../src/helpers/dnsvalidator.ts","../src/helpers/emailbuilder.ts","../src/helpers/groupbuilder.ts","../src/helpers/handlebars.ts","../src/helpers/membermerger.test.ts","../src/helpers/membermerger.ts","../src/helpers/ratelimiter.ts","../src/helpers/webshopcounter.ts","../src/migrations/1605262045-import-postcodes.ts","../src/migrations/1605262046-import-postcodes-nl.ts","../src/models/auditlog.ts","../src/models/balanceitem.ts","../src/models/balanceitempayment.ts","../src/models/buckaroopayment.ts","../src/models/cachedbalance.ts","../src/models/document.ts","../src/models/documenttemplate.ts","../src/models/email.ts","../src/models/emailrecipient.ts","../src/models/emailtemplate.ts","../src/models/emailverificationcode.ts","../src/models/event.ts","../src/models/group.ts","../src/models/image.ts","../src/models/member.ts","../src/models/memberplatformmembership.ts","../src/models/memberresponsibilityrecord.ts","../src/models/memberuser.ts","../src/models/mergedmember.ts","../src/models/molliepayment.ts","../src/models/mollietoken.ts","../src/models/onetimetoken.ts","../src/models/order.ts","../src/models/organization.ts","../src/models/organizationregistrationperiod.ts","../src/models/passwordtoken.ts","../src/models/payconiqpayment.ts","../src/models/payment.ts","../src/models/platform.ts","../src/models/registercode.ts","../src/models/registration.ts","../src/models/registrationperiod.ts","../src/models/stcredit.ts","../src/models/stinvoice.ts","../src/models/stpackage.ts","../src/models/stpendinginvoice.ts","../src/models/stripeaccount.ts","../src/models/stripecheckoutsession.ts","../src/models/stripepaymentintent.ts","../src/models/ticket.ts","../src/models/token.test.ts","../src/models/token.ts","../src/models/usedregistercode.ts","../src/models/user.ts","../src/models/userpermissions.ts","../src/models/webshop.ts","../src/models/webshopdiscountcode.ts","../src/models/index.ts","../src/models/addresses/city.ts","../src/models/addresses/postalcode.test.ts","../src/models/addresses/postalcode.ts","../src/models/addresses/province.ts","../src/models/addresses/street.ts","../src/structures/organizationservermetadata.ts","../tests/jest.global.setup.ts","../tests/jest.setup.ts","../../../../environment.d.ts","../../../../jest-extended.d.ts","../../../stamhoofd.d.ts"],"version":"5.6.2"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stamhoofd/models",
3
- "version": "2.64.0",
3
+ "version": "2.65.0",
4
4
  "main": "./dist/src/index.js",
5
5
  "types": "./dist/src/index.d.ts",
6
6
  "license": "UNLICENCED",
@@ -29,5 +29,5 @@
29
29
  "publishConfig": {
30
30
  "access": "public"
31
31
  },
32
- "gitHead": "80eebbb0b4fb84ac979041c3f8c7762863622367"
32
+ "gitHead": "16bb6a7ce183c964158cee5d1581de6e7575133d"
33
33
  }
@@ -1,9 +1,9 @@
1
1
  import { Email, EmailAddress, EmailBuilder } from '@stamhoofd/email';
2
- import { EmailTemplateType, OrganizationEmail, Recipient, Replacement } from '@stamhoofd/structures';
2
+ import { Platform as PlatformStruct, BalanceItem as BalanceItemStruct, EmailTemplateType, OrganizationEmail, ReceivableBalanceType, Recipient, Replacement } from '@stamhoofd/structures';
3
3
  import { Formatter } from '@stamhoofd/utility';
4
4
 
5
5
  import { SimpleError } from '@simonbackx/simple-errors';
6
- import { EmailTemplate, Group, Organization, Platform, User, Webshop } from '../models';
6
+ import { CachedBalance, EmailTemplate, Group, Organization, Platform, User, Webshop } from '../models';
7
7
  import { I18n } from '@stamhoofd/backend-i18n';
8
8
 
9
9
  export type EmailTemplateOptions = {
@@ -238,7 +238,7 @@ export function replaceText(text: string, replacements: Replacement[]) {
238
238
  * @param organization defines replacements and unsubsribe behaviour
239
239
  */
240
240
  export async function getEmailBuilder(organization: Organization | null, email: EmailBuilderOptions) {
241
- const platform = await Platform.getSharedStruct();
241
+ const platform = await Platform.getSharedPrivateStruct();
242
242
  // Update recipients
243
243
  const cleaned: Recipient[] = [];
244
244
  for (const recipient of email.recipients) {
@@ -305,38 +305,21 @@ export async function getEmailBuilder(organization: Organization | null, email:
305
305
  }
306
306
  email.recipients = cleaned;
307
307
 
308
+ const fromAddress = Email.parseEmailStr(email.from)[0];
309
+
308
310
  // Update recipients
309
311
  for (const recipient of email.recipients) {
310
312
  recipient.replacements = recipient.replacements.slice();
311
313
 
312
- // Default signInUrl
313
- let signInUrl = 'https://' + (organization && STAMHOOFD.userMode === 'organization' ? organization.getHost() : STAMHOOFD.domains.dashboard) + '/login?email=' + encodeURIComponent(recipient.email);
314
-
315
- const recipientUser = await User.getForAuthentication(organization?.id ?? null, recipient.email);
316
- if (!recipientUser) {
317
- // We can create a special token
318
- signInUrl = 'https://' + (organization && STAMHOOFD.userMode === 'organization' ? organization.getHost() : STAMHOOFD.domains.dashboard) + '/account-aanmaken?email=' + encodeURIComponent(recipient.email);
319
- }
320
-
321
- recipient.replacements.push(Replacement.create({
322
- token: 'signInUrl',
323
- value: signInUrl,
324
- }));
325
-
326
314
  if (email.defaultReplacements) {
327
315
  recipient.replacements.push(...email.defaultReplacements);
328
316
  }
329
317
 
330
- recipient.replacements.push(...recipient.getDefaultReplacements());
331
-
332
- if (organization) {
333
- const extra = organization.meta.getEmailReplacements();
334
- recipient.replacements.push(...extra);
335
- }
336
-
337
- // Defaults
338
- const extra = platform.config.getEmailReplacements();
339
- recipient.replacements.push(...extra);
318
+ await fillRecipientReplacements(recipient, {
319
+ organization,
320
+ platform,
321
+ fromAddress,
322
+ });
340
323
  }
341
324
 
342
325
  const queue = email.recipients.slice();
@@ -380,3 +363,75 @@ export async function getEmailBuilder(organization: Organization | null, email:
380
363
  };
381
364
  return builder;
382
365
  }
366
+
367
+ export async function fillRecipientReplacements(recipient: Recipient, options: {
368
+ organization: Organization | null;
369
+ platform?: PlatformStruct;
370
+ fromAddress: string | null;
371
+ }) {
372
+ if (!options.platform) {
373
+ options.platform = await Platform.getSharedPrivateStruct();
374
+ }
375
+ const { organization, platform, fromAddress } = options;
376
+ recipient.replacements = recipient.replacements.slice();
377
+
378
+ // Default signInUrl
379
+ let signInUrl = 'https://' + (organization && STAMHOOFD.userMode === 'organization' ? organization.getHost() : STAMHOOFD.domains.dashboard) + '/login?email=' + encodeURIComponent(recipient.email);
380
+
381
+ const recipientUser = await User.getForAuthentication(organization?.id ?? null, recipient.email, { allowWithoutAccount: true });
382
+ if (!recipientUser || !recipientUser.hasAccount()) {
383
+ // We can create a special token
384
+ signInUrl = 'https://' + (organization && STAMHOOFD.userMode === 'organization' ? organization.getHost() : STAMHOOFD.domains.dashboard) + '/account-aanmaken?email=' + encodeURIComponent(recipient.email);
385
+ }
386
+
387
+ recipient.replacements.push(Replacement.create({
388
+ token: 'signInUrl',
389
+ value: signInUrl,
390
+ }));
391
+
392
+ recipient.replacements.push(
393
+ Replacement.create({
394
+ token: 'loginDetails',
395
+ value: '',
396
+ html: recipientUser && recipientUser.hasAccount() ? `<p class="description"><em>Je kan op het ledenportaal inloggen met <strong>${Formatter.escapeHtml(recipientUser.email)}</strong></em></p>` : `<p class="description"><em>Je kan op het ledenportaal een nieuw account aanmaken met het e-mailadres <strong>${Formatter.escapeHtml(recipient.email)}</strong>, dan krijg je automatisch toegang tot alle bestaande gegevens.</em></p>`,
397
+ }),
398
+ );
399
+
400
+ // Load balance of this user
401
+ // todo: only if detected it is used
402
+ if (organization && recipientUser && !recipient.replacements.find(r => r.token === 'balanceTable')) {
403
+ const balanceItemModels = await CachedBalance.balanceForObjects(organization.id, [recipientUser.id], ReceivableBalanceType.user, true);
404
+ const balanceItems = balanceItemModels.map(i => i.getStructure());
405
+
406
+ // Get members
407
+ recipient.replacements.push(
408
+ Replacement.create({
409
+ token: 'outstandingBalance',
410
+ value: Formatter.price(balanceItems.reduce((sum, i) => sum + i.priceOpen, 0)),
411
+ }),
412
+ Replacement.create({
413
+ token: 'balanceTable',
414
+ value: '',
415
+ html: BalanceItemStruct.getDetailsHTMLTable(balanceItems),
416
+ }),
417
+ );
418
+ }
419
+
420
+ if (fromAddress) {
421
+ recipient.replacements.push(Replacement.create({
422
+ token: 'fromAddress',
423
+ value: fromAddress,
424
+ }));
425
+ }
426
+
427
+ recipient.replacements.push(...recipient.getDefaultReplacements());
428
+
429
+ if (organization) {
430
+ const extra = organization.meta.getEmailReplacements(organization);
431
+ recipient.replacements.push(...extra);
432
+ }
433
+
434
+ // Defaults
435
+ const extra = platform.config.getEmailReplacements();
436
+ recipient.replacements.push(...extra);
437
+ }
@@ -1,5 +1,4 @@
1
- import { Model } from '@simonbackx/simple-database';
2
- import { SQL } from '@stamhoofd/sql';
1
+ import { QueryableModel, SQL } from '@stamhoofd/sql';
3
2
  import {
4
3
  Address,
5
4
  BooleanStatus,
@@ -191,7 +190,7 @@ async function mergeMemberPlatformMemberships(base: Member, other: Member) {
191
190
  await mergeModels(base, other, MemberPlatformMembership);
192
191
  }
193
192
 
194
- class ModelWithMemberId extends Model {
193
+ class ModelWithMemberId extends QueryableModel {
195
194
  memberId: string | null;
196
195
  }
197
196
 
@@ -1,13 +1,12 @@
1
- import { Migration } from '@simonbackx/simple-database';
2
- import { column, Model } from '@simonbackx/simple-database';
3
- import { StringCompare } from '@stamhoofd/utility';
4
- import { v4 as uuidv4 } from 'uuid';
1
+ import { column, Migration } from '@simonbackx/simple-database';
2
+ import { QueryableModel } from '@stamhoofd/sql';
5
3
  import { Country } from '@stamhoofd/structures';
4
+ import { StringCompare } from '@stamhoofd/utility';
6
5
  import { City } from '../models/addresses/City';
7
6
  import { PostalCode } from '../models/addresses/PostalCode';
8
7
  import { Province } from '../models/addresses/Province';
9
8
 
10
- export class Gemeente extends Model {
9
+ export class Gemeente extends QueryableModel {
11
10
  static table = 'gemeenten';
12
11
 
13
12
  @column({
@@ -0,0 +1,2 @@
1
+ ALTER TABLE `emails`
2
+ ADD COLUMN `emailType` varchar(255) NULL AFTER `recipientFilter`;
@@ -0,0 +1,4 @@
1
+ ALTER TABLE `email_recipients`
2
+ ADD COLUMN `emailType` varchar(255) NULL AFTER `emailId`,
3
+ ADD COLUMN `objectId` varchar(36) NULL AFTER `emailId`,
4
+ ADD INDEX `objectId` (`objectId`, `sentAt` DESC) USING BTREE;
@@ -0,0 +1,3 @@
1
+ ALTER TABLE `emails`
2
+ ADD INDEX `createdAt` (`createdAt` DESC) USING BTREE,
3
+ ADD INDEX `sentAt` (`sentAt` DESC) USING BTREE;
@@ -0,0 +1,4 @@
1
+ ALTER TABLE `cached_outstanding_balances`
2
+ ADD COLUMN `lastReminderEmail` datetime NULL,
3
+ ADD COLUMN `lastReminderAmountOpen` int NOT NULL DEFAULT '0',
4
+ ADD COLUMN `reminderEmailCount` int NOT NULL DEFAULT '0';