@stamhoofd/models 2.120.6 → 2.122.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 (296) hide show
  1. package/dist/factories/GroupFactory.d.ts.map +1 -1
  2. package/dist/factories/GroupFactory.js +1 -1
  3. package/dist/factories/GroupFactory.js.map +1 -1
  4. package/dist/factories/OrganizationFactory.d.ts +2 -1
  5. package/dist/factories/OrganizationFactory.d.ts.map +1 -1
  6. package/dist/factories/OrganizationFactory.js +9 -1
  7. package/dist/factories/OrganizationFactory.js.map +1 -1
  8. package/dist/factories/RegistrationInvitationFactory.d.ts +15 -0
  9. package/dist/factories/RegistrationInvitationFactory.d.ts.map +1 -0
  10. package/dist/factories/RegistrationInvitationFactory.js +18 -0
  11. package/dist/factories/RegistrationInvitationFactory.js.map +1 -0
  12. package/dist/factories/STPackageFactory.js.map +1 -1
  13. package/dist/factories/UserFactory.d.ts.map +1 -1
  14. package/dist/factories/UserFactory.js +2 -2
  15. package/dist/factories/UserFactory.js.map +1 -1
  16. package/dist/factories/index.d.ts +1 -0
  17. package/dist/factories/index.d.ts.map +1 -1
  18. package/dist/factories/index.js +1 -0
  19. package/dist/factories/index.js.map +1 -1
  20. package/dist/helpers/EmailBuilder.d.ts.map +1 -1
  21. package/dist/helpers/EmailBuilder.js +8 -8
  22. package/dist/helpers/EmailBuilder.js.map +1 -1
  23. package/dist/helpers/Handlebars.d.ts.map +1 -1
  24. package/dist/helpers/Handlebars.js +10 -1
  25. package/dist/helpers/Handlebars.js.map +1 -1
  26. package/dist/helpers/InvoiceCounter.d.ts +24 -0
  27. package/dist/helpers/InvoiceCounter.d.ts.map +1 -0
  28. package/dist/helpers/InvoiceCounter.js +133 -0
  29. package/dist/helpers/InvoiceCounter.js.map +1 -0
  30. package/dist/index.d.ts +0 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +0 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/migrations/1605262045-import-postcodes.d.ts.map +1 -1
  35. package/dist/migrations/1605262045-import-postcodes.js +58 -24
  36. package/dist/migrations/1605262045-import-postcodes.js.map +1 -1
  37. package/dist/migrations/1605262046-import-postcodes-nl.d.ts.map +1 -1
  38. package/dist/migrations/1605262046-import-postcodes-nl.js +54 -17
  39. package/dist/migrations/1605262046-import-postcodes-nl.js.map +1 -1
  40. package/dist/migrations/1719567881-organization-periodId.sql +2 -0
  41. package/dist/migrations/1719567882-groups-periodId.sql +2 -0
  42. package/dist/migrations/1720080975-convert-charset.d.ts +4 -0
  43. package/dist/migrations/1720080975-convert-charset.d.ts.map +1 -0
  44. package/dist/migrations/1720080975-convert-charset.js +26 -0
  45. package/dist/migrations/1720080975-convert-charset.js.map +1 -0
  46. package/dist/migrations/1720080976-convert-charset-leads.d.ts.map +1 -1
  47. package/dist/migrations/1720080976-convert-charset-leads.js +11 -10
  48. package/dist/migrations/1720080976-convert-charset-leads.js.map +1 -1
  49. package/dist/migrations/1721400546-users-memberId.sql +2 -0
  50. package/dist/migrations/1722269236-group-waitinglist-id.sql +2 -1
  51. package/dist/migrations/1722525785-balance-item-paying-organization-id.sql +2 -0
  52. package/dist/migrations/1722525787-depending-balance-item.sql +2 -0
  53. package/dist/migrations/1722963554-registration-group-price-and-options.sql +1 -1
  54. package/dist/migrations/1723652797-payments-paying-organization-id-fk.sql +2 -0
  55. package/dist/migrations/1733317908-added-missing-organization-fk-on-registrations.sql +2 -0
  56. package/dist/migrations/1733317910-paying-organization-id-fk.sql +2 -0
  57. package/dist/migrations/1733504881-negative-invoice-id.sql +6 -0
  58. package/dist/migrations/1733994455-balance-item-status-open.d.ts +4 -0
  59. package/dist/migrations/1733994455-balance-item-status-open.d.ts.map +1 -0
  60. package/dist/migrations/1733994455-balance-item-status-open.js +28 -0
  61. package/dist/migrations/1733994455-balance-item-status-open.js.map +1 -0
  62. package/dist/migrations/1763216320-bigint-balance-item-payments.sql +2 -0
  63. package/dist/migrations/1763216320-bigint-balance-items.sql +5 -0
  64. package/dist/migrations/1763216320-bigint-orders.sql +2 -0
  65. package/dist/migrations/1763216320-bigint-payments.sql +2 -0
  66. package/dist/migrations/1763216332-bigint-balance-item-price-total.sql +2 -0
  67. package/dist/migrations/1769087808-corrected-invoice-user-agent.sql +2 -0
  68. package/dist/migrations/1769087809-payments-invoice-id.sql +2 -0
  69. package/dist/migrations/1772033555-balance-item-package-id.sql +2 -0
  70. package/dist/migrations/1776873089-create-registration-invitations-table.sql +13 -0
  71. package/dist/migrations/1778657958-payments-create-mandate.sql +2 -0
  72. package/dist/migrations/1778657959-payments-mandate-id.sql +2 -0
  73. package/dist/migrations/1778796615-payments-reversing-payment-id.sql +5 -0
  74. package/dist/migrations/1778950642-price-invoiced.sql +2 -0
  75. package/dist/migrations/1779443446-transfer-fees.sql +3 -0
  76. package/dist/migrations/1779709174-used-register-code-balance-item-id.sql +5 -0
  77. package/dist/migrations/1779968328-payments-admin-user-id.sql +5 -0
  78. package/dist/migrations/1779970611-payments-refunded-amount.sql +2 -0
  79. package/dist/migrations/1779972640-balance-items-failed-at.sql +2 -0
  80. package/dist/migrations/1780328285-document-template-locked.sql +2 -0
  81. package/dist/migrations/1780328286-document-locked.sql +2 -0
  82. package/dist/migrations/1780412083-documents-set-locked.d.ts +4 -0
  83. package/dist/migrations/1780412083-documents-set-locked.d.ts.map +1 -0
  84. package/dist/migrations/1780412083-documents-set-locked.js +14 -0
  85. package/dist/migrations/1780412083-documents-set-locked.js.map +1 -0
  86. package/dist/migrations/1780928401-v1-groups-migration-data.d.ts +4 -0
  87. package/dist/migrations/1780928401-v1-groups-migration-data.d.ts.map +1 -0
  88. package/dist/migrations/1780928401-v1-groups-migration-data.js +44 -0
  89. package/dist/migrations/1780928401-v1-groups-migration-data.js.map +1 -0
  90. package/dist/models/BalanceItem.d.ts +14 -1
  91. package/dist/models/BalanceItem.d.ts.map +1 -1
  92. package/dist/models/BalanceItem.js +91 -41
  93. package/dist/models/BalanceItem.js.map +1 -1
  94. package/dist/models/CachedBalance.d.ts +6 -1
  95. package/dist/models/CachedBalance.d.ts.map +1 -1
  96. package/dist/models/CachedBalance.js +3 -2
  97. package/dist/models/CachedBalance.js.map +1 -1
  98. package/dist/models/Document.d.ts +4 -0
  99. package/dist/models/Document.d.ts.map +1 -1
  100. package/dist/models/Document.js +26 -3
  101. package/dist/models/Document.js.map +1 -1
  102. package/dist/models/DocumentTemplate.d.ts +4 -0
  103. package/dist/models/DocumentTemplate.d.ts.map +1 -1
  104. package/dist/models/DocumentTemplate.js +37 -1
  105. package/dist/models/DocumentTemplate.js.map +1 -1
  106. package/dist/models/Email.d.ts.map +1 -1
  107. package/dist/models/Email.js +1 -1
  108. package/dist/models/Email.js.map +1 -1
  109. package/dist/models/EmailVerificationCode.d.ts.map +1 -1
  110. package/dist/models/EmailVerificationCode.js +3 -13
  111. package/dist/models/EmailVerificationCode.js.map +1 -1
  112. package/dist/models/Event.d.ts +2 -1
  113. package/dist/models/Event.d.ts.map +1 -1
  114. package/dist/models/Event.js +3 -0
  115. package/dist/models/Event.js.map +1 -1
  116. package/dist/models/EventNotification.d.ts.map +1 -1
  117. package/dist/models/EventNotification.js +5 -5
  118. package/dist/models/EventNotification.js.map +1 -1
  119. package/dist/models/Group.d.ts +4 -0
  120. package/dist/models/Group.d.ts.map +1 -1
  121. package/dist/models/Group.js +17 -0
  122. package/dist/models/Group.js.map +1 -1
  123. package/dist/models/Invoice.d.ts +1 -0
  124. package/dist/models/Invoice.d.ts.map +1 -1
  125. package/dist/models/Invoice.js +8 -8
  126. package/dist/models/Invoice.js.map +1 -1
  127. package/dist/models/MemberPlatformMembership.d.ts.map +1 -1
  128. package/dist/models/MemberPlatformMembership.js +9 -0
  129. package/dist/models/MemberPlatformMembership.js.map +1 -1
  130. package/dist/models/MollieToken.d.ts +4 -8
  131. package/dist/models/MollieToken.d.ts.map +1 -1
  132. package/dist/models/MollieToken.js +37 -90
  133. package/dist/models/MollieToken.js.map +1 -1
  134. package/dist/models/Order.d.ts.map +1 -1
  135. package/dist/models/Order.js +1 -0
  136. package/dist/models/Order.js.map +1 -1
  137. package/dist/models/Organization.d.ts +30 -23
  138. package/dist/models/Organization.d.ts.map +1 -1
  139. package/dist/models/Organization.js +113 -61
  140. package/dist/models/Organization.js.map +1 -1
  141. package/dist/models/PasswordToken.d.ts +5 -1
  142. package/dist/models/PasswordToken.d.ts.map +1 -1
  143. package/dist/models/PasswordToken.js +18 -17
  144. package/dist/models/PasswordToken.js.map +1 -1
  145. package/dist/models/Payment.d.ts +35 -3
  146. package/dist/models/Payment.d.ts.map +1 -1
  147. package/dist/models/Payment.js +66 -3
  148. package/dist/models/Payment.js.map +1 -1
  149. package/dist/models/Registration.d.ts +1 -0
  150. package/dist/models/Registration.d.ts.map +1 -1
  151. package/dist/models/Registration.js +4 -3
  152. package/dist/models/Registration.js.map +1 -1
  153. package/dist/models/RegistrationInvitation.d.ts +14 -0
  154. package/dist/models/RegistrationInvitation.d.ts.map +1 -0
  155. package/dist/models/RegistrationInvitation.js +45 -0
  156. package/dist/models/RegistrationInvitation.js.map +1 -0
  157. package/dist/models/STCredit.d.ts +4 -0
  158. package/dist/models/STCredit.d.ts.map +1 -1
  159. package/dist/models/STCredit.js +28 -0
  160. package/dist/models/STCredit.js.map +1 -1
  161. package/dist/models/STInvoice.d.ts +7 -1
  162. package/dist/models/STInvoice.d.ts.map +1 -1
  163. package/dist/models/STInvoice.js +9 -0
  164. package/dist/models/STInvoice.js.map +1 -1
  165. package/dist/models/STPackage.d.ts +4 -0
  166. package/dist/models/STPackage.d.ts.map +1 -1
  167. package/dist/models/STPackage.js +12 -1
  168. package/dist/models/STPackage.js.map +1 -1
  169. package/dist/models/UsedRegisterCode.d.ts +9 -0
  170. package/dist/models/UsedRegisterCode.d.ts.map +1 -1
  171. package/dist/models/UsedRegisterCode.js +31 -0
  172. package/dist/models/UsedRegisterCode.js.map +1 -1
  173. package/dist/models/User.d.ts +1 -1
  174. package/dist/models/User.d.ts.map +1 -1
  175. package/dist/models/User.js +1 -1
  176. package/dist/models/User.js.map +1 -1
  177. package/dist/models/_relations.js +25 -0
  178. package/dist/models/_relations.js.map +1 -1
  179. package/dist/models/addresses/City.d.ts +4 -4
  180. package/dist/models/addresses/City.d.ts.map +1 -1
  181. package/dist/models/addresses/City.js +6 -6
  182. package/dist/models/addresses/City.js.map +1 -1
  183. package/dist/models/addresses/PostalCode.d.ts +2 -2
  184. package/dist/models/addresses/PostalCode.d.ts.map +1 -1
  185. package/dist/models/addresses/PostalCode.js +4 -3
  186. package/dist/models/addresses/PostalCode.js.map +1 -1
  187. package/dist/models/addresses/Street.d.ts +3 -3
  188. package/dist/models/addresses/Street.d.ts.map +1 -1
  189. package/dist/models/addresses/Street.js +4 -4
  190. package/dist/models/addresses/Street.js.map +1 -1
  191. package/dist/models/index.d.ts +2 -0
  192. package/dist/models/index.d.ts.map +1 -1
  193. package/dist/models/index.js +2 -0
  194. package/dist/models/index.js.map +1 -1
  195. package/dist/models/v1GroupMigrationData.d.ts +22 -0
  196. package/dist/models/v1GroupMigrationData.d.ts.map +1 -0
  197. package/dist/models/v1GroupMigrationData.js +48 -0
  198. package/dist/models/v1GroupMigrationData.js.map +1 -0
  199. package/package.json +41 -13
  200. package/src/factories/GroupFactory.ts +4 -6
  201. package/src/factories/OrganizationFactory.ts +12 -4
  202. package/src/factories/RegistrationInvitationFactory.ts +24 -0
  203. package/src/factories/STPackageFactory.ts +2 -2
  204. package/src/factories/UserFactory.ts +4 -5
  205. package/src/factories/index.ts +1 -0
  206. package/src/helpers/EmailBuilder.ts +19 -28
  207. package/src/helpers/Handlebars.ts +10 -1
  208. package/src/helpers/InvoiceCounter.test.ts +220 -0
  209. package/src/helpers/InvoiceCounter.ts +162 -0
  210. package/src/index.ts +0 -1
  211. package/src/migrations/1605262045-import-postcodes.ts +62 -25
  212. package/src/migrations/1605262046-import-postcodes-nl.ts +58 -17
  213. package/src/migrations/1719567881-organization-periodId.sql +2 -0
  214. package/src/migrations/1719567882-groups-periodId.sql +2 -0
  215. package/src/migrations/1720080975-convert-charset.ts +34 -0
  216. package/src/migrations/1720080976-convert-charset-leads.ts +16 -13
  217. package/src/migrations/1721400546-users-memberId.sql +2 -0
  218. package/src/migrations/1722269236-group-waitinglist-id.sql +2 -1
  219. package/src/migrations/1722525785-balance-item-paying-organization-id.sql +2 -0
  220. package/src/migrations/1722525787-depending-balance-item.sql +2 -0
  221. package/src/migrations/1722963554-registration-group-price-and-options.sql +1 -1
  222. package/src/migrations/1723652797-payments-paying-organization-id-fk.sql +2 -0
  223. package/src/migrations/1733317908-added-missing-organization-fk-on-registrations.sql +2 -0
  224. package/src/migrations/1733317910-paying-organization-id-fk.sql +2 -0
  225. package/src/migrations/1733504881-negative-invoice-id.sql +6 -0
  226. package/src/migrations/1733994455-balance-item-status-open.ts +30 -0
  227. package/src/migrations/1763216320-bigint-balance-item-payments.sql +2 -0
  228. package/src/migrations/1763216320-bigint-balance-items.sql +5 -0
  229. package/src/migrations/1763216320-bigint-orders.sql +2 -0
  230. package/src/migrations/1763216320-bigint-payments.sql +2 -0
  231. package/src/migrations/1763216332-bigint-balance-item-price-total.sql +2 -0
  232. package/src/migrations/1769087808-corrected-invoice-user-agent.sql +2 -0
  233. package/src/migrations/1769087809-payments-invoice-id.sql +2 -0
  234. package/src/migrations/1772033555-balance-item-package-id.sql +2 -0
  235. package/src/migrations/1776873089-create-registration-invitations-table.sql +13 -0
  236. package/src/migrations/1778657958-payments-create-mandate.sql +2 -0
  237. package/src/migrations/1778657959-payments-mandate-id.sql +2 -0
  238. package/src/migrations/1778796615-payments-reversing-payment-id.sql +5 -0
  239. package/src/migrations/1778950642-price-invoiced.sql +2 -0
  240. package/src/migrations/1779443446-transfer-fees.sql +3 -0
  241. package/src/migrations/1779709174-used-register-code-balance-item-id.sql +5 -0
  242. package/src/migrations/1779968328-payments-admin-user-id.sql +5 -0
  243. package/src/migrations/1779970611-payments-refunded-amount.sql +2 -0
  244. package/src/migrations/1779972640-balance-items-failed-at.sql +2 -0
  245. package/src/migrations/1780328285-document-template-locked.sql +2 -0
  246. package/src/migrations/1780328286-document-locked.sql +2 -0
  247. package/src/migrations/1780412083-documents-set-locked.ts +18 -0
  248. package/src/migrations/1780928401-v1-groups-migration-data.ts +50 -0
  249. package/src/models/BalanceItem.ts +98 -43
  250. package/src/models/CachedBalance.test.ts +46 -46
  251. package/src/models/CachedBalance.ts +7 -7
  252. package/src/models/Document.ts +34 -13
  253. package/src/models/DocumentTemplate.ts +56 -17
  254. package/src/models/Email.test.ts +3 -3
  255. package/src/models/Email.ts +28 -49
  256. package/src/models/EmailVerificationCode.ts +8 -22
  257. package/src/models/Event.ts +6 -4
  258. package/src/models/EventNotification.ts +6 -6
  259. package/src/models/Group.ts +24 -3
  260. package/src/models/Invoice.ts +10 -9
  261. package/src/models/MemberPlatformMembership.test.ts +70 -0
  262. package/src/models/MemberPlatformMembership.ts +16 -12
  263. package/src/models/MollieToken.ts +42 -102
  264. package/src/models/Order.ts +14 -26
  265. package/src/models/Organization.ts +143 -86
  266. package/src/models/PasswordToken.ts +21 -21
  267. package/src/models/Payment.ts +61 -4
  268. package/src/models/Registration.ts +6 -5
  269. package/src/models/RegistrationInvitation.ts +40 -0
  270. package/src/models/STCredit.ts +32 -0
  271. package/src/models/STInvoice.ts +11 -5
  272. package/src/models/STPackage.ts +19 -14
  273. package/src/models/UsedRegisterCode.ts +34 -0
  274. package/src/models/User.ts +6 -7
  275. package/src/models/_relations.ts +29 -0
  276. package/src/models/addresses/City.ts +8 -6
  277. package/src/models/addresses/PostalCode.test.ts +1 -0
  278. package/src/models/addresses/PostalCode.ts +5 -3
  279. package/src/models/addresses/Street.ts +6 -4
  280. package/src/models/index.ts +3 -0
  281. package/src/models/v1GroupMigrationData.ts +43 -0
  282. package/dist/helpers/MemberMerger.d.ts +0 -14
  283. package/dist/helpers/MemberMerger.d.ts.map +0 -1
  284. package/dist/helpers/MemberMerger.js +0 -364
  285. package/dist/helpers/MemberMerger.js.map +0 -1
  286. package/dist/migrations/1720080975-convert-charset.sql +0 -85
  287. package/dist/migrations/1723202126-member-number-index.sql +0 -2
  288. package/dist/models/OneTimeToken.d.ts +0 -38
  289. package/dist/models/OneTimeToken.d.ts.map +0 -1
  290. package/dist/models/OneTimeToken.js +0 -125
  291. package/dist/models/OneTimeToken.js.map +0 -1
  292. package/src/helpers/MemberMerger.test.ts +0 -782
  293. package/src/helpers/MemberMerger.ts +0 -577
  294. package/src/migrations/1720080975-convert-charset.sql +0 -85
  295. package/src/migrations/1723202126-member-number-index.sql +0 -2
  296. package/src/models/OneTimeToken.ts +0 -133
@@ -1 +1 @@
1
- {"version":3,"file":"Organization.d.ts","sourceRoot":"","sources":["../../src/models/Organization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Organization.d.ts","sourceRoot":"","sources":["../../src/models/Organization.ts"],"names":[],"mappings":"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"}
@@ -5,16 +5,18 @@ import { SimpleError } from '@simonbackx/simple-errors';
5
5
  import { I18n } from '@stamhoofd/backend-i18n/I18n';
6
6
  import { QueueHandler } from '@stamhoofd/queues';
7
7
  import { QueryableModel, SQL } from '@stamhoofd/sql';
8
- import { Address, appToUri, DNSRecordStatus, EmailTemplateType, OrganizationMetaData, OrganizationPrivateMetaData, Organization as OrganizationStruct, PaymentMethod, PaymentProvider, Recipient, Replacement, STPackageType, TransferSettings } from '@stamhoofd/structures';
9
- import { Formatter } from '@stamhoofd/utility';
8
+ import { AccessRight, Address, Company, DNSRecordStatus, EmailTemplateType, getAppHost, GroupType, OrganizationMetaData, OrganizationPrivateMetaData, Organization as OrganizationStruct, PaymentMethod, PaymentProvider, Recipient, Replacement, STPackageType, TransferSettings } from '@stamhoofd/structures';
9
+ import { Country } from '@stamhoofd/types/Country';
10
+ import { Language } from '@stamhoofd/types/Language';
11
+ import { Formatter, Sorter } from '@stamhoofd/utility';
10
12
  import { v4 as uuidv4 } from 'uuid';
11
13
  import { validateDNSRecords } from '../helpers/DNSValidator.js';
12
14
  import { OrganizationServerMetaData } from '../structures/OrganizationServerMetaData.js';
13
15
  import { Group } from './Group.js';
14
16
  import { OrganizationRegistrationPeriod } from './OrganizationRegistrationPeriod.js';
17
+ import { Registration } from './Registration.js';
15
18
  import { StripeAccount } from './StripeAccount.js';
16
- import { Country } from '@stamhoofd/types/Country';
17
- import { Language } from '@stamhoofd/types/Language';
19
+ import { Token } from './Token.js';
18
20
  export class Organization extends QueryableModel {
19
21
  static table = 'organizations';
20
22
  // static cache = new ModelCache<Organization>();
@@ -128,45 +130,11 @@ export class Organization extends QueryableModel {
128
130
  }
129
131
  return organization;
130
132
  }
131
- /**
132
- * Potentially includes a path
133
- */
134
- getRegistrationHost(i18n) {
135
- if (this.registerDomain) {
136
- let d = this.registerDomain;
137
- if (i18n && i18n.language !== this.i18n.language) {
138
- d += '/' + i18n.language;
139
- }
140
- return d;
141
- }
142
- return this.getDefaultRegistrationHost(i18n);
143
- }
144
- getDefaultRegistrationHost(i18n) {
145
- if (!STAMHOOFD.domains.registration) {
146
- return STAMHOOFD.domains.dashboard + '/' + (i18n?.locale ?? this.i18n.locale) + '/' + appToUri('registration') + '/' + this.uri;
147
- }
148
- let defaultDomain = STAMHOOFD.domains.registration[this.address.country] ?? STAMHOOFD.domains.registration[''];
149
- if (i18n && i18n.language !== this.i18n.language) {
150
- defaultDomain += '/' + i18n.language;
151
- }
152
- return this.uri + '.' + defaultDomain;
133
+ getDashboardHost(i18n) {
134
+ return getAppHost('dashboard', this, true, i18n);
153
135
  }
154
136
  get registerUrl() {
155
- return 'https://' + this.getRegistrationHost();
156
- }
157
- /**
158
- * @deprecated
159
- * use getRegistrationHost
160
- */
161
- getHost(i18n) {
162
- return this.getRegistrationHost(i18n);
163
- }
164
- /**
165
- * @deprecated
166
- * Use getDefaultRegistrationHost
167
- */
168
- getDefaultHost(i18n) {
169
- return this.getDefaultRegistrationHost(i18n);
137
+ return 'https://' + getAppHost('registration', this, false);
170
138
  }
171
139
  get marketingDomain() {
172
140
  return STAMHOOFD.domains.marketing[this.address.country] ?? STAMHOOFD.domains.marketing[''];
@@ -364,6 +332,10 @@ export class Organization extends QueryableModel {
364
332
  token: 'mailDomain',
365
333
  value: this.privateMeta.mailDomain ?? this.privateMeta.pendingMailDomain ?? '',
366
334
  }),
335
+ Replacement.create({
336
+ token: 'organizationName',
337
+ value: this.name,
338
+ }),
367
339
  ],
368
340
  unsubscribeType: 'marketing',
369
341
  fromStamhoofd: true,
@@ -658,6 +630,15 @@ export class Organization extends QueryableModel {
658
630
  // Only full access
659
631
  return admins.filter(a => a.permissions && a.permissions.forOrganization(this)?.hasFullAccess());
660
632
  }
633
+ /**
634
+ * These email addresess are private
635
+ */
636
+ async getFinanceAdmins() {
637
+ const admins = await this.getAdmins();
638
+ const filtered = admins.filter(a => a.permissions && (a.permissions.forOrganization(this)?.hasFullAccess() || a.permissions.forOrganization(this)?.hasAccessRight(AccessRight.OrganizationFinanceDirector)));
639
+ // Only full access
640
+ return filtered;
641
+ }
661
642
  /**
662
643
  * These email addresess are private
663
644
  */
@@ -674,31 +655,77 @@ export class Organization extends QueryableModel {
674
655
  }
675
656
  return filtered.flatMap(f => f.getEmailTo());
676
657
  }
677
- /**
678
- * These email addresess are private
679
- */
680
- async getAdminRecipients() {
681
- let filtered = await this.getFullAdmins();
682
- if (STAMHOOFD.environment === 'production') {
683
- if (filtered.length > 1) {
684
- // remove stamhoofd email addresses
685
- filtered = filtered.filter(e => !e.email.endsWith('@stamhoofd.be') && !e.email.endsWith('@stamhoofd.nl'));
686
- }
687
- }
688
- return filtered.flatMap((f) => {
658
+ adminsToRecipients(admins) {
659
+ return admins.flatMap((f) => {
689
660
  return Recipient.create({
690
661
  firstName: f.firstName,
691
662
  lastName: f.lastName,
692
663
  email: f.email,
693
- replacements: [
694
- Replacement.create({
695
- token: 'organizationName',
696
- value: this.name,
697
- }),
698
- ],
664
+ replacements: [],
699
665
  });
700
666
  });
701
667
  }
668
+ /**
669
+ * These email addresess are private
670
+ */
671
+ async getAdminRecipients() {
672
+ const filtered = await this.getFullAdmins();
673
+ return this.adminsToRecipients(filtered);
674
+ }
675
+ /**
676
+ * These email addresess are private
677
+ */
678
+ async getFinanceAdminRecipients() {
679
+ const filtered = await this.getFullAdmins();
680
+ return this.adminsToRecipients(filtered);
681
+ }
682
+ /**
683
+ * These email addresess are private
684
+ */
685
+ async getInvoicingToEmails() {
686
+ // Circular reference fix
687
+ const filtered = await this.getFinanceAdmins();
688
+ if (filtered.length > 0) {
689
+ return filtered.flatMap(f => f.getEmailTo()).map((recipient) => {
690
+ if (!recipient.name) {
691
+ return recipient.email;
692
+ }
693
+ const cleanedName = Formatter.emailSenderName(recipient.name);
694
+ if (cleanedName.length < 2) {
695
+ return recipient.email;
696
+ }
697
+ return '"' + cleanedName + '" <' + recipient.email + '>';
698
+ }).join(', ');
699
+ }
700
+ return undefined;
701
+ }
702
+ /**
703
+ * Returns one email for invoices. since in ubl we can only add one address.
704
+ * We choose the oldest user that was active in the last 3 months (otherwise the oldest user if noone was active)
705
+ */
706
+ async getInvoicingToEmail() {
707
+ // Circular reference fix
708
+ const admins = await this.getAdmins();
709
+ const tokens = await Token.select().where('userId', admins.map(a => a.id)).fetch();
710
+ // Sort by admins that were active in the last 3 months, then creation date
711
+ const cutoffDate = new Date(Date.now() - 1000 * 60 * 60 * 24 * 31 * 3);
712
+ admins.sort((a, b) => {
713
+ const aTokens = tokens.filter(t => t.userId === a.id);
714
+ const bTokens = tokens.filter(t => t.userId === b.id);
715
+ const aActive = !!aTokens.find(t => t.updatedAt > cutoffDate);
716
+ const bActive = !!bTokens.find(t => t.updatedAt > cutoffDate);
717
+ return Sorter.stack(Sorter.byBooleanValue(aActive, bActive), Sorter.byDateValue(b.createdAt, a.createdAt));
718
+ });
719
+ const filtered = admins.filter(a => a.verified && a.permissions && !a.email.endsWith('@stamhoofd.be') && (a.permissions.forOrganization(this)?.hasFullAccess() || a.permissions.forOrganization(this)?.hasAccessRight(AccessRight.OrganizationFinanceDirector)));
720
+ if (filtered.length > 0) {
721
+ return filtered.map(f => f.email)[0];
722
+ }
723
+ const filtered2 = admins.filter(a => a.verified && a.permissions && (a.permissions.forOrganization(this)?.hasFullAccess() || a.permissions.forOrganization(this)?.hasAccessRight(AccessRight.OrganizationFinanceDirector)));
724
+ if (filtered2.length > 0) {
725
+ return filtered2.map(f => f.email)[0];
726
+ }
727
+ return undefined;
728
+ }
702
729
  /**
703
730
  * Return default e-mail address if no email addresses are set.
704
731
  */
@@ -709,7 +736,13 @@ export class Organization extends QueryableModel {
709
736
  email: ('noreply-' + this.uri + '@' + domain),
710
737
  };
711
738
  }
712
- async getPaymentProviderFor(method, config) {
739
+ async getPaymentProviderFor(method, mandate, config) {
740
+ if (mandate) {
741
+ return {
742
+ provider: mandate.provider,
743
+ stripeAccount: null,
744
+ };
745
+ }
713
746
  let stripeAccount = (config.stripeAccountId ? (await StripeAccount.getByID(config.stripeAccountId)) : null) ?? null;
714
747
  if (stripeAccount && stripeAccount.organizationId !== this.id) {
715
748
  console.warn('Stripe account ' + stripeAccount.id + ' is not linked to organization ' + this.id);
@@ -767,15 +800,34 @@ export class Organization extends QueryableModel {
767
800
  if (!organization) {
768
801
  return 0;
769
802
  }
770
- return await this.select()
803
+ return await Registration.select()
771
804
  .join(SQL.join(Group.table)
772
805
  .where(SQL.column('id'), SQL.parentColumn('groupId')))
773
806
  .where('periodId', organization.periodId)
774
807
  .where('deactivatedAt', null)
775
808
  .where('registeredAt', '!=', null)
776
809
  .where(SQL.column(Group.table, 'deletedAt'), null)
810
+ .where(SQL.column(Group.table, 'type'), '!=', GroupType.WaitingList)
777
811
  .count(SQL.distinct(SQL.column('memberId')));
778
812
  }
813
+ /**
814
+ * Assures at least one company at all times
815
+ */
816
+ get defaultCompanies() {
817
+ const b = this.meta.companies.length
818
+ ? this.meta.companies
819
+ : [
820
+ Company.create({
821
+ name: this.name,
822
+ address: this.address,
823
+ }),
824
+ ];
825
+ // Missing address -> use organization address
826
+ if (!b[0].address) {
827
+ b[0].address = this.address;
828
+ }
829
+ return b;
830
+ }
779
831
  }
780
832
  __decorate([
781
833
  column({
@@ -1 +1 @@
1
- {"version":3,"file":"Organization.js","sourceRoot":"","sources":["../../src/models/Organization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Organization.js","sourceRoot":"","sources":["../../src/models/Organization.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,11 @@ export declare class PasswordToken extends QueryableModel {
25
25
  */
26
26
  static createToken<U extends User>(user: U, validUntil?: Date): Promise<PasswordTokenWithUser>;
27
27
  static getPasswordRecoveryUrl(user: User, organization: Organization | null, i18n: I18n, validUntil?: Date): Promise<string>;
28
- static getMagicSignInUrl(user: User, organization: Organization): Promise<string>;
28
+ /**
29
+ * Build the password recovery url for this (already created) token.
30
+ * Pass the user to avoid an extra query when it is already loaded.
31
+ */
32
+ getPasswordRecoveryUrl(organization: Organization | null, i18n: I18n, user?: User): Promise<string>;
29
33
  static clearFor(userId: string): Promise<void>;
30
34
  }
31
35
  //# sourceMappingURL=PasswordToken.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordToken.d.ts","sourceRoot":"","sources":["../../src/models/PasswordToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKjC,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAcnE,qBAAa,aAAc,SAAQ,cAAc;IAC7C,MAAM,CAAC,KAAK,SAAqB;IAIjC,KAAK,EAAE,MAAM,CAAC;IAGd,UAAU,EAAE,IAAI,CAAC;IAYjB,SAAS,EAAE,IAAI,CAAC;IAGhB,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE7C,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;WACU,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,UAAQ,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAiC1G;;OAEG;WACU,WAAW,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,qBAAqB,CAAC;WAwBvF,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,IAAI;WAoBnG,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY;WAMxD,QAAQ,CAAC,MAAM,EAAE,MAAM;CAIvC"}
1
+ {"version":3,"file":"PasswordToken.d.ts","sourceRoot":"","sources":["../../src/models/PasswordToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjC,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAcnE,qBAAa,aAAc,SAAQ,cAAc;IAC7C,MAAM,CAAC,KAAK,SAAqB;IAIjC,KAAK,EAAE,MAAM,CAAC;IAGd,UAAU,EAAE,IAAI,CAAC;IAYjB,SAAS,EAAE,IAAI,CAAC;IAGhB,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE7C,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;WACU,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,UAAQ,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAiC1G;;OAEG;WACU,WAAW,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,qBAAqB,CAAC;WAuBvF,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,IAAI;IAMhH;;;OAGG;IACG,sBAAsB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI;WAe1E,QAAQ,CAAC,MAAM,EAAE,MAAM;CAIvC"}
@@ -5,6 +5,8 @@ import basex from 'base-x';
5
5
  import crypto from 'crypto';
6
6
  import { User } from './User.js';
7
7
  import { SimpleError } from '@simonbackx/simple-errors';
8
+ import { getAppHost } from '@stamhoofd/structures';
9
+ import { Platform } from './Platform.js';
8
10
  const ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
9
11
  const bs58 = basex(ALPHABET);
10
12
  async function randomBytes(size) {
@@ -79,26 +81,25 @@ export class PasswordToken extends QueryableModel {
79
81
  return token;
80
82
  }
81
83
  static async getPasswordRecoveryUrl(user, organization, i18n, validUntil) {
82
- if (user.organizationId !== null && ((user.organizationId ?? null) !== (organization?.id ?? null))) {
83
- throw new Error('Unexpected mismatch in organization id for PasswordToken');
84
- }
85
84
  // Send an e-mail to say you already have an account + follow password forgot flow
86
85
  const token = await PasswordToken.createToken(user, validUntil);
87
- let host;
88
- if (user.permissions || !organization || STAMHOOFD.userMode === 'platform') {
89
- host = 'https://' + (STAMHOOFD.domains.dashboard) + '/' + i18n.locale;
90
- if (user.organizationId && organization) {
91
- host += '/auto/' + encodeURIComponent(organization.uri);
92
- }
93
- return host + '/reset-password?token=' + encodeURIComponent(token.token);
94
- }
95
- host = 'https://' + organization.getHost(i18n);
96
- return host + '/reset-password?token=' + encodeURIComponent(token.token);
86
+ return token.getPasswordRecoveryUrl(organization, i18n, user);
97
87
  }
98
- static async getMagicSignInUrl(user, organization) {
99
- // For now we don't add a token yet for security. We might add some sort of email validation thing later on
100
- const host = 'https://' + organization.getHost();
101
- return Promise.resolve(host + '/login' + '?email=' + encodeURIComponent(user.email) + '&hasAccount=' + (user.hasAccount() ? 1 : 0));
88
+ /**
89
+ * Build the password recovery url for this (already created) token.
90
+ * Pass the user to avoid an extra query when it is already loaded.
91
+ */
92
+ async getPasswordRecoveryUrl(organization, i18n, user) {
93
+ const tokenUser = user ?? await User.getByID(this.userId);
94
+ if (!tokenUser) {
95
+ throw new Error('PasswordToken without a valid user');
96
+ }
97
+ if (tokenUser.organizationId !== null && ((tokenUser.organizationId ?? null) !== (organization?.id ?? null))) {
98
+ throw new Error('Unexpected mismatch in organization id for PasswordToken');
99
+ }
100
+ const hasOrganizationPermissions = organization ? tokenUser.permissions?.forOrganization(organization, await Platform.getSharedStruct())?.isEmpty === false : false;
101
+ const host = 'https://' + getAppHost(hasOrganizationPermissions ? 'dashboard' : 'registration', organization, hasOrganizationPermissions, i18n);
102
+ return host + '/reset-password?token=' + encodeURIComponent(this.token);
102
103
  }
103
104
  static async clearFor(userId) {
104
105
  const query = `DELETE from ${this.table} where userId = ?`;
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordToken.js","sourceRoot":"","sources":["../../src/models/PasswordToken.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PasswordToken.js","sourceRoot":"","sources":["../../src/models/PasswordToken.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { PaymentMethod, PaymentStatus } from '@stamhoofd/structures';
2
- import { PaymentCustomer, PaymentGeneral, PaymentProvider, PaymentType, Settlement, TransferSettings } from '@stamhoofd/structures';
1
+ import { PaymentCustomer, PaymentGeneral, PaymentMethod, PaymentProvider, PaymentStatus, PaymentType, Settlement, TransferSettings } from '@stamhoofd/structures';
3
2
  import { QueryableModel } from '@stamhoofd/sql';
3
+ import { CreateMandateSettings } from '@stamhoofd/structures/checkout/CreateMandateSettings.js';
4
4
  import type { BalanceItem } from './BalanceItem.js';
5
5
  import type { BalanceItemPayment } from './BalanceItemPayment.js';
6
6
  import { Organization } from './Organization.js';
@@ -26,6 +26,15 @@ export declare class Payment extends QueryableModel {
26
26
  * payingUserId
27
27
  */
28
28
  payingUserId: string | null;
29
+ /**
30
+ * External ID of the mandate used for this payment
31
+ */
32
+ mandateId: string | null;
33
+ /**
34
+ * Link to related payment that was reversed.
35
+ * Used for refunds and chargebacks
36
+ */
37
+ reversingPaymentId: string | null;
29
38
  /**
30
39
  * @deprecated
31
40
  */
@@ -39,17 +48,24 @@ export declare class Payment extends QueryableModel {
39
48
  */
40
49
  payingOrganizationId: string | null;
41
50
  stripeAccountId: string | null;
51
+ createMandate: CreateMandateSettings | null;
42
52
  /**
43
53
  * Total price
44
54
  */
45
55
  price: number;
56
+ /**
57
+ * Total price refunded or charged back
58
+ */
59
+ refundedAmount: number;
46
60
  /**
47
61
  * The difference between the sum of the balance item payments price and the price of the payment, caused by rounding to 1 cent.
48
62
  * This cannot be >= 100 (= 0,01 euro) or <= -100 (=-0,01 euro)
49
63
  *
64
+ * For understanding the sign of the value, regard it as an extra balance item to the payment.
65
+ *
50
66
  * Just like all prices, this price is stored per ten thousand (1 = 0,0001 ). Storing smaller units is not possible because even in balance items, the price to pay cannot be smaller than 0,0001 euro
51
67
  *
52
- * E.g. total price to pay is 0,242 because of VAT, then we round this to 0,24. The roundingAmount will be -0,002 in this case.
68
+ * E.g. total price to pay is 0,242 because of VAT, then we round this to 0,24. The roundingAmount will be -0,002 in this case, because all the items (0,242) - 0,002 = 0,24.
53
69
  */
54
70
  roundingAmount: number;
55
71
  /**
@@ -74,6 +90,16 @@ export declare class Payment extends QueryableModel {
74
90
  * Part of the serviceFeeManual, that has been invoiced (added to outstanding balance)
75
91
  */
76
92
  serviceFeeManualCharged: number;
93
+ /**
94
+ * Transfer fee - if we need to charge this for a certain provider
95
+ *
96
+ * This EXCLUDES VAT
97
+ */
98
+ transferFeeManual: number;
99
+ /**
100
+ * Part of the transferFeeManual, that has been invoiced (added to outstanding balance)
101
+ */
102
+ transferFeeManualCharged: number;
77
103
  /**
78
104
  * Included in the total price
79
105
  */
@@ -81,6 +107,10 @@ export declare class Payment extends QueryableModel {
81
107
  transferDescription: string | null;
82
108
  transferSettings: TransferSettings | null;
83
109
  invoiceId: string | null;
110
+ /**
111
+ * In case the payment was initiated by an admin or not.
112
+ */
113
+ adminUserId: string | null;
84
114
  createdAt: Date;
85
115
  _forceUpdatedAt: Date | null;
86
116
  updatedAt: Date;
@@ -88,9 +118,11 @@ export declare class Payment extends QueryableModel {
88
118
  settlement: Settlement | null;
89
119
  iban: string | null;
90
120
  ibanName: string | null;
121
+ get canChangeStatus(): boolean;
91
122
  generateDescription(organization: Organization, reference: string, replacements?: {
92
123
  [key: string]: string;
93
124
  }): void;
125
+ updateRefundedAmount(): Promise<void>;
94
126
  static roundPrice(price: number): number;
95
127
  static getGeneralStructure(payments: Payment[], includeSettlements?: boolean): Promise<PaymentGeneral[]>;
96
128
  static getGeneralStructureFromRelations({ payments, balanceItemPayments, balanceItems, payingOrganizations }: {
@@ -1 +1 @@
1
- {"version":3,"file":"Payment.d.ts","sourceRoot":"","sources":["../../src/models/Payment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Payment.d.ts","sourceRoot":"","sources":["../../src/models/Payment.ts"],"names":[],"mappings":"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"}