@stamhoofd/models 2.127.1 → 2.128.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/MemberFactory.d.ts.map +1 -1
- package/dist/factories/MemberFactory.js +1 -0
- package/dist/factories/MemberFactory.js.map +1 -1
- package/dist/models/Member.d.ts +6 -1
- package/dist/models/Member.d.ts.map +1 -1
- package/dist/models/Member.js +40 -19
- package/dist/models/Member.js.map +1 -1
- package/dist/models/Order.d.ts +14 -0
- package/dist/models/Order.d.ts.map +1 -1
- package/dist/models/Order.js +18 -8
- package/dist/models/Order.js.map +1 -1
- package/package.json +3 -3
- package/src/factories/MemberFactory.ts +5 -6
- package/src/models/Member.ts +46 -29
- package/src/models/Order.ts +22 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemberFactory.d.ts","sourceRoot":"","sources":["../../src/factories/MemberFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAU,aAAa,EAAc,MAAM,uBAAuB,CAAC;AAG1E,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,qBAAqB,CAAC;AAEjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAK9C,cAAM,OAAO;IACT,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,aAAc,SAAQ,OAAO,CAAC,OAAO,EAAE,qCAAqC,CAAC;IAChF,MAAM,IAAI,OAAO,CAAC,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"MemberFactory.d.ts","sourceRoot":"","sources":["../../src/factories/MemberFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAU,aAAa,EAAc,MAAM,uBAAuB,CAAC;AAG1E,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,qBAAqB,CAAC;AAEjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAK9C,cAAM,OAAO;IACT,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,aAAc,SAAQ,OAAO,CAAC,OAAO,EAAE,qCAAqC,CAAC;IAChF,MAAM,IAAI,OAAO,CAAC,qCAAqC,CAAC;CAkIjE"}
|
|
@@ -45,6 +45,7 @@ export class MemberFactory extends Factory {
|
|
|
45
45
|
}
|
|
46
46
|
if (this.options.generateData === true || (this.options.generateData === undefined && this.options.details === undefined)) {
|
|
47
47
|
memberDetails.gender = Math.random() >= 0.05 ? (Math.random() >= 0.5 ? Gender.Male : Gender.Female) : Gender.Other;
|
|
48
|
+
memberDetails.nationalRegisterNumber = '12345678';
|
|
48
49
|
if (!memberDetails.firstName) {
|
|
49
50
|
memberDetails.firstName = this.randomFirstName(memberDetails.gender);
|
|
50
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemberFactory.js","sourceRoot":"","sources":["../../src/factories/MemberFactory.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MemberFactory.js","sourceRoot":"","sources":["../../src/factories/MemberFactory.ts"],"names":[],"mappings":"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"}
|
package/dist/models/Member.d.ts
CHANGED
|
@@ -41,6 +41,11 @@ export declare class Member extends QueryableModel {
|
|
|
41
41
|
updatedAt: Date;
|
|
42
42
|
static registrations: OneToManyRelation<"registrations", Member, Registration>;
|
|
43
43
|
static users: ManyToManyRelation<"users", Member, User, undefined>;
|
|
44
|
+
/**
|
|
45
|
+
* Generate a random security code that a member can use to gain access to their data.
|
|
46
|
+
* The alphabet excludes ambiguous characters (0, O, I, l) to make it easier for humans.
|
|
47
|
+
*/
|
|
48
|
+
static generateSecurityCode(length?: number): Promise<string>;
|
|
44
49
|
/**
|
|
45
50
|
* Fetch all members with their corresponding (valid) registration
|
|
46
51
|
*/
|
|
@@ -109,6 +114,6 @@ export declare class Member extends QueryableModel {
|
|
|
109
114
|
static getRegistrationWithTinyMemberStructure(registration: RegistrationWithMember & {
|
|
110
115
|
group: Group;
|
|
111
116
|
}): RegistrationWithTinyMember;
|
|
112
|
-
isSafeToMergeDuplicateWithoutSecurityCode(): Promise<boolean>;
|
|
117
|
+
isSafeToMergeDuplicateWithoutSecurityCode(email?: string): Promise<boolean>;
|
|
113
118
|
}
|
|
114
119
|
//# sourceMappingURL=Member.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Member.d.ts","sourceRoot":"","sources":["../../src/models/Member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,kBAAkB,EAAqB,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAO,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAgC,0BAA0B,EAAc,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"Member.d.ts","sourceRoot":"","sources":["../../src/models/Member.ts"],"names":[],"mappings":"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"}
|
package/dist/models/Member.js
CHANGED
|
@@ -3,12 +3,17 @@ import { column, ManyToManyRelation, ManyToOneRelation, OneToManyRelation } from
|
|
|
3
3
|
import { QueryableModel, SQL } from '@stamhoofd/sql';
|
|
4
4
|
import { MemberDetails, NationalRegisterNumberOptOut, RegistrationWithTinyMember, TinyMember } from '@stamhoofd/structures';
|
|
5
5
|
import { Formatter } from '@stamhoofd/utility';
|
|
6
|
+
import basex from 'base-x';
|
|
7
|
+
import crypto from 'crypto';
|
|
6
8
|
import { v4 as uuidv4 } from 'uuid';
|
|
7
9
|
import { Group } from './Group.js';
|
|
8
10
|
import { MemberResponsibilityRecord } from './MemberResponsibilityRecord.js';
|
|
9
11
|
import { MemberUser } from './MemberUser.js';
|
|
10
12
|
import { Registration } from './Registration.js';
|
|
11
13
|
import { User } from './User.js';
|
|
14
|
+
// Note: we removed 0, O, I and l to make it easier for humans
|
|
15
|
+
const SECURITY_CODE_ALPHABET = '123456789ABCDEFGHJKMNPQRSTUVWXYZ';
|
|
16
|
+
const securityCodeBase = basex(SECURITY_CODE_ALPHABET);
|
|
12
17
|
export class Member extends QueryableModel {
|
|
13
18
|
static table = 'members';
|
|
14
19
|
// static cache = new ModelCache<Member>();
|
|
@@ -31,6 +36,22 @@ export class Member extends QueryableModel {
|
|
|
31
36
|
static registrations = new OneToManyRelation(Member, Registration, 'registrations', 'memberId');
|
|
32
37
|
// Note: all relations should point to their parents, not the other way around to avoid reference cycles
|
|
33
38
|
static users = new ManyToManyRelation(Member, User, 'users');
|
|
39
|
+
/**
|
|
40
|
+
* Generate a random security code that a member can use to gain access to their data.
|
|
41
|
+
* The alphabet excludes ambiguous characters (0, O, I, l) to make it easier for humans.
|
|
42
|
+
*/
|
|
43
|
+
static async generateSecurityCode(length = 16) {
|
|
44
|
+
const buffer = await new Promise((resolve, reject) => {
|
|
45
|
+
crypto.randomBytes(100, (err, buf) => {
|
|
46
|
+
if (err) {
|
|
47
|
+
reject(err);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
resolve(buf);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
return securityCodeBase.encode(buffer).toUpperCase().substring(0, length);
|
|
54
|
+
}
|
|
34
55
|
/**
|
|
35
56
|
* Fetch all members with their corresponding (valid) registration
|
|
36
57
|
*/
|
|
@@ -312,27 +333,27 @@ export class Member extends QueryableModel {
|
|
|
312
333
|
}),
|
|
313
334
|
});
|
|
314
335
|
}
|
|
315
|
-
async isSafeToMergeDuplicateWithoutSecurityCode() {
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
if (this.details.emergencyContacts.length > 0) {
|
|
323
|
-
return false;
|
|
324
|
-
}
|
|
325
|
-
if (this.details.uitpasNumberDetails) {
|
|
326
|
-
return false;
|
|
327
|
-
}
|
|
328
|
-
if (this.details.nationalRegisterNumber !== null && this.details.nationalRegisterNumber !== NationalRegisterNumberOptOut) {
|
|
329
|
-
return false;
|
|
336
|
+
async isSafeToMergeDuplicateWithoutSecurityCode(email) {
|
|
337
|
+
let quickPass = false;
|
|
338
|
+
if (email) {
|
|
339
|
+
if (this.details.hasEmail(email) || this.details.hasUnverifiedEmail(email)) {
|
|
340
|
+
// Give access
|
|
341
|
+
quickPass = true;
|
|
342
|
+
}
|
|
330
343
|
}
|
|
331
|
-
if (this.details.
|
|
332
|
-
|
|
344
|
+
if (this.details.getNotificationEmails().length === 0 && this.details.getPhoneNumbersForVerification().length === 0) {
|
|
345
|
+
quickPass = true;
|
|
333
346
|
}
|
|
334
|
-
if (
|
|
335
|
-
|
|
347
|
+
if (!quickPass) {
|
|
348
|
+
if ([...this.details.recordAnswers.values()].find(a => a.settings.sensitive)) {
|
|
349
|
+
return false;
|
|
350
|
+
}
|
|
351
|
+
if (this.details.parents.find(p => p.nationalRegisterNumber !== null && p.nationalRegisterNumber !== NationalRegisterNumberOptOut)) {
|
|
352
|
+
return false;
|
|
353
|
+
}
|
|
354
|
+
if (this.details.nationalRegisterNumber !== null && this.details.nationalRegisterNumber !== NationalRegisterNumberOptOut) {
|
|
355
|
+
return false;
|
|
356
|
+
}
|
|
336
357
|
}
|
|
337
358
|
// If responsibilities: not safe
|
|
338
359
|
const responsibilities = await MemberResponsibilityRecord.where({ memberId: this.id }, { limit: 1 });
|
|
@@ -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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"}
|
package/dist/models/Order.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ManyToOneRelation } from '@simonbackx/simple-database';
|
|
2
2
|
import { QueryableModel } from '@stamhoofd/sql';
|
|
3
|
+
import type { TransferSettings } from '@stamhoofd/structures';
|
|
3
4
|
import { EmailTemplateType, OrderData, OrderStatus, Order as OrderStruct, PrivateOrder, Recipient } from '@stamhoofd/structures';
|
|
4
5
|
import type { Organization } from './Organization.js';
|
|
5
6
|
import { Payment } from './Payment.js';
|
|
@@ -102,6 +103,19 @@ export declare class Order extends QueryableModel {
|
|
|
102
103
|
type: EmailTemplateType;
|
|
103
104
|
to?: Recipient;
|
|
104
105
|
}): Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* Get the transfer settings for this order
|
|
108
|
+
* @param this
|
|
109
|
+
* @param shouldThrowIfNoIban
|
|
110
|
+
* @returns
|
|
111
|
+
*/
|
|
112
|
+
getTransferSettings(this: Order & {
|
|
113
|
+
webshop: Webshop & {
|
|
114
|
+
organization: Organization;
|
|
115
|
+
};
|
|
116
|
+
}, { shouldThrowIfNoIban }?: {
|
|
117
|
+
shouldThrowIfNoIban?: boolean;
|
|
118
|
+
}): TransferSettings;
|
|
105
119
|
/**
|
|
106
120
|
* WARNING: this should always run inside a queue so it only runs once for the same orde
|
|
107
121
|
* Include any tickets that are generated and should be included in the e-mail
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Order.d.ts","sourceRoot":"","sources":["../../src/models/Order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIrE,OAAO,EAAE,cAAc,EAAO,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"Order.d.ts","sourceRoot":"","sources":["../../src/models/Order.ts"],"names":[],"mappings":"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"}
|
package/dist/models/Order.js
CHANGED
|
@@ -738,6 +738,23 @@ export class Order extends QueryableModel {
|
|
|
738
738
|
type: 'transactional',
|
|
739
739
|
});
|
|
740
740
|
}
|
|
741
|
+
/**
|
|
742
|
+
* Get the transfer settings for this order
|
|
743
|
+
* @param this
|
|
744
|
+
* @param shouldThrowIfNoIban
|
|
745
|
+
* @returns
|
|
746
|
+
*/
|
|
747
|
+
getTransferSettings({ shouldThrowIfNoIban } = {}) {
|
|
748
|
+
const transferSettings = this.webshop.meta.transferSettings.fillMissing(this.webshop.organization.mappedTransferSettings);
|
|
749
|
+
if (shouldThrowIfNoIban && !transferSettings.iban) {
|
|
750
|
+
throw new SimpleError({
|
|
751
|
+
code: 'missing_iban',
|
|
752
|
+
message: 'Missing IBAN',
|
|
753
|
+
human: $t(`%w2`),
|
|
754
|
+
});
|
|
755
|
+
}
|
|
756
|
+
return transferSettings;
|
|
757
|
+
}
|
|
741
758
|
/**
|
|
742
759
|
* WARNING: this should always run inside a queue so it only runs once for the same orde
|
|
743
760
|
* Include any tickets that are generated and should be included in the e-mail
|
|
@@ -760,14 +777,7 @@ export class Order extends QueryableModel {
|
|
|
760
777
|
// Now we have a number, update the payment
|
|
761
778
|
if (payment && payment.method === PaymentMethod.Transfer) {
|
|
762
779
|
// Only now we can update the transfer description, since we need the order number as a reference
|
|
763
|
-
payment.transferSettings =
|
|
764
|
-
if (!payment.transferSettings.iban) {
|
|
765
|
-
throw new SimpleError({
|
|
766
|
-
code: 'missing_iban',
|
|
767
|
-
message: 'Missing IBAN',
|
|
768
|
-
human: $t(`%w2`),
|
|
769
|
-
});
|
|
770
|
-
}
|
|
780
|
+
payment.transferSettings = this.getTransferSettings({ shouldThrowIfNoIban: true });
|
|
771
781
|
payment.generateDescription(organization, this.number.toString(), this.getTransferReplacements());
|
|
772
782
|
await payment.save();
|
|
773
783
|
}
|
package/dist/models/Order.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Order.js","sourceRoot":"","sources":["../../src/models/Order.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Order.js","sourceRoot":"","sources":["../../src/models/Order.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stamhoofd/models",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.128.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@simonbackx/simple-database": "1.37.1",
|
|
45
|
-
"@stamhoofd/test-utils": "2.
|
|
45
|
+
"@stamhoofd/test-utils": "2.128.0",
|
|
46
46
|
"@types/luxon": "3.7.1",
|
|
47
47
|
"@types/uuid": "8.3.4",
|
|
48
48
|
"vitest": "4.1.8"
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"publishConfig": {
|
|
62
62
|
"access": "public"
|
|
63
63
|
},
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "77c7e13c592a4d51542716d204c3b39dd9d28ec7"
|
|
65
65
|
}
|
|
@@ -59,6 +59,8 @@ export class MemberFactory extends Factory<Options, MemberWithUsersRegistrations
|
|
|
59
59
|
|
|
60
60
|
if (this.options.generateData === true || (this.options.generateData === undefined && this.options.details === undefined)) {
|
|
61
61
|
memberDetails.gender = Math.random() >= 0.05 ? (Math.random() >= 0.5 ? Gender.Male : Gender.Female) : Gender.Other;
|
|
62
|
+
memberDetails.nationalRegisterNumber = '12345678';
|
|
63
|
+
|
|
62
64
|
if (!memberDetails.firstName) {
|
|
63
65
|
memberDetails.firstName = this.randomFirstName(memberDetails.gender);
|
|
64
66
|
}
|
|
@@ -118,15 +120,12 @@ export class MemberFactory extends Factory<Options, MemberWithUsersRegistrations
|
|
|
118
120
|
if (!memberDetails.lastName) {
|
|
119
121
|
if (memberDetails.parents.length == 2 && Math.random() >= 0.9) {
|
|
120
122
|
memberDetails.lastName = memberDetails.parents[0].lastName + '-' + memberDetails.parents[1].lastName;
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
+
} else {
|
|
123
124
|
if (memberDetails.parents[0].type == ParentType.Father) {
|
|
124
125
|
memberDetails.lastName = memberDetails.parents[0].lastName;
|
|
125
|
-
}
|
|
126
|
-
else if (memberDetails.parents[1] && memberDetails.parents[1].type == ParentType.Father) {
|
|
126
|
+
} else if (memberDetails.parents[1] && memberDetails.parents[1].type == ParentType.Father) {
|
|
127
127
|
memberDetails.lastName = memberDetails.parents[1].lastName;
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
128
|
+
} else {
|
|
130
129
|
memberDetails.lastName = memberDetails.parents[0].lastName;
|
|
131
130
|
}
|
|
132
131
|
}
|
package/src/models/Member.ts
CHANGED
|
@@ -2,6 +2,8 @@ import { column, ManyToManyRelation, ManyToOneRelation, OneToManyRelation } from
|
|
|
2
2
|
import { QueryableModel, SQL } from '@stamhoofd/sql';
|
|
3
3
|
import { MemberDetails, NationalRegisterNumberOptOut, RegistrationWithTinyMember, TinyMember } from '@stamhoofd/structures';
|
|
4
4
|
import { Formatter } from '@stamhoofd/utility';
|
|
5
|
+
import basex from 'base-x';
|
|
6
|
+
import crypto from 'crypto';
|
|
5
7
|
import { v4 as uuidv4 } from 'uuid';
|
|
6
8
|
import { Group } from './Group.js';
|
|
7
9
|
import { MemberResponsibilityRecord } from './MemberResponsibilityRecord.js';
|
|
@@ -28,6 +30,10 @@ export type MemberWithUsersRegistrationsAndGroups = MemberWithUsers & MemberWith
|
|
|
28
30
|
// Defined here to prevent cycles
|
|
29
31
|
export type RegistrationWithMember = Registration & { member: Member };
|
|
30
32
|
|
|
33
|
+
// Note: we removed 0, O, I and l to make it easier for humans
|
|
34
|
+
const SECURITY_CODE_ALPHABET = '123456789ABCDEFGHJKMNPQRSTUVWXYZ';
|
|
35
|
+
const securityCodeBase = basex(SECURITY_CODE_ALPHABET);
|
|
36
|
+
|
|
31
37
|
export class Member extends QueryableModel {
|
|
32
38
|
static table = 'members';
|
|
33
39
|
// static cache = new ModelCache<Member>();
|
|
@@ -113,6 +119,23 @@ export class Member extends QueryableModel {
|
|
|
113
119
|
// Note: all relations should point to their parents, not the other way around to avoid reference cycles
|
|
114
120
|
static users = new ManyToManyRelation(Member, User, 'users');
|
|
115
121
|
|
|
122
|
+
/**
|
|
123
|
+
* Generate a random security code that a member can use to gain access to their data.
|
|
124
|
+
* The alphabet excludes ambiguous characters (0, O, I, l) to make it easier for humans.
|
|
125
|
+
*/
|
|
126
|
+
static async generateSecurityCode(length = 16): Promise<string> {
|
|
127
|
+
const buffer = await new Promise<Buffer>((resolve, reject) => {
|
|
128
|
+
crypto.randomBytes(100, (err: Error | null, buf: Buffer) => {
|
|
129
|
+
if (err) {
|
|
130
|
+
reject(err);
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
resolve(buf);
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
return securityCodeBase.encode(buffer).toUpperCase().substring(0, length);
|
|
137
|
+
}
|
|
138
|
+
|
|
116
139
|
/**
|
|
117
140
|
* Fetch all members with their corresponding (valid) registration
|
|
118
141
|
*/
|
|
@@ -193,8 +216,7 @@ export class Member extends QueryableModel {
|
|
|
193
216
|
const member = members.find(m => m.id === registration.memberId);
|
|
194
217
|
if (member) {
|
|
195
218
|
registration.setRelation(registrationMemberRelation, member);
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
219
|
+
} else {
|
|
198
220
|
throw new Error('Unexpected missing member for registration ' + registration.id);
|
|
199
221
|
}
|
|
200
222
|
}
|
|
@@ -250,8 +272,7 @@ export class Member extends QueryableModel {
|
|
|
250
272
|
)
|
|
251
273
|
.fetch() as (Registration | undefined)[];
|
|
252
274
|
alreadyLoadedRegistrations.push(...registrations);
|
|
253
|
-
}
|
|
254
|
-
else {
|
|
275
|
+
} else {
|
|
255
276
|
if (!withGroups) {
|
|
256
277
|
return members as MemberWithRegistrations[];
|
|
257
278
|
}
|
|
@@ -269,14 +290,12 @@ export class Member extends QueryableModel {
|
|
|
269
290
|
const group = groups.find(g => g.id === registration!.groupId);
|
|
270
291
|
if (group && !group.deletedAt) {
|
|
271
292
|
registration!.setRelation(Registration.group, group);
|
|
272
|
-
}
|
|
273
|
-
else {
|
|
293
|
+
} else {
|
|
274
294
|
// Remove registration from list
|
|
275
295
|
alreadyLoadedRegistrations[index] = undefined;
|
|
276
296
|
}
|
|
277
297
|
}
|
|
278
|
-
}
|
|
279
|
-
else {
|
|
298
|
+
} else {
|
|
280
299
|
if (ids.length === 0) {
|
|
281
300
|
// Nothing loaded
|
|
282
301
|
return members as MemberWithRegistrations[];
|
|
@@ -464,33 +483,31 @@ export class Member extends QueryableModel {
|
|
|
464
483
|
});
|
|
465
484
|
}
|
|
466
485
|
|
|
467
|
-
async isSafeToMergeDuplicateWithoutSecurityCode() {
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
if (this.details.emergencyContacts.length > 0) {
|
|
477
|
-
return false;
|
|
486
|
+
async isSafeToMergeDuplicateWithoutSecurityCode(email?: string) {
|
|
487
|
+
let quickPass = false;
|
|
488
|
+
if (email) {
|
|
489
|
+
if (this.details.hasEmail(email) || this.details.hasUnverifiedEmail(email)) {
|
|
490
|
+
// Give access
|
|
491
|
+
quickPass = true;
|
|
492
|
+
}
|
|
478
493
|
}
|
|
479
494
|
|
|
480
|
-
if (this.details.
|
|
481
|
-
|
|
495
|
+
if (this.details.getNotificationEmails().length === 0 && this.details.getPhoneNumbersForVerification().length === 0) {
|
|
496
|
+
quickPass = true;
|
|
482
497
|
}
|
|
483
498
|
|
|
484
|
-
if (
|
|
485
|
-
|
|
486
|
-
|
|
499
|
+
if (!quickPass) {
|
|
500
|
+
if ([...this.details.recordAnswers.values()].find(a => a.settings.sensitive)) {
|
|
501
|
+
return false;
|
|
502
|
+
}
|
|
487
503
|
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
504
|
+
if (this.details.parents.find(p => p.nationalRegisterNumber !== null && p.nationalRegisterNumber !== NationalRegisterNumberOptOut)) {
|
|
505
|
+
return false;
|
|
506
|
+
}
|
|
491
507
|
|
|
492
|
-
|
|
493
|
-
|
|
508
|
+
if (this.details.nationalRegisterNumber !== null && this.details.nationalRegisterNumber !== NationalRegisterNumberOptOut) {
|
|
509
|
+
return false;
|
|
510
|
+
}
|
|
494
511
|
}
|
|
495
512
|
|
|
496
513
|
// If responsibilities: not safe
|
package/src/models/Order.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { column } from '@simonbackx/simple-database';
|
|
|
3
3
|
import { SimpleError } from '@simonbackx/simple-errors';
|
|
4
4
|
import { QueueHandler } from '@stamhoofd/queues';
|
|
5
5
|
import { QueryableModel, SQL } from '@stamhoofd/sql';
|
|
6
|
-
import type { WebshopTimeSlot } from '@stamhoofd/structures';
|
|
6
|
+
import type { TransferSettings, WebshopTimeSlot } from '@stamhoofd/structures';
|
|
7
7
|
import { BalanceItemPaymentWithPayment, BalanceItemPaymentWithPrivatePayment, BalanceItemWithPayments, BalanceItemWithPrivatePayments, EmailTemplateType, OrderData, OrderStatus, Order as OrderStruct, PaymentMethod, PaymentStatus, Payment as PaymentStruct, PrivateOrder, PrivatePayment, ProductType, Recipient, Replacement, WebshopPreview, WebshopStatus, WebshopTicketType } from '@stamhoofd/structures';
|
|
8
8
|
import { Formatter } from '@stamhoofd/utility';
|
|
9
9
|
import { v4 as uuidv4 } from 'uuid';
|
|
@@ -925,6 +925,26 @@ export class Order extends QueryableModel {
|
|
|
925
925
|
});
|
|
926
926
|
}
|
|
927
927
|
|
|
928
|
+
/**
|
|
929
|
+
* Get the transfer settings for this order
|
|
930
|
+
* @param this
|
|
931
|
+
* @param shouldThrowIfNoIban
|
|
932
|
+
* @returns
|
|
933
|
+
*/
|
|
934
|
+
getTransferSettings(this: Order & { webshop: Webshop & { organization: Organization } }, { shouldThrowIfNoIban }: { shouldThrowIfNoIban?: boolean } = {}): TransferSettings {
|
|
935
|
+
const transferSettings = this.webshop.meta.transferSettings.fillMissing(this.webshop.organization.mappedTransferSettings);
|
|
936
|
+
|
|
937
|
+
if (shouldThrowIfNoIban && !transferSettings.iban) {
|
|
938
|
+
throw new SimpleError({
|
|
939
|
+
code: 'missing_iban',
|
|
940
|
+
message: 'Missing IBAN',
|
|
941
|
+
human: $t(`%w2`),
|
|
942
|
+
});
|
|
943
|
+
}
|
|
944
|
+
|
|
945
|
+
return transferSettings;
|
|
946
|
+
}
|
|
947
|
+
|
|
928
948
|
/**
|
|
929
949
|
* WARNING: this should always run inside a queue so it only runs once for the same orde
|
|
930
950
|
* Include any tickets that are generated and should be included in the e-mail
|
|
@@ -951,15 +971,7 @@ export class Order extends QueryableModel {
|
|
|
951
971
|
// Now we have a number, update the payment
|
|
952
972
|
if (payment && payment.method === PaymentMethod.Transfer) {
|
|
953
973
|
// Only now we can update the transfer description, since we need the order number as a reference
|
|
954
|
-
payment.transferSettings =
|
|
955
|
-
|
|
956
|
-
if (!payment.transferSettings.iban) {
|
|
957
|
-
throw new SimpleError({
|
|
958
|
-
code: 'missing_iban',
|
|
959
|
-
message: 'Missing IBAN',
|
|
960
|
-
human: $t(`%w2`),
|
|
961
|
-
});
|
|
962
|
-
}
|
|
974
|
+
payment.transferSettings = this.getTransferSettings({ shouldThrowIfNoIban: true });
|
|
963
975
|
payment.generateDescription(organization, this.number.toString(), this.getTransferReplacements());
|
|
964
976
|
await payment.save();
|
|
965
977
|
}
|