@stamhoofd/models 2.63.0 → 2.65.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/src/helpers/EmailBuilder.d.ts +6 -1
- package/dist/src/helpers/EmailBuilder.d.ts.map +1 -1
- package/dist/src/helpers/EmailBuilder.js +60 -20
- package/dist/src/helpers/EmailBuilder.js.map +1 -1
- package/dist/src/helpers/MemberMerger.d.ts.map +1 -1
- package/dist/src/helpers/MemberMerger.js +1 -2
- package/dist/src/helpers/MemberMerger.js.map +1 -1
- package/dist/src/migrations/1605262045-import-postcodes.d.ts +3 -3
- package/dist/src/migrations/1605262045-import-postcodes.js +10 -13
- package/dist/src/migrations/1734429094-registration-trial-until.sql +3 -0
- package/dist/src/migrations/1734429095-membership-trial-until.sql +2 -0
- package/dist/src/migrations/1734535120-registration-period-previous-period-id.sql +3 -0
- package/dist/src/migrations/1734535121-platform-previous-period-id.sql +3 -0
- package/dist/src/migrations/1734626607-cached-balance-amount-open.sql +2 -0
- package/dist/src/migrations/1734698906-cached-balance-amount-paid.sql +2 -0
- package/dist/src/migrations/1735573520-emails-email-type.sql +2 -0
- package/dist/src/migrations/1735573521-email-recipients-email-type.sql +4 -0
- package/dist/src/migrations/1735573522-emails-indexes.sql +3 -0
- package/dist/src/migrations/1735982691-cached-balance-email-reminder-counts.sql +4 -0
- package/dist/src/migrations/1735994471-default-email-templates.sql +5 -0
- package/dist/src/models/AuditLog.d.ts +2 -7
- package/dist/src/models/AuditLog.d.ts.map +1 -1
- package/dist/src/models/AuditLog.js +1 -15
- package/dist/src/models/AuditLog.js.map +1 -1
- package/dist/src/models/BalanceItem.d.ts +4 -13
- package/dist/src/models/BalanceItem.d.ts.map +1 -1
- package/dist/src/models/BalanceItem.js +21 -33
- package/dist/src/models/BalanceItem.js.map +1 -1
- package/dist/src/models/BalanceItemPayment.d.ts +3 -2
- package/dist/src/models/BalanceItemPayment.d.ts.map +1 -1
- package/dist/src/models/BalanceItemPayment.js +2 -1
- package/dist/src/models/BalanceItemPayment.js.map +1 -1
- package/dist/src/models/BuckarooPayment.d.ts +2 -2
- package/dist/src/models/BuckarooPayment.d.ts.map +1 -1
- package/dist/src/models/BuckarooPayment.js +2 -1
- package/dist/src/models/BuckarooPayment.js.map +1 -1
- package/dist/src/models/CachedBalance.d.ts +12 -10
- package/dist/src/models/CachedBalance.d.ts.map +1 -1
- package/dist/src/models/CachedBalance.js +122 -39
- package/dist/src/models/CachedBalance.js.map +1 -1
- package/dist/src/models/Document.d.ts +3 -3
- package/dist/src/models/Document.d.ts.map +1 -1
- package/dist/src/models/Document.js +2 -1
- package/dist/src/models/Document.js.map +1 -1
- package/dist/src/models/DocumentTemplate.d.ts +2 -2
- package/dist/src/models/DocumentTemplate.d.ts.map +1 -1
- package/dist/src/models/DocumentTemplate.js +38 -10
- package/dist/src/models/DocumentTemplate.js.map +1 -1
- package/dist/src/models/Email.d.ts +10 -4
- package/dist/src/models/Email.d.ts.map +1 -1
- package/dist/src/models/Email.js +68 -25
- package/dist/src/models/Email.js.map +1 -1
- package/dist/src/models/EmailRecipient.d.ts +14 -8
- package/dist/src/models/EmailRecipient.d.ts.map +1 -1
- package/dist/src/models/EmailRecipient.js +19 -14
- package/dist/src/models/EmailRecipient.js.map +1 -1
- package/dist/src/models/EmailTemplate.d.ts +2 -7
- package/dist/src/models/EmailTemplate.d.ts.map +1 -1
- package/dist/src/models/EmailTemplate.js +1 -15
- package/dist/src/models/EmailTemplate.js.map +1 -1
- package/dist/src/models/EmailVerificationCode.d.ts +2 -2
- package/dist/src/models/EmailVerificationCode.d.ts.map +1 -1
- package/dist/src/models/EmailVerificationCode.js +2 -1
- package/dist/src/models/EmailVerificationCode.js.map +1 -1
- package/dist/src/models/Event.d.ts +2 -2
- package/dist/src/models/Event.d.ts.map +1 -1
- package/dist/src/models/Event.js +2 -1
- package/dist/src/models/Event.js.map +1 -1
- package/dist/src/models/Group.d.ts +2 -7
- package/dist/src/models/Group.d.ts.map +1 -1
- package/dist/src/models/Group.js +1 -17
- package/dist/src/models/Group.js.map +1 -1
- package/dist/src/models/Image.d.ts +2 -2
- package/dist/src/models/Image.d.ts.map +1 -1
- package/dist/src/models/Image.js +2 -1
- package/dist/src/models/Image.js.map +1 -1
- package/dist/src/models/Member.d.ts +6 -9
- package/dist/src/models/Member.d.ts.map +1 -1
- package/dist/src/models/Member.js +3 -42
- package/dist/src/models/Member.js.map +1 -1
- package/dist/src/models/MemberPlatformMembership.d.ts +12 -8
- package/dist/src/models/MemberPlatformMembership.d.ts.map +1 -1
- package/dist/src/models/MemberPlatformMembership.js +80 -20
- package/dist/src/models/MemberPlatformMembership.js.map +1 -1
- package/dist/src/models/MemberResponsibilityRecord.d.ts +2 -7
- package/dist/src/models/MemberResponsibilityRecord.d.ts.map +1 -1
- package/dist/src/models/MemberResponsibilityRecord.js +1 -15
- package/dist/src/models/MemberResponsibilityRecord.js.map +1 -1
- package/dist/src/models/MemberUser.d.ts +8 -0
- package/dist/src/models/MemberUser.d.ts.map +1 -0
- package/dist/src/models/MemberUser.js +26 -0
- package/dist/src/models/MemberUser.js.map +1 -0
- package/dist/src/models/MergedMember.d.ts +3 -3
- package/dist/src/models/MergedMember.d.ts.map +1 -1
- package/dist/src/models/MergedMember.js +3 -2
- package/dist/src/models/MergedMember.js.map +1 -1
- package/dist/src/models/MolliePayment.d.ts +2 -2
- package/dist/src/models/MolliePayment.d.ts.map +1 -1
- package/dist/src/models/MolliePayment.js +2 -1
- package/dist/src/models/MolliePayment.js.map +1 -1
- package/dist/src/models/MollieToken.d.ts +2 -2
- package/dist/src/models/MollieToken.d.ts.map +1 -1
- package/dist/src/models/MollieToken.js +2 -1
- package/dist/src/models/MollieToken.js.map +1 -1
- package/dist/src/models/OneTimeToken.d.ts +2 -2
- package/dist/src/models/OneTimeToken.d.ts.map +1 -1
- package/dist/src/models/OneTimeToken.js +2 -1
- package/dist/src/models/OneTimeToken.js.map +1 -1
- package/dist/src/models/Order.d.ts +3 -2
- package/dist/src/models/Order.d.ts.map +1 -1
- package/dist/src/models/Order.js +2 -1
- package/dist/src/models/Order.js.map +1 -1
- package/dist/src/models/Organization.d.ts +2 -2
- package/dist/src/models/Organization.d.ts.map +1 -1
- package/dist/src/models/Organization.js +2 -1
- package/dist/src/models/Organization.js.map +1 -1
- package/dist/src/models/OrganizationRegistrationPeriod.d.ts +2 -2
- package/dist/src/models/OrganizationRegistrationPeriod.d.ts.map +1 -1
- package/dist/src/models/OrganizationRegistrationPeriod.js +2 -1
- package/dist/src/models/OrganizationRegistrationPeriod.js.map +1 -1
- package/dist/src/models/PasswordToken.d.ts +3 -2
- package/dist/src/models/PasswordToken.d.ts.map +1 -1
- package/dist/src/models/PasswordToken.js +2 -1
- package/dist/src/models/PasswordToken.js.map +1 -1
- package/dist/src/models/PayconiqPayment.d.ts +2 -2
- package/dist/src/models/PayconiqPayment.d.ts.map +1 -1
- package/dist/src/models/PayconiqPayment.js +2 -1
- package/dist/src/models/PayconiqPayment.js.map +1 -1
- package/dist/src/models/Payment.d.ts +2 -7
- package/dist/src/models/Payment.d.ts.map +1 -1
- package/dist/src/models/Payment.js +1 -15
- package/dist/src/models/Payment.js.map +1 -1
- package/dist/src/models/Platform.d.ts +5 -3
- package/dist/src/models/Platform.d.ts.map +1 -1
- package/dist/src/models/Platform.js +11 -2
- package/dist/src/models/Platform.js.map +1 -1
- package/dist/src/models/RegisterCode.d.ts +2 -2
- package/dist/src/models/RegisterCode.d.ts.map +1 -1
- package/dist/src/models/RegisterCode.js +2 -1
- package/dist/src/models/RegisterCode.js.map +1 -1
- package/dist/src/models/Registration.d.ts +20 -7
- package/dist/src/models/Registration.d.ts.map +1 -1
- package/dist/src/models/Registration.js +25 -61
- package/dist/src/models/Registration.js.map +1 -1
- package/dist/src/models/RegistrationPeriod.d.ts +4 -2
- package/dist/src/models/RegistrationPeriod.d.ts.map +1 -1
- package/dist/src/models/RegistrationPeriod.js +23 -1
- package/dist/src/models/RegistrationPeriod.js.map +1 -1
- package/dist/src/models/STCredit.d.ts +2 -2
- package/dist/src/models/STCredit.d.ts.map +1 -1
- package/dist/src/models/STCredit.js +2 -1
- package/dist/src/models/STCredit.js.map +1 -1
- package/dist/src/models/STInvoice.d.ts +3 -2
- package/dist/src/models/STInvoice.d.ts.map +1 -1
- package/dist/src/models/STInvoice.js +2 -1
- package/dist/src/models/STInvoice.js.map +1 -1
- package/dist/src/models/STPackage.d.ts +2 -2
- package/dist/src/models/STPackage.d.ts.map +1 -1
- package/dist/src/models/STPackage.js +2 -1
- package/dist/src/models/STPackage.js.map +1 -1
- package/dist/src/models/STPendingInvoice.d.ts +3 -2
- package/dist/src/models/STPendingInvoice.d.ts.map +1 -1
- package/dist/src/models/STPendingInvoice.js +2 -1
- package/dist/src/models/STPendingInvoice.js.map +1 -1
- package/dist/src/models/StripeAccount.d.ts +2 -2
- package/dist/src/models/StripeAccount.d.ts.map +1 -1
- package/dist/src/models/StripeAccount.js +2 -1
- package/dist/src/models/StripeAccount.js.map +1 -1
- package/dist/src/models/StripeCheckoutSession.d.ts +2 -2
- package/dist/src/models/StripeCheckoutSession.d.ts.map +1 -1
- package/dist/src/models/StripeCheckoutSession.js +2 -1
- package/dist/src/models/StripeCheckoutSession.js.map +1 -1
- package/dist/src/models/StripePaymentIntent.d.ts +2 -2
- package/dist/src/models/StripePaymentIntent.d.ts.map +1 -1
- package/dist/src/models/StripePaymentIntent.js +2 -1
- package/dist/src/models/StripePaymentIntent.js.map +1 -1
- package/dist/src/models/Ticket.d.ts +3 -2
- package/dist/src/models/Ticket.d.ts.map +1 -1
- package/dist/src/models/Ticket.js +2 -1
- package/dist/src/models/Ticket.js.map +1 -1
- package/dist/src/models/Token.d.ts +3 -2
- package/dist/src/models/Token.d.ts.map +1 -1
- package/dist/src/models/Token.js +2 -1
- package/dist/src/models/Token.js.map +1 -1
- package/dist/src/models/UsedRegisterCode.d.ts +2 -2
- package/dist/src/models/UsedRegisterCode.d.ts.map +1 -1
- package/dist/src/models/UsedRegisterCode.js +2 -1
- package/dist/src/models/UsedRegisterCode.js.map +1 -1
- package/dist/src/models/User.d.ts +7 -2
- package/dist/src/models/User.d.ts.map +1 -1
- package/dist/src/models/User.js +27 -4
- package/dist/src/models/User.js.map +1 -1
- package/dist/src/models/UserPermissions.d.ts +3 -2
- package/dist/src/models/UserPermissions.d.ts.map +1 -1
- package/dist/src/models/UserPermissions.js +2 -1
- package/dist/src/models/UserPermissions.js.map +1 -1
- package/dist/src/models/Webshop.d.ts +3 -2
- package/dist/src/models/Webshop.d.ts.map +1 -1
- package/dist/src/models/Webshop.js +2 -1
- package/dist/src/models/Webshop.js.map +1 -1
- package/dist/src/models/WebshopDiscountCode.d.ts +2 -2
- package/dist/src/models/WebshopDiscountCode.d.ts.map +1 -1
- package/dist/src/models/WebshopDiscountCode.js +2 -1
- package/dist/src/models/WebshopDiscountCode.js.map +1 -1
- package/dist/src/models/addresses/City.d.ts +3 -2
- package/dist/src/models/addresses/City.d.ts.map +1 -1
- package/dist/src/models/addresses/City.js +2 -1
- package/dist/src/models/addresses/City.js.map +1 -1
- package/dist/src/models/addresses/PostalCode.d.ts +3 -2
- package/dist/src/models/addresses/PostalCode.d.ts.map +1 -1
- package/dist/src/models/addresses/PostalCode.js +2 -1
- package/dist/src/models/addresses/PostalCode.js.map +1 -1
- package/dist/src/models/addresses/Province.d.ts +2 -2
- package/dist/src/models/addresses/Province.d.ts.map +1 -1
- package/dist/src/models/addresses/Province.js +2 -1
- package/dist/src/models/addresses/Province.js.map +1 -1
- package/dist/src/models/addresses/Street.d.ts +3 -2
- package/dist/src/models/addresses/Street.d.ts.map +1 -1
- package/dist/src/models/addresses/Street.js +2 -1
- package/dist/src/models/addresses/Street.js.map +1 -1
- package/dist/src/models/index.d.ts +1 -0
- package/dist/src/models/index.d.ts.map +1 -1
- package/dist/src/models/index.js +1 -0
- package/dist/src/models/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/helpers/EmailBuilder.ts +82 -27
- package/src/helpers/MemberMerger.ts +2 -3
- package/src/migrations/1605262045-import-postcodes.ts +6 -9
- package/src/migrations/1734429094-registration-trial-until.sql +3 -0
- package/src/migrations/1734429095-membership-trial-until.sql +2 -0
- package/src/migrations/1734535120-registration-period-previous-period-id.sql +3 -0
- package/src/migrations/1734535121-platform-previous-period-id.sql +3 -0
- package/src/migrations/1734626607-cached-balance-amount-open.sql +2 -0
- package/src/migrations/1734698906-cached-balance-amount-paid.sql +2 -0
- package/src/migrations/1735573520-emails-email-type.sql +2 -0
- package/src/migrations/1735573521-email-recipients-email-type.sql +4 -0
- package/src/migrations/1735573522-emails-indexes.sql +3 -0
- package/src/migrations/1735982691-cached-balance-email-reminder-counts.sql +4 -0
- package/src/migrations/1735994471-default-email-templates.sql +5 -0
- package/src/models/AuditLog.ts +3 -21
- package/src/models/BalanceItem.ts +30 -46
- package/src/models/BalanceItemPayment.ts +3 -2
- package/src/models/BuckarooPayment.ts +3 -2
- package/src/models/CachedBalance.ts +166 -46
- package/src/models/Document.ts +4 -3
- package/src/models/DocumentTemplate.ts +43 -12
- package/src/models/Email.ts +80 -32
- package/src/models/EmailRecipient.ts +20 -20
- package/src/models/EmailTemplate.ts +3 -21
- package/src/models/EmailVerificationCode.ts +3 -2
- package/src/models/Event.ts +3 -2
- package/src/models/Group.ts +4 -23
- package/src/models/Image.ts +3 -2
- package/src/models/Member.ts +6 -52
- package/src/models/MemberPlatformMembership.ts +95 -26
- package/src/models/MemberResponsibilityRecord.ts +3 -21
- package/src/models/MemberUser.ts +18 -0
- package/src/models/MergedMember.ts +4 -3
- package/src/models/MolliePayment.ts +3 -2
- package/src/models/MollieToken.ts +3 -2
- package/src/models/OneTimeToken.ts +3 -2
- package/src/models/Order.ts +3 -2
- package/src/models/Organization.ts +3 -2
- package/src/models/OrganizationRegistrationPeriod.ts +3 -2
- package/src/models/PasswordToken.ts +3 -2
- package/src/models/PayconiqPayment.ts +3 -2
- package/src/models/Payment.ts +3 -21
- package/src/models/Platform.ts +13 -4
- package/src/models/RegisterCode.ts +3 -2
- package/src/models/Registration.ts +24 -68
- package/src/models/RegistrationPeriod.ts +30 -3
- package/src/models/STCredit.ts +3 -2
- package/src/models/STInvoice.ts +3 -2
- package/src/models/STPackage.ts +3 -2
- package/src/models/STPendingInvoice.ts +3 -2
- package/src/models/StripeAccount.ts +3 -2
- package/src/models/StripeCheckoutSession.ts +3 -2
- package/src/models/StripePaymentIntent.ts +3 -2
- package/src/models/Ticket.ts +3 -2
- package/src/models/Token.ts +3 -2
- package/src/models/UsedRegisterCode.ts +3 -2
- package/src/models/User.ts +31 -3
- package/src/models/UserPermissions.ts +3 -2
- package/src/models/Webshop.ts +3 -2
- package/src/models/WebshopDiscountCode.ts +3 -2
- package/src/models/addresses/City.ts +3 -2
- package/src/models/addresses/PostalCode.ts +3 -2
- package/src/models/addresses/Province.ts +3 -2
- package/src/models/addresses/Street.ts +3 -2
- package/src/models/index.ts +1 -0
|
@@ -7,10 +7,11 @@ const sql_1 = require("@stamhoofd/sql");
|
|
|
7
7
|
const structures_1 = require("@stamhoofd/structures");
|
|
8
8
|
const uuid_1 = require("uuid");
|
|
9
9
|
const BalanceItem_1 = require("./BalanceItem");
|
|
10
|
+
const MemberUser_1 = require("./MemberUser");
|
|
10
11
|
/**
|
|
11
12
|
* Keeps track of how much a member/user owes or needs to be reimbursed.
|
|
12
13
|
*/
|
|
13
|
-
class CachedBalance extends
|
|
14
|
+
class CachedBalance extends sql_1.QueryableModel {
|
|
14
15
|
static table = 'cached_outstanding_balances';
|
|
15
16
|
id;
|
|
16
17
|
organizationId;
|
|
@@ -22,7 +23,8 @@ class CachedBalance extends simple_database_1.Model {
|
|
|
22
23
|
* user: all balance items with that user id, but without a member id
|
|
23
24
|
*/
|
|
24
25
|
objectType;
|
|
25
|
-
|
|
26
|
+
amountPaid = 0;
|
|
27
|
+
amountOpen = 0;
|
|
26
28
|
/**
|
|
27
29
|
* The sum of unconfirmed payments
|
|
28
30
|
*/
|
|
@@ -31,9 +33,15 @@ class CachedBalance extends simple_database_1.Model {
|
|
|
31
33
|
* This is the minimum `dueAt` that lies in the future of all **unpaid** balance items connected to this object.
|
|
32
34
|
*/
|
|
33
35
|
nextDueAt = null;
|
|
36
|
+
lastReminderEmail = null;
|
|
37
|
+
lastReminderAmountOpen = 0;
|
|
38
|
+
reminderEmailCount = 0;
|
|
34
39
|
createdAt;
|
|
35
40
|
updatedAt;
|
|
36
41
|
static async getForObjects(objectIds, limitOrganizationId) {
|
|
42
|
+
if (objectIds.length === 0) {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
37
45
|
const query = this.select()
|
|
38
46
|
.where('objectId', objectIds);
|
|
39
47
|
if (limitOrganizationId) {
|
|
@@ -42,6 +50,9 @@ class CachedBalance extends simple_database_1.Model {
|
|
|
42
50
|
return await query.fetch();
|
|
43
51
|
}
|
|
44
52
|
static async updateForObjects(organizationId, objectIds, objectType) {
|
|
53
|
+
if (objectIds.length === 0) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
45
56
|
switch (objectType) {
|
|
46
57
|
case structures_1.ReceivableBalanceType.organization:
|
|
47
58
|
await this.updateForOrganizations(organizationId, objectIds);
|
|
@@ -52,16 +63,24 @@ class CachedBalance extends simple_database_1.Model {
|
|
|
52
63
|
case structures_1.ReceivableBalanceType.user:
|
|
53
64
|
await this.updateForUsers(organizationId, objectIds);
|
|
54
65
|
break;
|
|
66
|
+
case structures_1.ReceivableBalanceType.registration:
|
|
67
|
+
await this.updateForRegistrations(organizationId, objectIds);
|
|
68
|
+
break;
|
|
55
69
|
}
|
|
56
70
|
}
|
|
57
|
-
static async balanceForObjects(organizationId, objectIds, objectType) {
|
|
71
|
+
static async balanceForObjects(organizationId, objectIds, objectType, includeUserMembers = false) {
|
|
72
|
+
if (objectIds.length === 0) {
|
|
73
|
+
return [];
|
|
74
|
+
}
|
|
58
75
|
switch (objectType) {
|
|
59
76
|
case structures_1.ReceivableBalanceType.organization:
|
|
60
77
|
return await this.balanceForOrganizations(organizationId, objectIds);
|
|
61
78
|
case structures_1.ReceivableBalanceType.member:
|
|
62
79
|
return await this.balanceForMembers(organizationId, objectIds);
|
|
63
80
|
case structures_1.ReceivableBalanceType.user:
|
|
64
|
-
return await this.balanceForUsers(organizationId, objectIds);
|
|
81
|
+
return await this.balanceForUsers(organizationId, objectIds, includeUserMembers);
|
|
82
|
+
case structures_1.ReceivableBalanceType.registration:
|
|
83
|
+
return await this.balanceForRegistrations(organizationId, objectIds);
|
|
65
84
|
}
|
|
66
85
|
}
|
|
67
86
|
static async fetchBalanceItems(organizationId, objectIds, columnName, customWhere) {
|
|
@@ -76,9 +95,12 @@ class CachedBalance extends simple_database_1.Model {
|
|
|
76
95
|
}
|
|
77
96
|
return await query.fetch();
|
|
78
97
|
}
|
|
98
|
+
static whereNeedsUpdate() {
|
|
99
|
+
return sql_1.SQL.where('nextDueAt', sql_1.SQLWhereSign.LessEqual, structures_1.BalanceItem.getDueOffset());
|
|
100
|
+
}
|
|
79
101
|
static async fetchForObjects(organizationId, objectIds, columnName, customWhere) {
|
|
80
102
|
const dueOffset = structures_1.BalanceItem.getDueOffset();
|
|
81
|
-
const query = sql_1.SQL.select(sql_1.SQL.column(columnName), new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('priceOpen')), new sql_1.SQLAlias('
|
|
103
|
+
const query = sql_1.SQL.select(sql_1.SQL.column(columnName), new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('pricePaid')), new sql_1.SQLAlias('data__amountPaid')), new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('priceOpen')), new sql_1.SQLAlias('data__amountOpen')), new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('pricePending')), new sql_1.SQLAlias('data__amountPending')))
|
|
82
104
|
.from(BalanceItem_1.BalanceItem.table)
|
|
83
105
|
.where('organizationId', organizationId)
|
|
84
106
|
.where(columnName, objectIds)
|
|
@@ -92,7 +114,7 @@ class CachedBalance extends simple_database_1.Model {
|
|
|
92
114
|
// Calculate future due
|
|
93
115
|
const dueQuery = sql_1.SQL.select(sql_1.SQL.column(columnName), new sql_1.SQLSelectAs(new sql_1.SQLMin(sql_1.SQL.column('dueAt')), new sql_1.SQLAlias('data__dueAt')),
|
|
94
116
|
// If the current amount_due is negative, we can ignore that negative part if there is a future due item
|
|
95
|
-
new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('priceOpen')), new sql_1.SQLAlias('
|
|
117
|
+
new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('pricePaid')), new sql_1.SQLAlias('data__amountPaid')), new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('priceOpen')), new sql_1.SQLAlias('data__amountOpen')), new sql_1.SQLSelectAs(new sql_1.SQLSum(sql_1.SQL.column('pricePending')), new sql_1.SQLAlias('data__amountPending')))
|
|
96
118
|
.from(BalanceItem_1.BalanceItem.table)
|
|
97
119
|
.where('organizationId', organizationId)
|
|
98
120
|
.where(columnName, objectIds)
|
|
@@ -110,18 +132,22 @@ class CachedBalance extends simple_database_1.Model {
|
|
|
110
132
|
throw new Error('Invalid ' + BalanceItem_1.BalanceItem.table + ' namespace');
|
|
111
133
|
}
|
|
112
134
|
const objectId = row[BalanceItem_1.BalanceItem.table][columnName];
|
|
113
|
-
const
|
|
135
|
+
const amountOpen = row['data']['amountOpen'];
|
|
114
136
|
const amountPending = row['data']['amountPending'];
|
|
137
|
+
const amountPaid = row['data']['amountPaid'];
|
|
115
138
|
if (typeof objectId !== 'string') {
|
|
116
139
|
throw new Error('Invalid objectId');
|
|
117
140
|
}
|
|
118
|
-
if (typeof
|
|
119
|
-
throw new Error('Invalid
|
|
141
|
+
if (typeof amountOpen !== 'number') {
|
|
142
|
+
throw new Error('Invalid amountOpen');
|
|
120
143
|
}
|
|
121
144
|
if (typeof amountPending !== 'number') {
|
|
122
145
|
throw new Error('Invalid amountPending');
|
|
123
146
|
}
|
|
124
|
-
|
|
147
|
+
if (typeof amountPaid !== 'number') {
|
|
148
|
+
throw new Error('Invalid amountPaid');
|
|
149
|
+
}
|
|
150
|
+
results.push([objectId, { amountPaid, amountOpen, amountPending, nextDueAt: null }]);
|
|
125
151
|
}
|
|
126
152
|
for (const row of dueResult) {
|
|
127
153
|
if (!row['data']) {
|
|
@@ -132,39 +158,44 @@ class CachedBalance extends simple_database_1.Model {
|
|
|
132
158
|
}
|
|
133
159
|
const objectId = row[BalanceItem_1.BalanceItem.table][columnName];
|
|
134
160
|
const dueAt = row['data']['dueAt'];
|
|
135
|
-
const
|
|
161
|
+
const amountOpen = row['data']['amountOpen'];
|
|
136
162
|
const amountPending = row['data']['amountPending'];
|
|
163
|
+
const amountPaid = row['data']['amountPaid'];
|
|
137
164
|
if (typeof objectId !== 'string') {
|
|
138
165
|
throw new Error('Invalid objectId');
|
|
139
166
|
}
|
|
140
167
|
if (!(dueAt instanceof Date)) {
|
|
141
168
|
throw new Error('Invalid dueAt');
|
|
142
169
|
}
|
|
143
|
-
if (typeof
|
|
144
|
-
throw new Error('Invalid
|
|
170
|
+
if (typeof amountOpen !== 'number') {
|
|
171
|
+
throw new Error('Invalid amountOpen');
|
|
145
172
|
}
|
|
146
173
|
if (typeof amountPending !== 'number') {
|
|
147
174
|
throw new Error('Invalid amountPending');
|
|
148
175
|
}
|
|
176
|
+
if (typeof amountPaid !== 'number') {
|
|
177
|
+
throw new Error('Invalid amountPaid');
|
|
178
|
+
}
|
|
149
179
|
const result = results.find(r => r[0] === objectId);
|
|
150
180
|
if (result) {
|
|
151
181
|
result[1].nextDueAt = dueAt;
|
|
152
|
-
if (result[1].
|
|
153
|
-
if (
|
|
182
|
+
if (result[1].amountOpen < 0) {
|
|
183
|
+
if (amountOpen > 0) {
|
|
154
184
|
// Let the future due amount fill in the gap until maximum 0
|
|
155
|
-
result[1].
|
|
185
|
+
result[1].amountOpen = Math.min(0, result[1].amountOpen + amountOpen);
|
|
156
186
|
}
|
|
157
187
|
}
|
|
158
188
|
result[1].amountPending += amountPending;
|
|
189
|
+
result[1].amountPaid += amountPaid;
|
|
159
190
|
}
|
|
160
191
|
else {
|
|
161
|
-
results.push([objectId, {
|
|
192
|
+
results.push([objectId, { amountPaid, amountOpen: 0, amountPending, nextDueAt: dueAt }]);
|
|
162
193
|
}
|
|
163
194
|
}
|
|
164
195
|
// Add missing object ids (with 0 amount, otherwise we don't reset the amounts back to zero when all the balance items are hidden)
|
|
165
196
|
for (const objectId of objectIds) {
|
|
166
197
|
if (!results.find(([id]) => id === objectId)) {
|
|
167
|
-
results.push([objectId, {
|
|
198
|
+
results.push([objectId, { amountPaid: 0, amountOpen: 0, amountPending: 0, nextDueAt: null }]);
|
|
168
199
|
}
|
|
169
200
|
}
|
|
170
201
|
return results;
|
|
@@ -173,23 +204,33 @@ class CachedBalance extends simple_database_1.Model {
|
|
|
173
204
|
if (result.length === 0) {
|
|
174
205
|
return;
|
|
175
206
|
}
|
|
176
|
-
const query =
|
|
177
|
-
.columns('id', 'organizationId', 'objectId', 'objectType', '
|
|
178
|
-
.values(...result.map(([objectId, {
|
|
207
|
+
const query = this.insert()
|
|
208
|
+
.columns('id', 'organizationId', 'objectId', 'objectType', 'amountPaid', 'amountOpen', 'amountPending', 'nextDueAt', 'createdAt', 'updatedAt', 'reminderEmailCount')
|
|
209
|
+
.values(...result.map(([objectId, { amountPaid, amountOpen, amountPending, nextDueAt }]) => {
|
|
179
210
|
return [
|
|
180
211
|
(0, uuid_1.v4)(),
|
|
181
212
|
organizationId,
|
|
182
213
|
objectId,
|
|
183
214
|
objectType,
|
|
184
|
-
|
|
215
|
+
amountPaid,
|
|
216
|
+
amountOpen,
|
|
185
217
|
amountPending,
|
|
186
218
|
nextDueAt,
|
|
187
219
|
new Date(),
|
|
188
220
|
new Date(),
|
|
221
|
+
0,
|
|
189
222
|
];
|
|
190
223
|
}))
|
|
191
224
|
.as('v')
|
|
192
|
-
.onDuplicateKeyUpdate(sql_1.SQL.assignment('
|
|
225
|
+
.onDuplicateKeyUpdate(sql_1.SQL.assignment('amountPaid', sql_1.SQL.column('v', 'amountPaid')), sql_1.SQL.assignment('amountOpen', sql_1.SQL.column('v', 'amountOpen')), sql_1.SQL.assignment('amountPending', sql_1.SQL.column('v', 'amountPending')), sql_1.SQL.assignment('nextDueAt', sql_1.SQL.column('v', 'nextDueAt')), sql_1.SQL.assignment('updatedAt', sql_1.SQL.column('v', 'updatedAt')),
|
|
226
|
+
// Reset email count if amountOpen is zero
|
|
227
|
+
sql_1.SQL.assignment('reminderEmailCount', sql_1.SQL.if(sql_1.SQL.column('v', 'amountOpen'), 0)
|
|
228
|
+
.then(0)
|
|
229
|
+
.else(sql_1.SQL.column('reminderEmailCount'))),
|
|
230
|
+
// Reset lastReminderEmail if amountOpen is zero
|
|
231
|
+
sql_1.SQL.assignment('lastReminderEmail', sql_1.SQL.if(sql_1.SQL.column('v', 'amountOpen'), 0)
|
|
232
|
+
.then(null)
|
|
233
|
+
.else(sql_1.SQL.column('lastReminderEmail'))));
|
|
193
234
|
await query.insert();
|
|
194
235
|
}
|
|
195
236
|
static async updateForOrganizations(organizationId, organizationIds) {
|
|
@@ -206,11 +247,42 @@ class CachedBalance extends simple_database_1.Model {
|
|
|
206
247
|
const results = await this.fetchForObjects(organizationId, memberIds, 'memberId');
|
|
207
248
|
await this.setForResults(organizationId, results, structures_1.ReceivableBalanceType.member);
|
|
208
249
|
}
|
|
250
|
+
static async updateForRegistrations(organizationId, registrationIds) {
|
|
251
|
+
if (registrationIds.length === 0) {
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
const results = await this.fetchForObjects(organizationId, registrationIds, 'registrationId');
|
|
255
|
+
await this.setForResults(organizationId, results, structures_1.ReceivableBalanceType.registration);
|
|
256
|
+
}
|
|
209
257
|
static async updateForUsers(organizationId, userIds) {
|
|
210
258
|
if (userIds.length === 0) {
|
|
211
259
|
return;
|
|
212
260
|
}
|
|
213
261
|
const results = await this.fetchForObjects(organizationId, userIds, 'userId', sql_1.SQL.where('memberId', null));
|
|
262
|
+
// We also need to include the balance of the related members for each user
|
|
263
|
+
// Fetch members of these users
|
|
264
|
+
const memberUsers = await MemberUser_1.MemberUser.select().where('usersId', userIds).fetch();
|
|
265
|
+
const memberCachedBalances = await this.getForObjects(memberUsers.map(mu => mu.membersId), organizationId);
|
|
266
|
+
for (const memberCachedBalance of memberCachedBalances) {
|
|
267
|
+
const userIds = memberUsers.filter(mu => mu.membersId === memberCachedBalance.objectId).map(mu => mu.usersId);
|
|
268
|
+
for (const userId of userIds) {
|
|
269
|
+
// if already in results: append
|
|
270
|
+
const result = results.find(([objectId]) => objectId === userId);
|
|
271
|
+
if (result) {
|
|
272
|
+
result[1].amountPaid += memberCachedBalance.amountPaid;
|
|
273
|
+
result[1].amountOpen += memberCachedBalance.amountOpen;
|
|
274
|
+
result[1].amountPending += memberCachedBalance.amountPending;
|
|
275
|
+
if (memberCachedBalance.nextDueAt && (!result[1].nextDueAt || memberCachedBalance.nextDueAt > result[1].nextDueAt)) {
|
|
276
|
+
result[1].nextDueAt = memberCachedBalance.nextDueAt;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
// Not possible
|
|
281
|
+
throw new Error('User not found in results');
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
// Fetch cached balance of these members and merge the results
|
|
214
286
|
await this.setForResults(organizationId, results, structures_1.ReceivableBalanceType.user);
|
|
215
287
|
}
|
|
216
288
|
static async balanceForOrganizations(organizationId, organizationIds) {
|
|
@@ -225,25 +297,24 @@ class CachedBalance extends simple_database_1.Model {
|
|
|
225
297
|
}
|
|
226
298
|
return await this.fetchBalanceItems(organizationId, memberIds, 'memberId');
|
|
227
299
|
}
|
|
228
|
-
static async balanceForUsers(organizationId, userIds) {
|
|
300
|
+
static async balanceForUsers(organizationId, userIds, includeUserMembers = false) {
|
|
229
301
|
if (userIds.length === 0) {
|
|
230
302
|
return [];
|
|
231
303
|
}
|
|
232
|
-
|
|
304
|
+
const base = await this.fetchBalanceItems(organizationId, userIds, 'userId', sql_1.SQL.where('memberId', null));
|
|
305
|
+
if (!includeUserMembers) {
|
|
306
|
+
return base;
|
|
307
|
+
}
|
|
308
|
+
const memberUsers = await MemberUser_1.MemberUser.select().where('usersId', userIds).fetch();
|
|
309
|
+
const memberIds = memberUsers.map(mu => mu.membersId);
|
|
310
|
+
const memberCachedBalances = await this.balanceForMembers(organizationId, memberIds);
|
|
311
|
+
return base.concat(memberCachedBalances);
|
|
233
312
|
}
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
const d = this.fromRow(row[this.table]);
|
|
240
|
-
if (!d) {
|
|
241
|
-
throw new Error('EmailTemplate not found');
|
|
242
|
-
}
|
|
243
|
-
return d;
|
|
244
|
-
};
|
|
245
|
-
const select = new sql_1.SQLSelect(transformer, sql_1.SQL.wildcard());
|
|
246
|
-
return select.from(sql_1.SQL.table(this.table));
|
|
313
|
+
static async balanceForRegistrations(organizationId, registrationIds) {
|
|
314
|
+
if (registrationIds.length === 0) {
|
|
315
|
+
return [];
|
|
316
|
+
}
|
|
317
|
+
return await this.fetchBalanceItems(organizationId, registrationIds, 'registrationId');
|
|
247
318
|
}
|
|
248
319
|
}
|
|
249
320
|
exports.CachedBalance = CachedBalance;
|
|
@@ -265,13 +336,25 @@ tslib_1.__decorate([
|
|
|
265
336
|
], CachedBalance.prototype, "objectType", void 0);
|
|
266
337
|
tslib_1.__decorate([
|
|
267
338
|
(0, simple_database_1.column)({ type: 'integer' })
|
|
268
|
-
], CachedBalance.prototype, "
|
|
339
|
+
], CachedBalance.prototype, "amountPaid", void 0);
|
|
340
|
+
tslib_1.__decorate([
|
|
341
|
+
(0, simple_database_1.column)({ type: 'integer' })
|
|
342
|
+
], CachedBalance.prototype, "amountOpen", void 0);
|
|
269
343
|
tslib_1.__decorate([
|
|
270
344
|
(0, simple_database_1.column)({ type: 'integer' })
|
|
271
345
|
], CachedBalance.prototype, "amountPending", void 0);
|
|
272
346
|
tslib_1.__decorate([
|
|
273
347
|
(0, simple_database_1.column)({ type: 'datetime', nullable: true })
|
|
274
348
|
], CachedBalance.prototype, "nextDueAt", void 0);
|
|
349
|
+
tslib_1.__decorate([
|
|
350
|
+
(0, simple_database_1.column)({ type: 'datetime', nullable: true })
|
|
351
|
+
], CachedBalance.prototype, "lastReminderEmail", void 0);
|
|
352
|
+
tslib_1.__decorate([
|
|
353
|
+
(0, simple_database_1.column)({ type: 'integer' })
|
|
354
|
+
], CachedBalance.prototype, "lastReminderAmountOpen", void 0);
|
|
355
|
+
tslib_1.__decorate([
|
|
356
|
+
(0, simple_database_1.column)({ type: 'integer' })
|
|
357
|
+
], CachedBalance.prototype, "reminderEmailCount", void 0);
|
|
275
358
|
tslib_1.__decorate([
|
|
276
359
|
(0, simple_database_1.column)({
|
|
277
360
|
type: 'datetime', beforeSave(old) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CachedBalance.js","sourceRoot":"","sources":["../../../src/models/CachedBalance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CachedBalance.js","sourceRoot":"","sources":["../../../src/models/CachedBalance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { DocumentData, DocumentStatus, Document as DocumentStruct } from '@stamhoofd/structures';
|
|
2
|
+
import { QueryableModel } from '@stamhoofd/sql';
|
|
3
3
|
import { RegistrationWithMember } from './Member';
|
|
4
4
|
import { Organization } from './Organization';
|
|
5
5
|
import { Registration } from './Registration';
|
|
6
|
-
export declare class Document extends
|
|
6
|
+
export declare class Document extends QueryableModel {
|
|
7
7
|
static table: string;
|
|
8
8
|
id: string;
|
|
9
9
|
organizationId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../../../src/models/Document.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../../../src/models/Document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,IAAI,cAAc,EAAqB,MAAM,uBAAuB,CAAC;AAIpH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBAAa,QAAS,SAAQ,cAAc;IACxC,MAAM,CAAC,KAAK,SAAe;IAK3B,EAAE,EAAG,MAAM,CAAC;IAGZ,cAAc,EAAE,MAAM,CAAC;IAGvB,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IAEH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B;;OAEG;IAEH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGrC,MAAM,iBAAwB;IAE9B;;OAEG;IAEH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE7B;;OAEG;IAEH,IAAI,eAA2B;IAG/B,SAAS,EAAE,IAAI,CAAc;IAU7B,SAAS,EAAE,IAAI,CAAC;IAEhB,YAAY;IAIZ,YAAY,CAAC,YAAY,EAAE,YAAY;IA6CjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;WA2BpB,eAAe,CAAC,QAAQ,EAAE,MAAM;WAiBhC,qBAAqB,CAAC,YAAY,EAAE,sBAAsB;WAgB1D,sBAAsB,CAAC,aAAa,EAAE,YAAY,EAAE;WAapD,sBAAsB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM;WAwBxE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAsB7D,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAW3D,0BAA0B;CAW3C"}
|
|
@@ -6,8 +6,9 @@ const simple_database_1 = require("@simonbackx/simple-database");
|
|
|
6
6
|
const structures_1 = require("@stamhoofd/structures");
|
|
7
7
|
const utility_1 = require("@stamhoofd/utility");
|
|
8
8
|
const uuid_1 = require("uuid");
|
|
9
|
+
const sql_1 = require("@stamhoofd/sql");
|
|
9
10
|
const Handlebars_1 = require("../helpers/Handlebars");
|
|
10
|
-
class Document extends
|
|
11
|
+
class Document extends sql_1.QueryableModel {
|
|
11
12
|
static table = 'documents';
|
|
12
13
|
id;
|
|
13
14
|
organizationId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Document.js","sourceRoot":"","sources":["../../../src/models/Document.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"Document.js","sourceRoot":"","sources":["../../../src/models/Document.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Model } from '@simonbackx/simple-database';
|
|
2
1
|
import { DocumentPrivateSettings, DocumentSettings, DocumentStatus, DocumentTemplatePrivate, RecordAnswer } from '@stamhoofd/structures';
|
|
2
|
+
import { QueryableModel } from '@stamhoofd/sql';
|
|
3
3
|
import { Document } from './Document';
|
|
4
4
|
import { RegistrationWithMember } from './Member';
|
|
5
5
|
import { Organization } from './Organization';
|
|
6
6
|
import { Registration } from './Registration';
|
|
7
|
-
export declare class DocumentTemplate extends
|
|
7
|
+
export declare class DocumentTemplate extends QueryableModel {
|
|
8
8
|
static table: string;
|
|
9
9
|
id: string;
|
|
10
10
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentTemplate.d.ts","sourceRoot":"","sources":["../../../src/models/DocumentTemplate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DocumentTemplate.d.ts","sourceRoot":"","sources":["../../../src/models/DocumentTemplate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmC,uBAAuB,EAAE,gBAAgB,EAAE,cAAc,EAAE,uBAAuB,EAAwE,YAAY,EAA0G,MAAM,uBAAuB,CAAC;AAIxV,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAU,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,qBAAa,gBAAiB,SAAQ,cAAc;IAChD,MAAM,CAAC,KAAK,SAAwB;IAKpC,EAAE,EAAG,MAAM,CAAC;IAEZ;;OAEG;IAEH,IAAI,EAAE,MAAM,CAAC;IAGb,cAAc,EAAE,MAAM,CAAC;IAGvB,MAAM,iBAAwB;IAG9B,cAAc,UAAQ;IAEtB;;OAEG;IAEH,QAAQ,EAAE,gBAAgB,CAAC;IAE3B;;OAEG;IAEH,eAAe,EAAE,uBAAuB,CAAC;IAGzC,SAAS,EAAE,IAAI,CAAc;IAU7B,SAAS,EAAE,IAAI,CAAC;IAEhB,mBAAmB;IAInB;;OAEG;IACG,YAAY,CAAC,YAAY,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IAkU9H,sBAAsB,CAAC,aAAa,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAapF,qBAAqB,CAAC,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAmDtH,yBAAyB,CAAC,YAAY,EAAE,YAAY;IAqBpD,oBAAoB,CAAC,YAAY,EAAE,sBAAsB,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IAoD5F,QAAQ,CAAC,EAAE,eAAuB,EAAE;;KAAK;YAgFjC,YAAY;IA8CpB,cAAc,CAAC,YAAY,EAAE,YAAY;IAmB/C,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IAmB/C,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IAiCrF,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,sBAAsB;CAInF"}
|
|
@@ -8,13 +8,14 @@ const queues_1 = require("@stamhoofd/queues");
|
|
|
8
8
|
const structures_1 = require("@stamhoofd/structures");
|
|
9
9
|
const utility_1 = require("@stamhoofd/utility");
|
|
10
10
|
const uuid_1 = require("uuid");
|
|
11
|
+
const sql_1 = require("@stamhoofd/sql");
|
|
11
12
|
const Handlebars_1 = require("../helpers/Handlebars");
|
|
12
13
|
const BalanceItem_1 = require("./BalanceItem");
|
|
13
14
|
const Document_1 = require("./Document");
|
|
14
15
|
const Group_1 = require("./Group");
|
|
15
16
|
const Member_1 = require("./Member");
|
|
16
17
|
const User_1 = require("./User");
|
|
17
|
-
class DocumentTemplate extends
|
|
18
|
+
class DocumentTemplate extends sql_1.QueryableModel {
|
|
18
19
|
static table = 'document_templates';
|
|
19
20
|
id;
|
|
20
21
|
/**
|
|
@@ -44,8 +45,10 @@ class DocumentTemplate extends simple_database_1.Model {
|
|
|
44
45
|
const fieldAnswers = new Map();
|
|
45
46
|
let missingData = false;
|
|
46
47
|
const group = await Group_1.Group.getByID(registration.groupId);
|
|
47
|
-
const { items: balanceItems, payments } = await BalanceItem_1.BalanceItem.getForRegistration(registration.id);
|
|
48
|
+
const { items: balanceItems, payments } = await BalanceItem_1.BalanceItem.getForRegistration(registration.id, this.organizationId);
|
|
48
49
|
const paidAtDates = payments.flatMap(p => p.paidAt ? [p.paidAt?.getTime()] : []);
|
|
50
|
+
const price = balanceItems.reduce((sum, item) => sum + item.price, 0);
|
|
51
|
+
const pricePaid = balanceItems.reduce((sum, item) => sum + item.pricePaid, 0);
|
|
49
52
|
// We take the minimum date here, because there is a highter change of later paymetns to be for other things than the registration itself
|
|
50
53
|
const paidAt = paidAtDates.length ? new Date(Math.min(...paidAtDates)) : null;
|
|
51
54
|
// Some fields are supported by default in linked fields
|
|
@@ -69,7 +72,7 @@ class DocumentTemplate extends simple_database_1.Model {
|
|
|
69
72
|
id: 'registration.startDate',
|
|
70
73
|
type: structures_1.RecordType.Date,
|
|
71
74
|
}), // settings will be overwritten
|
|
72
|
-
dateValue: group?.settings?.startDate,
|
|
75
|
+
dateValue: registration.startDate ?? group?.settings?.startDate,
|
|
73
76
|
}),
|
|
74
77
|
'registration.endDate': structures_1.RecordDateAnswer.create({
|
|
75
78
|
settings: structures_1.RecordSettings.create({
|
|
@@ -80,15 +83,33 @@ class DocumentTemplate extends simple_database_1.Model {
|
|
|
80
83
|
}),
|
|
81
84
|
'registration.price': structures_1.RecordPriceAnswer.create({
|
|
82
85
|
settings: structures_1.RecordSettings.create({
|
|
86
|
+
id: 'registration.price',
|
|
83
87
|
type: structures_1.RecordType.Price,
|
|
84
88
|
}), // settings will be overwritten
|
|
85
|
-
value:
|
|
89
|
+
value: price,
|
|
90
|
+
}),
|
|
91
|
+
// This one is duplicated in case it got disabled (we need to use it to check if document is included)
|
|
92
|
+
'registration.priceOriginal': structures_1.RecordPriceAnswer.create({
|
|
93
|
+
settings: structures_1.RecordSettings.create({
|
|
94
|
+
id: 'registration.priceOriginal',
|
|
95
|
+
type: structures_1.RecordType.Price,
|
|
96
|
+
}), // settings will be overwritten
|
|
97
|
+
value: price,
|
|
98
|
+
}),
|
|
99
|
+
// This one is duplicated in case it got disabled (we need to use it to check if document is included)
|
|
100
|
+
'registration.pricePaidOriginal': structures_1.RecordPriceAnswer.create({
|
|
101
|
+
settings: structures_1.RecordSettings.create({
|
|
102
|
+
id: 'registration.pricePaidOriginal',
|
|
103
|
+
type: structures_1.RecordType.Price,
|
|
104
|
+
}), // settings will be overwritten
|
|
105
|
+
value: pricePaid,
|
|
86
106
|
}),
|
|
87
107
|
'registration.pricePaid': structures_1.RecordPriceAnswer.create({
|
|
88
108
|
settings: structures_1.RecordSettings.create({
|
|
109
|
+
id: 'registration.pricePaid',
|
|
89
110
|
type: structures_1.RecordType.Price,
|
|
90
111
|
}), // settings will be overwritten
|
|
91
|
-
value:
|
|
112
|
+
value: pricePaid,
|
|
92
113
|
}),
|
|
93
114
|
'registration.paidAt': structures_1.RecordDateAnswer.create({
|
|
94
115
|
settings: structures_1.RecordSettings.create({
|
|
@@ -406,13 +427,20 @@ class DocumentTemplate extends simple_database_1.Model {
|
|
|
406
427
|
console.warn('Missing registration.startDate in fieldAnswers when checking maxAge');
|
|
407
428
|
}
|
|
408
429
|
}
|
|
409
|
-
if (this.settings.minPrice !== null) {
|
|
410
|
-
|
|
411
|
-
|
|
430
|
+
if (this.settings.minPrice !== null && this.settings.minPrice > 0) {
|
|
431
|
+
const priceAnswer = fieldAnswers.get('registration.priceOriginal');
|
|
432
|
+
if (priceAnswer && priceAnswer instanceof structures_1.RecordPriceAnswer) {
|
|
433
|
+
if ((priceAnswer.value ?? 0) < this.settings.minPrice) {
|
|
434
|
+
return false;
|
|
435
|
+
}
|
|
412
436
|
}
|
|
413
437
|
}
|
|
414
|
-
if (this.settings.minPricePaid !== null) {
|
|
415
|
-
|
|
438
|
+
if (this.settings.minPricePaid !== null && this.settings.minPricePaid > 0) {
|
|
439
|
+
const pricePaidAnswer = fieldAnswers.get('registration.pricePaidOriginal');
|
|
440
|
+
const priceAnswer = fieldAnswers.get('registration.priceOriginal');
|
|
441
|
+
const price = (priceAnswer instanceof structures_1.RecordPriceAnswer ? priceAnswer.value : 0) ?? 0;
|
|
442
|
+
const pricePaid = (pricePaidAnswer instanceof structures_1.RecordPriceAnswer ? pricePaidAnswer.value : 0) ?? 0;
|
|
443
|
+
if (pricePaid < this.settings.minPricePaid && price > 0) {
|
|
416
444
|
return false;
|
|
417
445
|
}
|
|
418
446
|
}
|