@stamhoofd/models 2.121.0 → 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.
- package/dist/factories/GroupFactory.d.ts.map +1 -1
- package/dist/factories/GroupFactory.js +1 -1
- package/dist/factories/GroupFactory.js.map +1 -1
- package/dist/factories/OrganizationFactory.d.ts +2 -1
- package/dist/factories/OrganizationFactory.d.ts.map +1 -1
- package/dist/factories/OrganizationFactory.js +9 -1
- package/dist/factories/OrganizationFactory.js.map +1 -1
- package/dist/factories/STPackageFactory.js.map +1 -1
- package/dist/factories/UserFactory.d.ts.map +1 -1
- package/dist/factories/UserFactory.js +2 -2
- package/dist/factories/UserFactory.js.map +1 -1
- package/dist/helpers/EmailBuilder.d.ts.map +1 -1
- package/dist/helpers/EmailBuilder.js +8 -8
- package/dist/helpers/EmailBuilder.js.map +1 -1
- package/dist/helpers/Handlebars.d.ts.map +1 -1
- package/dist/helpers/Handlebars.js +7 -1
- package/dist/helpers/Handlebars.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/migrations/1605262045-import-postcodes.d.ts.map +1 -1
- package/dist/migrations/1605262045-import-postcodes.js +58 -24
- package/dist/migrations/1605262045-import-postcodes.js.map +1 -1
- package/dist/migrations/1605262046-import-postcodes-nl.d.ts.map +1 -1
- package/dist/migrations/1605262046-import-postcodes-nl.js +54 -17
- package/dist/migrations/1605262046-import-postcodes-nl.js.map +1 -1
- package/dist/migrations/1719567881-organization-periodId.sql +2 -0
- package/dist/migrations/1719567882-groups-periodId.sql +2 -0
- package/dist/migrations/1720080975-convert-charset.d.ts +4 -0
- package/dist/migrations/1720080975-convert-charset.d.ts.map +1 -0
- package/dist/migrations/1720080975-convert-charset.js +26 -0
- package/dist/migrations/1720080975-convert-charset.js.map +1 -0
- package/dist/migrations/1720080976-convert-charset-leads.d.ts.map +1 -1
- package/dist/migrations/1720080976-convert-charset-leads.js +11 -10
- package/dist/migrations/1720080976-convert-charset-leads.js.map +1 -1
- package/dist/migrations/1721400546-users-memberId.sql +2 -0
- package/dist/migrations/1722269236-group-waitinglist-id.sql +2 -1
- package/dist/migrations/1722525785-balance-item-paying-organization-id.sql +2 -0
- package/dist/migrations/1722525787-depending-balance-item.sql +2 -0
- package/dist/migrations/1722963554-registration-group-price-and-options.sql +1 -1
- package/dist/migrations/1723652797-payments-paying-organization-id-fk.sql +2 -0
- package/dist/migrations/1733317908-added-missing-organization-fk-on-registrations.sql +2 -0
- package/dist/migrations/1733317910-paying-organization-id-fk.sql +2 -0
- package/dist/migrations/1733504881-negative-invoice-id.sql +6 -0
- package/dist/migrations/1733994455-balance-item-status-open.d.ts +4 -0
- package/dist/migrations/1733994455-balance-item-status-open.d.ts.map +1 -0
- package/dist/migrations/1733994455-balance-item-status-open.js +28 -0
- package/dist/migrations/1733994455-balance-item-status-open.js.map +1 -0
- package/dist/migrations/1769087808-corrected-invoice-user-agent.sql +2 -0
- package/dist/migrations/1769087809-payments-invoice-id.sql +2 -0
- package/dist/migrations/1772033555-balance-item-package-id.sql +2 -0
- package/dist/migrations/1778796615-payments-reversing-payment-id.sql +2 -0
- package/dist/migrations/1779443446-transfer-fees.sql +3 -0
- package/dist/migrations/1779709174-used-register-code-balance-item-id.sql +5 -0
- package/dist/migrations/1779968328-payments-admin-user-id.sql +5 -0
- package/dist/migrations/1779970611-payments-refunded-amount.sql +2 -0
- package/dist/migrations/1779972640-balance-items-failed-at.sql +2 -0
- package/dist/migrations/1780328285-document-template-locked.sql +2 -0
- package/dist/migrations/1780328286-document-locked.sql +2 -0
- package/dist/migrations/1780412083-documents-set-locked.d.ts +4 -0
- package/dist/migrations/1780412083-documents-set-locked.d.ts.map +1 -0
- package/dist/migrations/1780412083-documents-set-locked.js +14 -0
- package/dist/migrations/1780412083-documents-set-locked.js.map +1 -0
- package/dist/migrations/1780928401-v1-groups-migration-data.d.ts +4 -0
- package/dist/migrations/1780928401-v1-groups-migration-data.d.ts.map +1 -0
- package/dist/migrations/1780928401-v1-groups-migration-data.js +44 -0
- package/dist/migrations/1780928401-v1-groups-migration-data.js.map +1 -0
- package/dist/models/BalanceItem.d.ts +7 -2
- package/dist/models/BalanceItem.d.ts.map +1 -1
- package/dist/models/BalanceItem.js +41 -38
- package/dist/models/BalanceItem.js.map +1 -1
- package/dist/models/CachedBalance.d.ts +6 -1
- package/dist/models/CachedBalance.d.ts.map +1 -1
- package/dist/models/CachedBalance.js +3 -2
- package/dist/models/CachedBalance.js.map +1 -1
- package/dist/models/Document.d.ts +4 -0
- package/dist/models/Document.d.ts.map +1 -1
- package/dist/models/Document.js +26 -3
- package/dist/models/Document.js.map +1 -1
- package/dist/models/DocumentTemplate.d.ts +4 -0
- package/dist/models/DocumentTemplate.d.ts.map +1 -1
- package/dist/models/DocumentTemplate.js +37 -1
- package/dist/models/DocumentTemplate.js.map +1 -1
- package/dist/models/Email.d.ts.map +1 -1
- package/dist/models/Email.js +1 -1
- package/dist/models/Email.js.map +1 -1
- package/dist/models/EmailVerificationCode.d.ts.map +1 -1
- package/dist/models/EmailVerificationCode.js +3 -13
- package/dist/models/EmailVerificationCode.js.map +1 -1
- package/dist/models/Event.d.ts +2 -1
- package/dist/models/Event.d.ts.map +1 -1
- package/dist/models/Event.js +3 -0
- package/dist/models/Event.js.map +1 -1
- package/dist/models/EventNotification.d.ts.map +1 -1
- package/dist/models/EventNotification.js +5 -5
- package/dist/models/EventNotification.js.map +1 -1
- package/dist/models/Invoice.d.ts +1 -0
- package/dist/models/Invoice.d.ts.map +1 -1
- package/dist/models/Invoice.js +8 -0
- package/dist/models/Invoice.js.map +1 -1
- package/dist/models/MemberPlatformMembership.d.ts.map +1 -1
- package/dist/models/MemberPlatformMembership.js +9 -0
- package/dist/models/MemberPlatformMembership.js.map +1 -1
- package/dist/models/Order.d.ts.map +1 -1
- package/dist/models/Order.js +1 -0
- package/dist/models/Order.js.map +1 -1
- package/dist/models/Organization.d.ts +23 -25
- package/dist/models/Organization.d.ts.map +1 -1
- package/dist/models/Organization.js +92 -64
- package/dist/models/Organization.js.map +1 -1
- package/dist/models/PasswordToken.d.ts +5 -1
- package/dist/models/PasswordToken.d.ts.map +1 -1
- package/dist/models/PasswordToken.js +18 -17
- package/dist/models/PasswordToken.js.map +1 -1
- package/dist/models/Payment.d.ts +21 -2
- package/dist/models/Payment.d.ts.map +1 -1
- package/dist/models/Payment.js +43 -2
- package/dist/models/Payment.js.map +1 -1
- package/dist/models/Registration.d.ts.map +1 -1
- package/dist/models/Registration.js +3 -3
- package/dist/models/Registration.js.map +1 -1
- package/dist/models/STCredit.d.ts +4 -0
- package/dist/models/STCredit.d.ts.map +1 -1
- package/dist/models/STCredit.js +28 -0
- package/dist/models/STCredit.js.map +1 -1
- package/dist/models/STInvoice.d.ts +7 -1
- package/dist/models/STInvoice.d.ts.map +1 -1
- package/dist/models/STInvoice.js +9 -0
- package/dist/models/STInvoice.js.map +1 -1
- package/dist/models/STPackage.d.ts +4 -0
- package/dist/models/STPackage.d.ts.map +1 -1
- package/dist/models/STPackage.js +12 -1
- package/dist/models/STPackage.js.map +1 -1
- package/dist/models/UsedRegisterCode.d.ts +9 -0
- package/dist/models/UsedRegisterCode.d.ts.map +1 -1
- package/dist/models/UsedRegisterCode.js +31 -0
- package/dist/models/UsedRegisterCode.js.map +1 -1
- package/dist/models/_relations.js +25 -0
- package/dist/models/_relations.js.map +1 -1
- package/dist/models/addresses/City.d.ts +4 -4
- package/dist/models/addresses/City.d.ts.map +1 -1
- package/dist/models/addresses/City.js +6 -6
- package/dist/models/addresses/City.js.map +1 -1
- package/dist/models/addresses/PostalCode.d.ts +2 -2
- package/dist/models/addresses/PostalCode.d.ts.map +1 -1
- package/dist/models/addresses/PostalCode.js +4 -3
- package/dist/models/addresses/PostalCode.js.map +1 -1
- package/dist/models/addresses/Street.d.ts +3 -3
- package/dist/models/addresses/Street.d.ts.map +1 -1
- package/dist/models/addresses/Street.js +4 -4
- package/dist/models/addresses/Street.js.map +1 -1
- package/dist/models/index.d.ts +1 -0
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +1 -0
- package/dist/models/index.js.map +1 -1
- package/dist/models/v1GroupMigrationData.d.ts +22 -0
- package/dist/models/v1GroupMigrationData.d.ts.map +1 -0
- package/dist/models/v1GroupMigrationData.js +48 -0
- package/dist/models/v1GroupMigrationData.js.map +1 -0
- package/package.json +32 -13
- package/src/factories/GroupFactory.ts +4 -6
- package/src/factories/OrganizationFactory.ts +12 -4
- package/src/factories/STPackageFactory.ts +2 -2
- package/src/factories/UserFactory.ts +4 -5
- package/src/helpers/EmailBuilder.ts +19 -28
- package/src/helpers/Handlebars.ts +6 -1
- package/src/index.ts +0 -1
- package/src/migrations/1605262045-import-postcodes.ts +62 -25
- package/src/migrations/1605262046-import-postcodes-nl.ts +58 -17
- package/src/migrations/1719567881-organization-periodId.sql +2 -0
- package/src/migrations/1719567882-groups-periodId.sql +2 -0
- package/src/migrations/1720080975-convert-charset.ts +34 -0
- package/src/migrations/1720080976-convert-charset-leads.ts +16 -13
- package/src/migrations/1721400546-users-memberId.sql +2 -0
- package/src/migrations/1722269236-group-waitinglist-id.sql +2 -1
- package/src/migrations/1722525785-balance-item-paying-organization-id.sql +2 -0
- package/src/migrations/1722525787-depending-balance-item.sql +2 -0
- package/src/migrations/1722963554-registration-group-price-and-options.sql +1 -1
- package/src/migrations/1723652797-payments-paying-organization-id-fk.sql +2 -0
- package/src/migrations/1733317908-added-missing-organization-fk-on-registrations.sql +2 -0
- package/src/migrations/1733317910-paying-organization-id-fk.sql +2 -0
- package/src/migrations/1733504881-negative-invoice-id.sql +6 -0
- package/src/migrations/1733994455-balance-item-status-open.ts +30 -0
- package/src/migrations/1769087808-corrected-invoice-user-agent.sql +2 -0
- package/src/migrations/1769087809-payments-invoice-id.sql +2 -0
- package/src/migrations/1772033555-balance-item-package-id.sql +2 -0
- package/src/migrations/1778796615-payments-reversing-payment-id.sql +2 -0
- package/src/migrations/1779443446-transfer-fees.sql +3 -0
- package/src/migrations/1779709174-used-register-code-balance-item-id.sql +5 -0
- package/src/migrations/1779968328-payments-admin-user-id.sql +5 -0
- package/src/migrations/1779970611-payments-refunded-amount.sql +2 -0
- package/src/migrations/1779972640-balance-items-failed-at.sql +2 -0
- package/src/migrations/1780328285-document-template-locked.sql +2 -0
- package/src/migrations/1780328286-document-locked.sql +2 -0
- package/src/migrations/1780412083-documents-set-locked.ts +18 -0
- package/src/migrations/1780928401-v1-groups-migration-data.ts +50 -0
- package/src/models/BalanceItem.ts +44 -43
- package/src/models/CachedBalance.test.ts +46 -46
- package/src/models/CachedBalance.ts +7 -7
- package/src/models/Document.ts +34 -13
- package/src/models/DocumentTemplate.ts +56 -17
- package/src/models/Email.test.ts +3 -3
- package/src/models/Email.ts +28 -49
- package/src/models/EmailVerificationCode.ts +8 -22
- package/src/models/Event.ts +6 -4
- package/src/models/EventNotification.ts +6 -6
- package/src/models/Invoice.ts +9 -0
- package/src/models/MemberPlatformMembership.test.ts +70 -0
- package/src/models/MemberPlatformMembership.ts +16 -12
- package/src/models/Order.ts +14 -26
- package/src/models/Organization.ts +122 -93
- package/src/models/PasswordToken.ts +21 -21
- package/src/models/Payment.ts +42 -4
- package/src/models/Registration.ts +3 -3
- package/src/models/STCredit.ts +32 -0
- package/src/models/STInvoice.ts +11 -5
- package/src/models/STPackage.ts +19 -14
- package/src/models/UsedRegisterCode.ts +34 -0
- package/src/models/_relations.ts +29 -0
- package/src/models/addresses/City.ts +8 -6
- package/src/models/addresses/PostalCode.test.ts +1 -0
- package/src/models/addresses/PostalCode.ts +5 -3
- package/src/models/addresses/Street.ts +6 -4
- package/src/models/index.ts +2 -0
- package/src/models/v1GroupMigrationData.ts +43 -0
- package/dist/helpers/MemberMerger.d.ts +0 -14
- package/dist/helpers/MemberMerger.d.ts.map +0 -1
- package/dist/helpers/MemberMerger.js +0 -364
- package/dist/helpers/MemberMerger.js.map +0 -1
- package/dist/migrations/1720080975-convert-charset.sql +0 -85
- package/dist/migrations/1723202126-member-number-index.sql +0 -2
- package/dist/models/OneTimeToken.d.ts +0 -38
- package/dist/models/OneTimeToken.d.ts.map +0 -1
- package/dist/models/OneTimeToken.js +0 -125
- package/dist/models/OneTimeToken.js.map +0 -1
- package/src/helpers/MemberMerger.test.ts +0 -782
- package/src/helpers/MemberMerger.ts +0 -577
- package/src/migrations/1720080975-convert-charset.sql +0 -85
- package/src/migrations/1723202126-member-number-index.sql +0 -2
- package/src/models/OneTimeToken.ts +0 -133
|
@@ -5,17 +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 {
|
|
9
|
-
import {
|
|
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';
|
|
15
|
-
import { StripeAccount } from './StripeAccount.js';
|
|
16
|
-
import { Country } from '@stamhoofd/types/Country';
|
|
17
|
-
import { Language } from '@stamhoofd/types/Language';
|
|
18
17
|
import { Registration } from './Registration.js';
|
|
18
|
+
import { StripeAccount } from './StripeAccount.js';
|
|
19
|
+
import { Token } from './Token.js';
|
|
19
20
|
export class Organization extends QueryableModel {
|
|
20
21
|
static table = 'organizations';
|
|
21
22
|
// static cache = new ModelCache<Organization>();
|
|
@@ -129,48 +130,11 @@ export class Organization extends QueryableModel {
|
|
|
129
130
|
}
|
|
130
131
|
return organization;
|
|
131
132
|
}
|
|
132
|
-
/**
|
|
133
|
-
* Potentially includes a path
|
|
134
|
-
*/
|
|
135
|
-
getRegistrationHost(i18n) {
|
|
136
|
-
if (this.registerDomain) {
|
|
137
|
-
let d = this.registerDomain;
|
|
138
|
-
if (i18n && i18n.language !== this.i18n.language) {
|
|
139
|
-
d += '/' + i18n.language;
|
|
140
|
-
}
|
|
141
|
-
return d;
|
|
142
|
-
}
|
|
143
|
-
return this.getDefaultRegistrationHost(i18n);
|
|
144
|
-
}
|
|
145
|
-
getDefaultRegistrationHost(i18n) {
|
|
146
|
-
if (!STAMHOOFD.domains.registration) {
|
|
147
|
-
return STAMHOOFD.domains.dashboard + '/' + (i18n?.locale ?? this.i18n.locale) + '/' + appToUri('registration') + '/' + this.uri;
|
|
148
|
-
}
|
|
149
|
-
let defaultDomain = STAMHOOFD.domains.registration[this.address.country] ?? STAMHOOFD.domains.registration[''];
|
|
150
|
-
if (i18n && i18n.language !== this.i18n.language) {
|
|
151
|
-
defaultDomain += '/' + i18n.language;
|
|
152
|
-
}
|
|
153
|
-
return this.uri + '.' + defaultDomain;
|
|
154
|
-
}
|
|
155
133
|
getDashboardHost(i18n) {
|
|
156
|
-
return
|
|
134
|
+
return getAppHost('dashboard', this, true, i18n);
|
|
157
135
|
}
|
|
158
136
|
get registerUrl() {
|
|
159
|
-
return 'https://' + this
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* @deprecated
|
|
163
|
-
* use getRegistrationHost
|
|
164
|
-
*/
|
|
165
|
-
getHost(i18n) {
|
|
166
|
-
return this.getRegistrationHost(i18n);
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* @deprecated
|
|
170
|
-
* Use getDefaultRegistrationHost
|
|
171
|
-
*/
|
|
172
|
-
getDefaultHost(i18n) {
|
|
173
|
-
return this.getDefaultRegistrationHost(i18n);
|
|
137
|
+
return 'https://' + getAppHost('registration', this, false);
|
|
174
138
|
}
|
|
175
139
|
get marketingDomain() {
|
|
176
140
|
return STAMHOOFD.domains.marketing[this.address.country] ?? STAMHOOFD.domains.marketing[''];
|
|
@@ -368,6 +332,10 @@ export class Organization extends QueryableModel {
|
|
|
368
332
|
token: 'mailDomain',
|
|
369
333
|
value: this.privateMeta.mailDomain ?? this.privateMeta.pendingMailDomain ?? '',
|
|
370
334
|
}),
|
|
335
|
+
Replacement.create({
|
|
336
|
+
token: 'organizationName',
|
|
337
|
+
value: this.name,
|
|
338
|
+
}),
|
|
371
339
|
],
|
|
372
340
|
unsubscribeType: 'marketing',
|
|
373
341
|
fromStamhoofd: true,
|
|
@@ -662,6 +630,15 @@ export class Organization extends QueryableModel {
|
|
|
662
630
|
// Only full access
|
|
663
631
|
return admins.filter(a => a.permissions && a.permissions.forOrganization(this)?.hasFullAccess());
|
|
664
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
|
+
}
|
|
665
642
|
/**
|
|
666
643
|
* These email addresess are private
|
|
667
644
|
*/
|
|
@@ -678,31 +655,77 @@ export class Organization extends QueryableModel {
|
|
|
678
655
|
}
|
|
679
656
|
return filtered.flatMap(f => f.getEmailTo());
|
|
680
657
|
}
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
*/
|
|
684
|
-
async getAdminRecipients() {
|
|
685
|
-
let filtered = await this.getFullAdmins();
|
|
686
|
-
if (STAMHOOFD.environment === 'production') {
|
|
687
|
-
if (filtered.length > 1) {
|
|
688
|
-
// remove stamhoofd email addresses
|
|
689
|
-
filtered = filtered.filter(e => !e.email.endsWith('@stamhoofd.be') && !e.email.endsWith('@stamhoofd.nl'));
|
|
690
|
-
}
|
|
691
|
-
}
|
|
692
|
-
return filtered.flatMap((f) => {
|
|
658
|
+
adminsToRecipients(admins) {
|
|
659
|
+
return admins.flatMap((f) => {
|
|
693
660
|
return Recipient.create({
|
|
694
661
|
firstName: f.firstName,
|
|
695
662
|
lastName: f.lastName,
|
|
696
663
|
email: f.email,
|
|
697
|
-
replacements: [
|
|
698
|
-
Replacement.create({
|
|
699
|
-
token: 'organizationName',
|
|
700
|
-
value: this.name,
|
|
701
|
-
}),
|
|
702
|
-
],
|
|
664
|
+
replacements: [],
|
|
703
665
|
});
|
|
704
666
|
});
|
|
705
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
|
+
}
|
|
706
729
|
/**
|
|
707
730
|
* Return default e-mail address if no email addresses are set.
|
|
708
731
|
*/
|
|
@@ -717,7 +740,7 @@ export class Organization extends QueryableModel {
|
|
|
717
740
|
if (mandate) {
|
|
718
741
|
return {
|
|
719
742
|
provider: mandate.provider,
|
|
720
|
-
stripeAccount: null
|
|
743
|
+
stripeAccount: null,
|
|
721
744
|
};
|
|
722
745
|
}
|
|
723
746
|
let stripeAccount = (config.stripeAccountId ? (await StripeAccount.getByID(config.stripeAccountId)) : null) ?? null;
|
|
@@ -791,7 +814,7 @@ export class Organization extends QueryableModel {
|
|
|
791
814
|
* Assures at least one company at all times
|
|
792
815
|
*/
|
|
793
816
|
get defaultCompanies() {
|
|
794
|
-
|
|
817
|
+
const b = this.meta.companies.length
|
|
795
818
|
? this.meta.companies
|
|
796
819
|
: [
|
|
797
820
|
Company.create({
|
|
@@ -799,6 +822,11 @@ export class Organization extends QueryableModel {
|
|
|
799
822
|
address: this.address,
|
|
800
823
|
}),
|
|
801
824
|
];
|
|
825
|
+
// Missing address -> use organization address
|
|
826
|
+
if (!b[0].address) {
|
|
827
|
+
b[0].address = this.address;
|
|
828
|
+
}
|
|
829
|
+
return b;
|
|
802
830
|
}
|
|
803
831
|
}
|
|
804
832
|
__decorate([
|
|
@@ -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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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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"}
|
package/dist/models/Payment.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
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';
|
|
4
3
|
import { CreateMandateSettings } from '@stamhoofd/structures/checkout/CreateMandateSettings.js';
|
|
5
4
|
import type { BalanceItem } from './BalanceItem.js';
|
|
@@ -54,6 +53,10 @@ export declare class Payment extends QueryableModel {
|
|
|
54
53
|
* Total price
|
|
55
54
|
*/
|
|
56
55
|
price: number;
|
|
56
|
+
/**
|
|
57
|
+
* Total price refunded or charged back
|
|
58
|
+
*/
|
|
59
|
+
refundedAmount: number;
|
|
57
60
|
/**
|
|
58
61
|
* The difference between the sum of the balance item payments price and the price of the payment, caused by rounding to 1 cent.
|
|
59
62
|
* This cannot be >= 100 (= 0,01 euro) or <= -100 (=-0,01 euro)
|
|
@@ -87,6 +90,16 @@ export declare class Payment extends QueryableModel {
|
|
|
87
90
|
* Part of the serviceFeeManual, that has been invoiced (added to outstanding balance)
|
|
88
91
|
*/
|
|
89
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;
|
|
90
103
|
/**
|
|
91
104
|
* Included in the total price
|
|
92
105
|
*/
|
|
@@ -94,6 +107,10 @@ export declare class Payment extends QueryableModel {
|
|
|
94
107
|
transferDescription: string | null;
|
|
95
108
|
transferSettings: TransferSettings | null;
|
|
96
109
|
invoiceId: string | null;
|
|
110
|
+
/**
|
|
111
|
+
* In case the payment was initiated by an admin or not.
|
|
112
|
+
*/
|
|
113
|
+
adminUserId: string | null;
|
|
97
114
|
createdAt: Date;
|
|
98
115
|
_forceUpdatedAt: Date | null;
|
|
99
116
|
updatedAt: Date;
|
|
@@ -101,9 +118,11 @@ export declare class Payment extends QueryableModel {
|
|
|
101
118
|
settlement: Settlement | null;
|
|
102
119
|
iban: string | null;
|
|
103
120
|
ibanName: string | null;
|
|
121
|
+
get canChangeStatus(): boolean;
|
|
104
122
|
generateDescription(organization: Organization, reference: string, replacements?: {
|
|
105
123
|
[key: string]: string;
|
|
106
124
|
}): void;
|
|
125
|
+
updateRefundedAmount(): Promise<void>;
|
|
107
126
|
static roundPrice(price: number): number;
|
|
108
127
|
static getGeneralStructure(payments: Payment[], includeSettlements?: boolean): Promise<PaymentGeneral[]>;
|
|
109
128
|
static getGeneralStructureFromRelations({ payments, balanceItemPayments, balanceItems, payingOrganizations }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Payment.d.ts","sourceRoot":"","sources":["../../src/models/Payment.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"Payment.d.ts","sourceRoot":"","sources":["../../src/models/Payment.ts"],"names":[],"mappings":"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"}
|