@stamhoofd/models 2.25.2 → 2.26.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/LICENSE +6 -2
- package/dist/src/models/Member.d.ts.map +1 -1
- package/dist/src/models/Member.js +42 -10
- package/dist/src/models/Member.js.map +1 -1
- package/dist/src/models/MemberPlatformMembership.d.ts +2 -1
- package/dist/src/models/MemberPlatformMembership.d.ts.map +1 -1
- package/dist/src/models/MemberPlatformMembership.js +29 -11
- package/dist/src/models/MemberPlatformMembership.js.map +1 -1
- package/dist/src/models/RegistrationPeriod.d.ts +2 -1
- package/dist/src/models/RegistrationPeriod.d.ts.map +1 -1
- package/dist/src/models/RegistrationPeriod.js +3 -0
- package/dist/src/models/RegistrationPeriod.js.map +1 -1
- package/package.json +2 -2
- package/src/models/Member.ts +52 -11
- package/src/models/MemberPlatformMembership.ts +33 -12
- package/src/models/RegistrationPeriod.ts +5 -1
package/LICENSE
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
This license applies to the entire repository except for subfolders that
|
|
2
|
+
have their own license file. In such cases, the license file in the
|
|
3
|
+
subfolder takes precedence.
|
|
4
|
+
|
|
5
|
+
GNU AFFERO GENERAL PUBLIC LICENSE
|
|
2
6
|
Version 3, 19 November 2007
|
|
3
7
|
|
|
4
8
|
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
|
@@ -658,4 +662,4 @@ specific requirements.
|
|
|
658
662
|
You should also get your employer (if you work as a programmer) or school,
|
|
659
663
|
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
|
660
664
|
For more information on this, and how to apply and follow the GNU AGPL, see
|
|
661
|
-
<https://www.gnu.org/licenses/>.
|
|
665
|
+
<https://www.gnu.org/licenses/>.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Member.d.ts","sourceRoot":"","sources":["../../../src/models/Member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,kBAAkB,EAAqB,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhI,OAAO,EAAE,aAAa,EAAE,2BAA2B,EAAE,sBAAsB,IAAI,4BAA4B,EAAc,MAAM,uBAAuB,CAAC;AAMvJ,OAAO,EAAE,KAAK,EAAE,wBAAwB,EAAmC,YAAY,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1G,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG;IAC3C,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,aAAa,EAAE,CAAC,YAAY,GAAG;QAAC,KAAK,EAAE,KAAK,CAAA;KAAC,CAAC,EAAE,CAAA;CACnD,CAAA;AAGD,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtE,qBAAa,MAAO,SAAQ,KAAK;IAC7B,MAAM,CAAC,KAAK,SAAY;IAQxB,EAAE,EAAG,MAAM,CAAC;IAGZ,cAAc,EAAE,MAAM,GAAC,IAAI,CAAQ;IAQnC,SAAS,EAAE,MAAM,CAAA;IAMjB,QAAQ,EAAE,MAAM,CAAA;IAShB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IASvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAG3B,OAAO,EAAE,aAAa,CAAA;IAEtB;;OAEG;IAEH,kBAAkB,SAAI;IAYtB,SAAS,EAAE,IAAI,CAAA;IAUf,SAAS,EAAE,IAAI,CAAA;IAGf,MAAM,CAAC,aAAa,2DAA2E;IAG/F,MAAM,CAAC,KAAK,uDAAiD;IAE7D;;OAEG;WACU,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAItF;;OAEG;WACU,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK;IAmCjE;;OAEG;WACU,+BAA+B,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAoC9F;;OAEG;WACU,kCAAkC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAiClG;;MAEE;WACU,oCAAoC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAwCtG;;MAEE;WACU,YAAY,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAgE/E;;OAEG;WACU,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAmBtF;;MAEE;WACU,iCAAiC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAoB9F,6BAA6B,CAAC,IAAI,EAAE,uBAAuB,EAAE,eAAe,GAAE,IAAI,GAAG,OAAc;IASnG,MAAM,CAAC,kCAAkC,CAAC,YAAY,EAAE,sBAAsB,GAAG;QAAC,KAAK,EAAE,OAAO,SAAS,EAAE,KAAK,CAAA;KAAC,GAAG,4BAA4B;IAYhJ,MAAM,CAAC,2BAA2B,CAAC,EAAE,EAAE,MAAM;WA6BhC,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,UAAQ;
|
|
1
|
+
{"version":3,"file":"Member.d.ts","sourceRoot":"","sources":["../../../src/models/Member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,kBAAkB,EAAqB,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhI,OAAO,EAAE,aAAa,EAAE,2BAA2B,EAAE,sBAAsB,IAAI,4BAA4B,EAAc,MAAM,uBAAuB,CAAC;AAMvJ,OAAO,EAAE,KAAK,EAAE,wBAAwB,EAAmC,YAAY,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1G,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG;IAC3C,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,aAAa,EAAE,CAAC,YAAY,GAAG;QAAC,KAAK,EAAE,KAAK,CAAA;KAAC,CAAC,EAAE,CAAA;CACnD,CAAA;AAGD,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtE,qBAAa,MAAO,SAAQ,KAAK;IAC7B,MAAM,CAAC,KAAK,SAAY;IAQxB,EAAE,EAAG,MAAM,CAAC;IAGZ,cAAc,EAAE,MAAM,GAAC,IAAI,CAAQ;IAQnC,SAAS,EAAE,MAAM,CAAA;IAMjB,QAAQ,EAAE,MAAM,CAAA;IAShB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IASvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAG3B,OAAO,EAAE,aAAa,CAAA;IAEtB;;OAEG;IAEH,kBAAkB,SAAI;IAYtB,SAAS,EAAE,IAAI,CAAA;IAUf,SAAS,EAAE,IAAI,CAAA;IAGf,MAAM,CAAC,aAAa,2DAA2E;IAG/F,MAAM,CAAC,KAAK,uDAAiD;IAE7D;;OAEG;WACU,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAItF;;OAEG;WACU,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK;IAmCjE;;OAEG;WACU,+BAA+B,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAoC9F;;OAEG;WACU,kCAAkC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAiClG;;MAEE;WACU,oCAAoC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAwCtG;;MAEE;WACU,YAAY,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAgE/E;;OAEG;WACU,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAmBtF;;MAEE;WACU,iCAAiC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAoB9F,6BAA6B,CAAC,IAAI,EAAE,uBAAuB,EAAE,eAAe,GAAE,IAAI,GAAG,OAAc;IASnG,MAAM,CAAC,kCAAkC,CAAC,YAAY,EAAE,sBAAsB,GAAG;QAAC,KAAK,EAAE,OAAO,SAAS,EAAE,KAAK,CAAA;KAAC,GAAG,4BAA4B;IAYhJ,MAAM,CAAC,2BAA2B,CAAC,EAAE,EAAE,MAAM;WA6BhC,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,UAAQ;YA8KhD,kBAAkB;IA4B1B,kBAAkB,CAAC,UAAU,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC;IAqFzE,iBAAiB;CAG1B"}
|
|
@@ -279,7 +279,9 @@ class Member extends simple_database_1.Model {
|
|
|
279
279
|
}
|
|
280
280
|
static async updateMembershipsForId(id, silent = false) {
|
|
281
281
|
return await queues_1.QueueHandler.schedule('updateMemberships-' + id, async function () {
|
|
282
|
-
|
|
282
|
+
if (!silent) {
|
|
283
|
+
console.log('update memberships for id ', id);
|
|
284
|
+
}
|
|
283
285
|
const me = await Member.getWithRegistrations(id);
|
|
284
286
|
if (!me) {
|
|
285
287
|
if (!silent) {
|
|
@@ -301,6 +303,10 @@ class Member extends simple_database_1.Model {
|
|
|
301
303
|
if (!defaultMembership) {
|
|
302
304
|
return [];
|
|
303
305
|
}
|
|
306
|
+
if (defaultMembership.periods.get(platform.periodId) === undefined) {
|
|
307
|
+
console.warn('Found default membership without period configuration', defaultMembership.id, platform.periodId);
|
|
308
|
+
return [];
|
|
309
|
+
}
|
|
304
310
|
return [{
|
|
305
311
|
registration: r,
|
|
306
312
|
membership: defaultMembership,
|
|
@@ -329,14 +335,31 @@ class Member extends simple_database_1.Model {
|
|
|
329
335
|
}
|
|
330
336
|
if (activeMembershipsUndeletable.length) {
|
|
331
337
|
// Skip automatic additions
|
|
332
|
-
|
|
333
|
-
|
|
338
|
+
for (const m of activeMembershipsUndeletable) {
|
|
339
|
+
const beforePrice = m.price;
|
|
340
|
+
await m.calculatePrice(me);
|
|
341
|
+
if (beforePrice !== m.price) {
|
|
342
|
+
await m.save();
|
|
343
|
+
console.log('Updated price for membership: ' + me.id + ' - membership ' + m.id);
|
|
344
|
+
}
|
|
345
|
+
else if (!silent) {
|
|
346
|
+
console.log('Skipping automatic membership for: ' + me.id, ' - already has active memberships - no price change');
|
|
347
|
+
}
|
|
334
348
|
}
|
|
335
349
|
return;
|
|
336
350
|
}
|
|
337
351
|
// Add the cheapest available membership
|
|
338
|
-
const
|
|
339
|
-
|
|
352
|
+
const organizations = await _1.Organization.getByIDs(...utility_1.Formatter.uniqueArray(defaultMemberships.map(m => m.registration.organizationId)));
|
|
353
|
+
const defaultMembershipsWithOrganization = defaultMemberships.map(({ membership, registration }) => {
|
|
354
|
+
const organizationId = registration.organizationId;
|
|
355
|
+
const organization = organizations.find(o => o.id === organizationId);
|
|
356
|
+
return { membership, registration, organization };
|
|
357
|
+
});
|
|
358
|
+
const shouldApplyReducedPrice = me.details.shouldApplyReducedPrice;
|
|
359
|
+
const cheapestMembership = defaultMembershipsWithOrganization.sort(({ membership: a, registration: ar, organization: ao }, { membership: b, registration: br, organization: bo }) => {
|
|
360
|
+
const tagIdsA = ao?.meta.tags ?? [];
|
|
361
|
+
const tagIdsB = bo?.meta.tags ?? [];
|
|
362
|
+
const diff = a.getPrice(platform.periodId, now, tagIdsA, shouldApplyReducedPrice) - b.getPrice(platform.periodId, now, tagIdsB, shouldApplyReducedPrice);
|
|
340
363
|
if (diff == 0) {
|
|
341
364
|
return utility_1.Sorter.byDateValue(br.createdAt, ar.createdAt);
|
|
342
365
|
}
|
|
@@ -346,11 +369,20 @@ class Member extends simple_database_1.Model {
|
|
|
346
369
|
throw new Error("No membership found");
|
|
347
370
|
}
|
|
348
371
|
// Check if already have the same membership
|
|
349
|
-
|
|
350
|
-
if (
|
|
351
|
-
|
|
372
|
+
for (const m of activeMemberships) {
|
|
373
|
+
if (m.membershipTypeId === cheapestMembership.membership.id) {
|
|
374
|
+
// Update the price of this active membership (could have changed)
|
|
375
|
+
const beforePrice = m.price;
|
|
376
|
+
await m.calculatePrice(me);
|
|
377
|
+
if (beforePrice !== m.price) {
|
|
378
|
+
await m.save();
|
|
379
|
+
console.log('Updated price for membership: ' + me.id + ' - membership ' + m.id);
|
|
380
|
+
}
|
|
381
|
+
else if (!silent) {
|
|
382
|
+
console.log('Skipping automatic membership for: ' + me.id, ' - already has this membership - no price change');
|
|
383
|
+
}
|
|
384
|
+
return;
|
|
352
385
|
}
|
|
353
|
-
return;
|
|
354
386
|
}
|
|
355
387
|
const periodConfig = cheapestMembership.membership.periods.get(platform.periodId);
|
|
356
388
|
if (!periodConfig) {
|
|
@@ -380,7 +412,7 @@ class Member extends simple_database_1.Model {
|
|
|
380
412
|
return;
|
|
381
413
|
}
|
|
382
414
|
}
|
|
383
|
-
await membership.calculatePrice();
|
|
415
|
+
await membership.calculatePrice(me);
|
|
384
416
|
await membership.save();
|
|
385
417
|
// This reasoning allows us to replace an existing membership with a cheaper one (not date based ones, but type based ones)
|
|
386
418
|
for (const toDelete of activeMemberships) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Member.js","sourceRoot":"","sources":["../../../src/models/Member.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Member.js","sourceRoot":"","sources":["../../../src/models/Member.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Model } from "@simonbackx/simple-database";
|
|
2
2
|
import { SQLSelect } from "@stamhoofd/sql";
|
|
3
|
+
import { Member } from "./Member";
|
|
3
4
|
export declare class MemberPlatformMembership extends Model {
|
|
4
5
|
static table: string;
|
|
5
6
|
id: string;
|
|
@@ -21,7 +22,7 @@ export declare class MemberPlatformMembership extends Model {
|
|
|
21
22
|
updatedAt: Date;
|
|
22
23
|
canDelete(): boolean;
|
|
23
24
|
delete(): Promise<void>;
|
|
24
|
-
calculatePrice(): Promise<void>;
|
|
25
|
+
calculatePrice(member: Member): Promise<void>;
|
|
25
26
|
/**
|
|
26
27
|
* Experimental: needs to move to library
|
|
27
28
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemberPlatformMembership.d.ts","sourceRoot":"","sources":["../../../src/models/MemberPlatformMembership.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,EAA0B,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"MemberPlatformMembership.d.ts","sourceRoot":"","sources":["../../../src/models/MemberPlatformMembership.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,EAA0B,MAAM,6BAA6B,CAAC;AAEpF,OAAO,EAAO,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKlC,qBAAa,wBAAyB,SAAQ,KAAK;IAC/C,MAAM,CAAC,KAAK,SAAiC;IAQ7C,EAAE,EAAG,MAAM,CAAC;IAGZ,QAAQ,EAAE,MAAM,CAAC;IAGjB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,cAAc,EAAE,MAAM,CAAC;IAGvB,QAAQ,EAAE,MAAM,CAAC;IAGjB,SAAS,EAAE,IAAI,CAAC;IAGhB,OAAO,EAAE,IAAI,CAAC;IAGd,UAAU,EAAE,IAAI,GAAG,IAAI,CAAQ;IAG/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGpC,KAAK,SAAK;IAEV;;OAEG;IAEH,SAAS,UAAQ;IAKjB,SAAS,EAAE,IAAI,GAAC,IAAI,CAAO;IAY3B,SAAS,EAAE,IAAI,CAAA;IAUf,SAAS,EAAE,IAAI,CAAA;IAEf,SAAS;IAOT,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjB,cAAc,CAAC,MAAM,EAAE,MAAM;IAmEnC;;OAEG;IACH,MAAM,CAAC,MAAM;CAchB"}
|
|
@@ -3,12 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MemberPlatformMembership = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const simple_database_1 = require("@simonbackx/simple-database");
|
|
6
|
-
const uuid_1 = require("uuid");
|
|
7
|
-
const Platform_1 = require("./Platform");
|
|
8
|
-
const structures_1 = require("@stamhoofd/structures");
|
|
9
6
|
const simple_errors_1 = require("@simonbackx/simple-errors");
|
|
10
|
-
const utility_1 = require("@stamhoofd/utility");
|
|
11
7
|
const sql_1 = require("@stamhoofd/sql");
|
|
8
|
+
const structures_1 = require("@stamhoofd/structures");
|
|
9
|
+
const utility_1 = require("@stamhoofd/utility");
|
|
10
|
+
const uuid_1 = require("uuid");
|
|
11
|
+
const Organization_1 = require("./Organization");
|
|
12
|
+
const Platform_1 = require("./Platform");
|
|
13
|
+
const BalanceItem_1 = require("./BalanceItem");
|
|
12
14
|
class MemberPlatformMembership extends simple_database_1.Model {
|
|
13
15
|
static table = "member_platform_memberships";
|
|
14
16
|
// Columns
|
|
@@ -38,10 +40,7 @@ class MemberPlatformMembership extends simple_database_1.Model {
|
|
|
38
40
|
delete() {
|
|
39
41
|
throw new Error('Cannot delete a membership. Use the deletedAt column.');
|
|
40
42
|
}
|
|
41
|
-
async calculatePrice() {
|
|
42
|
-
if (this.balanceItemId) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
43
|
+
async calculatePrice(member) {
|
|
45
44
|
const platform = await Platform_1.Platform.getShared();
|
|
46
45
|
const membershipType = platform.config.membershipTypes.find(m => m.id == this.membershipTypeId);
|
|
47
46
|
if (!membershipType) {
|
|
@@ -59,7 +58,18 @@ class MemberPlatformMembership extends simple_database_1.Model {
|
|
|
59
58
|
human: 'Deze aansluiting is nog niet beschikbaar voor dit werkjaar'
|
|
60
59
|
});
|
|
61
60
|
}
|
|
62
|
-
const
|
|
61
|
+
const organization = await Organization_1.Organization.getByID(this.organizationId);
|
|
62
|
+
if (!organization) {
|
|
63
|
+
throw new simple_errors_1.SimpleError({
|
|
64
|
+
//todo
|
|
65
|
+
code: 'not_found',
|
|
66
|
+
message: 'Organization not found',
|
|
67
|
+
human: 'De organisatie is niet gevonden'
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
const tagIds = organization.meta.tags;
|
|
71
|
+
const shouldApplyReducedPrice = member.details.shouldApplyReducedPrice;
|
|
72
|
+
const priceConfig = periodConfig.getPriceConfigForDate(membershipType.behaviour === structures_1.PlatformMembershipTypeBehaviour.Days ? this.startDate : (this.createdAt ?? new Date()));
|
|
63
73
|
if (membershipType.behaviour === structures_1.PlatformMembershipTypeBehaviour.Days) {
|
|
64
74
|
// Make sure time is equal between start and end date
|
|
65
75
|
let startBrussels = utility_1.Formatter.luxon(this.startDate);
|
|
@@ -70,14 +80,22 @@ class MemberPlatformMembership extends simple_database_1.Model {
|
|
|
70
80
|
this.endDate = endBrussels.toJSDate();
|
|
71
81
|
this.expireDate = null;
|
|
72
82
|
const days = Math.round((this.endDate.getTime() - this.startDate.getTime()) / (1000 * 60 * 60 * 24));
|
|
73
|
-
this.price = priceConfig.
|
|
83
|
+
this.price = priceConfig.calculatePrice(tagIds, shouldApplyReducedPrice, days);
|
|
74
84
|
}
|
|
75
85
|
else {
|
|
76
|
-
this.price = priceConfig.
|
|
86
|
+
this.price = priceConfig.getBasePrice(tagIds, shouldApplyReducedPrice);
|
|
77
87
|
this.startDate = periodConfig.startDate;
|
|
78
88
|
this.endDate = periodConfig.endDate;
|
|
79
89
|
this.expireDate = periodConfig.expireDate;
|
|
80
90
|
}
|
|
91
|
+
if (this.balanceItemId) {
|
|
92
|
+
// Also update the balance item
|
|
93
|
+
const balanceItem = await BalanceItem_1.BalanceItem.getByID(this.balanceItemId);
|
|
94
|
+
if (balanceItem) {
|
|
95
|
+
balanceItem.unitPrice = this.price;
|
|
96
|
+
await balanceItem.save();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
81
99
|
}
|
|
82
100
|
/**
|
|
83
101
|
* Experimental: needs to move to library
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemberPlatformMembership.js","sourceRoot":"","sources":["../../../src/models/MemberPlatformMembership.ts"],"names":[],"mappings":";;;;AACA,iEAAoF;AACpF
|
|
1
|
+
{"version":3,"file":"MemberPlatformMembership.js","sourceRoot":"","sources":["../../../src/models/MemberPlatformMembership.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Model } from '@simonbackx/simple-database';
|
|
2
|
-
import { RegistrationPeriodSettings, RegistrationPeriod as RegistrationPeriodStruct } from '@stamhoofd/structures';
|
|
2
|
+
import { RegistrationPeriodBase, RegistrationPeriodSettings, RegistrationPeriod as RegistrationPeriodStruct } from '@stamhoofd/structures';
|
|
3
3
|
export declare class RegistrationPeriod extends Model {
|
|
4
4
|
static table: string;
|
|
5
5
|
id: string;
|
|
@@ -10,6 +10,7 @@ export declare class RegistrationPeriod extends Model {
|
|
|
10
10
|
locked: boolean;
|
|
11
11
|
createdAt: Date;
|
|
12
12
|
updatedAt: Date;
|
|
13
|
+
getBaseStructure(): RegistrationPeriodBase;
|
|
13
14
|
getStructure(): RegistrationPeriodStruct;
|
|
14
15
|
static getByDate(date: Date): Promise<RegistrationPeriod | null>;
|
|
15
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegistrationPeriod.d.ts","sourceRoot":"","sources":["../../../src/models/RegistrationPeriod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,IAAI,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"RegistrationPeriod.d.ts","sourceRoot":"","sources":["../../../src/models/RegistrationPeriod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,kBAAkB,IAAI,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAG3I,qBAAa,kBAAmB,SAAQ,KAAK;IACzC,MAAM,CAAC,KAAK,SAA0B;IAOtC,EAAE,EAAG,MAAM,CAAC;IAGZ,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGrC,SAAS,EAAE,IAAI,CAAA;IAGf,OAAO,EAAE,IAAI,CAAA;IAGb,QAAQ,EAAE,0BAA0B,CAAC;IAGrC,MAAM,UAAQ;IAYd,SAAS,EAAE,IAAI,CAAA;IAUf,SAAS,EAAE,IAAI,CAAA;IAEf,gBAAgB;IAIhB,YAAY;WAIC,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,kBAAkB,GAAC,IAAI,CAAC;CAYvE"}
|
|
@@ -16,6 +16,9 @@ class RegistrationPeriod extends simple_database_1.Model {
|
|
|
16
16
|
locked = false;
|
|
17
17
|
createdAt;
|
|
18
18
|
updatedAt;
|
|
19
|
+
getBaseStructure() {
|
|
20
|
+
return structures_1.RegistrationPeriodBase.create(this);
|
|
21
|
+
}
|
|
19
22
|
getStructure() {
|
|
20
23
|
return structures_1.RegistrationPeriod.create(this);
|
|
21
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegistrationPeriod.js","sourceRoot":"","sources":["../../../src/models/RegistrationPeriod.ts"],"names":[],"mappings":";;;;AAAA,iEAA4D;AAC5D,wCAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"RegistrationPeriod.js","sourceRoot":"","sources":["../../../src/models/RegistrationPeriod.ts"],"names":[],"mappings":";;;;AAAA,iEAA4D;AAC5D,wCAAmD;AACnD,sDAA2I;AAC3I,+BAAoC;AAEpC,MAAa,kBAAmB,SAAQ,uBAAK;IACzC,MAAM,CAAC,KAAK,GAAG,sBAAsB,CAAC;IAOtC,EAAE,CAAU;IAGZ,cAAc,GAAkB,IAAI,CAAC;IAGrC,SAAS,CAAM;IAGf,OAAO,CAAM;IAGb,QAAQ,CAA6B;IAGrC,MAAM,GAAG,KAAK,CAAA;IAYd,SAAS,CAAM;IAUf,SAAS,CAAM;IAEf,gBAAgB;QACZ,OAAO,mCAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,YAAY;QACR,OAAO,+BAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAU;QAC7B,MAAM,MAAM,GAAG,MAAM,SAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACxD,KAAK,CAAC,SAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,kBAAY,CAAC,SAAS,EAAE,IAAI,CAAC;aAC5D,KAAK,CAAC,SAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,kBAAY,CAAC,YAAY,EAAE,IAAI,CAAC;aAC7D,KAAK,CAAC,KAAK,CAAC,CAAC;QAElB,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAA;IACjE,CAAC;;AAlEL,gDAmEC;AA3DG;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,IAAI,IAAA,SAAM,GAAE,CAAC;QAC7B,CAAC;KACJ,CAAC;8CACU;AAGZ;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACN;AAGrC;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;qDACd;AAGf;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;mDAChB;AAGb;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,uCAA0B,EAAE,CAAC;oDACzB;AAGrC;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;kDACd;AAYd;IAVC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,GAAS;YAClC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACpB,OAAO,GAAG,CAAC;YACf,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;YACvB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;YACvB,OAAO,IAAI,CAAA;QACf,CAAC;KACJ,CAAC;qDACa;AAUf;IARC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,UAAU,EAAE,UAAU;YACxB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;YACvB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;YACvB,OAAO,IAAI,CAAA;QACf,CAAC;QACD,UAAU,EAAE,IAAI;KACnB,CAAC;qDACa"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stamhoofd/models",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.26.0",
|
|
4
4
|
"main": "./dist/src/index.js",
|
|
5
5
|
"types": "./dist/src/index.d.ts",
|
|
6
6
|
"license": "UNLICENCED",
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
"publishConfig": {
|
|
30
30
|
"access": "public"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "28425ef8a576223beaec1677bcd89e405dac20e4"
|
|
33
33
|
}
|
package/src/models/Member.ts
CHANGED
|
@@ -425,7 +425,9 @@ export class Member extends Model {
|
|
|
425
425
|
|
|
426
426
|
static async updateMembershipsForId(id: string, silent = false) {
|
|
427
427
|
return await QueueHandler.schedule('updateMemberships-' + id, async function (this: undefined) {
|
|
428
|
-
|
|
428
|
+
if (!silent) {
|
|
429
|
+
console.log('update memberships for id ', id);
|
|
430
|
+
}
|
|
429
431
|
|
|
430
432
|
const me = await Member.getWithRegistrations(id)
|
|
431
433
|
if (!me) {
|
|
@@ -451,11 +453,17 @@ export class Member extends Model {
|
|
|
451
453
|
return []
|
|
452
454
|
}
|
|
453
455
|
|
|
456
|
+
if (defaultMembership.periods.get(platform.periodId) === undefined) {
|
|
457
|
+
console.warn('Found default membership without period configuration', defaultMembership.id, platform.periodId)
|
|
458
|
+
return []
|
|
459
|
+
}
|
|
460
|
+
|
|
454
461
|
return [{
|
|
455
462
|
registration: r,
|
|
456
463
|
membership: defaultMembership,
|
|
457
464
|
}]
|
|
458
|
-
})
|
|
465
|
+
});
|
|
466
|
+
|
|
459
467
|
// Get active memberships for this member that
|
|
460
468
|
const memberships = await MemberPlatformMembership.where({memberId: me.id, periodId: platform.periodId })
|
|
461
469
|
const now = new Date()
|
|
@@ -483,15 +491,37 @@ export class Member extends Model {
|
|
|
483
491
|
|
|
484
492
|
if (activeMembershipsUndeletable.length) {
|
|
485
493
|
// Skip automatic additions
|
|
486
|
-
|
|
487
|
-
|
|
494
|
+
for (const m of activeMembershipsUndeletable) {
|
|
495
|
+
const beforePrice = m.price
|
|
496
|
+
|
|
497
|
+
await m.calculatePrice(me)
|
|
498
|
+
|
|
499
|
+
if (beforePrice !== m.price) {
|
|
500
|
+
await m.save()
|
|
501
|
+
|
|
502
|
+
console.log('Updated price for membership: ' + me.id + ' - membership ' + m.id)
|
|
503
|
+
} else if (!silent) {
|
|
504
|
+
console.log('Skipping automatic membership for: ' + me.id, ' - already has active memberships - no price change')
|
|
505
|
+
}
|
|
488
506
|
}
|
|
489
507
|
return
|
|
490
508
|
}
|
|
491
509
|
|
|
492
510
|
// Add the cheapest available membership
|
|
493
|
-
const
|
|
494
|
-
|
|
511
|
+
const organizations = await Organization.getByIDs(...Formatter.uniqueArray(defaultMemberships.map(m => m.registration.organizationId)));
|
|
512
|
+
|
|
513
|
+
const defaultMembershipsWithOrganization = defaultMemberships.map(({membership, registration}) => {
|
|
514
|
+
const organizationId = registration.organizationId;
|
|
515
|
+
const organization = organizations.find(o => o.id === organizationId);
|
|
516
|
+
return {membership, registration, organization}
|
|
517
|
+
});
|
|
518
|
+
|
|
519
|
+
const shouldApplyReducedPrice = me.details.shouldApplyReducedPrice;
|
|
520
|
+
|
|
521
|
+
const cheapestMembership = defaultMembershipsWithOrganization.sort(({membership: a, registration: ar, organization: ao}, {membership: b, registration: br, organization: bo}) => {
|
|
522
|
+
const tagIdsA = ao?.meta.tags ?? [];
|
|
523
|
+
const tagIdsB = bo?.meta.tags ?? [];
|
|
524
|
+
const diff = a.getPrice(platform.periodId, now, tagIdsA, shouldApplyReducedPrice)! - b.getPrice(platform.periodId, now, tagIdsB, shouldApplyReducedPrice)!
|
|
495
525
|
if (diff == 0) {
|
|
496
526
|
return Sorter.byDateValue(br.createdAt, ar.createdAt)
|
|
497
527
|
}
|
|
@@ -502,11 +532,22 @@ export class Member extends Model {
|
|
|
502
532
|
}
|
|
503
533
|
|
|
504
534
|
// Check if already have the same membership
|
|
505
|
-
|
|
506
|
-
if (
|
|
507
|
-
|
|
535
|
+
for (const m of activeMemberships) {
|
|
536
|
+
if (m.membershipTypeId === cheapestMembership.membership.id) {
|
|
537
|
+
// Update the price of this active membership (could have changed)
|
|
538
|
+
const beforePrice = m.price
|
|
539
|
+
|
|
540
|
+
await m.calculatePrice(me)
|
|
541
|
+
|
|
542
|
+
if (beforePrice !== m.price) {
|
|
543
|
+
await m.save()
|
|
544
|
+
|
|
545
|
+
console.log('Updated price for membership: ' + me.id + ' - membership ' + m.id)
|
|
546
|
+
} else if (!silent) {
|
|
547
|
+
console.log('Skipping automatic membership for: ' + me.id, ' - already has this membership - no price change')
|
|
548
|
+
}
|
|
549
|
+
return
|
|
508
550
|
}
|
|
509
|
-
return
|
|
510
551
|
}
|
|
511
552
|
|
|
512
553
|
const periodConfig = cheapestMembership.membership.periods.get(platform.periodId)
|
|
@@ -540,7 +581,7 @@ export class Member extends Model {
|
|
|
540
581
|
}
|
|
541
582
|
}
|
|
542
583
|
|
|
543
|
-
await membership.calculatePrice()
|
|
584
|
+
await membership.calculatePrice(me)
|
|
544
585
|
await membership.save()
|
|
545
586
|
|
|
546
587
|
// This reasoning allows us to replace an existing membership with a cheaper one (not date based ones, but type based ones)
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
|
|
2
2
|
import { column, Model, SQLResultNamespacedRow } from "@simonbackx/simple-database";
|
|
3
|
-
import { v4 as uuidv4 } from "uuid";
|
|
4
|
-
import { Platform } from "./Platform";
|
|
5
|
-
import { PlatformMembershipTypeBehaviour } from "@stamhoofd/structures";
|
|
6
3
|
import { SimpleError } from "@simonbackx/simple-errors";
|
|
7
|
-
import { Formatter } from "@stamhoofd/utility";
|
|
8
4
|
import { SQL, SQLSelect } from "@stamhoofd/sql";
|
|
5
|
+
import { PlatformMembershipTypeBehaviour } from "@stamhoofd/structures";
|
|
6
|
+
import { Formatter } from "@stamhoofd/utility";
|
|
7
|
+
import { v4 as uuidv4 } from "uuid";
|
|
8
|
+
import { Member } from "./Member";
|
|
9
|
+
import { Organization } from "./Organization";
|
|
10
|
+
import { Platform } from "./Platform";
|
|
11
|
+
import { BalanceItem } from "./BalanceItem";
|
|
9
12
|
|
|
10
13
|
export class MemberPlatformMembership extends Model {
|
|
11
14
|
static table = "member_platform_memberships";
|
|
@@ -89,11 +92,7 @@ export class MemberPlatformMembership extends Model {
|
|
|
89
92
|
throw new Error('Cannot delete a membership. Use the deletedAt column.');
|
|
90
93
|
}
|
|
91
94
|
|
|
92
|
-
async calculatePrice() {
|
|
93
|
-
if (this.balanceItemId) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
|
|
95
|
+
async calculatePrice(member: Member) {
|
|
97
96
|
const platform = await Platform.getShared();
|
|
98
97
|
const membershipType = platform.config.membershipTypes.find(m => m.id == this.membershipTypeId);
|
|
99
98
|
|
|
@@ -115,7 +114,20 @@ export class MemberPlatformMembership extends Model {
|
|
|
115
114
|
})
|
|
116
115
|
}
|
|
117
116
|
|
|
118
|
-
const
|
|
117
|
+
const organization = await Organization.getByID(this.organizationId);
|
|
118
|
+
if(!organization) {
|
|
119
|
+
throw new SimpleError({
|
|
120
|
+
//todo
|
|
121
|
+
code: 'not_found',
|
|
122
|
+
message: 'Organization not found',
|
|
123
|
+
human: 'De organisatie is niet gevonden'
|
|
124
|
+
})
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
const tagIds = organization.meta.tags;
|
|
128
|
+
const shouldApplyReducedPrice = member.details.shouldApplyReducedPrice;
|
|
129
|
+
|
|
130
|
+
const priceConfig = periodConfig.getPriceConfigForDate(membershipType.behaviour === PlatformMembershipTypeBehaviour.Days ? this.startDate : (this.createdAt ?? new Date()));
|
|
119
131
|
|
|
120
132
|
if (membershipType.behaviour === PlatformMembershipTypeBehaviour.Days) {
|
|
121
133
|
// Make sure time is equal between start and end date
|
|
@@ -129,13 +141,22 @@ export class MemberPlatformMembership extends Model {
|
|
|
129
141
|
this.expireDate = null
|
|
130
142
|
|
|
131
143
|
const days = Math.round((this.endDate.getTime() - this.startDate.getTime()) / (1000 * 60 * 60 * 24));
|
|
132
|
-
this.price = priceConfig.
|
|
144
|
+
this.price = priceConfig.calculatePrice(tagIds, shouldApplyReducedPrice, days);
|
|
133
145
|
} else {
|
|
134
|
-
this.price = priceConfig.
|
|
146
|
+
this.price = priceConfig.getBasePrice(tagIds, shouldApplyReducedPrice);
|
|
135
147
|
this.startDate = periodConfig.startDate;
|
|
136
148
|
this.endDate = periodConfig.endDate;
|
|
137
149
|
this.expireDate = periodConfig.expireDate;
|
|
138
150
|
}
|
|
151
|
+
|
|
152
|
+
if (this.balanceItemId) {
|
|
153
|
+
// Also update the balance item
|
|
154
|
+
const balanceItem = await BalanceItem.getByID(this.balanceItemId);
|
|
155
|
+
if (balanceItem) {
|
|
156
|
+
balanceItem.unitPrice = this.price;
|
|
157
|
+
await balanceItem.save();
|
|
158
|
+
}
|
|
159
|
+
}
|
|
139
160
|
}
|
|
140
161
|
|
|
141
162
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { column, Model } from '@simonbackx/simple-database';
|
|
2
2
|
import { SQL, SQLWhereSign } from '@stamhoofd/sql';
|
|
3
|
-
import { RegistrationPeriodSettings, RegistrationPeriod as RegistrationPeriodStruct } from '@stamhoofd/structures';
|
|
3
|
+
import { RegistrationPeriodBase, RegistrationPeriodSettings, RegistrationPeriod as RegistrationPeriodStruct } from '@stamhoofd/structures';
|
|
4
4
|
import { v4 as uuidv4 } from "uuid";
|
|
5
5
|
|
|
6
6
|
export class RegistrationPeriod extends Model {
|
|
@@ -50,6 +50,10 @@ export class RegistrationPeriod extends Model {
|
|
|
50
50
|
})
|
|
51
51
|
updatedAt: Date
|
|
52
52
|
|
|
53
|
+
getBaseStructure() {
|
|
54
|
+
return RegistrationPeriodBase.create(this)
|
|
55
|
+
}
|
|
56
|
+
|
|
53
57
|
getStructure() {
|
|
54
58
|
return RegistrationPeriodStruct.create(this)
|
|
55
59
|
}
|