@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,11 +1,11 @@
1
1
 
2
2
  import { column, Database, ManyToOneRelation, Model } from "@simonbackx/simple-database";
3
3
  import { EmailInterfaceRecipient } from "@stamhoofd/email";
4
- import { LoginProviderType, NewUser, Permissions, User as UserStruct,UserMeta, UserPermissions } from "@stamhoofd/structures";
4
+ import { LoginProviderType, NewUser, Permissions, UserMeta, UserPermissions, User as UserStruct } from "@stamhoofd/structures";
5
5
  import argon2 from "argon2";
6
6
  import { v4 as uuidv4 } from "uuid";
7
7
 
8
- import { Organization, Platform } from "./";
8
+ import { Organization } from "./";
9
9
 
10
10
  export class User extends Model {
11
11
  static table = "users";
@@ -21,6 +21,9 @@ export class User extends Model {
21
21
  @column({ foreignKey: User.organization, type: "string", nullable: true })
22
22
  organizationId: string|null;
23
23
 
24
+ @column({ type: "string", nullable: true })
25
+ memberId: string|null = null
26
+
24
27
  @column({ type: "string", nullable: true })
25
28
  firstName: string | null = null;
26
29
 
@@ -347,6 +350,11 @@ export class User extends Model {
347
350
  throw new Error("Missing organization")
348
351
  }
349
352
 
353
+ if (await User.getForAuthentication(organization?.id ?? null, email, {allowWithoutAccount: true})) {
354
+ // Already exists
355
+ return;
356
+ }
357
+
350
358
  const user = new User();
351
359
  user.organizationId = STAMHOOFD.userMode === 'platform' ? null : (organization?.id ?? null)
352
360
  user.id = id ?? uuidv4()
@@ -429,7 +437,9 @@ export class User extends Model {
429
437
  email: this.email,
430
438
  verified: this.verified,
431
439
  permissions: this.permissions,
432
- hasAccount: this.hasAccount()
440
+ hasAccount: this.hasAccount(),
441
+ memberId: this.memberId,
442
+ organizationId: this.organizationId
433
443
  });
434
444
  }
435
445
 
@@ -48,3 +48,6 @@ export * from "./MemberResponsibilityRecord"
48
48
  export * from "./OrganizationRegistrationPeriod"
49
49
  export * from "./RegistrationPeriod"
50
50
  export * from "./MemberPlatformMembership"
51
+ export * from "./Email"
52
+ export * from "./EmailRecipient"
53
+ export * from "./Event"
Binary file