@stamhoofd/models 2.3.0 → 2.5.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 (133) hide show
  1. package/dist/src/factories/GroupFactory.d.ts.map +1 -1
  2. package/dist/src/factories/GroupFactory.js +5 -5
  3. package/dist/src/factories/GroupFactory.js.map +1 -1
  4. package/dist/src/helpers/EmailBuilder.d.ts +3 -2
  5. package/dist/src/helpers/EmailBuilder.d.ts.map +1 -1
  6. package/dist/src/helpers/EmailBuilder.js +29 -16
  7. package/dist/src/helpers/EmailBuilder.js.map +1 -1
  8. package/dist/src/helpers/GroupBuilder.d.ts.map +1 -1
  9. package/dist/src/helpers/GroupBuilder.js +0 -23
  10. package/dist/src/helpers/GroupBuilder.js.map +1 -1
  11. package/dist/src/migrations/1721050380-email-table.sql +24 -0
  12. package/dist/src/migrations/1721050381-email-recipients-table.sql +18 -0
  13. package/dist/src/migrations/1721342679-responsibility-groupId.sql +2 -0
  14. package/dist/src/migrations/1721342680-responsibility-groupId-foreign-key.sql +1 -0
  15. package/dist/src/migrations/1721400546-users-memberId.sql +3 -0
  16. package/dist/src/migrations/1721639159-membership-deleted-at.sql +2 -0
  17. package/dist/src/migrations/1721639160-membership-generated.sql +2 -0
  18. package/dist/src/migrations/1721841819-group-type.sql +2 -0
  19. package/dist/src/migrations/1722090482-events.sql +18 -0
  20. package/dist/src/migrations/1722269236-group-waitinglist-id.sql +4 -0
  21. package/dist/src/migrations/1722525785-balance-item-paying-organization-id.sql +2 -0
  22. package/dist/src/migrations/1722525787-depending-balance-item.sql +2 -0
  23. package/dist/src/models/BalanceItem.d.ts +7 -0
  24. package/dist/src/models/BalanceItem.d.ts.map +1 -1
  25. package/dist/src/models/BalanceItem.js +34 -1
  26. package/dist/src/models/BalanceItem.js.map +1 -1
  27. package/dist/src/models/DocumentTemplate.js +14 -14
  28. package/dist/src/models/DocumentTemplate.js.map +1 -1
  29. package/dist/src/models/Email.d.ts +41 -0
  30. package/dist/src/models/Email.d.ts.map +1 -0
  31. package/dist/src/models/Email.js +490 -0
  32. package/dist/src/models/Email.js.map +1 -0
  33. package/dist/src/models/EmailRecipient.d.ts +20 -0
  34. package/dist/src/models/EmailRecipient.d.ts.map +1 -0
  35. package/dist/src/models/EmailRecipient.js +95 -0
  36. package/dist/src/models/EmailRecipient.js.map +1 -0
  37. package/dist/src/models/EmailTemplate.d.ts +2 -1
  38. package/dist/src/models/EmailTemplate.d.ts.map +1 -1
  39. package/dist/src/models/EmailTemplate.js +4 -0
  40. package/dist/src/models/EmailTemplate.js.map +1 -1
  41. package/dist/src/models/Event.d.ts +19 -0
  42. package/dist/src/models/Event.d.ts.map +1 -0
  43. package/dist/src/models/Event.js +78 -0
  44. package/dist/src/models/Event.js.map +1 -0
  45. package/dist/src/models/Group.d.ts +9 -1
  46. package/dist/src/models/Group.d.ts.map +1 -1
  47. package/dist/src/models/Group.js +25 -22
  48. package/dist/src/models/Group.js.map +1 -1
  49. package/dist/src/models/Member.d.ts +1 -0
  50. package/dist/src/models/Member.d.ts.map +1 -1
  51. package/dist/src/models/Member.js +42 -11
  52. package/dist/src/models/Member.js.map +1 -1
  53. package/dist/src/models/MemberPlatformMembership.d.ts +7 -0
  54. package/dist/src/models/MemberPlatformMembership.d.ts.map +1 -1
  55. package/dist/src/models/MemberPlatformMembership.js +22 -0
  56. package/dist/src/models/MemberPlatformMembership.js.map +1 -1
  57. package/dist/src/models/MemberResponsibilityRecord.d.ts +3 -0
  58. package/dist/src/models/MemberResponsibilityRecord.d.ts.map +1 -1
  59. package/dist/src/models/MemberResponsibilityRecord.js +8 -0
  60. package/dist/src/models/MemberResponsibilityRecord.js.map +1 -1
  61. package/dist/src/models/Order.js +1 -1
  62. package/dist/src/models/Order.js.map +1 -1
  63. package/dist/src/models/Organization.d.ts +3 -4
  64. package/dist/src/models/Organization.d.ts.map +1 -1
  65. package/dist/src/models/Organization.js +28 -24
  66. package/dist/src/models/Organization.js.map +1 -1
  67. package/dist/src/models/OrganizationRegistrationPeriod.d.ts +1 -0
  68. package/dist/src/models/OrganizationRegistrationPeriod.d.ts.map +1 -1
  69. package/dist/src/models/OrganizationRegistrationPeriod.js +7 -0
  70. package/dist/src/models/OrganizationRegistrationPeriod.js.map +1 -1
  71. package/dist/src/models/RegistrationPeriod.d.ts +1 -0
  72. package/dist/src/models/RegistrationPeriod.d.ts.map +1 -1
  73. package/dist/src/models/RegistrationPeriod.js +12 -0
  74. package/dist/src/models/RegistrationPeriod.js.map +1 -1
  75. package/dist/src/models/User.d.ts +2 -1
  76. package/dist/src/models/User.d.ts.map +1 -1
  77. package/dist/src/models/User.js +13 -3
  78. package/dist/src/models/User.js.map +1 -1
  79. package/dist/src/models/index.d.ts +3 -0
  80. package/dist/src/models/index.d.ts.map +1 -1
  81. package/dist/src/models/index.js +3 -0
  82. package/dist/src/models/index.js.map +1 -1
  83. package/package.json +2 -2
  84. package/src/factories/GroupFactory.ts +6 -6
  85. package/src/helpers/EmailBuilder.ts +33 -18
  86. package/src/helpers/GroupBuilder.ts +0 -23
  87. package/src/migrations/1721050380-email-table.sql +24 -0
  88. package/src/migrations/1721050381-email-recipients-table.sql +18 -0
  89. package/src/migrations/1721342679-responsibility-groupId.sql +2 -0
  90. package/src/migrations/1721342680-responsibility-groupId-foreign-key.sql +1 -0
  91. package/src/migrations/1721400546-users-memberId.sql +3 -0
  92. package/src/migrations/1721639159-membership-deleted-at.sql +2 -0
  93. package/src/migrations/1721639160-membership-generated.sql +2 -0
  94. package/src/migrations/1721841819-group-type.sql +2 -0
  95. package/src/migrations/1722090482-events.sql +18 -0
  96. package/src/migrations/1722269236-group-waitinglist-id.sql +4 -0
  97. package/src/migrations/1722525785-balance-item-paying-organization-id.sql +2 -0
  98. package/src/migrations/1722525787-depending-balance-item.sql +2 -0
  99. package/src/models/BalanceItem.ts +38 -1
  100. package/src/models/DocumentTemplate.ts +2 -2
  101. package/src/models/Email.ts +556 -0
  102. package/src/models/EmailRecipient.ts +81 -0
  103. package/src/models/EmailTemplate.ts +5 -1
  104. package/src/models/Event.ts +71 -0
  105. package/src/models/Group.ts +27 -37
  106. package/src/models/Member.ts +60 -12
  107. package/src/models/MemberPlatformMembership.ts +21 -0
  108. package/src/models/MemberResponsibilityRecord.ts +7 -0
  109. package/src/models/Order.ts +2 -2
  110. package/src/models/Organization.ts +32 -28
  111. package/src/models/OrganizationRegistrationPeriod.ts +8 -0
  112. package/src/models/RegistrationPeriod.ts +14 -0
  113. package/src/models/User.ts +13 -3
  114. package/src/models/index.ts +3 -0
  115. package/dist/src/assets/assets/Metropolis-Black.woff2 +0 -0
  116. package/dist/src/assets/assets/Metropolis-BlackItalic.woff2 +0 -0
  117. package/dist/src/assets/assets/Metropolis-Bold.woff2 +0 -0
  118. package/dist/src/assets/assets/Metropolis-BoldItalic.woff2 +0 -0
  119. package/dist/src/assets/assets/Metropolis-ExtraBold.woff2 +0 -0
  120. package/dist/src/assets/assets/Metropolis-ExtraBoldItalic.woff2 +0 -0
  121. package/dist/src/assets/assets/Metropolis-ExtraLight.woff2 +0 -0
  122. package/dist/src/assets/assets/Metropolis-ExtraLightItalic.woff2 +0 -0
  123. package/dist/src/assets/assets/Metropolis-Light.woff2 +0 -0
  124. package/dist/src/assets/assets/Metropolis-LightItalic.woff2 +0 -0
  125. package/dist/src/assets/assets/Metropolis-Medium.woff2 +0 -0
  126. package/dist/src/assets/assets/Metropolis-MediumItalic.woff2 +0 -0
  127. package/dist/src/assets/assets/Metropolis-Regular.woff2 +0 -0
  128. package/dist/src/assets/assets/Metropolis-RegularItalic.woff2 +0 -0
  129. package/dist/src/assets/assets/Metropolis-SemiBold.woff2 +0 -0
  130. package/dist/src/assets/assets/Metropolis-SemiBoldItalic.woff2 +0 -0
  131. package/dist/src/assets/assets/Metropolis-Thin.woff2 +0 -0
  132. package/dist/src/assets/assets/Metropolis-ThinItalic.woff2 +0 -0
  133. package/dist/src/assets/assets/logo.png +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../src/models/User.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../src/models/User.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ const _1 = require("./");
10
10
  class User extends simple_database_1.Model {
11
11
  constructor() {
12
12
  super(...arguments);
13
+ this.memberId = null;
13
14
  this.firstName = null;
14
15
  this.lastName = null;
15
16
  this.password = null;
@@ -225,7 +226,7 @@ class User extends simple_database_1.Model {
225
226
  return user;
226
227
  }
227
228
  static async register(organization, data) {
228
- var _a;
229
+ var _a, _b;
229
230
  const { email, password, id, firstName, lastName } = data;
230
231
  if (!password) {
231
232
  throw new Error("A password is required for new users");
@@ -233,8 +234,12 @@ class User extends simple_database_1.Model {
233
234
  if (!organization && STAMHOOFD.userMode !== 'platform') {
234
235
  throw new Error("Missing organization");
235
236
  }
237
+ if (await User.getForAuthentication((_a = organization === null || organization === void 0 ? void 0 : organization.id) !== null && _a !== void 0 ? _a : null, email, { allowWithoutAccount: true })) {
238
+ // Already exists
239
+ return;
240
+ }
236
241
  const user = new User();
237
- user.organizationId = STAMHOOFD.userMode === 'platform' ? null : ((_a = organization === null || organization === void 0 ? void 0 : organization.id) !== null && _a !== void 0 ? _a : null);
242
+ user.organizationId = STAMHOOFD.userMode === 'platform' ? null : ((_b = organization === null || organization === void 0 ? void 0 : organization.id) !== null && _b !== void 0 ? _b : null);
238
243
  user.id = id !== null && id !== void 0 ? id : (0, uuid_1.v4)();
239
244
  user.email = email;
240
245
  user.password = await this.hash(password);
@@ -298,7 +303,9 @@ class User extends simple_database_1.Model {
298
303
  email: this.email,
299
304
  verified: this.verified,
300
305
  permissions: this.permissions,
301
- hasAccount: this.hasAccount()
306
+ hasAccount: this.hasAccount(),
307
+ memberId: this.memberId,
308
+ organizationId: this.organizationId
302
309
  });
303
310
  }
304
311
  getEmailTo() {
@@ -323,6 +330,9 @@ tslib_1.__decorate([
323
330
  tslib_1.__decorate([
324
331
  (0, simple_database_1.column)({ foreignKey: User.organization, type: "string", nullable: true })
325
332
  ], User.prototype, "organizationId", void 0);
333
+ tslib_1.__decorate([
334
+ (0, simple_database_1.column)({ type: "string", nullable: true })
335
+ ], User.prototype, "memberId", void 0);
326
336
  tslib_1.__decorate([
327
337
  (0, simple_database_1.column)({ type: "string", nullable: true })
328
338
  ], User.prototype, "firstName", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/models/User.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/models/User.ts"],"names":[],"mappings":"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"}
@@ -39,4 +39,7 @@ export * from "./MemberResponsibilityRecord";
39
39
  export * from "./OrganizationRegistrationPeriod";
40
40
  export * from "./RegistrationPeriod";
41
41
  export * from "./MemberPlatformMembership";
42
+ export * from "./Email";
43
+ export * from "./EmailRecipient";
44
+ export * from "./Event";
42
45
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,MAAM,EAAE,sBAAsB,EAAE,uBAAuB,EAAC,MAAM,UAAU,CAAA;AAEhF,cAAc,yBAAyB,CAAA;AAEvC,cAAc,SAAS,CAAA;AACvB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAC,KAAK,EAAE,aAAa,EAAC,MAAM,SAAS,CAAA;AAC5C,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAE7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AAEvC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAElC,cAAc,uBAAuB,CAAA;AAErC,cAAc,YAAY,CAAA;AAC1B,cAAc,8BAA8B,CAAA;AAE5C,cAAc,kCAAkC,CAAA;AAChD,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,MAAM,EAAE,sBAAsB,EAAE,uBAAuB,EAAC,MAAM,UAAU,CAAA;AAEhF,cAAc,yBAAyB,CAAA;AAEvC,cAAc,SAAS,CAAA;AACvB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAC,KAAK,EAAE,aAAa,EAAC,MAAM,SAAS,CAAA;AAC5C,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAE7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AAEvC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAElC,cAAc,uBAAuB,CAAA;AAErC,cAAc,YAAY,CAAA;AAC1B,cAAc,8BAA8B,CAAA;AAE5C,cAAc,kCAAkC,CAAA;AAChD,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAA"}
@@ -55,4 +55,7 @@ tslib_1.__exportStar(require("./MemberResponsibilityRecord"), exports);
55
55
  tslib_1.__exportStar(require("./OrganizationRegistrationPeriod"), exports);
56
56
  tslib_1.__exportStar(require("./RegistrationPeriod"), exports);
57
57
  tslib_1.__exportStar(require("./MemberPlatformMembership"), exports);
58
+ tslib_1.__exportStar(require("./Email"), exports);
59
+ tslib_1.__exportStar(require("./EmailRecipient"), exports);
60
+ tslib_1.__exportStar(require("./Event"), exports);
58
61
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;AAAA,+CAA+C;AAC/C,+CAA2C;AAAnC,4GAAA,YAAY,OAAA;AACpB,+BAA2B;AAAnB,4FAAA,IAAI,OAAA;AACZ,qCAAiC;AAAzB,kGAAA,OAAO,OAAA;AACf,+CAA2C;AAAnC,4GAAA,YAAY,OAAA;AACpB,mCAAgF;AAAxE,gGAAA,MAAM,OAAA;AAEd,kEAAuC;AAEvC,kDAAuB;AACvB,0DAA+B;AAC/B,wDAA6B;AAC7B,iCAA6B;AAArB,8FAAA,KAAK,OAAA;AACb,0DAA+B;AAC/B,4DAAiC;AACjC,yDAA8B;AAC9B,sDAA2B;AAC3B,sDAA2B;AAC3B,uDAAmD;AAA3C,oHAAA,gBAAgB,OAAA;AACxB,iCAA4C;AAApC,8FAAA,KAAK,OAAA;AACb,oDAAyB;AACzB,qDAA0B;AAC1B,6DAAkC;AAClC,mDAAwB;AACxB,0DAA+B;AAC/B,4DAAiC;AACjC,6CAAyC;AAAjC,0GAAA,WAAW,OAAA;AACnB,2DAAuD;AAA/C,wHAAA,kBAAkB,OAAA;AAC1B,iCAA6B;AAArB,8FAAA,KAAK,OAAA;AAEb,6DAAkC;AAClC,2DAAgC;AAChC,iEAAsC;AACtC,+DAAoC;AAEpC,0DAA+B;AAC/B,gEAAqC;AACrC,kEAAuC;AAEvC,qDAA0B;AAC1B,6DAAkC;AAElC,gEAAqC;AAErC,qDAA0B;AAC1B,uEAA4C;AAE5C,2EAAgD;AAChD,+DAAoC;AACpC,qEAA0C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;AAAA,+CAA+C;AAC/C,+CAA2C;AAAnC,4GAAA,YAAY,OAAA;AACpB,+BAA2B;AAAnB,4FAAA,IAAI,OAAA;AACZ,qCAAiC;AAAzB,kGAAA,OAAO,OAAA;AACf,+CAA2C;AAAnC,4GAAA,YAAY,OAAA;AACpB,mCAAgF;AAAxE,gGAAA,MAAM,OAAA;AAEd,kEAAuC;AAEvC,kDAAuB;AACvB,0DAA+B;AAC/B,wDAA6B;AAC7B,iCAA6B;AAArB,8FAAA,KAAK,OAAA;AACb,0DAA+B;AAC/B,4DAAiC;AACjC,yDAA8B;AAC9B,sDAA2B;AAC3B,sDAA2B;AAC3B,uDAAmD;AAA3C,oHAAA,gBAAgB,OAAA;AACxB,iCAA4C;AAApC,8FAAA,KAAK,OAAA;AACb,oDAAyB;AACzB,qDAA0B;AAC1B,6DAAkC;AAClC,mDAAwB;AACxB,0DAA+B;AAC/B,4DAAiC;AACjC,6CAAyC;AAAjC,0GAAA,WAAW,OAAA;AACnB,2DAAuD;AAA/C,wHAAA,kBAAkB,OAAA;AAC1B,iCAA6B;AAArB,8FAAA,KAAK,OAAA;AAEb,6DAAkC;AAClC,2DAAgC;AAChC,iEAAsC;AACtC,+DAAoC;AAEpC,0DAA+B;AAC/B,gEAAqC;AACrC,kEAAuC;AAEvC,qDAA0B;AAC1B,6DAAkC;AAElC,gEAAqC;AAErC,qDAA0B;AAC1B,uEAA4C;AAE5C,2EAAgD;AAChD,+DAAoC;AACpC,qEAA0C;AAC1C,kDAAuB;AACvB,2DAAgC;AAChC,kDAAuB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stamhoofd/models",
3
- "version": "2.3.0",
3
+ "version": "2.5.0",
4
4
  "main": "./dist/src/index.js",
5
5
  "types": "./dist/src/index.d.ts",
6
6
  "license": "UNLICENCED",
@@ -27,5 +27,5 @@
27
27
  "devDependencies": {
28
28
  "@simonbackx/simple-database": "1.24.0"
29
29
  },
30
- "gitHead": "558516ab829f9a35ded06b8982991b1445a22c2c"
30
+ "gitHead": "07cc26af0e3036e4ae4309a268fbf57b7f6ac2ed"
31
31
  }
@@ -1,5 +1,5 @@
1
1
  import { Factory } from "@simonbackx/simple-database";
2
- import { GroupCategory, GroupPrice, GroupPrices,GroupSettings, PermissionsByRole } from "@stamhoofd/structures";
2
+ import { GroupCategory, OldGroupPrice, OldGroupPrices,GroupSettings, PermissionsByRole } from "@stamhoofd/structures";
3
3
 
4
4
  import { Group } from "../models/Group";
5
5
  import { Organization } from "../models/Organization";
@@ -30,9 +30,9 @@ export class GroupFactory extends Factory<Options, Group> {
30
30
  endDate: new Date(new Date().getTime() + 10 * 1000),
31
31
  registrationStartDate: new Date(new Date().getTime() - 10 * 1000),
32
32
  registrationEndDate: new Date(new Date().getTime() + 10 * 1000),
33
- prices: [
34
- GroupPrices.create({
35
- prices: [GroupPrice.create({
33
+ oldPrices: [
34
+ OldGroupPrices.create({
35
+ prices: [OldGroupPrice.create({
36
36
  price: this.options.price ?? 400,
37
37
  reducedPrice: this.options.reducedPrice ?? null
38
38
  })],
@@ -41,9 +41,9 @@ export class GroupFactory extends Factory<Options, Group> {
41
41
  })
42
42
 
43
43
  if (this.options.delayPrice !== undefined) {
44
- group.settings.prices.push(GroupPrices.create({
44
+ group.settings.oldPrices.push(OldGroupPrices.create({
45
45
  startDate: this.options.delayDate ?? new Date(),
46
- prices: [GroupPrice.create({
46
+ prices: [OldGroupPrice.create({
47
47
  price: this.options.delayPrice,
48
48
  reducedPrice: this.options.delayReducedPrice ?? null
49
49
  })],
@@ -2,13 +2,14 @@ import { EmailAddress, EmailBuilder } from "@stamhoofd/email";
2
2
  import { Recipient, Replacement } from "@stamhoofd/structures";
3
3
  import { Formatter } from "@stamhoofd/utility";
4
4
 
5
- import { Organization, PasswordToken, User } from "../models";
5
+ import { Organization, Platform, User } from "../models";
6
+ import { SimpleError } from "@simonbackx/simple-errors";
6
7
 
7
- export async function getEmailBuilder(organization: Organization, email: {
8
+ export async function getEmailBuilder(organization: Organization|null, email: {
8
9
  defaultReplacements?: Replacement[],
9
10
  recipients: Recipient[],
10
11
  from: string,
11
- replyTo?: string,
12
+ replyTo?: string|null,
12
13
  subject: string,
13
14
  //text: string | null,
14
15
  html: string | null,
@@ -21,21 +22,31 @@ export async function getEmailBuilder(organization: Organization, email: {
21
22
  type?: "transactional" | "broadcast",
22
23
  unsubscribeType?: 'all'|'marketing',
23
24
  fromStamhoofd?: boolean,
24
- singleBcc?: string
25
+ singleBcc?: string,
26
+ callback?: (error: Error|null) => void; // for each email
25
27
  }) {
28
+ const platform = await Platform.getSharedStruct()
26
29
  // Update recipients
27
30
  const cleaned: Recipient[] = []
28
31
  for (const recipient of email.recipients) {
29
32
  try {
30
- const unsubscribe = await EmailAddress.getOrCreate(recipient.email, email.fromStamhoofd ? null : organization.id)
33
+ const unsubscribe = await EmailAddress.getOrCreate(recipient.email, email.fromStamhoofd || !organization ? null : organization.id)
31
34
 
32
35
  if (unsubscribe.unsubscribedAll || unsubscribe.hardBounce || unsubscribe.markedAsSpam || !unsubscribe.token || (unsubscribe.unsubscribedMarketing && email.unsubscribeType === 'marketing')) {
33
36
  // Ignore
37
+ if (email.callback) {
38
+ email.callback(
39
+ new SimpleError({
40
+ code: 'email_unsubscribed',
41
+ message: unsubscribe.unsubscribedAll ? "Recipient has unsubscribed" : (unsubscribe.hardBounce ? 'Recipient has hard bounced' : (unsubscribe.markedAsSpam ? 'Recipient has marked as spam' : 'Recipient has unsubscribed from marketing'))
42
+ })
43
+ )
44
+ }
34
45
  continue
35
46
  }
36
47
  recipient.replacements.push(Replacement.create({
37
48
  token: "unsubscribeUrl",
38
- value: "https://"+STAMHOOFD.domains.dashboard+"/"+organization.i18n.locale+"/unsubscribe?id="+encodeURIComponent(unsubscribe.id)+"&token="+encodeURIComponent(unsubscribe.token)+"&type="+encodeURIComponent(email.unsubscribeType ?? 'all')
49
+ value: "https://"+STAMHOOFD.domains.dashboard+"/"+(organization ? (organization.i18n.locale + '/') : '')+"unsubscribe?id="+encodeURIComponent(unsubscribe.id)+"&token="+encodeURIComponent(unsubscribe.token)+"&type="+encodeURIComponent(email.unsubscribeType ?? 'all')
39
50
  }))
40
51
 
41
52
  // Override headers
@@ -55,14 +66,12 @@ export async function getEmailBuilder(organization: Organization, email: {
55
66
  recipient.replacements = recipient.replacements.slice()
56
67
 
57
68
  // Default signInUrl
58
- let signInUrl = "https://"+organization.getHost()+"/login?email="+encodeURIComponent(recipient.email)
69
+ let signInUrl = "https://"+(organization && STAMHOOFD.userMode === 'organization' ? organization.getHost() : STAMHOOFD.domains.dashboard)+"/login?email="+encodeURIComponent(recipient.email)
59
70
 
60
- if (recipient.userId) {
61
- const recipientUser = await User.getByID(recipient.userId)
62
- if (recipientUser && recipientUser.organizationId === organization.id && recipientUser.email === recipient.email) {
63
- // We can create a special token
64
- signInUrl = await PasswordToken.getMagicSignInUrl(recipientUser, organization)
65
- }
71
+ const recipientUser = await User.getForAuthentication(organization?.id ?? null, recipient.email)
72
+ if (!recipientUser) {
73
+ // We can create a special token
74
+ signInUrl = "https://"+(organization && STAMHOOFD.userMode === 'organization' ? organization.getHost() : STAMHOOFD.domains.dashboard)+"/account-aanmaken?email="+encodeURIComponent(recipient.email)
66
75
  }
67
76
 
68
77
  recipient.replacements.push(Replacement.create({
@@ -74,8 +83,13 @@ export async function getEmailBuilder(organization: Organization, email: {
74
83
  recipient.replacements.push(...email.defaultReplacements)
75
84
  }
76
85
 
77
- const extra = organization.meta.getEmailReplacements()
78
- recipient.replacements.push(...extra)
86
+ if (organization) {
87
+ const extra = organization.meta.getEmailReplacements()
88
+ recipient.replacements.push(...extra)
89
+ } else {
90
+ const extra = platform.config.getEmailReplacements()
91
+ recipient.replacements.push(...extra)
92
+ }
79
93
  }
80
94
 
81
95
  const queue = email.recipients.slice()
@@ -107,7 +121,7 @@ export async function getEmailBuilder(organization: Organization, email: {
107
121
 
108
122
  return {
109
123
  from: email.from,
110
- replyTo: email.replyTo,
124
+ replyTo: email.replyTo ?? undefined,
111
125
  bcc: emailIndex === 1 ? email.singleBcc : undefined,
112
126
  to: [
113
127
  {
@@ -120,8 +134,9 @@ export async function getEmailBuilder(organization: Organization, email: {
120
134
  html: replacedHtml ?? undefined,
121
135
  attachments: email.attachments,
122
136
  headers: recipient.headers,
123
- type: email.type
137
+ type: email.type,
138
+ callback: email.callback
124
139
  }
125
140
  }
126
141
  return builder;
127
- }
142
+ }
@@ -87,7 +87,6 @@ export class GroupBuilder {
87
87
  genderType: mixedType,
88
88
  startDate: this.organization.meta.defaultStartDate,
89
89
  endDate: this.organization.meta.defaultEndDate,
90
- prices: this.organization.meta.defaultPrices,
91
90
  minAge: 6,
92
91
  maxAge: 7
93
92
  })
@@ -102,7 +101,6 @@ export class GroupBuilder {
102
101
  genderType: mixedType,
103
102
  startDate: this.organization.meta.defaultStartDate,
104
103
  endDate: this.organization.meta.defaultEndDate,
105
- prices: this.organization.meta.defaultPrices,
106
104
  minAge: 17,
107
105
  maxAge: 17
108
106
  })
@@ -118,7 +116,6 @@ export class GroupBuilder {
118
116
  genderType: GroupGenderType.Mixed,
119
117
  startDate: this.organization.meta.defaultStartDate,
120
118
  endDate: this.organization.meta.defaultEndDate,
121
- prices: this.organization.meta.defaultPrices,
122
119
  minAge: 8,
123
120
  maxAge: 10
124
121
  })
@@ -133,7 +130,6 @@ export class GroupBuilder {
133
130
  genderType: GroupGenderType.Mixed,
134
131
  startDate: this.organization.meta.defaultStartDate,
135
132
  endDate: this.organization.meta.defaultEndDate,
136
- prices: this.organization.meta.defaultPrices,
137
133
  minAge: 11,
138
134
  maxAge: 13
139
135
  })
@@ -148,7 +144,6 @@ export class GroupBuilder {
148
144
  genderType: GroupGenderType.Mixed,
149
145
  startDate: this.organization.meta.defaultStartDate,
150
146
  endDate: this.organization.meta.defaultEndDate,
151
- prices: this.organization.meta.defaultPrices,
152
147
  minAge: 14,
153
148
  maxAge: 16
154
149
  })
@@ -165,7 +160,6 @@ export class GroupBuilder {
165
160
  genderType: GroupGenderType.OnlyFemale,
166
161
  startDate: this.organization.meta.defaultStartDate,
167
162
  endDate: this.organization.meta.defaultEndDate,
168
- prices: this.organization.meta.defaultPrices,
169
163
  minAge: 8,
170
164
  maxAge: 10
171
165
  })
@@ -180,7 +174,6 @@ export class GroupBuilder {
180
174
  genderType: GroupGenderType.OnlyFemale,
181
175
  startDate: this.organization.meta.defaultStartDate,
182
176
  endDate: this.organization.meta.defaultEndDate,
183
- prices: this.organization.meta.defaultPrices,
184
177
  minAge: 11,
185
178
  maxAge: 13
186
179
  })
@@ -195,7 +188,6 @@ export class GroupBuilder {
195
188
  genderType: GroupGenderType.OnlyFemale,
196
189
  startDate: this.organization.meta.defaultStartDate,
197
190
  endDate: this.organization.meta.defaultEndDate,
198
- prices: this.organization.meta.defaultPrices,
199
191
  minAge: 14,
200
192
  maxAge: 16
201
193
  })
@@ -212,7 +204,6 @@ export class GroupBuilder {
212
204
  genderType: GroupGenderType.OnlyMale,
213
205
  startDate: this.organization.meta.defaultStartDate,
214
206
  endDate: this.organization.meta.defaultEndDate,
215
- prices: this.organization.meta.defaultPrices,
216
207
  minAge: 8,
217
208
  maxAge: 10
218
209
  })
@@ -227,7 +218,6 @@ export class GroupBuilder {
227
218
  genderType: GroupGenderType.OnlyMale,
228
219
  startDate: this.organization.meta.defaultStartDate,
229
220
  endDate: this.organization.meta.defaultEndDate,
230
- prices: this.organization.meta.defaultPrices,
231
221
  minAge: 11,
232
222
  maxAge: 13
233
223
  })
@@ -242,7 +232,6 @@ export class GroupBuilder {
242
232
  genderType: GroupGenderType.OnlyMale,
243
233
  startDate: this.organization.meta.defaultStartDate,
244
234
  endDate: this.organization.meta.defaultEndDate,
245
- prices: this.organization.meta.defaultPrices,
246
235
  minAge: 14,
247
236
  maxAge: 16
248
237
  })
@@ -268,7 +257,6 @@ export class GroupBuilder {
268
257
  genderType: mixedType,
269
258
  startDate: this.organization.meta.defaultStartDate,
270
259
  endDate: this.organization.meta.defaultEndDate,
271
- prices: this.organization.meta.defaultPrices,
272
260
  minAge: 6,
273
261
  maxAge: 7
274
262
  })
@@ -282,7 +270,6 @@ export class GroupBuilder {
282
270
  genderType: mixedType,
283
271
  startDate: this.organization.meta.defaultStartDate,
284
272
  endDate: this.organization.meta.defaultEndDate,
285
- prices: this.organization.meta.defaultPrices,
286
273
  minAge: 8,
287
274
  maxAge: 9
288
275
  })
@@ -297,7 +284,6 @@ export class GroupBuilder {
297
284
  genderType: mixedType,
298
285
  startDate: this.organization.meta.defaultStartDate,
299
286
  endDate: this.organization.meta.defaultEndDate,
300
- prices: this.organization.meta.defaultPrices,
301
287
  minAge: 16,
302
288
  maxAge: 17
303
289
  })
@@ -312,7 +298,6 @@ export class GroupBuilder {
312
298
  genderType: GroupGenderType.Mixed,
313
299
  startDate: this.organization.meta.defaultStartDate,
314
300
  endDate: this.organization.meta.defaultEndDate,
315
- prices: this.organization.meta.defaultPrices,
316
301
  minAge: 10,
317
302
  maxAge: 11
318
303
  })
@@ -326,7 +311,6 @@ export class GroupBuilder {
326
311
  genderType: GroupGenderType.Mixed,
327
312
  startDate: this.organization.meta.defaultStartDate,
328
313
  endDate: this.organization.meta.defaultEndDate,
329
- prices: this.organization.meta.defaultPrices,
330
314
  minAge: 12,
331
315
  maxAge: 13
332
316
  })
@@ -340,7 +324,6 @@ export class GroupBuilder {
340
324
  genderType: GroupGenderType.Mixed,
341
325
  startDate: this.organization.meta.defaultStartDate,
342
326
  endDate: this.organization.meta.defaultEndDate,
343
- prices: this.organization.meta.defaultPrices,
344
327
  minAge: 14,
345
328
  maxAge: 15
346
329
  })
@@ -356,7 +339,6 @@ export class GroupBuilder {
356
339
  genderType: GroupGenderType.OnlyFemale,
357
340
  startDate: this.organization.meta.defaultStartDate,
358
341
  endDate: this.organization.meta.defaultEndDate,
359
- prices: this.organization.meta.defaultPrices,
360
342
  minAge: 10,
361
343
  maxAge: 11
362
344
  })
@@ -370,7 +352,6 @@ export class GroupBuilder {
370
352
  genderType: GroupGenderType.OnlyFemale,
371
353
  startDate: this.organization.meta.defaultStartDate,
372
354
  endDate: this.organization.meta.defaultEndDate,
373
- prices: this.organization.meta.defaultPrices,
374
355
  minAge: 12,
375
356
  maxAge: 13
376
357
  })
@@ -384,7 +365,6 @@ export class GroupBuilder {
384
365
  genderType: GroupGenderType.OnlyFemale,
385
366
  startDate: this.organization.meta.defaultStartDate,
386
367
  endDate: this.organization.meta.defaultEndDate,
387
- prices: this.organization.meta.defaultPrices,
388
368
  minAge: 14,
389
369
  maxAge: 15
390
370
  })
@@ -400,7 +380,6 @@ export class GroupBuilder {
400
380
  genderType: GroupGenderType.OnlyMale,
401
381
  startDate: this.organization.meta.defaultStartDate,
402
382
  endDate: this.organization.meta.defaultEndDate,
403
- prices: this.organization.meta.defaultPrices,
404
383
  minAge: 10,
405
384
  maxAge: 11
406
385
  })
@@ -414,7 +393,6 @@ export class GroupBuilder {
414
393
  genderType: GroupGenderType.OnlyMale,
415
394
  startDate: this.organization.meta.defaultStartDate,
416
395
  endDate: this.organization.meta.defaultEndDate,
417
- prices: this.organization.meta.defaultPrices,
418
396
  minAge: 12,
419
397
  maxAge: 13
420
398
  })
@@ -428,7 +406,6 @@ export class GroupBuilder {
428
406
  genderType: GroupGenderType.OnlyMale,
429
407
  startDate: this.organization.meta.defaultStartDate,
430
408
  endDate: this.organization.meta.defaultEndDate,
431
- prices: this.organization.meta.defaultPrices,
432
409
  minAge: 14,
433
410
  maxAge: 15
434
411
  })
@@ -0,0 +1,24 @@
1
+ CREATE TABLE `emails` (
2
+ `id` varchar(36) NOT NULL DEFAULT '',
3
+ `organizationId` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
4
+ `userId` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
5
+ `recipientFilter` json NOT NULL,
6
+ `subject` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci,
7
+ `text` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci,
8
+ `html` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci,
9
+ `json` json NOT NULL,
10
+ `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
11
+ `recipientsStatus` varchar(255) NOT NULL,
12
+ `attachments` json NOT NULL,
13
+ `sentAt` datetime DEFAULT NULL,
14
+ `updatedAt` datetime NOT NULL,
15
+ `createdAt` datetime NOT NULL,
16
+ `fromAddress` text,
17
+ `recipientCount` int DEFAULT NULL,
18
+ `fromName` text,
19
+ PRIMARY KEY (`id`),
20
+ KEY `organizationId` (`organizationId`),
21
+ KEY `userId` (`userId`),
22
+ CONSTRAINT `emails_ibfk_1` FOREIGN KEY (`organizationId`) REFERENCES `organizations` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
23
+ CONSTRAINT `emails_ibfk_2` FOREIGN KEY (`userId`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
24
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
@@ -0,0 +1,18 @@
1
+ CREATE TABLE `email_recipients` (
2
+ `id` varchar(36) NOT NULL,
3
+ `emailId` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
4
+ `firstName` varchar(128) DEFAULT NULL,
5
+ `lastName` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
6
+ `email` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
7
+ `replacements` json NOT NULL,
8
+ `failErrorMessage` text,
9
+ `failCount` int NOT NULL DEFAULT '0',
10
+ `firstFailedAt` datetime DEFAULT NULL,
11
+ `lastFailedAt` datetime DEFAULT NULL,
12
+ `sentAt` datetime DEFAULT NULL,
13
+ `updatedAt` datetime NOT NULL,
14
+ `createdAt` datetime NOT NULL,
15
+ PRIMARY KEY (`id`),
16
+ KEY `emailId` (`emailId`),
17
+ CONSTRAINT `email_recipients_ibfk_1` FOREIGN KEY (`emailId`) REFERENCES `emails` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
18
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
@@ -0,0 +1,2 @@
1
+ ALTER TABLE `member_responsibility_records`
2
+ ADD COLUMN `groupId` varchar(36) NULL AFTER `memberId`;
@@ -0,0 +1 @@
1
+ ALTER TABLE `member_responsibility_records` ADD FOREIGN KEY (`groupId`) REFERENCES `groups` (`id`) ON UPDATE CASCADE ON DELETE CASCADE;
@@ -0,0 +1,3 @@
1
+ ALTER TABLE `users`
2
+ ADD COLUMN `memberId` varchar(36) NULL AFTER `id`;
3
+ ALTER TABLE `users` ADD FOREIGN KEY (`memberId`) REFERENCES `members` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;
@@ -0,0 +1,2 @@
1
+ ALTER TABLE `member_platform_memberships`
2
+ ADD COLUMN `deletedAt` datetime NULL AFTER `createdAt`;
@@ -0,0 +1,2 @@
1
+ ALTER TABLE `member_platform_memberships`
2
+ ADD COLUMN `generated` tinyint NOT NULL DEFAULT '0';
@@ -0,0 +1,2 @@
1
+ ALTER TABLE `groups`
2
+ ADD COLUMN `type` varchar(36) NOT NULL DEFAULT 'Membership' AFTER `id`;
@@ -0,0 +1,18 @@
1
+ CREATE TABLE `events` (
2
+ `id` varchar(36) NOT NULL DEFAULT '',
3
+ `typeId` varchar(36) NOT NULL,
4
+ `name` text NOT NULL,
5
+ `startDate` datetime NOT NULL,
6
+ `endDate` datetime NOT NULL,
7
+ `createdAt` datetime NOT NULL,
8
+ `updatedAt` datetime NOT NULL,
9
+ `organizationId` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
10
+ `groupId` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
11
+ `meta` json NOT NULL,
12
+ PRIMARY KEY (`id`),
13
+ KEY `organizationId` (`organizationId`),
14
+ KEY `groupId` (`groupId`),
15
+ KEY `startDate` (`startDate`) USING BTREE,
16
+ CONSTRAINT `events_ibfk_1` FOREIGN KEY (`organizationId`) REFERENCES `organizations` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
17
+ CONSTRAINT `events_ibfk_2` FOREIGN KEY (`groupId`) REFERENCES `groups` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
18
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
@@ -0,0 +1,4 @@
1
+ ALTER TABLE `groups`
2
+ ADD COLUMN `waitingListId` varchar(36) NULL AFTER `defaultAgeGroupId`;
3
+
4
+ ALTER TABLE `groups` ADD FOREIGN KEY (`waitingListId`) REFERENCES `groups` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;
@@ -0,0 +1,2 @@
1
+ ALTER TABLE `balance_items` ADD COLUMN `payingOrganizationId` varchar(36) NULL;
2
+ ALTER TABLE `balance_items` ADD FOREIGN KEY (`payingOrganizationId`) REFERENCES `organizations` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;
@@ -0,0 +1,2 @@
1
+ ALTER TABLE `balance_items` ADD COLUMN `dependingBalanceItemId` varchar(36) NULL;
2
+ ALTER TABLE `balance_items` ADD FOREIGN KEY (`dependingBalanceItemId`) REFERENCES `balance_items` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;