@stamhoofd/models 2.13.0 → 2.17.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 (163) hide show
  1. package/dist/src/factories/GroupFactory.js +13 -6
  2. package/dist/src/factories/GroupFactory.js.map +1 -1
  3. package/dist/src/factories/MemberFactory.js +10 -4
  4. package/dist/src/factories/MemberFactory.js.map +1 -1
  5. package/dist/src/factories/OrganizationFactory.js +11 -6
  6. package/dist/src/factories/OrganizationFactory.js.map +1 -1
  7. package/dist/src/factories/ParentFactory.js +2 -3
  8. package/dist/src/factories/ParentFactory.js.map +1 -1
  9. package/dist/src/factories/RecordFactory.js +1 -0
  10. package/dist/src/factories/RecordFactory.js.map +1 -1
  11. package/dist/src/factories/RegisterCodeFactory.js +2 -3
  12. package/dist/src/factories/RegisterCodeFactory.js.map +1 -1
  13. package/dist/src/factories/RegistrationFactory.js +2 -0
  14. package/dist/src/factories/RegistrationFactory.js.map +1 -1
  15. package/dist/src/factories/UserFactory.js +15 -5
  16. package/dist/src/factories/UserFactory.js.map +1 -1
  17. package/dist/src/factories/WebshopFactory.js +7 -3
  18. package/dist/src/factories/WebshopFactory.js.map +1 -1
  19. package/dist/src/helpers/DNSValidator.js +1 -2
  20. package/dist/src/helpers/DNSValidator.js.map +1 -1
  21. package/dist/src/helpers/EmailBuilder.d.ts +23 -5
  22. package/dist/src/helpers/EmailBuilder.d.ts.map +1 -1
  23. package/dist/src/helpers/EmailBuilder.js +73 -21
  24. package/dist/src/helpers/EmailBuilder.js.map +1 -1
  25. package/dist/src/helpers/GroupBuilder.js +2 -2
  26. package/dist/src/helpers/GroupBuilder.js.map +1 -1
  27. package/dist/src/helpers/Handlebars.js +3 -5
  28. package/dist/src/helpers/Handlebars.js.map +1 -1
  29. package/dist/src/helpers/InvoiceBuilder.js +11 -10
  30. package/dist/src/helpers/InvoiceBuilder.js.map +1 -1
  31. package/dist/src/helpers/MemberMerger.js +5 -5
  32. package/dist/src/helpers/MemberMerger.js.map +1 -1
  33. package/dist/src/helpers/MemberMerger.test.js +14 -27
  34. package/dist/src/helpers/MemberMerger.test.js.map +1 -1
  35. package/dist/src/helpers/RateLimiter.d.ts.map +1 -1
  36. package/dist/src/helpers/RateLimiter.js +10 -5
  37. package/dist/src/helpers/RateLimiter.js.map +1 -1
  38. package/dist/src/helpers/WebshopCounter.js +2 -2
  39. package/dist/src/helpers/WebshopCounter.js.map +1 -1
  40. package/dist/src/migrations/1605262045-import-postcodes.js +10 -2
  41. package/dist/src/models/BalanceItem.js +41 -35
  42. package/dist/src/models/BalanceItem.js.map +1 -1
  43. package/dist/src/models/BalanceItemPayment.js +14 -11
  44. package/dist/src/models/BalanceItemPayment.js.map +1 -1
  45. package/dist/src/models/BuckarooPayment.js +5 -2
  46. package/dist/src/models/BuckarooPayment.js.map +1 -1
  47. package/dist/src/models/Document.js +24 -23
  48. package/dist/src/models/Document.js.map +1 -1
  49. package/dist/src/models/DocumentTemplate.js +36 -25
  50. package/dist/src/models/DocumentTemplate.js.map +1 -1
  51. package/dist/src/models/Email.d.ts.map +1 -1
  52. package/dist/src/models/Email.js +36 -38
  53. package/dist/src/models/Email.js.map +1 -1
  54. package/dist/src/models/EmailRecipient.js +15 -13
  55. package/dist/src/models/EmailRecipient.js.map +1 -1
  56. package/dist/src/models/EmailTemplate.d.ts +5 -0
  57. package/dist/src/models/EmailTemplate.d.ts.map +1 -1
  58. package/dist/src/models/EmailTemplate.js +30 -7
  59. package/dist/src/models/EmailTemplate.js.map +1 -1
  60. package/dist/src/models/EmailVerificationCode.js +32 -25
  61. package/dist/src/models/EmailVerificationCode.js.map +1 -1
  62. package/dist/src/models/Event.js +15 -12
  63. package/dist/src/models/Event.js.map +1 -1
  64. package/dist/src/models/Group.js +24 -21
  65. package/dist/src/models/Group.js.map +1 -1
  66. package/dist/src/models/Image.d.ts +0 -1
  67. package/dist/src/models/Image.d.ts.map +1 -1
  68. package/dist/src/models/Image.js +12 -14
  69. package/dist/src/models/Image.js.map +1 -1
  70. package/dist/src/models/Member.d.ts.map +1 -1
  71. package/dist/src/models/Member.js +34 -33
  72. package/dist/src/models/Member.js.map +1 -1
  73. package/dist/src/models/MemberPlatformMembership.js +22 -16
  74. package/dist/src/models/MemberPlatformMembership.js.map +1 -1
  75. package/dist/src/models/MemberResponsibilityRecord.js +10 -8
  76. package/dist/src/models/MemberResponsibilityRecord.js.map +1 -1
  77. package/dist/src/models/MergedMember.js +19 -14
  78. package/dist/src/models/MergedMember.js.map +1 -1
  79. package/dist/src/models/MolliePayment.js +5 -2
  80. package/dist/src/models/MolliePayment.js.map +1 -1
  81. package/dist/src/models/MollieToken.js +14 -14
  82. package/dist/src/models/MollieToken.js.map +1 -1
  83. package/dist/src/models/OneTimeToken.js +15 -13
  84. package/dist/src/models/OneTimeToken.js.map +1 -1
  85. package/dist/src/models/Order.d.ts +1 -1
  86. package/dist/src/models/Order.d.ts.map +1 -1
  87. package/dist/src/models/Order.js +42 -52
  88. package/dist/src/models/Order.js.map +1 -1
  89. package/dist/src/models/Organization.d.ts.map +1 -1
  90. package/dist/src/models/Organization.js +64 -66
  91. package/dist/src/models/Organization.js.map +1 -1
  92. package/dist/src/models/OrganizationRegistrationPeriod.js +8 -7
  93. package/dist/src/models/OrganizationRegistrationPeriod.js.map +1 -1
  94. package/dist/src/models/PasswordToken.js +9 -5
  95. package/dist/src/models/PasswordToken.js.map +1 -1
  96. package/dist/src/models/PayconiqPayment.js +12 -14
  97. package/dist/src/models/PayconiqPayment.js.map +1 -1
  98. package/dist/src/models/Payment.d.ts.map +1 -1
  99. package/dist/src/models/Payment.js +41 -35
  100. package/dist/src/models/Payment.js.map +1 -1
  101. package/dist/src/models/Platform.js +8 -10
  102. package/dist/src/models/Platform.js.map +1 -1
  103. package/dist/src/models/RegisterCode.js +12 -9
  104. package/dist/src/models/RegisterCode.js.map +1 -1
  105. package/dist/src/models/Registration.d.ts.map +1 -1
  106. package/dist/src/models/Registration.js +65 -80
  107. package/dist/src/models/Registration.js.map +1 -1
  108. package/dist/src/models/RegistrationPeriod.js +11 -9
  109. package/dist/src/models/RegistrationPeriod.js.map +1 -1
  110. package/dist/src/models/STCredit.js +11 -7
  111. package/dist/src/models/STCredit.js.map +1 -1
  112. package/dist/src/models/STInvoice.js +45 -45
  113. package/dist/src/models/STInvoice.js.map +1 -1
  114. package/dist/src/models/STPackage.d.ts.map +1 -1
  115. package/dist/src/models/STPackage.js +58 -62
  116. package/dist/src/models/STPackage.js.map +1 -1
  117. package/dist/src/models/STPendingInvoice.js +17 -16
  118. package/dist/src/models/STPendingInvoice.js.map +1 -1
  119. package/dist/src/models/StripeAccount.js +15 -14
  120. package/dist/src/models/StripeAccount.js.map +1 -1
  121. package/dist/src/models/StripeCheckoutSession.js +10 -10
  122. package/dist/src/models/StripeCheckoutSession.js.map +1 -1
  123. package/dist/src/models/StripePaymentIntent.js +10 -10
  124. package/dist/src/models/StripePaymentIntent.js.map +1 -1
  125. package/dist/src/models/Ticket.js +46 -32
  126. package/dist/src/models/Ticket.js.map +1 -1
  127. package/dist/src/models/Token.js +12 -5
  128. package/dist/src/models/Token.js.map +1 -1
  129. package/dist/src/models/UsedRegisterCode.js +15 -11
  130. package/dist/src/models/UsedRegisterCode.js.map +1 -1
  131. package/dist/src/models/User.d.ts +2 -1
  132. package/dist/src/models/User.d.ts.map +1 -1
  133. package/dist/src/models/User.js +51 -29
  134. package/dist/src/models/User.js.map +1 -1
  135. package/dist/src/models/UserPermissions.js +11 -8
  136. package/dist/src/models/UserPermissions.js.map +1 -1
  137. package/dist/src/models/Webshop.js +41 -37
  138. package/dist/src/models/Webshop.js.map +1 -1
  139. package/dist/src/models/WebshopDiscountCode.js +13 -9
  140. package/dist/src/models/WebshopDiscountCode.js.map +1 -1
  141. package/dist/src/models/addresses/City.js +9 -8
  142. package/dist/src/models/addresses/City.js.map +1 -1
  143. package/dist/src/models/addresses/PostalCode.js +7 -3
  144. package/dist/src/models/addresses/PostalCode.js.map +1 -1
  145. package/dist/src/models/addresses/Province.js +5 -2
  146. package/dist/src/models/addresses/Province.js.map +1 -1
  147. package/dist/src/models/addresses/Street.js +6 -3
  148. package/dist/src/models/addresses/Street.js.map +1 -1
  149. package/dist/src/structures/OrganizationServerMetaData.js +30 -27
  150. package/dist/src/structures/OrganizationServerMetaData.js.map +1 -1
  151. package/package.json +6 -3
  152. package/src/helpers/EmailBuilder.ts +95 -17
  153. package/src/helpers/RateLimiter.ts +1 -0
  154. package/src/index.ts +1 -1
  155. package/src/models/Email.ts +9 -11
  156. package/src/models/EmailTemplate.ts +20 -1
  157. package/src/models/Member.ts +5 -7
  158. package/src/models/Order.ts +11 -21
  159. package/src/models/Organization.ts +17 -26
  160. package/src/models/Payment.ts +1 -0
  161. package/src/models/Registration.ts +17 -45
  162. package/src/models/STPackage.ts +8 -16
  163. package/src/models/User.ts +24 -1
@@ -9,38 +9,45 @@ const uuid_1 = require("uuid");
9
9
  const DNSValidator_1 = require("../helpers/DNSValidator");
10
10
  const _1 = require("./");
11
11
  class Webshop extends simple_database_1.Model {
12
- constructor() {
13
- super(...arguments);
14
- // A custom domain name that is used to host the webshop application (should be unique)
15
- // E.g. webshop.scoutswetteren.be
16
- this.domain = null;
17
- // If a domain is used, the optional suffix on that domain
18
- // E.g. webshop.scoutswetteren.be/wafelbak
19
- this.domainUri = null;
20
- // Old uri format, which was only unique on a per-organization basis
21
- // in org.stamhoofd.shop/legacyUri
22
- this.legacyUri = null;
23
- /**
24
- * Public meta data
25
- */
26
- this.meta = structures_1.WebshopMetaData.create({});
27
- /**
28
- * Data only accessible by the owners / users with special permissions
29
- */
30
- this.privateMeta = structures_1.WebshopPrivateMetaData.create({});
31
- /**
32
- * Data only accessible by the server
33
- */
34
- this.serverMeta = structures_1.WebshopServerMetaData.create({});
35
- /**
36
- * Contains all the products
37
- */
38
- this.products = [];
39
- /**
40
- * Contains all the categories in the right order
41
- */
42
- this.categories = [];
43
- }
12
+ static table = "webshops";
13
+ // Columns
14
+ id;
15
+ organizationId;
16
+ // A custom domain name that is used to host the webshop application (should be unique)
17
+ // E.g. webshop.scoutswetteren.be
18
+ domain = null;
19
+ // If a domain is used, the optional suffix on that domain
20
+ // E.g. webshop.scoutswetteren.be/wafelbak
21
+ domainUri = null;
22
+ // Unique representation of this webshop from a string, that is used to provide the default domains
23
+ // in shop.stamhoofd.be/uri, and stamhoofd.be/shop/uri
24
+ uri;
25
+ // Old uri format, which was only unique on a per-organization basis
26
+ // in org.stamhoofd.shop/legacyUri
27
+ legacyUri = null;
28
+ /**
29
+ * Public meta data
30
+ */
31
+ meta = structures_1.WebshopMetaData.create({});
32
+ /**
33
+ * Data only accessible by the owners / users with special permissions
34
+ */
35
+ privateMeta = structures_1.WebshopPrivateMetaData.create({});
36
+ /**
37
+ * Data only accessible by the server
38
+ */
39
+ serverMeta = structures_1.WebshopServerMetaData.create({});
40
+ /**
41
+ * Contains all the products
42
+ */
43
+ products = [];
44
+ /**
45
+ * Contains all the categories in the right order
46
+ */
47
+ categories = [];
48
+ createdAt;
49
+ updatedAt;
50
+ static organization = new simple_database_1.ManyToOneRelation(_1.Organization, "organization");
44
51
  // Methods
45
52
  static async getByLegacyURI(organizationId, uri) {
46
53
  const [rows] = await simple_database_1.Database.select(`SELECT ${this.getDefaultSelect()} FROM ${this.table} WHERE \`organizationId\` = ? AND \`legacyUri\` = ? LIMIT 1`, [organizationId, uri]);
@@ -84,14 +91,13 @@ class Webshop extends simple_database_1.Model {
84
91
  }
85
92
  // Return the location of the webshop
86
93
  getHost() {
87
- var _a;
88
94
  if (this.domain && this.meta.domainActive) {
89
95
  if (this.domainUri) {
90
96
  return this.domain + "/" + this.domainUri;
91
97
  }
92
98
  return this.domain;
93
99
  }
94
- const domain = (_a = STAMHOOFD.domains.webshop[this.organization.address.country]) !== null && _a !== void 0 ? _a : STAMHOOFD.domains.webshop[""];
100
+ const domain = STAMHOOFD.domains.webshop[this.organization.address.country] ?? STAMHOOFD.domains.webshop[""];
95
101
  return domain + "/" + this.uri;
96
102
  }
97
103
  async updateDNSRecords(background = false) {
@@ -120,12 +126,10 @@ class Webshop extends simple_database_1.Model {
120
126
  }
121
127
  }
122
128
  exports.Webshop = Webshop;
123
- Webshop.table = "webshops";
124
- Webshop.organization = new simple_database_1.ManyToOneRelation(_1.Organization, "organization");
125
129
  tslib_1.__decorate([
126
130
  (0, simple_database_1.column)({
127
131
  primary: true, type: "string", beforeSave(value) {
128
- return value !== null && value !== void 0 ? value : (0, uuid_1.v4)();
132
+ return value ?? (0, uuid_1.v4)();
129
133
  }
130
134
  })
131
135
  ], Webshop.prototype, "id", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"Webshop.js","sourceRoot":"","sources":["../../../src/models/Webshop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Webshop.js","sourceRoot":"","sources":["../../../src/models/Webshop.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,18 @@ const simple_encoding_1 = require("@simonbackx/simple-encoding");
7
7
  const structures_1 = require("@stamhoofd/structures");
8
8
  const uuid_1 = require("uuid");
9
9
  class WebshopDiscountCode extends simple_database_1.Model {
10
- constructor() {
11
- super(...arguments);
12
- this.description = '';
13
- this.discounts = [];
14
- this.usageCount = 0;
15
- this.maximumUsage = null;
16
- }
10
+ static table = "webshop_discount_codes";
11
+ // Columns
12
+ id;
13
+ organizationId;
14
+ webshopId;
15
+ code;
16
+ description = '';
17
+ discounts = [];
18
+ usageCount = 0;
19
+ maximumUsage = null;
20
+ createdAt;
21
+ updatedAt;
17
22
  getStructure() {
18
23
  return structures_1.DiscountCode.create(this);
19
24
  }
@@ -34,11 +39,10 @@ class WebshopDiscountCode extends simple_database_1.Model {
34
39
  }
35
40
  }
36
41
  exports.WebshopDiscountCode = WebshopDiscountCode;
37
- WebshopDiscountCode.table = "webshop_discount_codes";
38
42
  tslib_1.__decorate([
39
43
  (0, simple_database_1.column)({
40
44
  primary: true, type: "string", beforeSave(value) {
41
- return value !== null && value !== void 0 ? value : (0, uuid_1.v4)();
45
+ return value ?? (0, uuid_1.v4)();
42
46
  }
43
47
  })
44
48
  ], WebshopDiscountCode.prototype, "id", void 0);
@@ -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;IAA9C;;QAqBI,gBAAW,GAAG,EAAE,CAAA;QAGhB,cAAS,GAAe,EAAE,CAAA;QAG1B,eAAU,GAAG,CAAC,CAAA;QAGd,iBAAY,GAAgB,IAAI,CAAA;IA6CpC,CAAC;IArBG,YAAY;QACR,OAAO,yBAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACpC,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,CAAA;QACrF,OAAO,MAAM,CAAC;IAClB,CAAC;;AA1EL,kDA2EC;AA1EU,yBAAK,GAAG,wBAAwB,AAA3B,CAA4B;AAQxC;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,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;wDACX;AAGhB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,8BAAY,CAAC,qBAAQ,CAAC,EAAE,CAAC;sDACpC;AAG1B;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;uDACd;AAGd;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;yDACZ;AAYhC;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,CAAA;YACvB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;YACvB,OAAO,IAAI,CAAA;QACf,CAAC;KACJ,CAAC;sDACa;AAUf;IARC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,UAAU,EAAE,UAAU;YACxB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;YACvB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;YACvB,OAAO,IAAI,CAAA;QACf,CAAC;QACD,UAAU,EAAE,IAAI;KACnB,CAAC;sDACa"}
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,CAAA;IAGhB,SAAS,GAAe,EAAE,CAAA;IAG1B,UAAU,GAAG,CAAC,CAAA;IAGd,YAAY,GAAgB,IAAI,CAAA;IAYhC,SAAS,CAAM;IAUf,SAAS,CAAM;IAEf,YAAY;QACR,OAAO,yBAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACpC,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,CAAA;QACrF,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;wDACX;AAGhB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,8BAAY,CAAC,qBAAQ,CAAC,EAAE,CAAC;sDACpC;AAG1B;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;uDACd;AAGd;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;yDACZ;AAYhC;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,CAAA;YACvB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;YACvB,OAAO,IAAI,CAAA;QACf,CAAC;KACJ,CAAC;sDACa;AAUf;IARC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,UAAU,EAAE,UAAU;YACxB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;YACvB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;YACvB,OAAO,IAAI,CAAA;QACf,CAAC;QACD,UAAU,EAAE,IAAI;KACnB,CAAC;sDACa"}
@@ -6,19 +6,20 @@ const simple_database_1 = require("@simonbackx/simple-database");
6
6
  const uuid_1 = require("uuid");
7
7
  const Province_1 = require("./Province");
8
8
  class City extends simple_database_1.Model {
9
- constructor() {
10
- super(...arguments);
11
- this.parentCityId = null;
12
- }
9
+ static table = "cities";
10
+ id;
11
+ name;
12
+ provinceId;
13
+ parentCityId = null;
14
+ country;
15
+ static parentCity = new simple_database_1.ManyToOneRelation(City, "parentCity");
16
+ static province = new simple_database_1.ManyToOneRelation(Province_1.Province, "province");
13
17
  }
14
18
  exports.City = City;
15
- City.table = "cities";
16
- City.parentCity = new simple_database_1.ManyToOneRelation(City, "parentCity");
17
- City.province = new simple_database_1.ManyToOneRelation(Province_1.Province, "province");
18
19
  tslib_1.__decorate([
19
20
  (0, simple_database_1.column)({
20
21
  primary: true, type: "string", beforeSave(value) {
21
- return value !== null && value !== void 0 ? value : (0, uuid_1.v4)();
22
+ return value ?? (0, uuid_1.v4)();
22
23
  }
23
24
  })
24
25
  ], City.prototype, "id", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"City.js","sourceRoot":"","sources":["../../../../src/models/addresses/City.ts"],"names":[],"mappings":";;;;AAAA,iEAA6E;AAE7E,+BAAoC;AAEpC,yCAAsC;AAEtC,MAAa,IAAK,SAAQ,uBAAK;IAA/B;;QAiBI,iBAAY,GAAkB,IAAI,CAAC;IAOvC,CAAC;;AAxBD,oBAwBC;AAvBU,UAAK,GAAG,QAAQ,AAAX,CAAW;AAqBhB,eAAU,GAAG,IAAI,mCAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,AAA5C,CAA4C;AACtD,aAAQ,GAAG,IAAI,mCAAiB,CAAC,mBAAQ,EAAE,UAAU,CAAC,AAA9C,CAA8C;AAf7D;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,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,iEAA6E;AAE7E,+BAAoC;AAEpC,yCAAsC;AAEtC,MAAa,IAAK,SAAQ,uBAAK;IAC3B,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAA;IAOvB,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,CAAA;IAC7D,MAAM,CAAC,QAAQ,GAAG,IAAI,mCAAiB,CAAC,mBAAQ,EAAE,UAAU,CAAC,CAAA;;AAvBjE,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"}
@@ -9,6 +9,12 @@ const utility_1 = require("@stamhoofd/utility");
9
9
  const uuid_1 = require("uuid");
10
10
  const City_1 = require("./City");
11
11
  class PostalCode extends simple_database_1.Model {
12
+ static table = "postal_codes";
13
+ id;
14
+ postalCode;
15
+ cityId;
16
+ country;
17
+ static city = new simple_database_1.ManyToOneRelation(City_1.City, "city");
12
18
  /**
13
19
  * Search for a given city via it's postal code and country, collecting information about the city (id), parentCity (id) and province (id)
14
20
  */
@@ -117,12 +123,10 @@ class PostalCode extends simple_database_1.Model {
117
123
  }
118
124
  }
119
125
  exports.PostalCode = PostalCode;
120
- PostalCode.table = "postal_codes";
121
- PostalCode.city = new simple_database_1.ManyToOneRelation(City_1.City, "city");
122
126
  tslib_1.__decorate([
123
127
  (0, simple_database_1.column)({
124
128
  primary: true, type: "string", beforeSave(value) {
125
- return value !== null && value !== void 0 ? value : (0, uuid_1.v4)();
129
+ return value ?? (0, uuid_1.v4)();
126
130
  }
127
131
  })
128
132
  ], PostalCode.prototype, "id", void 0);
@@ -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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"}
@@ -5,13 +5,16 @@ const tslib_1 = require("tslib");
5
5
  const simple_database_1 = require("@simonbackx/simple-database");
6
6
  const uuid_1 = require("uuid");
7
7
  class Province extends simple_database_1.Model {
8
+ static table = "provinces";
9
+ id;
10
+ name;
11
+ country;
8
12
  }
9
13
  exports.Province = Province;
10
- Province.table = "provinces";
11
14
  tslib_1.__decorate([
12
15
  (0, simple_database_1.column)({
13
16
  primary: true, type: "string", beforeSave(value) {
14
- return value !== null && value !== void 0 ? value : (0, uuid_1.v4)();
17
+ return value ?? (0, uuid_1.v4)();
15
18
  }
16
19
  })
17
20
  ], Province.prototype, "id", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"Province.js","sourceRoot":"","sources":["../../../../src/models/addresses/Province.ts"],"names":[],"mappings":";;;;AAAA,iEAA2D;AAE3D,+BAAoC;AAEpC,MAAa,QAAS,SAAQ,uBAAK;;AAAnC,4BAeC;AAdU,cAAK,GAAG,WAAW,CAAA;AAO1B;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,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,iEAA2D;AAE3D,+BAAoC;AAEpC,MAAa,QAAS,SAAQ,uBAAK;IAC/B,MAAM,CAAC,KAAK,GAAG,WAAW,CAAA;IAO1B,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"}
@@ -6,14 +6,17 @@ const simple_database_1 = require("@simonbackx/simple-database");
6
6
  const uuid_1 = require("uuid");
7
7
  const City_1 = require("./City");
8
8
  class Street extends simple_database_1.Model {
9
+ static table = "streets";
10
+ id;
11
+ name;
12
+ cityId;
13
+ static city = new simple_database_1.ManyToOneRelation(City_1.City, "city");
9
14
  }
10
15
  exports.Street = Street;
11
- Street.table = "streets";
12
- Street.city = new simple_database_1.ManyToOneRelation(City_1.City, "city");
13
16
  tslib_1.__decorate([
14
17
  (0, simple_database_1.column)({
15
18
  primary: true, type: "string", beforeSave(value) {
16
- return value !== null && value !== void 0 ? value : (0, uuid_1.v4)();
19
+ return value ?? (0, uuid_1.v4)();
17
20
  }
18
21
  })
19
22
  ], Street.prototype, "id", void 0);
@@ -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;;AAAjC,wBAmBC;AAlBU,YAAK,GAAG,SAAS,CAAA;AAejB,WAAI,GAAG,IAAI,mCAAiB,CAAC,WAAI,EAAE,MAAM,CAAC,CAAA;AARjD;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,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,iEAA+E;AAC/E,+BAAoC;AAEpC,iCAA8B;AAE9B,MAAa,MAAO,SAAQ,uBAAK;IAC7B,MAAM,CAAC,KAAK,GAAG,SAAS,CAAA;IAOxB,EAAE,CAAU;IAGZ,IAAI,CAAS;IAGb,MAAM,CAAS;IAEf,MAAM,CAAC,IAAI,GAAG,IAAI,mCAAiB,CAAC,WAAI,EAAE,MAAM,CAAC,CAAA;;AAhBrD,wBAmBC;AAXG;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"}
@@ -5,10 +5,8 @@ const tslib_1 = require("tslib");
5
5
  const simple_encoding_1 = require("@simonbackx/simple-encoding");
6
6
  const structures_1 = require("@stamhoofd/structures");
7
7
  class DripEmail extends simple_encoding_1.AutoEncoder {
8
- constructor() {
9
- super(...arguments);
10
- this.date = new Date();
11
- }
8
+ id;
9
+ date = new Date();
12
10
  }
13
11
  exports.DripEmail = DripEmail;
14
12
  tslib_1.__decorate([
@@ -18,32 +16,38 @@ tslib_1.__decorate([
18
16
  (0, simple_encoding_1.field)({ decoder: simple_encoding_1.DateDecoder })
19
17
  ], DripEmail.prototype, "date", void 0);
20
18
  class OrganizationServerMetaData extends simple_encoding_1.AutoEncoder {
21
- constructor() {
22
- super(...arguments);
23
- /**
24
- * Whether an email has been send to say that the domain is setup correctly
25
- * Set back to false when changing the domain
26
- */
27
- this.didSendDomainSetupMail = true;
28
- /**
29
- * When the DNS records are invalid for the first time, this timestamp will get set.
30
- * When DNS is valid again, this will get cleared
31
- */
32
- this.DNSRecordWarningCount = 0;
33
- this.isDNSUnstable = false;
34
- this.ssoConfiguration = null;
35
- /**
36
- * List of specific emails that were send to this organization
37
- */
38
- this.dripEmailList = new Map();
39
- }
19
+ privateDKIMKey;
20
+ publicDKIMKey;
21
+ usedRegisterCode;
22
+ /**
23
+ * When the DNS records are invalid for the first time, this timestamp will get set.
24
+ * When DNS is valid again, this will get cleared
25
+ */
26
+ firstInvalidDNSRecords;
27
+ /**
28
+ * Whether an email has been send to say that the domain is setup correctly
29
+ * Set back to false when changing the domain
30
+ */
31
+ didSendDomainSetupMail = true;
32
+ /**
33
+ * When the DNS records are invalid for the first time, this timestamp will get set.
34
+ * When DNS is valid again, this will get cleared
35
+ */
36
+ DNSRecordWarningCount = 0;
37
+ lastInvalidDNSDates;
38
+ isDNSUnstable = false;
39
+ mollieCustomerId;
40
+ ssoConfiguration = null;
41
+ /**
42
+ * List of specific emails that were send to this organization
43
+ */
44
+ dripEmailList = new Map();
40
45
  markDNSValid() {
41
46
  // Reset if longer than 14 days without invalid DNS
42
47
  this.isDNSUnstable = this.recalculateIsDNSUnstable();
43
48
  this.firstInvalidDNSRecords = undefined;
44
49
  }
45
50
  markDNSFailure() {
46
- var _a;
47
51
  if (this.firstInvalidDNSRecords) {
48
52
  // Hasn't been valid
49
53
  return;
@@ -53,16 +57,15 @@ class OrganizationServerMetaData extends simple_encoding_1.AutoEncoder {
53
57
  // Remove all dates longer than 14 days ago, or more than 6 events
54
58
  const d14 = new Date(Date.now() - 1000 * 60 * 60 * 24 * 14);
55
59
  const maxLength = 6;
56
- this.lastInvalidDNSDates = [...((_a = this.lastInvalidDNSDates) !== null && _a !== void 0 ? _a : []), new Date()].filter(d => d > d14).slice(0, maxLength);
60
+ this.lastInvalidDNSDates = [...(this.lastInvalidDNSDates ?? []), new Date()].filter(d => d > d14).slice(0, maxLength);
57
61
  this.isDNSUnstable = this.recalculateIsDNSUnstable();
58
62
  }
59
63
  /**
60
64
  * DNS is unstable if it was marked invalid 4 times in the last 2 weeks. Then it stays unstable until there were no invalid DNS moments in the last 2 weeks.
61
65
  */
62
66
  recalculateIsDNSUnstable() {
63
- var _a;
64
67
  const d14 = new Date(Date.now() - 1000 * 60 * 60 * 24 * 14);
65
- return ((_a = this.lastInvalidDNSDates) !== null && _a !== void 0 ? _a : []).filter(d => d > d14).length > (this.isDNSUnstable ? 0 : 4);
68
+ return (this.lastInvalidDNSDates ?? []).filter(d => d > d14).length > (this.isDNSUnstable ? 0 : 4);
66
69
  }
67
70
  addEmail(identifier) {
68
71
  console.log("Marked email ", identifier);
@@ -1 +1 @@
1
- {"version":3,"file":"OrganizationServerMetaData.js","sourceRoot":"","sources":["../../../src/structures/OrganizationServerMetaData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrganizationServerMetaData.js","sourceRoot":"","sources":["../../../src/structures/OrganizationServerMetaData.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stamhoofd/models",
3
- "version": "2.13.0",
3
+ "version": "2.17.0",
4
4
  "main": "./dist/src/index.js",
5
5
  "types": "./dist/src/index.d.ts",
6
6
  "license": "UNLICENCED",
@@ -24,7 +24,10 @@
24
24
  "base-x": "^3.0.9"
25
25
  },
26
26
  "devDependencies": {
27
- "@simonbackx/simple-database": "1.24.0"
27
+ "@simonbackx/simple-database": "1.25.0"
28
28
  },
29
- "gitHead": "2b130616eebea8cd30feb0f361c7bb0f48b534ba"
29
+ "publishConfig": {
30
+ "access": "public"
31
+ },
32
+ "gitHead": "5f940486646acd12e23e96a750bc12ca2be4df44"
30
33
  }
@@ -1,18 +1,91 @@
1
1
  import { EmailAddress, EmailBuilder } from "@stamhoofd/email";
2
- import { Recipient, Replacement } from "@stamhoofd/structures";
2
+ import { EmailTemplateType, Recipient, Replacement } from "@stamhoofd/structures";
3
3
  import { Formatter } from "@stamhoofd/utility";
4
4
 
5
- import { Organization, Platform, User } from "../models";
6
5
  import { SimpleError } from "@simonbackx/simple-errors";
6
+ import { EmailTemplate, Organization, Platform, User } from "../models";
7
7
 
8
- export async function getEmailBuilder(organization: Organization|null, email: {
8
+ export type EmailTemplateOptions = {
9
+ type: EmailTemplateType,
10
+ webshopId?: string | null,
11
+ groupId?: string | null,
12
+ organizationId?: string | null
13
+ }
14
+
15
+ export async function getEmailTemplate(data: EmailTemplateOptions) {
16
+ // Most specific template: for specific group
17
+ const q = EmailTemplate.select()
18
+ .where('type', data.type)
19
+
20
+ if (data.groupId) {
21
+ q.where('groupId', data.groupId)
22
+ }
23
+
24
+ if (data.organizationId) {
25
+ q.where('organizationId', data.organizationId)
26
+ }
27
+
28
+ if (data.webshopId) {
29
+ q.where('webshopId', data.webshopId)
30
+ }
31
+
32
+ let templates = await q.limit(1).fetch()
33
+
34
+ // Specific for organization
35
+ if (templates.length == 0 && (data.groupId || data.webshopId) && data.organizationId) {
36
+ templates = await EmailTemplate.select()
37
+ .where('type', data.type)
38
+ .where('organizationId', data.organizationId)
39
+ .where('groupId', null)
40
+ .where('webshopId', null)
41
+ .limit(1)
42
+ .fetch()
43
+ }
44
+
45
+ // Default for platform
46
+ if (templates.length == 0 && (data.groupId || data.webshopId || data.organizationId)) {
47
+ templates = await EmailTemplate.select()
48
+ .where('type', data.type)
49
+ .where('organizationId', null)
50
+ .where('groupId', null)
51
+ .where('webshopId', null)
52
+ .limit(1)
53
+ .fetch()
54
+ }
55
+
56
+ if (templates.length == 0) {
57
+ console.error("Could not find email template for type "+data.type)
58
+ return
59
+ }
60
+
61
+ return templates[0]
62
+ }
63
+
64
+
65
+ export async function getEmailBuilderForTemplate(organization: Organization|null, options: Omit<EmailBuilderOptions, "subject" | "html"> & { template: Omit<EmailTemplateOptions, "organizationId"> }) {
66
+ const template = await getEmailTemplate({
67
+ ...options.template,
68
+ organizationId: organization?.id ?? null
69
+ })
70
+
71
+ if (!template) {
72
+ return undefined
73
+ }
74
+
75
+ return await getEmailBuilder(organization, {
76
+ ...options,
77
+ subject: template.subject,
78
+ html: template.html
79
+ })
80
+ }
81
+
82
+ export type EmailBuilderOptions = {
9
83
  defaultReplacements?: Replacement[],
10
84
  recipients: Recipient[],
11
85
  from: string,
12
86
  replyTo?: string|null,
13
87
  subject: string,
14
- //text: string | null,
15
- html: string | null,
88
+ html: string,
16
89
  attachments?: {
17
90
  filename: string;
18
91
  content: string;
@@ -23,8 +96,14 @@ export async function getEmailBuilder(organization: Organization|null, email: {
23
96
  unsubscribeType?: 'all'|'marketing',
24
97
  fromStamhoofd?: boolean,
25
98
  singleBcc?: string,
99
+ replaceAll?: {from: string, to: string}[], // replace in all e-mails, not recipient dependent
26
100
  callback?: (error: Error|null) => void; // for each email
27
- }) {
101
+ }
102
+
103
+ /**
104
+ * @param organization defines replacements and unsubsribe behaviour
105
+ */
106
+ export async function getEmailBuilder(organization: Organization|null, email: EmailBuilderOptions) {
28
107
  const platform = await Platform.getSharedStruct()
29
108
  // Update recipients
30
109
  const cleaned: Recipient[] = []
@@ -86,16 +165,21 @@ export async function getEmailBuilder(organization: Organization|null, email: {
86
165
  if (organization) {
87
166
  const extra = organization.meta.getEmailReplacements()
88
167
  recipient.replacements.push(...extra)
89
- } else {
90
- const extra = platform.config.getEmailReplacements()
91
- recipient.replacements.push(...extra)
92
- }
168
+ }
169
+
170
+ // Defaults
171
+ const extra = platform.config.getEmailReplacements()
172
+ recipient.replacements.push(...extra)
93
173
  }
94
174
 
95
175
  const queue = email.recipients.slice()
96
176
 
97
177
  let emailIndex = 0;
98
178
 
179
+ for (const s of email.replaceAll ?? []) {
180
+ email.html = email.html.replaceAll(s.from, s.to)
181
+ }
182
+
99
183
  // Create e-mail builder
100
184
  const builder: EmailBuilder = () => {
101
185
  const recipient = queue.shift()
@@ -105,15 +189,9 @@ export async function getEmailBuilder(organization: Organization|null, email: {
105
189
 
106
190
  let replacedHtml = email.html
107
191
  let replacedSubject = email.subject
108
- //let replacedText = email.text
109
192
 
110
193
  for (const replacement of recipient.replacements) {
111
- if (replacedHtml) {
112
- replacedHtml = replacedHtml.replaceAll("{{"+replacement.token+"}}", replacement.html ?? Formatter.escapeHtml(replacement.value))
113
- }
114
- //if (replacedText) {
115
- // replacedText = replacedText.replaceAll("{{"+replacement.token+"}}", replacement.value)
116
- //}
194
+ replacedHtml = replacedHtml.replaceAll("{{"+replacement.token+"}}", replacement.html ?? Formatter.escapeHtml(replacement.value))
117
195
  replacedSubject = replacedSubject.replaceAll("{{"+replacement.token+"}}", replacement.value)
118
196
  }
119
197
 
@@ -42,6 +42,7 @@ export class RateLimitWindow {
42
42
  throw new SimpleError({
43
43
  code: 'rate_limit',
44
44
  message: `Rate limit exceeded (${w} ${amount > 1 ? '('+amount+' added)' : ''} requests in ${Math.round(this.age/1000)}s). Retry after ${retryAfter}s. Check your code and try to reduce the number of (parallel) requests you make. Add waiting periods if needed.`,
45
+ human: `Oeps! Te veel aanvragen. Om spam te vermijden is jouw aanvraag tijdelijk geblokkeerd. Probeer het over ${retryAfter} seconden opnieuw.`,
45
46
  statusCode: 429
46
47
  })
47
48
  }