@stamhoofd/models 2.13.0 → 2.17.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/factories/GroupFactory.js +13 -6
- package/dist/src/factories/GroupFactory.js.map +1 -1
- package/dist/src/factories/MemberFactory.js +10 -4
- package/dist/src/factories/MemberFactory.js.map +1 -1
- package/dist/src/factories/OrganizationFactory.js +11 -6
- package/dist/src/factories/OrganizationFactory.js.map +1 -1
- package/dist/src/factories/ParentFactory.js +2 -3
- package/dist/src/factories/ParentFactory.js.map +1 -1
- package/dist/src/factories/RecordFactory.js +1 -0
- package/dist/src/factories/RecordFactory.js.map +1 -1
- package/dist/src/factories/RegisterCodeFactory.js +2 -3
- package/dist/src/factories/RegisterCodeFactory.js.map +1 -1
- package/dist/src/factories/RegistrationFactory.js +2 -0
- package/dist/src/factories/RegistrationFactory.js.map +1 -1
- package/dist/src/factories/UserFactory.js +15 -5
- package/dist/src/factories/UserFactory.js.map +1 -1
- package/dist/src/factories/WebshopFactory.js +7 -3
- package/dist/src/factories/WebshopFactory.js.map +1 -1
- package/dist/src/helpers/DNSValidator.js +1 -2
- package/dist/src/helpers/DNSValidator.js.map +1 -1
- package/dist/src/helpers/EmailBuilder.d.ts +23 -5
- package/dist/src/helpers/EmailBuilder.d.ts.map +1 -1
- package/dist/src/helpers/EmailBuilder.js +73 -21
- package/dist/src/helpers/EmailBuilder.js.map +1 -1
- package/dist/src/helpers/GroupBuilder.js +2 -2
- package/dist/src/helpers/GroupBuilder.js.map +1 -1
- package/dist/src/helpers/Handlebars.js +3 -5
- package/dist/src/helpers/Handlebars.js.map +1 -1
- package/dist/src/helpers/InvoiceBuilder.js +11 -10
- package/dist/src/helpers/InvoiceBuilder.js.map +1 -1
- package/dist/src/helpers/MemberMerger.js +5 -5
- package/dist/src/helpers/MemberMerger.js.map +1 -1
- package/dist/src/helpers/MemberMerger.test.js +14 -27
- package/dist/src/helpers/MemberMerger.test.js.map +1 -1
- package/dist/src/helpers/RateLimiter.d.ts.map +1 -1
- package/dist/src/helpers/RateLimiter.js +10 -5
- package/dist/src/helpers/RateLimiter.js.map +1 -1
- package/dist/src/helpers/WebshopCounter.js +2 -2
- package/dist/src/helpers/WebshopCounter.js.map +1 -1
- package/dist/src/migrations/1605262045-import-postcodes.js +10 -2
- package/dist/src/models/BalanceItem.js +41 -35
- package/dist/src/models/BalanceItem.js.map +1 -1
- package/dist/src/models/BalanceItemPayment.js +14 -11
- package/dist/src/models/BalanceItemPayment.js.map +1 -1
- package/dist/src/models/BuckarooPayment.js +5 -2
- package/dist/src/models/BuckarooPayment.js.map +1 -1
- package/dist/src/models/Document.js +24 -23
- package/dist/src/models/Document.js.map +1 -1
- package/dist/src/models/DocumentTemplate.js +36 -25
- package/dist/src/models/DocumentTemplate.js.map +1 -1
- package/dist/src/models/Email.d.ts.map +1 -1
- package/dist/src/models/Email.js +36 -38
- package/dist/src/models/Email.js.map +1 -1
- package/dist/src/models/EmailRecipient.js +15 -13
- package/dist/src/models/EmailRecipient.js.map +1 -1
- package/dist/src/models/EmailTemplate.d.ts +5 -0
- package/dist/src/models/EmailTemplate.d.ts.map +1 -1
- package/dist/src/models/EmailTemplate.js +30 -7
- package/dist/src/models/EmailTemplate.js.map +1 -1
- package/dist/src/models/EmailVerificationCode.js +32 -25
- package/dist/src/models/EmailVerificationCode.js.map +1 -1
- package/dist/src/models/Event.js +15 -12
- package/dist/src/models/Event.js.map +1 -1
- package/dist/src/models/Group.js +24 -21
- package/dist/src/models/Group.js.map +1 -1
- package/dist/src/models/Image.d.ts +0 -1
- package/dist/src/models/Image.d.ts.map +1 -1
- package/dist/src/models/Image.js +12 -14
- package/dist/src/models/Image.js.map +1 -1
- package/dist/src/models/Member.d.ts.map +1 -1
- package/dist/src/models/Member.js +34 -33
- package/dist/src/models/Member.js.map +1 -1
- package/dist/src/models/MemberPlatformMembership.js +22 -16
- package/dist/src/models/MemberPlatformMembership.js.map +1 -1
- package/dist/src/models/MemberResponsibilityRecord.js +10 -8
- package/dist/src/models/MemberResponsibilityRecord.js.map +1 -1
- package/dist/src/models/MergedMember.js +19 -14
- package/dist/src/models/MergedMember.js.map +1 -1
- package/dist/src/models/MolliePayment.js +5 -2
- package/dist/src/models/MolliePayment.js.map +1 -1
- package/dist/src/models/MollieToken.js +14 -14
- package/dist/src/models/MollieToken.js.map +1 -1
- package/dist/src/models/OneTimeToken.js +15 -13
- package/dist/src/models/OneTimeToken.js.map +1 -1
- package/dist/src/models/Order.d.ts +1 -1
- package/dist/src/models/Order.d.ts.map +1 -1
- package/dist/src/models/Order.js +42 -52
- package/dist/src/models/Order.js.map +1 -1
- package/dist/src/models/Organization.d.ts.map +1 -1
- package/dist/src/models/Organization.js +64 -66
- package/dist/src/models/Organization.js.map +1 -1
- package/dist/src/models/OrganizationRegistrationPeriod.js +8 -7
- package/dist/src/models/OrganizationRegistrationPeriod.js.map +1 -1
- package/dist/src/models/PasswordToken.js +9 -5
- package/dist/src/models/PasswordToken.js.map +1 -1
- package/dist/src/models/PayconiqPayment.js +12 -14
- package/dist/src/models/PayconiqPayment.js.map +1 -1
- package/dist/src/models/Payment.d.ts.map +1 -1
- package/dist/src/models/Payment.js +41 -35
- package/dist/src/models/Payment.js.map +1 -1
- package/dist/src/models/Platform.js +8 -10
- package/dist/src/models/Platform.js.map +1 -1
- package/dist/src/models/RegisterCode.js +12 -9
- package/dist/src/models/RegisterCode.js.map +1 -1
- package/dist/src/models/Registration.d.ts.map +1 -1
- package/dist/src/models/Registration.js +65 -80
- package/dist/src/models/Registration.js.map +1 -1
- package/dist/src/models/RegistrationPeriod.js +11 -9
- package/dist/src/models/RegistrationPeriod.js.map +1 -1
- package/dist/src/models/STCredit.js +11 -7
- package/dist/src/models/STCredit.js.map +1 -1
- package/dist/src/models/STInvoice.js +45 -45
- package/dist/src/models/STInvoice.js.map +1 -1
- package/dist/src/models/STPackage.d.ts.map +1 -1
- package/dist/src/models/STPackage.js +58 -62
- package/dist/src/models/STPackage.js.map +1 -1
- package/dist/src/models/STPendingInvoice.js +17 -16
- package/dist/src/models/STPendingInvoice.js.map +1 -1
- package/dist/src/models/StripeAccount.js +15 -14
- package/dist/src/models/StripeAccount.js.map +1 -1
- package/dist/src/models/StripeCheckoutSession.js +10 -10
- package/dist/src/models/StripeCheckoutSession.js.map +1 -1
- package/dist/src/models/StripePaymentIntent.js +10 -10
- package/dist/src/models/StripePaymentIntent.js.map +1 -1
- package/dist/src/models/Ticket.js +46 -32
- package/dist/src/models/Ticket.js.map +1 -1
- package/dist/src/models/Token.js +12 -5
- package/dist/src/models/Token.js.map +1 -1
- package/dist/src/models/UsedRegisterCode.js +15 -11
- package/dist/src/models/UsedRegisterCode.js.map +1 -1
- package/dist/src/models/User.d.ts +2 -1
- package/dist/src/models/User.d.ts.map +1 -1
- package/dist/src/models/User.js +51 -29
- package/dist/src/models/User.js.map +1 -1
- package/dist/src/models/UserPermissions.js +11 -8
- package/dist/src/models/UserPermissions.js.map +1 -1
- package/dist/src/models/Webshop.js +41 -37
- package/dist/src/models/Webshop.js.map +1 -1
- package/dist/src/models/WebshopDiscountCode.js +13 -9
- package/dist/src/models/WebshopDiscountCode.js.map +1 -1
- package/dist/src/models/addresses/City.js +9 -8
- package/dist/src/models/addresses/City.js.map +1 -1
- package/dist/src/models/addresses/PostalCode.js +7 -3
- package/dist/src/models/addresses/PostalCode.js.map +1 -1
- package/dist/src/models/addresses/Province.js +5 -2
- package/dist/src/models/addresses/Province.js.map +1 -1
- package/dist/src/models/addresses/Street.js +6 -3
- package/dist/src/models/addresses/Street.js.map +1 -1
- package/dist/src/structures/OrganizationServerMetaData.js +30 -27
- package/dist/src/structures/OrganizationServerMetaData.js.map +1 -1
- package/package.json +6 -3
- package/src/helpers/EmailBuilder.ts +95 -17
- package/src/helpers/RateLimiter.ts +1 -0
- package/src/index.ts +1 -1
- package/src/models/Email.ts +9 -11
- package/src/models/EmailTemplate.ts +20 -1
- package/src/models/Member.ts +5 -7
- package/src/models/Order.ts +11 -21
- package/src/models/Organization.ts +17 -26
- package/src/models/Payment.ts +1 -0
- package/src/models/Registration.ts +17 -45
- package/src/models/STPackage.ts +8 -16
- package/src/models/User.ts +24 -1
|
@@ -6,11 +6,18 @@ const structures_1 = require("@stamhoofd/structures");
|
|
|
6
6
|
const Group_1 = require("../models/Group");
|
|
7
7
|
const OrganizationFactory_1 = require("./OrganizationFactory");
|
|
8
8
|
class Options {
|
|
9
|
+
organization;
|
|
10
|
+
price;
|
|
11
|
+
reducedPrice;
|
|
12
|
+
delayDate;
|
|
13
|
+
delayPrice;
|
|
14
|
+
delayReducedPrice;
|
|
15
|
+
skipCategory;
|
|
16
|
+
permissions;
|
|
9
17
|
}
|
|
10
18
|
class GroupFactory extends simple_database_1.Factory {
|
|
11
19
|
async create() {
|
|
12
|
-
|
|
13
|
-
const organization = (_a = this.options.organization) !== null && _a !== void 0 ? _a : await new OrganizationFactory_1.OrganizationFactory({}).create();
|
|
20
|
+
const organization = this.options.organization ?? await new OrganizationFactory_1.OrganizationFactory({}).create();
|
|
14
21
|
const group = new Group_1.Group();
|
|
15
22
|
group.organizationId = organization.id;
|
|
16
23
|
group.periodId = organization.periodId;
|
|
@@ -23,18 +30,18 @@ class GroupFactory extends simple_database_1.Factory {
|
|
|
23
30
|
oldPrices: [
|
|
24
31
|
structures_1.OldGroupPrices.create({
|
|
25
32
|
prices: [structures_1.OldGroupPrice.create({
|
|
26
|
-
price:
|
|
27
|
-
reducedPrice:
|
|
33
|
+
price: this.options.price ?? 400,
|
|
34
|
+
reducedPrice: this.options.reducedPrice ?? null
|
|
28
35
|
})],
|
|
29
36
|
})
|
|
30
37
|
],
|
|
31
38
|
});
|
|
32
39
|
if (this.options.delayPrice !== undefined) {
|
|
33
40
|
group.settings.oldPrices.push(structures_1.OldGroupPrices.create({
|
|
34
|
-
startDate:
|
|
41
|
+
startDate: this.options.delayDate ?? new Date(),
|
|
35
42
|
prices: [structures_1.OldGroupPrice.create({
|
|
36
43
|
price: this.options.delayPrice,
|
|
37
|
-
reducedPrice:
|
|
44
|
+
reducedPrice: this.options.delayReducedPrice ?? null
|
|
38
45
|
})],
|
|
39
46
|
}));
|
|
40
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupFactory.js","sourceRoot":"","sources":["../../../src/factories/GroupFactory.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AACtD,sDAAsH;AAEtH,2CAAwC;AAExC,+DAA4D;AAE5D,MAAM,OAAO;
|
|
1
|
+
{"version":3,"file":"GroupFactory.js","sourceRoot":"","sources":["../../../src/factories/GroupFactory.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AACtD,sDAAsH;AAEtH,2CAAwC;AAExC,+DAA4D;AAE5D,MAAM,OAAO;IACT,YAAY,CAAgB;IAC5B,KAAK,CAAU;IACf,YAAY,CAAS;IAErB,SAAS,CAAO;IAChB,UAAU,CAAS;IACnB,iBAAiB,CAAS;IAC1B,YAAY,CAAU;IACtB,WAAW,CAAoB;CAClC;AAED,MAAa,YAAa,SAAQ,yBAAuB;IACrD,KAAK,CAAC,MAAM;QACR,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM,IAAI,yCAAmB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAA;QAE5F,MAAM,KAAK,GAAG,IAAI,aAAK,EAAE,CAAA;QACzB,KAAK,CAAC,cAAc,GAAG,YAAY,CAAC,EAAE,CAAA;QACtC,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAA;QACtC,KAAK,CAAC,QAAQ,GAAG,0BAAa,CAAC,MAAM,CAAC;YAClC,IAAI,EAAE,YAAY;YAClB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YACrD,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YACnD,qBAAqB,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YACjE,mBAAmB,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YAC/D,SAAS,EAAE;gBACP,2BAAc,CAAC,MAAM,CAAC;oBAClB,MAAM,EAAE,CAAC,0BAAa,CAAC,MAAM,CAAC;4BAC1B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG;4BAChC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI;yBAClD,CAAC,CAAC;iBACN,CAAC;aACL;SACJ,CAAC,CAAA;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACxC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,2BAAc,CAAC,MAAM,CAAC;gBAChD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE;gBAC/C,MAAM,EAAE,CAAC,0BAAa,CAAC,MAAM,CAAC;wBAC1B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;wBAC9B,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI;qBACvD,CAAC,CAAC;aACN,CAAC,CAAC,CAAA;QACP,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC3B,KAAK,CAAC,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;QAChE,CAAC;QAED,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAElB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,YAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACvD,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;QAC7B,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA9CD,oCA8CC"}
|
|
@@ -9,14 +9,20 @@ const EmergencyContactFactory_1 = require("./EmergencyContactFactory");
|
|
|
9
9
|
const OrganizationFactory_1 = require("./OrganizationFactory");
|
|
10
10
|
const ParentFactory_1 = require("./ParentFactory");
|
|
11
11
|
class Options {
|
|
12
|
+
organization;
|
|
13
|
+
user;
|
|
14
|
+
/// In order to add something to the keychain, we need the private key of the user (since everything needs to be signed)
|
|
15
|
+
userPrivateKey;
|
|
16
|
+
minAge;
|
|
17
|
+
maxAge;
|
|
12
18
|
}
|
|
13
19
|
class MemberFactory extends simple_database_1.Factory {
|
|
14
20
|
async create() {
|
|
15
|
-
|
|
16
|
-
|
|
21
|
+
const organization = this.options.organization
|
|
22
|
+
?? await new OrganizationFactory_1.OrganizationFactory({}).create();
|
|
17
23
|
const memberDetails = new structures_1.MemberDetails();
|
|
18
|
-
const minAge = (
|
|
19
|
-
const maxAge =
|
|
24
|
+
const minAge = (this.options.minAge ?? 6);
|
|
25
|
+
const maxAge = this.options.maxAge ?? 18;
|
|
20
26
|
memberDetails.gender = Math.random() >= 0.05 ? (Math.random() >= 0.5 ? structures_1.Gender.Male : structures_1.Gender.Female) : structures_1.Gender.Other;
|
|
21
27
|
memberDetails.firstName = this.randomFirstName(memberDetails.gender);
|
|
22
28
|
memberDetails.birthDay = new Date(new Date().getFullYear() -
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemberFactory.js","sourceRoot":"","sources":["../../../src/factories/MemberFactory.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AACtD,sDAA0E;AAC1E,gDAA+C;AAE/C,6CAAmE;AAGnE,uEAAoE;AACpE,+DAA4D;AAC5D,mDAAgD;AAEhD,MAAM,OAAO;
|
|
1
|
+
{"version":3,"file":"MemberFactory.js","sourceRoot":"","sources":["../../../src/factories/MemberFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,16 +6,21 @@ const structures_1 = require("@stamhoofd/structures");
|
|
|
6
6
|
const utility_1 = require("@stamhoofd/utility");
|
|
7
7
|
const Organization_1 = require("../models/Organization");
|
|
8
8
|
class Options {
|
|
9
|
+
uri;
|
|
10
|
+
domain;
|
|
11
|
+
meta;
|
|
12
|
+
name;
|
|
13
|
+
city;
|
|
14
|
+
roles;
|
|
9
15
|
}
|
|
10
16
|
class OrganizationFactory extends simple_database_1.Factory {
|
|
11
17
|
async create() {
|
|
12
|
-
var _a, _b, _c, _d, _e;
|
|
13
18
|
const organization = new Organization_1.Organization();
|
|
14
|
-
organization.name =
|
|
19
|
+
organization.name = this.options.name ?? "Organization " + (new Date().getTime() + Math.floor(Math.random() * 999999));
|
|
15
20
|
organization.website = "https://domain.com";
|
|
16
|
-
organization.registerDomain =
|
|
17
|
-
organization.uri =
|
|
18
|
-
organization.meta =
|
|
21
|
+
organization.registerDomain = this.options.domain ?? null;
|
|
22
|
+
organization.uri = this.options.uri ?? utility_1.Formatter.slug(organization.name);
|
|
23
|
+
organization.meta = this.options.meta ?? structures_1.OrganizationMetaData.create({
|
|
19
24
|
type: this.randomEnum(structures_1.OrganizationType),
|
|
20
25
|
umbrellaOrganization: null,
|
|
21
26
|
defaultEndDate: new Date(),
|
|
@@ -25,7 +30,7 @@ class OrganizationFactory extends simple_database_1.Factory {
|
|
|
25
30
|
organization.address = structures_1.Address.create({
|
|
26
31
|
street: "Demostraat",
|
|
27
32
|
number: "12",
|
|
28
|
-
city:
|
|
33
|
+
city: this.options.city ?? "Gent",
|
|
29
34
|
postalCode: "9000",
|
|
30
35
|
country: structures_1.Country.Belgium
|
|
31
36
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrganizationFactory.js","sourceRoot":"","sources":["../../../src/factories/OrganizationFactory.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AACtD,sDAAuH;AACvH,gDAA+C;AAE/C,yDAAsD;AAEtD,MAAM,OAAO;
|
|
1
|
+
{"version":3,"file":"OrganizationFactory.js","sourceRoot":"","sources":["../../../src/factories/OrganizationFactory.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AACtD,sDAAuH;AACvH,gDAA+C;AAE/C,yDAAsD;AAEtD,MAAM,OAAO;IACT,GAAG,CAAU;IACb,MAAM,CAAU;IAChB,IAAI,CAAwB;IAC5B,IAAI,CAAU;IACd,IAAI,CAAU;IACd,KAAK,CAA4B;CACpC;AAED,MAAa,mBAAoB,SAAQ,yBAA8B;IACnE,KAAK,CAAC,MAAM;QACR,MAAM,YAAY,GAAG,IAAI,2BAAY,EAAE,CAAC;QACxC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QACvH,YAAY,CAAC,OAAO,GAAG,oBAAoB,CAAC;QAC5C,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QAC1D,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,mBAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACzE,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,iCAAoB,CAAC,MAAM,CAAC;YACjE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,6BAAgB,CAAC;YACvC,oBAAoB,EAAE,IAAI;YAC1B,cAAc,EAAE,IAAI,IAAI,EAAE;YAC1B,gBAAgB,EAAE,IAAI,IAAI,EAAE;YAC5B,aAAa,EAAE,EAAE;SACpB,CAAC,CAAC;QACH,YAAY,CAAC,OAAO,GAAG,oBAAO,CAAC,MAAM,CAAC;YAClC,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM;YACjC,UAAU,EAAE,MAAM;YAClB,OAAO,EAAE,oBAAO,CAAC,OAAO;SAC3B,CAAC,CAAA;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,YAAY,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACxD,CAAC;QAED,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ;AA7BD,kDA6BC"}
|
|
@@ -7,12 +7,11 @@ const utility_1 = require("@stamhoofd/utility");
|
|
|
7
7
|
const AddressFactory_1 = require("./AddressFactory");
|
|
8
8
|
class ParentFactory extends simple_database_1.Factory {
|
|
9
9
|
async create() {
|
|
10
|
-
var _a, _b;
|
|
11
10
|
const parent = new structures_1.Parent();
|
|
12
|
-
parent.type =
|
|
11
|
+
parent.type = this.options.type ?? this.randomArray([structures_1.ParentType.Mother, structures_1.ParentType.Father, structures_1.ParentType.Stepfather, structures_1.ParentType.Stepmother, structures_1.ParentType.Other]);
|
|
13
12
|
if (parent.type == structures_1.ParentType.Other) {
|
|
14
13
|
// Second spin
|
|
15
|
-
parent.type =
|
|
14
|
+
parent.type = this.options.type ?? this.randomArray([structures_1.ParentType.Mother, structures_1.ParentType.Father, structures_1.ParentType.Stepfather, structures_1.ParentType.Stepmother, structures_1.ParentType.Other]);
|
|
16
15
|
}
|
|
17
16
|
parent.firstName = this.randomFirstName(parent.type == structures_1.ParentType.Mother ? structures_1.Gender.Female : structures_1.Gender.Male);
|
|
18
17
|
parent.lastName = this.randomLastName();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParentFactory.js","sourceRoot":"","sources":["../../../src/factories/ParentFactory.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AACtD,sDAAmE;AACnE,gDAA+C;AAE/C,qDAAkD;AAMlD,MAAa,aAAc,SAAQ,yBAAwB;IACvD,KAAK,CAAC,MAAM
|
|
1
|
+
{"version":3,"file":"ParentFactory.js","sourceRoot":"","sources":["../../../src/factories/ParentFactory.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AACtD,sDAAmE;AACnE,gDAA+C;AAE/C,qDAAkD;AAMlD,MAAa,aAAc,SAAQ,yBAAwB;IACvD,KAAK,CAAC,MAAM;QACR,MAAM,MAAM,GAAG,IAAI,mBAAM,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,uBAAU,CAAC,MAAM,EAAE,uBAAU,CAAC,MAAM,EAAE,uBAAU,CAAC,UAAU,EAAE,uBAAU,CAAC,UAAU,EAAE,uBAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5J,IAAI,MAAM,CAAC,IAAI,IAAI,uBAAU,CAAC,KAAK,EAAE,CAAC;YAClC,cAAc;YACd,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,uBAAU,CAAC,MAAM,EAAE,uBAAU,CAAC,MAAM,EAAE,uBAAU,CAAC,UAAU,EAAE,uBAAU,CAAC,UAAU,EAAE,uBAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAChK,CAAC;QAED,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,IAAI,uBAAU,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAM,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAM,CAAC,IAAI,CAAC,CAAC;QACxG,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAExC,MAAM,CAAC,OAAO,GAAG,MAAM,IAAI,+BAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACvD,MAAM,CAAC,KAAK;YACR,QAAQ;gBACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;gBAC9B,GAAG;gBACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;gBAC9B,GAAG;gBACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;gBAC9B,GAAG;gBACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAEnC,MAAM,CAAC,KAAK;YACR,mBAAS,CAAC,SAAS,CACf,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3F,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CACjD;gBACD,GAAG;gBACH,IAAI,CAAC,WAAW,CAAC;oBACb,gBAAgB;iBACnB,CAAC,CAAC;QACP,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAtCD,sCAsCC"}
|
|
@@ -4,6 +4,7 @@ exports.RecordFactory = void 0;
|
|
|
4
4
|
const simple_database_1 = require("@simonbackx/simple-database");
|
|
5
5
|
const structures_1 = require("@stamhoofd/structures");
|
|
6
6
|
class RecordFactory extends simple_database_1.Factory {
|
|
7
|
+
LegacyRecordLegacyRecord;
|
|
7
8
|
create() {
|
|
8
9
|
return Promise.resolve(structures_1.LegacyRecord.create({
|
|
9
10
|
type: this.randomArray(Object.values(structures_1.LegacyRecordType))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordFactory.js","sourceRoot":"","sources":["../../../src/factories/RecordFactory.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AACtD,sDAAuE;AAIvE,MAAa,aAAc,SAAQ,yBAA8B;
|
|
1
|
+
{"version":3,"file":"RecordFactory.js","sourceRoot":"","sources":["../../../src/factories/RecordFactory.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AACtD,sDAAuE;AAIvE,MAAa,aAAc,SAAQ,yBAA8B;IAAE,wBAAwB,CAAA;IACvF,MAAM;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,yBAAY,CAAC,MAAM,CAAC;YACvC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,6BAAgB,CAAC,CAAC;SAC1D,CAAC,CAAC,CAAC;IACR,CAAC;CACJ;AAND,sCAMC"}
|
|
@@ -5,11 +5,10 @@ const simple_database_1 = require("@simonbackx/simple-database");
|
|
|
5
5
|
const models_1 = require("../models");
|
|
6
6
|
class RegisterCodeFactory extends simple_database_1.Factory {
|
|
7
7
|
async create() {
|
|
8
|
-
var _a, _b;
|
|
9
8
|
const code = new models_1.RegisterCode();
|
|
10
9
|
code.organizationId = "organizationId" in this.options ? this.options.organizationId : this.options.organization.id;
|
|
11
|
-
code.value =
|
|
12
|
-
code.description =
|
|
10
|
+
code.value = this.options.value ?? (25 * 100);
|
|
11
|
+
code.description = this.options.description ?? "Test code";
|
|
13
12
|
await code.generateCode();
|
|
14
13
|
await code.save();
|
|
15
14
|
return code;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegisterCodeFactory.js","sourceRoot":"","sources":["../../../src/factories/RegisterCodeFactory.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AAEtD,sCAAyC;AAWzC,MAAa,mBAAoB,SAAQ,yBAA8B;IACnE,KAAK,CAAC,MAAM
|
|
1
|
+
{"version":3,"file":"RegisterCodeFactory.js","sourceRoot":"","sources":["../../../src/factories/RegisterCodeFactory.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AAEtD,sCAAyC;AAWzC,MAAa,mBAAoB,SAAQ,yBAA8B;IACnE,KAAK,CAAC,MAAM;QACR,MAAM,IAAI,GAAG,IAAI,qBAAY,EAAE,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACpH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC;QAE3D,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAXD,kDAWC"}
|
|
@@ -4,6 +4,8 @@ exports.RegistrationFactory = void 0;
|
|
|
4
4
|
const simple_database_1 = require("@simonbackx/simple-database");
|
|
5
5
|
const Registration_1 = require("../models/Registration");
|
|
6
6
|
class Options {
|
|
7
|
+
member;
|
|
8
|
+
group;
|
|
7
9
|
}
|
|
8
10
|
class RegistrationFactory extends simple_database_1.Factory {
|
|
9
11
|
async create() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegistrationFactory.js","sourceRoot":"","sources":["../../../src/factories/RegistrationFactory.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AAItD,yDAAsD;AAEtD,MAAM,OAAO;
|
|
1
|
+
{"version":3,"file":"RegistrationFactory.js","sourceRoot":"","sources":["../../../src/factories/RegistrationFactory.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AAItD,yDAAsD;AAEtD,MAAM,OAAO;IACT,MAAM,CAAS;IACf,KAAK,CAAQ;CAChB;AAED,MAAa,mBAAoB,SAAQ,yBAA8B;IACnE,KAAK,CAAC,MAAM;QACR,MAAM,YAAY,GAAG,IAAI,2BAAY,EAAE,CAAA;QACvC,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAA;QAC9C,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAA;QAC5C,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAA;QACnD,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAA;QAC/D,YAAY,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAA;QACtC,YAAY,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QAE5C,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;QACzB,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ;AAbD,kDAaC"}
|
|
@@ -6,10 +6,20 @@ const structures_1 = require("@stamhoofd/structures");
|
|
|
6
6
|
const User_1 = require("../models/User");
|
|
7
7
|
const OrganizationFactory_1 = require("./OrganizationFactory");
|
|
8
8
|
class Options {
|
|
9
|
+
organization;
|
|
10
|
+
email;
|
|
11
|
+
password;
|
|
12
|
+
firstName;
|
|
13
|
+
lastName;
|
|
14
|
+
/**
|
|
15
|
+
* Default is true
|
|
16
|
+
*/
|
|
17
|
+
verified;
|
|
18
|
+
permissions;
|
|
19
|
+
globalPermissions;
|
|
9
20
|
}
|
|
10
21
|
class UserFactory extends simple_database_1.Factory {
|
|
11
22
|
async create() {
|
|
12
|
-
var _a, _b, _c, _d;
|
|
13
23
|
let organization;
|
|
14
24
|
if (!this.options.organization) {
|
|
15
25
|
const organizationFactory = new OrganizationFactory_1.OrganizationFactory({});
|
|
@@ -18,8 +28,8 @@ class UserFactory extends simple_database_1.Factory {
|
|
|
18
28
|
else {
|
|
19
29
|
organization = this.options.organization;
|
|
20
30
|
}
|
|
21
|
-
const email =
|
|
22
|
-
const password =
|
|
31
|
+
const email = this.options.email ?? "generated-email-" + this.randomString(20) + "@domain.com";
|
|
32
|
+
const password = this.options.password ?? this.randomString(20);
|
|
23
33
|
const user = await User_1.User.register(organization, structures_1.NewUser.create({
|
|
24
34
|
email,
|
|
25
35
|
organizationId: organization.id,
|
|
@@ -38,8 +48,8 @@ class UserFactory extends simple_database_1.Factory {
|
|
|
38
48
|
}
|
|
39
49
|
user.permissions.globalPermissions = this.options.globalPermissions;
|
|
40
50
|
}
|
|
41
|
-
user.firstName =
|
|
42
|
-
user.lastName =
|
|
51
|
+
user.firstName = this.options.firstName ?? null;
|
|
52
|
+
user.lastName = this.options.lastName ?? null;
|
|
43
53
|
if (this.options.verified === undefined || this.options.verified === true) {
|
|
44
54
|
user.verified = true;
|
|
45
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserFactory.js","sourceRoot":"","sources":["../../../src/factories/UserFactory.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AACtD,sDAA8E;AAG9E,yCAAsC;AACtC,+DAA4D;AAE5D,MAAM,OAAO;
|
|
1
|
+
{"version":3,"file":"UserFactory.js","sourceRoot":"","sources":["../../../src/factories/UserFactory.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AACtD,sDAA8E;AAG9E,yCAAsC;AACtC,+DAA4D;AAE5D,MAAM,OAAO;IACT,YAAY,CAAgB;IAC5B,KAAK,CAAU;IACf,QAAQ,CAAU;IAClB,SAAS,CAAU;IACnB,QAAQ,CAAU;IAClB;;OAEG;IACH,QAAQ,CAAW;IACnB,WAAW,CAAqB;IAChC,iBAAiB,CAAqB;CACzC;AAED,MAAa,WAAY,SAAQ,yBAAsB;IACnD,KAAK,CAAC,MAAM;QACR,IAAI,YAA0B,CAAA;QAE9B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC7B,MAAM,mBAAmB,GAAG,IAAI,yCAAmB,CAAC,EAAE,CAAC,CAAA;YACvD,YAAY,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,CAAA;QACrD,CAAC;aAAM,CAAC;YACJ,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAA;QAC5C,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC;QAC/F,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAEhE,MAAM,IAAI,GAAG,MAAM,WAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,oBAAO,CAAC,MAAM,CAAC;YAC1D,KAAK;YACL,cAAc,EAAE,YAAY,CAAC,EAAE;YAC/B,QAAQ;SACX,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,4BAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC7C,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAC3F,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpB,IAAI,CAAC,WAAW,GAAG,4BAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACjD,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAA;QACvE,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;QAE9C,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACxE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA5CD,kCA4CC"}
|
|
@@ -7,15 +7,19 @@ const utility_1 = require("@stamhoofd/utility");
|
|
|
7
7
|
const models_1 = require("../models");
|
|
8
8
|
const OrganizationFactory_1 = require("./OrganizationFactory");
|
|
9
9
|
class Options {
|
|
10
|
+
organizationId;
|
|
11
|
+
name;
|
|
12
|
+
meta;
|
|
13
|
+
privateMeta;
|
|
14
|
+
products;
|
|
10
15
|
}
|
|
11
16
|
class WebshopFactory extends simple_database_1.Factory {
|
|
12
17
|
async create() {
|
|
13
|
-
|
|
14
|
-
const organizationId = (_a = this.options.organizationId) !== null && _a !== void 0 ? _a : (await new OrganizationFactory_1.OrganizationFactory({}).create()).id;
|
|
18
|
+
const organizationId = this.options.organizationId ?? (await new OrganizationFactory_1.OrganizationFactory({}).create()).id;
|
|
15
19
|
const webshop = new models_1.Webshop();
|
|
16
20
|
webshop.organizationId = organizationId;
|
|
17
21
|
webshop.meta = structures_1.WebshopMetaData.create({
|
|
18
|
-
name:
|
|
22
|
+
name: this.options?.name ?? ("Webshop " + (new Date().getTime() + Math.floor(Math.random() * 999999)))
|
|
19
23
|
});
|
|
20
24
|
webshop.uri = utility_1.Formatter.slug(this.randomString(20));
|
|
21
25
|
if (this.options.meta) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebshopFactory.js","sourceRoot":"","sources":["../../../src/factories/WebshopFactory.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AAEtD,sDAAyF;AACzF,gDAA+C;AAE/C,sCAAoC;AACpC,+DAA4D;AAE5D,MAAM,OAAO;
|
|
1
|
+
{"version":3,"file":"WebshopFactory.js","sourceRoot":"","sources":["../../../src/factories/WebshopFactory.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AAEtD,sDAAyF;AACzF,gDAA+C;AAE/C,sCAAoC;AACpC,+DAA4D;AAE5D,MAAM,OAAO;IACT,cAAc,CAAS;IACvB,IAAI,CAAS;IACb,IAAI,CAAwD;IAC5D,WAAW,CAAsE;IACjF,QAAQ,CAAY;CACvB;AAED,MAAa,cAAe,SAAQ,yBAAyB;IACzD,KAAK,CAAC,MAAM;QACR,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,MAAM,IAAI,yCAAmB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;QAEtG,MAAM,OAAO,GAAG,IAAI,gBAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC;QACxC,OAAO,CAAC,IAAI,GAAG,4BAAe,CAAC,MAAM,CAAC;YAClC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;SACzG,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,GAAG,mBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC3B,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACxB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC7C,CAAC;QAED,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AA1BD,wCA0BC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateDNSRecords =
|
|
3
|
+
exports.validateDNSRecords = validateDNSRecords;
|
|
4
4
|
const simple_errors_1 = require("@simonbackx/simple-errors");
|
|
5
5
|
const structures_1 = require("@stamhoofd/structures");
|
|
6
6
|
const utility_1 = require("@stamhoofd/utility");
|
|
@@ -140,5 +140,4 @@ async function validateDNSRecords(dnsRecords, didRetry = false) {
|
|
|
140
140
|
allValid
|
|
141
141
|
};
|
|
142
142
|
}
|
|
143
|
-
exports.validateDNSRecords = validateDNSRecords;
|
|
144
143
|
//# sourceMappingURL=DNSValidator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DNSValidator.js","sourceRoot":"","sources":["../../../src/helpers/DNSValidator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DNSValidator.js","sourceRoot":"","sources":["../../../src/helpers/DNSValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,23 @@
|
|
|
1
1
|
import { EmailBuilder } from "@stamhoofd/email";
|
|
2
|
-
import { Recipient, Replacement } from "@stamhoofd/structures";
|
|
3
|
-
import { Organization } from "../models";
|
|
4
|
-
export
|
|
2
|
+
import { EmailTemplateType, Recipient, Replacement } from "@stamhoofd/structures";
|
|
3
|
+
import { EmailTemplate, Organization } from "../models";
|
|
4
|
+
export type EmailTemplateOptions = {
|
|
5
|
+
type: EmailTemplateType;
|
|
6
|
+
webshopId?: string | null;
|
|
7
|
+
groupId?: string | null;
|
|
8
|
+
organizationId?: string | null;
|
|
9
|
+
};
|
|
10
|
+
export declare function getEmailTemplate(data: EmailTemplateOptions): Promise<EmailTemplate | undefined>;
|
|
11
|
+
export declare function getEmailBuilderForTemplate(organization: Organization | null, options: Omit<EmailBuilderOptions, "subject" | "html"> & {
|
|
12
|
+
template: Omit<EmailTemplateOptions, "organizationId">;
|
|
13
|
+
}): Promise<EmailBuilder | undefined>;
|
|
14
|
+
export type EmailBuilderOptions = {
|
|
5
15
|
defaultReplacements?: Replacement[];
|
|
6
16
|
recipients: Recipient[];
|
|
7
17
|
from: string;
|
|
8
18
|
replyTo?: string | null;
|
|
9
19
|
subject: string;
|
|
10
|
-
html: string
|
|
20
|
+
html: string;
|
|
11
21
|
attachments?: {
|
|
12
22
|
filename: string;
|
|
13
23
|
content: string;
|
|
@@ -18,6 +28,14 @@ export declare function getEmailBuilder(organization: Organization | null, email
|
|
|
18
28
|
unsubscribeType?: 'all' | 'marketing';
|
|
19
29
|
fromStamhoofd?: boolean;
|
|
20
30
|
singleBcc?: string;
|
|
31
|
+
replaceAll?: {
|
|
32
|
+
from: string;
|
|
33
|
+
to: string;
|
|
34
|
+
}[];
|
|
21
35
|
callback?: (error: Error | null) => void;
|
|
22
|
-
}
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* @param organization defines replacements and unsubsribe behaviour
|
|
39
|
+
*/
|
|
40
|
+
export declare function getEmailBuilder(organization: Organization | null, email: EmailBuilderOptions): Promise<EmailBuilder>;
|
|
23
41
|
//# sourceMappingURL=EmailBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailBuilder.d.ts","sourceRoot":"","sources":["../../../src/helpers/EmailBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"EmailBuilder.d.ts","sourceRoot":"","sources":["../../../src/helpers/EmailBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIlF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAC;AAExE,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC,CAAA;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,sCA+ChE;AAGD,wBAAsB,0BAA0B,CAAC,YAAY,EAAE,YAAY,GAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,MAAM,CAAC,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAA;CAAE,qCAepM;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC;IACpC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAC,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,QAAQ,EAAE,MAAM,CAAC;KACpB,EAAE,CAAC;IACJ,IAAI,CAAC,EAAE,eAAe,GAAG,WAAW,CAAC;IACrC,eAAe,CAAC,EAAE,KAAK,GAAC,WAAW,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;IAC1C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAC,IAAI,KAAK,IAAI,CAAC;CAC1C,CAAA;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,YAAY,EAAE,YAAY,GAAC,IAAI,EAAE,KAAK,EAAE,mBAAmB,yBAkHhG"}
|
|
@@ -1,13 +1,71 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getEmailTemplate = getEmailTemplate;
|
|
4
|
+
exports.getEmailBuilderForTemplate = getEmailBuilderForTemplate;
|
|
5
|
+
exports.getEmailBuilder = getEmailBuilder;
|
|
4
6
|
const email_1 = require("@stamhoofd/email");
|
|
5
7
|
const structures_1 = require("@stamhoofd/structures");
|
|
6
8
|
const utility_1 = require("@stamhoofd/utility");
|
|
7
|
-
const models_1 = require("../models");
|
|
8
9
|
const simple_errors_1 = require("@simonbackx/simple-errors");
|
|
10
|
+
const models_1 = require("../models");
|
|
11
|
+
async function getEmailTemplate(data) {
|
|
12
|
+
// Most specific template: for specific group
|
|
13
|
+
const q = models_1.EmailTemplate.select()
|
|
14
|
+
.where('type', data.type);
|
|
15
|
+
if (data.groupId) {
|
|
16
|
+
q.where('groupId', data.groupId);
|
|
17
|
+
}
|
|
18
|
+
if (data.organizationId) {
|
|
19
|
+
q.where('organizationId', data.organizationId);
|
|
20
|
+
}
|
|
21
|
+
if (data.webshopId) {
|
|
22
|
+
q.where('webshopId', data.webshopId);
|
|
23
|
+
}
|
|
24
|
+
let templates = await q.limit(1).fetch();
|
|
25
|
+
// Specific for organization
|
|
26
|
+
if (templates.length == 0 && (data.groupId || data.webshopId) && data.organizationId) {
|
|
27
|
+
templates = await models_1.EmailTemplate.select()
|
|
28
|
+
.where('type', data.type)
|
|
29
|
+
.where('organizationId', data.organizationId)
|
|
30
|
+
.where('groupId', null)
|
|
31
|
+
.where('webshopId', null)
|
|
32
|
+
.limit(1)
|
|
33
|
+
.fetch();
|
|
34
|
+
}
|
|
35
|
+
// Default for platform
|
|
36
|
+
if (templates.length == 0 && (data.groupId || data.webshopId || data.organizationId)) {
|
|
37
|
+
templates = await models_1.EmailTemplate.select()
|
|
38
|
+
.where('type', data.type)
|
|
39
|
+
.where('organizationId', null)
|
|
40
|
+
.where('groupId', null)
|
|
41
|
+
.where('webshopId', null)
|
|
42
|
+
.limit(1)
|
|
43
|
+
.fetch();
|
|
44
|
+
}
|
|
45
|
+
if (templates.length == 0) {
|
|
46
|
+
console.error("Could not find email template for type " + data.type);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
return templates[0];
|
|
50
|
+
}
|
|
51
|
+
async function getEmailBuilderForTemplate(organization, options) {
|
|
52
|
+
const template = await getEmailTemplate({
|
|
53
|
+
...options.template,
|
|
54
|
+
organizationId: organization?.id ?? null
|
|
55
|
+
});
|
|
56
|
+
if (!template) {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
return await getEmailBuilder(organization, {
|
|
60
|
+
...options,
|
|
61
|
+
subject: template.subject,
|
|
62
|
+
html: template.html
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* @param organization defines replacements and unsubsribe behaviour
|
|
67
|
+
*/
|
|
9
68
|
async function getEmailBuilder(organization, email) {
|
|
10
|
-
var _a, _b;
|
|
11
69
|
const platform = await models_1.Platform.getSharedStruct();
|
|
12
70
|
// Update recipients
|
|
13
71
|
const cleaned = [];
|
|
@@ -26,7 +84,7 @@ async function getEmailBuilder(organization, email) {
|
|
|
26
84
|
}
|
|
27
85
|
recipient.replacements.push(structures_1.Replacement.create({
|
|
28
86
|
token: "unsubscribeUrl",
|
|
29
|
-
value: "https://" + STAMHOOFD.domains.dashboard + "/" + (organization ? (organization.i18n.locale + '/') : '') + "unsubscribe?id=" + encodeURIComponent(unsubscribe.id) + "&token=" + encodeURIComponent(unsubscribe.token) + "&type=" + encodeURIComponent(
|
|
87
|
+
value: "https://" + STAMHOOFD.domains.dashboard + "/" + (organization ? (organization.i18n.locale + '/') : '') + "unsubscribe?id=" + encodeURIComponent(unsubscribe.id) + "&token=" + encodeURIComponent(unsubscribe.token) + "&type=" + encodeURIComponent(email.unsubscribeType ?? 'all')
|
|
30
88
|
}));
|
|
31
89
|
// Override headers
|
|
32
90
|
recipient.headers = {
|
|
@@ -45,7 +103,7 @@ async function getEmailBuilder(organization, email) {
|
|
|
45
103
|
recipient.replacements = recipient.replacements.slice();
|
|
46
104
|
// Default signInUrl
|
|
47
105
|
let signInUrl = "https://" + (organization && STAMHOOFD.userMode === 'organization' ? organization.getHost() : STAMHOOFD.domains.dashboard) + "/login?email=" + encodeURIComponent(recipient.email);
|
|
48
|
-
const recipientUser = await models_1.User.getForAuthentication(
|
|
106
|
+
const recipientUser = await models_1.User.getForAuthentication(organization?.id ?? null, recipient.email);
|
|
49
107
|
if (!recipientUser) {
|
|
50
108
|
// We can create a special token
|
|
51
109
|
signInUrl = "https://" + (organization && STAMHOOFD.userMode === 'organization' ? organization.getHost() : STAMHOOFD.domains.dashboard) + "/account-aanmaken?email=" + encodeURIComponent(recipient.email);
|
|
@@ -61,46 +119,41 @@ async function getEmailBuilder(organization, email) {
|
|
|
61
119
|
const extra = organization.meta.getEmailReplacements();
|
|
62
120
|
recipient.replacements.push(...extra);
|
|
63
121
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
122
|
+
// Defaults
|
|
123
|
+
const extra = platform.config.getEmailReplacements();
|
|
124
|
+
recipient.replacements.push(...extra);
|
|
68
125
|
}
|
|
69
126
|
const queue = email.recipients.slice();
|
|
70
127
|
let emailIndex = 0;
|
|
128
|
+
for (const s of email.replaceAll ?? []) {
|
|
129
|
+
email.html = email.html.replaceAll(s.from, s.to);
|
|
130
|
+
}
|
|
71
131
|
// Create e-mail builder
|
|
72
132
|
const builder = () => {
|
|
73
|
-
var _a, _b, _c, _d;
|
|
74
133
|
const recipient = queue.shift();
|
|
75
134
|
if (!recipient) {
|
|
76
135
|
return undefined;
|
|
77
136
|
}
|
|
78
137
|
let replacedHtml = email.html;
|
|
79
138
|
let replacedSubject = email.subject;
|
|
80
|
-
//let replacedText = email.text
|
|
81
139
|
for (const replacement of recipient.replacements) {
|
|
82
|
-
|
|
83
|
-
replacedHtml = replacedHtml.replaceAll("{{" + replacement.token + "}}", (_a = replacement.html) !== null && _a !== void 0 ? _a : utility_1.Formatter.escapeHtml(replacement.value));
|
|
84
|
-
}
|
|
85
|
-
//if (replacedText) {
|
|
86
|
-
// replacedText = replacedText.replaceAll("{{"+replacement.token+"}}", replacement.value)
|
|
87
|
-
//}
|
|
140
|
+
replacedHtml = replacedHtml.replaceAll("{{" + replacement.token + "}}", replacement.html ?? utility_1.Formatter.escapeHtml(replacement.value));
|
|
88
141
|
replacedSubject = replacedSubject.replaceAll("{{" + replacement.token + "}}", replacement.value);
|
|
89
142
|
}
|
|
90
143
|
emailIndex += 1;
|
|
91
144
|
return {
|
|
92
145
|
from: email.from,
|
|
93
|
-
replyTo:
|
|
146
|
+
replyTo: email.replyTo ?? undefined,
|
|
94
147
|
bcc: emailIndex === 1 ? email.singleBcc : undefined,
|
|
95
148
|
to: [
|
|
96
149
|
{
|
|
97
150
|
// Name will get cleaned by email service
|
|
98
|
-
name: (
|
|
151
|
+
name: (recipient.firstName ?? '') + " " + (recipient.lastName ?? ''),
|
|
99
152
|
email: recipient.email
|
|
100
153
|
}
|
|
101
154
|
],
|
|
102
155
|
subject: replacedSubject,
|
|
103
|
-
html: replacedHtml
|
|
156
|
+
html: replacedHtml ?? undefined,
|
|
104
157
|
attachments: email.attachments,
|
|
105
158
|
headers: recipient.headers,
|
|
106
159
|
type: email.type,
|
|
@@ -109,5 +162,4 @@ async function getEmailBuilder(organization, email) {
|
|
|
109
162
|
};
|
|
110
163
|
return builder;
|
|
111
164
|
}
|
|
112
|
-
exports.getEmailBuilder = getEmailBuilder;
|
|
113
165
|
//# sourceMappingURL=EmailBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailBuilder.js","sourceRoot":"","sources":["../../../src/helpers/EmailBuilder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EmailBuilder.js","sourceRoot":"","sources":["../../../src/helpers/EmailBuilder.ts"],"names":[],"mappings":"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"}
|