@stamhoofd/models 2.39.0 → 2.40.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/AddressFactory.d.ts +3 -4
- package/dist/src/factories/AddressFactory.d.ts.map +1 -1
- package/dist/src/factories/AddressFactory.js +13 -13
- package/dist/src/factories/EmergencyContactFactory.d.ts +3 -4
- package/dist/src/factories/EmergencyContactFactory.d.ts.map +1 -1
- package/dist/src/factories/EmergencyContactFactory.js +27 -27
- package/dist/src/factories/EmergencyContactFactory.js.map +1 -1
- package/dist/src/factories/GroupFactory.d.ts +4 -4
- package/dist/src/factories/GroupFactory.d.ts.map +1 -1
- package/dist/src/factories/GroupFactory.js +8 -8
- package/dist/src/factories/GroupFactory.js.map +1 -1
- package/dist/src/factories/MemberFactory.d.ts +4 -4
- package/dist/src/factories/MemberFactory.d.ts.map +1 -1
- package/dist/src/factories/MemberFactory.js +17 -17
- package/dist/src/factories/MemberFactory.js.map +1 -1
- package/dist/src/factories/OrganizationFactory.d.ts +4 -4
- package/dist/src/factories/OrganizationFactory.js +8 -8
- package/dist/src/factories/OrganizationFactory.js.map +1 -1
- package/dist/src/factories/ParentFactory.d.ts +1 -1
- package/dist/src/factories/ParentFactory.js +19 -19
- package/dist/src/factories/ParentFactory.js.map +1 -1
- package/dist/src/factories/RecordFactory.d.ts +2 -3
- package/dist/src/factories/RecordFactory.d.ts.map +1 -1
- package/dist/src/factories/RecordFactory.js +1 -1
- package/dist/src/factories/RecordFactory.js.map +1 -1
- package/dist/src/factories/RegisterCodeFactory.d.ts +2 -2
- package/dist/src/factories/RegisterCodeFactory.d.ts.map +1 -1
- package/dist/src/factories/RegisterCodeFactory.js +2 -2
- package/dist/src/factories/RegistrationFactory.d.ts +3 -3
- package/dist/src/factories/RegistrationFactory.d.ts.map +1 -1
- package/dist/src/factories/RegistrationFactory.js.map +1 -1
- package/dist/src/factories/RegistrationPeriodFactory.d.ts +2 -2
- package/dist/src/factories/RegistrationPeriodFactory.js.map +1 -1
- package/dist/src/factories/UserFactory.d.ts +3 -3
- package/dist/src/factories/UserFactory.d.ts.map +1 -1
- package/dist/src/factories/UserFactory.js +3 -3
- package/dist/src/factories/UserFactory.js.map +1 -1
- package/dist/src/factories/WebshopFactory.d.ts +4 -4
- package/dist/src/factories/WebshopFactory.d.ts.map +1 -1
- package/dist/src/factories/WebshopFactory.js +1 -1
- package/dist/src/factories/WebshopFactory.js.map +1 -1
- package/dist/src/helpers/DNSValidator.d.ts +1 -1
- package/dist/src/helpers/DNSValidator.d.ts.map +1 -1
- package/dist/src/helpers/DNSValidator.js +33 -33
- package/dist/src/helpers/DNSValidator.js.map +1 -1
- package/dist/src/helpers/EmailBuilder.d.ts +10 -10
- package/dist/src/helpers/EmailBuilder.d.ts.map +1 -1
- package/dist/src/helpers/EmailBuilder.js +34 -34
- package/dist/src/helpers/EmailBuilder.js.map +1 -1
- package/dist/src/helpers/GroupBuilder.d.ts.map +1 -1
- package/dist/src/helpers/GroupBuilder.js +57 -57
- package/dist/src/helpers/GroupBuilder.js.map +1 -1
- package/dist/src/helpers/Handlebars.d.ts.map +1 -1
- package/dist/src/helpers/Handlebars.js +29 -29
- package/dist/src/helpers/Handlebars.js.map +1 -1
- package/dist/src/helpers/MemberMerger.d.ts +1 -1
- package/dist/src/helpers/MemberMerger.d.ts.map +1 -1
- package/dist/src/helpers/MemberMerger.js +33 -33
- package/dist/src/helpers/MemberMerger.js.map +1 -1
- package/dist/src/helpers/MemberMerger.test.js +194 -194
- 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 +2 -2
- package/dist/src/helpers/RateLimiter.js.map +1 -1
- package/dist/src/helpers/SetupStepsUpdater.d.ts +22 -0
- package/dist/src/helpers/SetupStepsUpdater.d.ts.map +1 -0
- package/dist/src/helpers/SetupStepsUpdater.js +255 -0
- package/dist/src/helpers/SetupStepsUpdater.js.map +1 -0
- package/dist/src/helpers/WebshopCounter.d.ts +1 -1
- package/dist/src/helpers/WebshopCounter.d.ts.map +1 -1
- package/dist/src/helpers/WebshopCounter.js +1 -1
- package/dist/src/helpers/WebshopCounter.js.map +1 -1
- package/dist/src/helpers/WebshopCounter.test.js +6 -6
- package/dist/src/helpers/WebshopCounter.test.js.map +1 -1
- package/dist/src/index.d.ts +20 -19
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/migrations/1605262045-import-postcodes.js +12 -12
- package/dist/src/migrations/1605262046-import-postcodes-nl.js +10 -10
- package/dist/src/models/BalanceItem.d.ts.map +1 -1
- package/dist/src/models/BalanceItem.js +37 -37
- package/dist/src/models/BalanceItem.js.map +1 -1
- package/dist/src/models/BalanceItemPayment.d.ts.map +1 -1
- package/dist/src/models/BalanceItemPayment.js +13 -13
- package/dist/src/models/BalanceItemPayment.js.map +1 -1
- package/dist/src/models/BuckarooPayment.d.ts +1 -1
- package/dist/src/models/BuckarooPayment.d.ts.map +1 -1
- package/dist/src/models/BuckarooPayment.js +5 -5
- package/dist/src/models/BuckarooPayment.js.map +1 -1
- package/dist/src/models/CachedOutstandingBalance.d.ts.map +1 -1
- package/dist/src/models/CachedOutstandingBalance.js +37 -37
- package/dist/src/models/CachedOutstandingBalance.js.map +1 -1
- package/dist/src/models/Document.d.ts +4 -4
- package/dist/src/models/Document.d.ts.map +1 -1
- package/dist/src/models/Document.js +27 -27
- package/dist/src/models/Document.js.map +1 -1
- package/dist/src/models/DocumentTemplate.d.ts +4 -4
- package/dist/src/models/DocumentTemplate.d.ts.map +1 -1
- package/dist/src/models/DocumentTemplate.js +72 -72
- 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 +63 -64
- package/dist/src/models/Email.js.map +1 -1
- package/dist/src/models/EmailRecipient.d.ts.map +1 -1
- package/dist/src/models/EmailRecipient.js +20 -20
- package/dist/src/models/EmailRecipient.js.map +1 -1
- package/dist/src/models/EmailTemplate.d.ts +3 -3
- package/dist/src/models/EmailTemplate.d.ts.map +1 -1
- package/dist/src/models/EmailTemplate.js +16 -16
- package/dist/src/models/EmailTemplate.js.map +1 -1
- package/dist/src/models/EmailVerificationCode.d.ts +2 -2
- package/dist/src/models/EmailVerificationCode.d.ts.map +1 -1
- package/dist/src/models/EmailVerificationCode.js +57 -55
- package/dist/src/models/EmailVerificationCode.js.map +1 -1
- package/dist/src/models/Event.d.ts +2 -2
- package/dist/src/models/Event.d.ts.map +1 -1
- package/dist/src/models/Event.js +15 -15
- package/dist/src/models/Event.js.map +1 -1
- package/dist/src/models/Group.d.ts +3 -1
- package/dist/src/models/Group.d.ts.map +1 -1
- package/dist/src/models/Group.js +46 -35
- package/dist/src/models/Group.js.map +1 -1
- package/dist/src/models/Image.d.ts +1 -1
- package/dist/src/models/Image.d.ts.map +1 -1
- package/dist/src/models/Image.js +26 -26
- package/dist/src/models/Image.js.map +1 -1
- package/dist/src/models/Member.d.ts +8 -8
- package/dist/src/models/Member.d.ts.map +1 -1
- package/dist/src/models/Member.js +60 -60
- package/dist/src/models/Member.js.map +1 -1
- package/dist/src/models/MemberPlatformMembership.d.ts +3 -3
- package/dist/src/models/MemberPlatformMembership.d.ts.map +1 -1
- package/dist/src/models/MemberPlatformMembership.js +26 -26
- package/dist/src/models/MemberPlatformMembership.js.map +1 -1
- package/dist/src/models/MemberResponsibilityRecord.d.ts.map +1 -1
- package/dist/src/models/MemberResponsibilityRecord.js +13 -13
- package/dist/src/models/MemberResponsibilityRecord.js.map +1 -1
- package/dist/src/models/MergedMember.d.ts +3 -3
- package/dist/src/models/MergedMember.d.ts.map +1 -1
- package/dist/src/models/MergedMember.js +19 -19
- package/dist/src/models/MergedMember.js.map +1 -1
- package/dist/src/models/MolliePayment.d.ts +1 -1
- package/dist/src/models/MolliePayment.d.ts.map +1 -1
- package/dist/src/models/MolliePayment.js +5 -5
- package/dist/src/models/MolliePayment.js.map +1 -1
- package/dist/src/models/MollieToken.d.ts.map +1 -1
- package/dist/src/models/MollieToken.js +60 -60
- package/dist/src/models/MollieToken.js.map +1 -1
- package/dist/src/models/OneTimeToken.d.ts +2 -2
- package/dist/src/models/OneTimeToken.d.ts.map +1 -1
- package/dist/src/models/OneTimeToken.js +13 -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 +70 -70
- package/dist/src/models/Order.js.map +1 -1
- package/dist/src/models/Organization.d.ts +5 -5
- package/dist/src/models/Organization.d.ts.map +1 -1
- package/dist/src/models/Organization.js +127 -127
- package/dist/src/models/Organization.js.map +1 -1
- package/dist/src/models/OrganizationRegistrationPeriod.d.ts.map +1 -1
- package/dist/src/models/OrganizationRegistrationPeriod.js +15 -15
- package/dist/src/models/OrganizationRegistrationPeriod.js.map +1 -1
- package/dist/src/models/PasswordToken.d.ts +3 -3
- package/dist/src/models/PasswordToken.d.ts.map +1 -1
- package/dist/src/models/PasswordToken.js +17 -17
- package/dist/src/models/PasswordToken.js.map +1 -1
- package/dist/src/models/PayconiqPayment.d.ts +1 -1
- package/dist/src/models/PayconiqPayment.d.ts.map +1 -1
- package/dist/src/models/PayconiqPayment.js +49 -49
- package/dist/src/models/PayconiqPayment.js.map +1 -1
- package/dist/src/models/Payment.d.ts +3 -3
- package/dist/src/models/Payment.d.ts.map +1 -1
- package/dist/src/models/Payment.js +36 -36
- package/dist/src/models/Payment.js.map +1 -1
- package/dist/src/models/Platform.d.ts +2 -2
- package/dist/src/models/Platform.d.ts.map +1 -1
- package/dist/src/models/Platform.js +8 -8
- package/dist/src/models/Platform.js.map +1 -1
- package/dist/src/models/RegisterCode.d.ts +1 -1
- package/dist/src/models/RegisterCode.d.ts.map +1 -1
- package/dist/src/models/RegisterCode.js +11 -11
- package/dist/src/models/RegisterCode.js.map +1 -1
- package/dist/src/models/Registration.d.ts +1 -1
- package/dist/src/models/Registration.d.ts.map +1 -1
- package/dist/src/models/Registration.js +88 -88
- package/dist/src/models/Registration.js.map +1 -1
- package/dist/src/models/RegistrationPeriod.d.ts.map +1 -1
- package/dist/src/models/RegistrationPeriod.js +12 -12
- package/dist/src/models/RegistrationPeriod.js.map +1 -1
- package/dist/src/models/STCredit.d.ts +1 -1
- package/dist/src/models/STCredit.d.ts.map +1 -1
- package/dist/src/models/STCredit.js +12 -12
- package/dist/src/models/STCredit.js.map +1 -1
- package/dist/src/models/STInvoice.d.ts +1 -1
- package/dist/src/models/STInvoice.d.ts.map +1 -1
- package/dist/src/models/STInvoice.js +16 -16
- package/dist/src/models/STInvoice.js.map +1 -1
- package/dist/src/models/STPackage.d.ts +1 -1
- package/dist/src/models/STPackage.d.ts.map +1 -1
- package/dist/src/models/STPackage.js +39 -39
- package/dist/src/models/STPackage.js.map +1 -1
- package/dist/src/models/STPendingInvoice.d.ts +1 -1
- package/dist/src/models/STPendingInvoice.d.ts.map +1 -1
- package/dist/src/models/STPendingInvoice.js +11 -11
- package/dist/src/models/STPendingInvoice.js.map +1 -1
- package/dist/src/models/StripeAccount.d.ts.map +1 -1
- package/dist/src/models/StripeAccount.js +13 -13
- package/dist/src/models/StripeAccount.js.map +1 -1
- package/dist/src/models/StripeCheckoutSession.d.ts +1 -1
- package/dist/src/models/StripeCheckoutSession.d.ts.map +1 -1
- package/dist/src/models/StripeCheckoutSession.js +7 -7
- package/dist/src/models/StripeCheckoutSession.js.map +1 -1
- package/dist/src/models/StripePaymentIntent.d.ts +1 -1
- package/dist/src/models/StripePaymentIntent.d.ts.map +1 -1
- package/dist/src/models/StripePaymentIntent.js +7 -7
- package/dist/src/models/StripePaymentIntent.js.map +1 -1
- package/dist/src/models/Ticket.d.ts +2 -2
- package/dist/src/models/Ticket.d.ts.map +1 -1
- package/dist/src/models/Ticket.js +23 -23
- package/dist/src/models/Ticket.js.map +1 -1
- package/dist/src/models/Token.d.ts +3 -3
- package/dist/src/models/Token.d.ts.map +1 -1
- package/dist/src/models/Token.js +27 -27
- package/dist/src/models/Token.js.map +1 -1
- package/dist/src/models/Token.test.js +11 -11
- package/dist/src/models/UsedRegisterCode.d.ts +1 -1
- package/dist/src/models/UsedRegisterCode.d.ts.map +1 -1
- package/dist/src/models/UsedRegisterCode.js +10 -10
- package/dist/src/models/UsedRegisterCode.js.map +1 -1
- package/dist/src/models/User.d.ts +4 -4
- package/dist/src/models/User.d.ts.map +1 -1
- package/dist/src/models/User.js +53 -51
- package/dist/src/models/User.js.map +1 -1
- package/dist/src/models/UserPermissions.d.ts +3 -3
- package/dist/src/models/UserPermissions.d.ts.map +1 -1
- package/dist/src/models/UserPermissions.js +12 -12
- package/dist/src/models/UserPermissions.js.map +1 -1
- package/dist/src/models/Webshop.d.ts +1 -1
- package/dist/src/models/Webshop.d.ts.map +1 -1
- package/dist/src/models/Webshop.js +23 -23
- package/dist/src/models/Webshop.js.map +1 -1
- package/dist/src/models/WebshopDiscountCode.d.ts +1 -1
- package/dist/src/models/WebshopDiscountCode.d.ts.map +1 -1
- package/dist/src/models/WebshopDiscountCode.js +16 -16
- package/dist/src/models/WebshopDiscountCode.js.map +1 -1
- package/dist/src/models/addresses/City.d.ts.map +1 -1
- package/dist/src/models/addresses/City.js +9 -9
- package/dist/src/models/addresses/City.js.map +1 -1
- package/dist/src/models/addresses/PostalCode.d.ts.map +1 -1
- package/dist/src/models/addresses/PostalCode.js +11 -11
- package/dist/src/models/addresses/PostalCode.js.map +1 -1
- package/dist/src/models/addresses/PostalCode.test.js +22 -22
- package/dist/src/models/addresses/PostalCode.test.js.map +1 -1
- package/dist/src/models/addresses/Province.d.ts.map +1 -1
- package/dist/src/models/addresses/Province.js +5 -5
- package/dist/src/models/addresses/Province.js.map +1 -1
- package/dist/src/models/addresses/Street.d.ts.map +1 -1
- package/dist/src/models/addresses/Street.js +6 -6
- package/dist/src/models/addresses/Street.js.map +1 -1
- package/dist/src/models/index.d.ts +46 -46
- package/dist/src/models/index.d.ts.map +1 -1
- package/dist/src/models/index.js +0 -1
- package/dist/src/models/index.js.map +1 -1
- package/dist/src/structures/OrganizationServerMetaData.d.ts.map +1 -1
- package/dist/src/structures/OrganizationServerMetaData.js +4 -4
- package/dist/src/structures/OrganizationServerMetaData.js.map +1 -1
- package/dist/tests/jest.global.setup.d.ts.map +1 -1
- package/dist/tests/jest.global.setup.js +15 -13
- package/dist/tests/jest.global.setup.js.map +1 -1
- package/dist/tests/jest.setup.js +3 -1
- package/dist/tests/jest.setup.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +3 -3
- package/src/factories/AddressFactory.ts +17 -17
- package/src/factories/EmergencyContactFactory.ts +30 -31
- package/src/factories/GroupFactory.ts +30 -30
- package/src/factories/MemberFactory.ts +41 -38
- package/src/factories/OrganizationFactory.ts +15 -15
- package/src/factories/ParentFactory.ts +24 -24
- package/src/factories/RecordFactory.ts +5 -4
- package/src/factories/RegisterCodeFactory.ts +7 -7
- package/src/factories/RegistrationFactory.ts +16 -16
- package/src/factories/RegistrationPeriodFactory.ts +5 -5
- package/src/factories/UserFactory.ts +20 -19
- package/src/factories/WebshopFactory.ts +14 -14
- package/src/helpers/DNSValidator.ts +89 -84
- package/src/helpers/EmailBuilder.ts +141 -135
- package/src/helpers/GroupBuilder.ts +181 -181
- package/src/helpers/Handlebars.ts +57 -54
- package/src/helpers/MemberMerger.test.ts +702 -702
- package/src/helpers/MemberMerger.ts +83 -77
- package/src/helpers/RateLimiter.ts +25 -27
- package/src/helpers/SetupStepsUpdater.ts +402 -0
- package/src/helpers/WebshopCounter.test.ts +12 -12
- package/src/helpers/WebshopCounter.ts +20 -19
- package/src/index.ts +20 -19
- package/src/migrations/1605262045-import-postcodes.ts +59 -63
- package/src/migrations/1605262046-import-postcodes-nl.ts +41 -43
- package/src/models/BalanceItem.ts +173 -172
- package/src/models/BalanceItemPayment.ts +32 -33
- package/src/models/BuckarooPayment.ts +7 -7
- package/src/models/CachedOutstandingBalance.ts +98 -99
- package/src/models/Document.ts +90 -87
- package/src/models/DocumentTemplate.ts +207 -198
- package/src/models/Email.ts +198 -200
- package/src/models/EmailRecipient.ts +38 -39
- package/src/models/EmailTemplate.ts +36 -37
- package/src/models/EmailVerificationCode.ts +146 -142
- package/src/models/Event.ts +53 -53
- package/src/models/Group.ts +136 -123
- package/src/models/Image.ts +48 -48
- package/src/models/Member.ts +277 -275
- package/src/models/MemberPlatformMembership.ts +71 -71
- package/src/models/MemberResponsibilityRecord.ts +32 -32
- package/src/models/MergedMember.ts +77 -77
- package/src/models/MolliePayment.ts +7 -7
- package/src/models/MollieToken.ts +131 -126
- package/src/models/OneTimeToken.ts +40 -39
- package/src/models/Order.ts +379 -372
- package/src/models/Organization.ts +332 -325
- package/src/models/OrganizationRegistrationPeriod.ts +50 -50
- package/src/models/PasswordToken.ts +42 -42
- package/src/models/PayconiqPayment.ts +80 -76
- package/src/models/Payment.ts +86 -86
- package/src/models/Platform.ts +21 -22
- package/src/models/RegisterCode.ts +26 -26
- package/src/models/Registration.ts +167 -168
- package/src/models/RegistrationPeriod.ts +29 -29
- package/src/models/STCredit.ts +24 -25
- package/src/models/STInvoice.ts +34 -34
- package/src/models/STPackage.ts +143 -136
- package/src/models/STPendingInvoice.ts +26 -26
- package/src/models/StripeAccount.ts +27 -27
- package/src/models/StripeCheckoutSession.ts +10 -10
- package/src/models/StripePaymentIntent.ts +10 -10
- package/src/models/Ticket.ts +51 -52
- package/src/models/Token.test.ts +13 -13
- package/src/models/Token.ts +64 -63
- package/src/models/UsedRegisterCode.ts +20 -21
- package/src/models/User.ts +148 -144
- package/src/models/UserPermissions.ts +25 -28
- package/src/models/Webshop.ts +53 -53
- package/src/models/WebshopDiscountCode.ts +33 -33
- package/src/models/addresses/City.ts +12 -12
- package/src/models/addresses/PostalCode.test.ts +68 -69
- package/src/models/addresses/PostalCode.ts +57 -57
- package/src/models/addresses/Province.ts +8 -8
- package/src/models/addresses/Street.ts +10 -12
- package/src/models/index.ts +54 -55
- package/src/structures/OrganizationServerMetaData.ts +36 -36
|
@@ -1,36 +1,35 @@
|
|
|
1
1
|
import { Migration } from '@simonbackx/simple-database';
|
|
2
|
-
import { column,Model } from '@simonbackx/simple-database';
|
|
2
|
+
import { column, Model } from '@simonbackx/simple-database';
|
|
3
3
|
import { StringCompare } from '@stamhoofd/utility';
|
|
4
|
-
import { v4 as uuidv4 } from
|
|
5
|
-
import { Country } from
|
|
4
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
5
|
+
import { Country } from '@stamhoofd/structures';
|
|
6
6
|
import { City } from '../models/addresses/City';
|
|
7
7
|
import { PostalCode } from '../models/addresses/PostalCode';
|
|
8
8
|
import { Province } from '../models/addresses/Province';
|
|
9
9
|
|
|
10
|
-
|
|
11
10
|
export class Gemeente extends Model {
|
|
12
|
-
static table =
|
|
11
|
+
static table = 'gemeenten';
|
|
13
12
|
|
|
14
13
|
@column({
|
|
15
|
-
primary: true, type:
|
|
14
|
+
primary: true, type: 'string', beforeSave(value) {
|
|
16
15
|
return value ?? uuidv4();
|
|
17
|
-
}
|
|
16
|
+
},
|
|
18
17
|
})
|
|
19
18
|
id!: string;
|
|
20
19
|
|
|
21
|
-
@column({ type:
|
|
20
|
+
@column({ type: 'string' })
|
|
22
21
|
postcode: string;
|
|
23
22
|
|
|
24
|
-
@column({ type:
|
|
23
|
+
@column({ type: 'string' })
|
|
25
24
|
gemeente: string;
|
|
26
25
|
|
|
27
|
-
@column({ type:
|
|
26
|
+
@column({ type: 'string' })
|
|
28
27
|
postcode_hoofdgemeente: string; // not relevant anymore
|
|
29
28
|
|
|
30
|
-
@column({ type:
|
|
29
|
+
@column({ type: 'string' })
|
|
31
30
|
hoofdgemeente: string;
|
|
32
31
|
|
|
33
|
-
@column({ type:
|
|
32
|
+
@column({ type: 'string' })
|
|
34
33
|
provincie: string;
|
|
35
34
|
|
|
36
35
|
/// Tmp mapped
|
|
@@ -38,63 +37,63 @@ export class Gemeente extends Model {
|
|
|
38
37
|
}
|
|
39
38
|
|
|
40
39
|
async function getProvince(name: string, provinces: Province[]): Promise<Province> {
|
|
41
|
-
const p = provinces.find(p => StringCompare.typoCount(p.name, name) < 2 && p.country == Country.Belgium)
|
|
40
|
+
const p = provinces.find(p => StringCompare.typoCount(p.name, name) < 2 && p.country == Country.Belgium);
|
|
42
41
|
if (p) {
|
|
43
|
-
return p
|
|
42
|
+
return p;
|
|
44
43
|
}
|
|
45
|
-
const province = new Province()
|
|
46
|
-
province.country = Country.Belgium
|
|
47
|
-
province.name = name.trim()
|
|
48
|
-
await province.save()
|
|
49
|
-
provinces.push(province)
|
|
50
|
-
return province
|
|
44
|
+
const province = new Province();
|
|
45
|
+
province.country = Country.Belgium;
|
|
46
|
+
province.name = name.trim();
|
|
47
|
+
await province.save();
|
|
48
|
+
provinces.push(province);
|
|
49
|
+
return province;
|
|
51
50
|
}
|
|
52
51
|
|
|
53
52
|
export default new Migration(async () => {
|
|
54
|
-
if (STAMHOOFD.environment ==
|
|
55
|
-
console.log(
|
|
53
|
+
if (STAMHOOFD.environment == 'test') {
|
|
54
|
+
console.log('skipped in tests');
|
|
56
55
|
return;
|
|
57
56
|
}
|
|
58
57
|
// Loop all gemeenten
|
|
59
58
|
const provinces = await Province.all();
|
|
60
59
|
const gemeenten = await Gemeente.all();
|
|
61
|
-
const cities: City[] = []
|
|
60
|
+
const cities: City[] = [];
|
|
62
61
|
|
|
63
62
|
for (const gemeente of gemeenten) {
|
|
64
|
-
const province = await getProvince(gemeente.provincie, provinces)
|
|
65
|
-
|
|
63
|
+
const province = await getProvince(gemeente.provincie, provinces);
|
|
64
|
+
|
|
66
65
|
// Some cities have the same name
|
|
67
|
-
const found = cities.find(c => c.name.trim() == gemeente.gemeente.trim() && c.provinceId == province.id)
|
|
66
|
+
const found = cities.find(c => c.name.trim() == gemeente.gemeente.trim() && c.provinceId == province.id);
|
|
68
67
|
|
|
69
68
|
if (!found) {
|
|
70
69
|
// Create the city
|
|
71
|
-
const city = new City()
|
|
72
|
-
city.name = gemeente.gemeente.trim()
|
|
73
|
-
city.country = Country.Belgium
|
|
74
|
-
city.provinceId = province.id
|
|
70
|
+
const city = new City();
|
|
71
|
+
city.name = gemeente.gemeente.trim();
|
|
72
|
+
city.country = Country.Belgium;
|
|
73
|
+
city.provinceId = province.id;
|
|
75
74
|
|
|
76
|
-
await city.save()
|
|
75
|
+
await city.save();
|
|
77
76
|
|
|
78
77
|
// Also add postal code already
|
|
79
|
-
const postalCode = new PostalCode()
|
|
80
|
-
postalCode.postalCode = gemeente.postcode
|
|
81
|
-
postalCode.cityId = city.id
|
|
82
|
-
postalCode.country = Country.Belgium
|
|
78
|
+
const postalCode = new PostalCode();
|
|
79
|
+
postalCode.postalCode = gemeente.postcode;
|
|
80
|
+
postalCode.cityId = city.id;
|
|
81
|
+
postalCode.country = Country.Belgium;
|
|
83
82
|
await postalCode.save();
|
|
84
83
|
|
|
85
|
-
gemeente.city = city
|
|
86
|
-
cities.push(city)
|
|
87
|
-
}
|
|
84
|
+
gemeente.city = city;
|
|
85
|
+
cities.push(city);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
88
|
gemeente.city = found;
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
const postalCode = new PostalCode()
|
|
92
|
-
postalCode.postalCode = gemeente.postcode
|
|
93
|
-
postalCode.cityId = found.id
|
|
94
|
-
postalCode.country = Country.Belgium
|
|
90
|
+
// Also add postal code already
|
|
91
|
+
const postalCode = new PostalCode();
|
|
92
|
+
postalCode.postalCode = gemeente.postcode;
|
|
93
|
+
postalCode.cityId = found.id;
|
|
94
|
+
postalCode.country = Country.Belgium;
|
|
95
95
|
await postalCode.save();
|
|
96
96
|
}
|
|
97
|
-
|
|
98
97
|
}
|
|
99
98
|
|
|
100
99
|
for (const gemeente of gemeenten) {
|
|
@@ -102,31 +101,28 @@ export default new Migration(async () => {
|
|
|
102
101
|
continue;
|
|
103
102
|
}
|
|
104
103
|
|
|
105
|
-
const hoofd = cities.find(c => c.name.trim() == gemeente.hoofdgemeente.trim() && c.provinceId == gemeente.city.provinceId)
|
|
104
|
+
const hoofd = cities.find(c => c.name.trim() == gemeente.hoofdgemeente.trim() && c.provinceId == gemeente.city.provinceId);
|
|
106
105
|
if (!hoofd) {
|
|
107
106
|
// Create the city
|
|
108
|
-
const city = new City()
|
|
109
|
-
city.name = gemeente.hoofdgemeente.trim()
|
|
110
|
-
city.country = Country.Belgium
|
|
107
|
+
const city = new City();
|
|
108
|
+
city.name = gemeente.hoofdgemeente.trim();
|
|
109
|
+
city.country = Country.Belgium;
|
|
111
110
|
|
|
112
|
-
const province = await getProvince(gemeente.provincie, provinces)
|
|
113
|
-
city.provinceId = province.id
|
|
114
|
-
await city.save()
|
|
111
|
+
const province = await getProvince(gemeente.provincie, provinces);
|
|
112
|
+
city.provinceId = province.id;
|
|
113
|
+
await city.save();
|
|
115
114
|
|
|
116
|
-
cities.push(city)
|
|
115
|
+
cities.push(city);
|
|
117
116
|
// do not create a postal code here, these don't have one
|
|
118
117
|
|
|
119
|
-
console.log(
|
|
120
|
-
gemeente.city.parentCityId = city.id
|
|
121
|
-
await gemeente.city.save()
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
gemeente.
|
|
125
|
-
|
|
118
|
+
console.log('Assigning ' + gemeente.gemeente + ' to ' + city.name);
|
|
119
|
+
gemeente.city.parentCityId = city.id;
|
|
120
|
+
await gemeente.city.save();
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
console.log('Assigning ' + gemeente.gemeente + ' to ' + hoofd.name);
|
|
124
|
+
gemeente.city.parentCityId = hoofd.id;
|
|
125
|
+
await gemeente.city.save();
|
|
126
126
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
127
|
}
|
|
130
128
|
});
|
|
131
|
-
|
|
132
|
-
|
|
@@ -1,74 +1,74 @@
|
|
|
1
1
|
import { Migration } from '@simonbackx/simple-database';
|
|
2
2
|
import { Country } from '@stamhoofd/structures';
|
|
3
3
|
import { StringCompare } from '@stamhoofd/utility';
|
|
4
|
-
import fs from
|
|
5
|
-
import readline from
|
|
4
|
+
import fs from 'fs';
|
|
5
|
+
import readline from 'readline';
|
|
6
6
|
|
|
7
7
|
import { City } from '../models/addresses/City';
|
|
8
8
|
import { PostalCode } from '../models/addresses/PostalCode';
|
|
9
9
|
import { Province } from '../models/addresses/Province';
|
|
10
10
|
|
|
11
11
|
async function getProvince(name: string, provinces: Province[]): Promise<Province> {
|
|
12
|
-
const p = provinces.find(p => StringCompare.typoCount(p.name, name) == 0 && p.country == Country.Netherlands)
|
|
12
|
+
const p = provinces.find(p => StringCompare.typoCount(p.name, name) == 0 && p.country == Country.Netherlands);
|
|
13
13
|
if (p) {
|
|
14
|
-
return p
|
|
14
|
+
return p;
|
|
15
15
|
}
|
|
16
|
-
const province = new Province()
|
|
17
|
-
province.country = Country.Netherlands
|
|
18
|
-
province.name = name
|
|
19
|
-
await province.save()
|
|
16
|
+
const province = new Province();
|
|
17
|
+
province.country = Country.Netherlands;
|
|
18
|
+
province.name = name;
|
|
19
|
+
await province.save();
|
|
20
20
|
|
|
21
|
-
provinces.push(province)
|
|
22
|
-
return province
|
|
21
|
+
provinces.push(province);
|
|
22
|
+
return province;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
async function getCity(name: string, provinceId: string, cities: City[]): Promise<City> {
|
|
26
|
-
const p = cities.find(p => StringCompare.typoCount(p.name, name) == 0 && p.country == Country.Netherlands)
|
|
26
|
+
const p = cities.find(p => StringCompare.typoCount(p.name, name) == 0 && p.country == Country.Netherlands);
|
|
27
27
|
if (p) {
|
|
28
|
-
return p
|
|
28
|
+
return p;
|
|
29
29
|
}
|
|
30
|
-
const city = new City()
|
|
31
|
-
city.name = name
|
|
32
|
-
city.country = Country.Netherlands
|
|
33
|
-
city.provinceId = provinceId
|
|
34
|
-
await city.save()
|
|
35
|
-
|
|
36
|
-
cities.push(city)
|
|
37
|
-
return city
|
|
30
|
+
const city = new City();
|
|
31
|
+
city.name = name;
|
|
32
|
+
city.country = Country.Netherlands;
|
|
33
|
+
city.provinceId = provinceId;
|
|
34
|
+
await city.save();
|
|
35
|
+
|
|
36
|
+
cities.push(city);
|
|
37
|
+
return city;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
export default new Migration(async () => {
|
|
41
|
-
if (STAMHOOFD.environment ==
|
|
42
|
-
console.log(
|
|
41
|
+
if (STAMHOOFD.environment == 'test') {
|
|
42
|
+
console.log('skipped in tests');
|
|
43
43
|
return;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
// We start by looping all provinces in the files
|
|
47
|
-
const folder = __dirname+
|
|
47
|
+
const folder = __dirname + '/data/postcodes/nl';
|
|
48
48
|
const provinces = (await fs.promises.readdir(folder, { withFileTypes: true }))
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
.filter(dirent => !dirent.isDirectory())
|
|
50
|
+
.map((dirent) => {
|
|
51
|
+
return { path: folder + '/' + dirent.name, name: dirent.name };
|
|
52
|
+
});
|
|
53
53
|
|
|
54
|
-
const allProvinces = await Province.where({ country: Country.Netherlands})
|
|
54
|
+
const allProvinces = await Province.where({ country: Country.Netherlands });
|
|
55
55
|
|
|
56
56
|
for (const p of provinces) {
|
|
57
57
|
console.log(p.name);
|
|
58
58
|
|
|
59
|
-
const province = await getProvince(p.name.trim(), allProvinces)
|
|
59
|
+
const province = await getProvince(p.name.trim(), allProvinces);
|
|
60
60
|
|
|
61
|
-
//const cities = await fs.readFile(p.path, { encoding: "utf-8" });
|
|
61
|
+
// const cities = await fs.readFile(p.path, { encoding: "utf-8" });
|
|
62
62
|
|
|
63
63
|
const lineReader = readline.createInterface({
|
|
64
|
-
input: fs.createReadStream(p.path, { encoding:
|
|
64
|
+
input: fs.createReadStream(p.path, { encoding: 'utf-8' }),
|
|
65
65
|
});
|
|
66
66
|
|
|
67
|
-
const cities: City[] = []
|
|
67
|
+
const cities: City[] = [];
|
|
68
68
|
|
|
69
69
|
for await (const line of lineReader) {
|
|
70
|
-
const splitted = line.split(
|
|
71
|
-
if (splitted.length
|
|
70
|
+
const splitted = line.split('\t');
|
|
71
|
+
if (splitted.length !== 3) {
|
|
72
72
|
console.error(`Failed to parse line: ${line}`);
|
|
73
73
|
continue;
|
|
74
74
|
}
|
|
@@ -79,19 +79,17 @@ export default new Migration(async () => {
|
|
|
79
79
|
// Check plaats and gemeente
|
|
80
80
|
const city = await getCity(plaats, province.id, cities);
|
|
81
81
|
const city2 = await getCity(gemeente, province.id, cities); // might be the same as city
|
|
82
|
-
if (city2.id
|
|
83
|
-
city.parentCityId = city2.id
|
|
84
|
-
await city.save()
|
|
82
|
+
if (city2.id !== city.id && city.parentCityId === null) {
|
|
83
|
+
city.parentCityId = city2.id;
|
|
84
|
+
await city.save();
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
// Also add postal code already
|
|
88
|
-
const postalCode = new PostalCode()
|
|
89
|
-
postalCode.postalCode = postcode
|
|
90
|
-
postalCode.cityId = city.id
|
|
91
|
-
postalCode.country = Country.Netherlands
|
|
88
|
+
const postalCode = new PostalCode();
|
|
89
|
+
postalCode.postalCode = postcode;
|
|
90
|
+
postalCode.cityId = city.id;
|
|
91
|
+
postalCode.country = Country.Netherlands;
|
|
92
92
|
await postalCode.save();
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
});
|
|
96
|
-
|
|
97
|
-
|