@stamhoofd/models 2.121.0 → 2.122.1
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/GroupFactory.d.ts.map +1 -1
- package/dist/factories/GroupFactory.js +1 -1
- package/dist/factories/GroupFactory.js.map +1 -1
- package/dist/factories/OrganizationFactory.d.ts +2 -1
- package/dist/factories/OrganizationFactory.d.ts.map +1 -1
- package/dist/factories/OrganizationFactory.js +9 -1
- package/dist/factories/OrganizationFactory.js.map +1 -1
- package/dist/factories/STPackageFactory.js.map +1 -1
- package/dist/factories/UserFactory.d.ts.map +1 -1
- package/dist/factories/UserFactory.js +2 -2
- package/dist/factories/UserFactory.js.map +1 -1
- package/dist/helpers/EmailBuilder.d.ts.map +1 -1
- package/dist/helpers/EmailBuilder.js +8 -8
- package/dist/helpers/EmailBuilder.js.map +1 -1
- package/dist/helpers/Handlebars.d.ts.map +1 -1
- package/dist/helpers/Handlebars.js +7 -1
- package/dist/helpers/Handlebars.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/migrations/1605262045-import-postcodes.d.ts.map +1 -1
- package/dist/migrations/1605262045-import-postcodes.js +58 -24
- package/dist/migrations/1605262045-import-postcodes.js.map +1 -1
- package/dist/migrations/1605262046-import-postcodes-nl.d.ts.map +1 -1
- package/dist/migrations/1605262046-import-postcodes-nl.js +54 -17
- package/dist/migrations/1605262046-import-postcodes-nl.js.map +1 -1
- package/dist/migrations/1719567881-organization-periodId.sql +2 -0
- package/dist/migrations/1719567882-groups-periodId.sql +2 -0
- package/dist/migrations/1720080975-convert-charset.d.ts +4 -0
- package/dist/migrations/1720080975-convert-charset.d.ts.map +1 -0
- package/dist/migrations/1720080975-convert-charset.js +26 -0
- package/dist/migrations/1720080975-convert-charset.js.map +1 -0
- package/dist/migrations/1720080976-convert-charset-leads.d.ts.map +1 -1
- package/dist/migrations/1720080976-convert-charset-leads.js +11 -10
- package/dist/migrations/1720080976-convert-charset-leads.js.map +1 -1
- package/dist/migrations/1721400546-users-memberId.sql +2 -0
- package/dist/migrations/1722269236-group-waitinglist-id.sql +2 -1
- package/dist/migrations/1722525785-balance-item-paying-organization-id.sql +2 -0
- package/dist/migrations/1722525787-depending-balance-item.sql +2 -0
- package/dist/migrations/1722963554-registration-group-price-and-options.sql +1 -1
- package/dist/migrations/1723652797-payments-paying-organization-id-fk.sql +2 -0
- package/dist/migrations/1733317908-added-missing-organization-fk-on-registrations.sql +2 -0
- package/dist/migrations/1733317910-paying-organization-id-fk.sql +2 -0
- package/dist/migrations/1733504881-negative-invoice-id.sql +6 -0
- package/dist/migrations/1733994455-balance-item-status-open.d.ts +4 -0
- package/dist/migrations/1733994455-balance-item-status-open.d.ts.map +1 -0
- package/dist/migrations/1733994455-balance-item-status-open.js +28 -0
- package/dist/migrations/1733994455-balance-item-status-open.js.map +1 -0
- package/dist/migrations/1769087808-corrected-invoice-user-agent.sql +2 -0
- package/dist/migrations/1769087809-payments-invoice-id.sql +2 -0
- package/dist/migrations/1772033555-balance-item-package-id.sql +2 -0
- package/dist/migrations/1778796615-payments-reversing-payment-id.sql +2 -0
- package/dist/migrations/1779443446-transfer-fees.sql +3 -0
- package/dist/migrations/1779709174-used-register-code-balance-item-id.sql +5 -0
- package/dist/migrations/1779968328-payments-admin-user-id.sql +5 -0
- package/dist/migrations/1779970611-payments-refunded-amount.sql +2 -0
- package/dist/migrations/1779972640-balance-items-failed-at.sql +2 -0
- package/dist/migrations/1780328285-document-template-locked.sql +2 -0
- package/dist/migrations/1780328286-document-locked.sql +2 -0
- package/dist/migrations/1780412083-documents-set-locked.d.ts +4 -0
- package/dist/migrations/1780412083-documents-set-locked.d.ts.map +1 -0
- package/dist/migrations/1780412083-documents-set-locked.js +14 -0
- package/dist/migrations/1780412083-documents-set-locked.js.map +1 -0
- package/dist/migrations/1780928401-v1-groups-migration-data.d.ts +4 -0
- package/dist/migrations/1780928401-v1-groups-migration-data.d.ts.map +1 -0
- package/dist/migrations/1780928401-v1-groups-migration-data.js +44 -0
- package/dist/migrations/1780928401-v1-groups-migration-data.js.map +1 -0
- package/dist/models/BalanceItem.d.ts +7 -2
- package/dist/models/BalanceItem.d.ts.map +1 -1
- package/dist/models/BalanceItem.js +41 -38
- package/dist/models/BalanceItem.js.map +1 -1
- package/dist/models/CachedBalance.d.ts +6 -1
- package/dist/models/CachedBalance.d.ts.map +1 -1
- package/dist/models/CachedBalance.js +3 -2
- package/dist/models/CachedBalance.js.map +1 -1
- package/dist/models/Document.d.ts +4 -0
- package/dist/models/Document.d.ts.map +1 -1
- package/dist/models/Document.js +26 -3
- package/dist/models/Document.js.map +1 -1
- package/dist/models/DocumentTemplate.d.ts +4 -0
- package/dist/models/DocumentTemplate.d.ts.map +1 -1
- package/dist/models/DocumentTemplate.js +37 -1
- package/dist/models/DocumentTemplate.js.map +1 -1
- package/dist/models/Email.d.ts.map +1 -1
- package/dist/models/Email.js +1 -1
- package/dist/models/Email.js.map +1 -1
- package/dist/models/EmailVerificationCode.d.ts.map +1 -1
- package/dist/models/EmailVerificationCode.js +3 -13
- package/dist/models/EmailVerificationCode.js.map +1 -1
- package/dist/models/Event.d.ts +2 -1
- package/dist/models/Event.d.ts.map +1 -1
- package/dist/models/Event.js +3 -0
- package/dist/models/Event.js.map +1 -1
- package/dist/models/EventNotification.d.ts.map +1 -1
- package/dist/models/EventNotification.js +5 -5
- package/dist/models/EventNotification.js.map +1 -1
- package/dist/models/Invoice.d.ts +1 -0
- package/dist/models/Invoice.d.ts.map +1 -1
- package/dist/models/Invoice.js +8 -0
- package/dist/models/Invoice.js.map +1 -1
- package/dist/models/MemberPlatformMembership.d.ts.map +1 -1
- package/dist/models/MemberPlatformMembership.js +9 -0
- package/dist/models/MemberPlatformMembership.js.map +1 -1
- package/dist/models/Order.d.ts.map +1 -1
- package/dist/models/Order.js +1 -0
- package/dist/models/Order.js.map +1 -1
- package/dist/models/Organization.d.ts +23 -25
- package/dist/models/Organization.d.ts.map +1 -1
- package/dist/models/Organization.js +92 -64
- package/dist/models/Organization.js.map +1 -1
- package/dist/models/PasswordToken.d.ts +5 -1
- package/dist/models/PasswordToken.d.ts.map +1 -1
- package/dist/models/PasswordToken.js +18 -17
- package/dist/models/PasswordToken.js.map +1 -1
- package/dist/models/Payment.d.ts +21 -2
- package/dist/models/Payment.d.ts.map +1 -1
- package/dist/models/Payment.js +43 -2
- package/dist/models/Payment.js.map +1 -1
- package/dist/models/Registration.d.ts.map +1 -1
- package/dist/models/Registration.js +3 -3
- package/dist/models/Registration.js.map +1 -1
- package/dist/models/STCredit.d.ts +4 -0
- package/dist/models/STCredit.d.ts.map +1 -1
- package/dist/models/STCredit.js +28 -0
- package/dist/models/STCredit.js.map +1 -1
- package/dist/models/STInvoice.d.ts +7 -1
- package/dist/models/STInvoice.d.ts.map +1 -1
- package/dist/models/STInvoice.js +9 -0
- package/dist/models/STInvoice.js.map +1 -1
- package/dist/models/STPackage.d.ts +4 -0
- package/dist/models/STPackage.d.ts.map +1 -1
- package/dist/models/STPackage.js +12 -1
- package/dist/models/STPackage.js.map +1 -1
- package/dist/models/UsedRegisterCode.d.ts +9 -0
- package/dist/models/UsedRegisterCode.d.ts.map +1 -1
- package/dist/models/UsedRegisterCode.js +31 -0
- package/dist/models/UsedRegisterCode.js.map +1 -1
- package/dist/models/_relations.js +25 -0
- package/dist/models/_relations.js.map +1 -1
- package/dist/models/addresses/City.d.ts +4 -4
- package/dist/models/addresses/City.d.ts.map +1 -1
- package/dist/models/addresses/City.js +6 -6
- package/dist/models/addresses/City.js.map +1 -1
- package/dist/models/addresses/PostalCode.d.ts +2 -2
- package/dist/models/addresses/PostalCode.d.ts.map +1 -1
- package/dist/models/addresses/PostalCode.js +4 -3
- package/dist/models/addresses/PostalCode.js.map +1 -1
- package/dist/models/addresses/Street.d.ts +3 -3
- package/dist/models/addresses/Street.d.ts.map +1 -1
- package/dist/models/addresses/Street.js +4 -4
- package/dist/models/addresses/Street.js.map +1 -1
- package/dist/models/index.d.ts +1 -0
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +1 -0
- package/dist/models/index.js.map +1 -1
- package/dist/models/v1GroupMigrationData.d.ts +22 -0
- package/dist/models/v1GroupMigrationData.d.ts.map +1 -0
- package/dist/models/v1GroupMigrationData.js +48 -0
- package/dist/models/v1GroupMigrationData.js.map +1 -0
- package/package.json +32 -13
- package/src/factories/GroupFactory.ts +4 -6
- package/src/factories/OrganizationFactory.ts +12 -4
- package/src/factories/STPackageFactory.ts +2 -2
- package/src/factories/UserFactory.ts +4 -5
- package/src/helpers/EmailBuilder.ts +19 -28
- package/src/helpers/Handlebars.ts +6 -1
- package/src/index.ts +0 -1
- package/src/migrations/1605262045-import-postcodes.ts +62 -25
- package/src/migrations/1605262046-import-postcodes-nl.ts +58 -17
- package/src/migrations/1719567881-organization-periodId.sql +2 -0
- package/src/migrations/1719567882-groups-periodId.sql +2 -0
- package/src/migrations/1720080975-convert-charset.ts +34 -0
- package/src/migrations/1720080976-convert-charset-leads.ts +16 -13
- package/src/migrations/1721400546-users-memberId.sql +2 -0
- package/src/migrations/1722269236-group-waitinglist-id.sql +2 -1
- package/src/migrations/1722525785-balance-item-paying-organization-id.sql +2 -0
- package/src/migrations/1722525787-depending-balance-item.sql +2 -0
- package/src/migrations/1722963554-registration-group-price-and-options.sql +1 -1
- package/src/migrations/1723652797-payments-paying-organization-id-fk.sql +2 -0
- package/src/migrations/1733317908-added-missing-organization-fk-on-registrations.sql +2 -0
- package/src/migrations/1733317910-paying-organization-id-fk.sql +2 -0
- package/src/migrations/1733504881-negative-invoice-id.sql +6 -0
- package/src/migrations/1733994455-balance-item-status-open.ts +30 -0
- package/src/migrations/1769087808-corrected-invoice-user-agent.sql +2 -0
- package/src/migrations/1769087809-payments-invoice-id.sql +2 -0
- package/src/migrations/1772033555-balance-item-package-id.sql +2 -0
- package/src/migrations/1778796615-payments-reversing-payment-id.sql +2 -0
- package/src/migrations/1779443446-transfer-fees.sql +3 -0
- package/src/migrations/1779709174-used-register-code-balance-item-id.sql +5 -0
- package/src/migrations/1779968328-payments-admin-user-id.sql +5 -0
- package/src/migrations/1779970611-payments-refunded-amount.sql +2 -0
- package/src/migrations/1779972640-balance-items-failed-at.sql +2 -0
- package/src/migrations/1780328285-document-template-locked.sql +2 -0
- package/src/migrations/1780328286-document-locked.sql +2 -0
- package/src/migrations/1780412083-documents-set-locked.ts +18 -0
- package/src/migrations/1780928401-v1-groups-migration-data.ts +50 -0
- package/src/models/BalanceItem.ts +44 -43
- package/src/models/CachedBalance.test.ts +46 -46
- package/src/models/CachedBalance.ts +7 -7
- package/src/models/Document.ts +34 -13
- package/src/models/DocumentTemplate.ts +56 -17
- package/src/models/Email.test.ts +3 -3
- package/src/models/Email.ts +28 -49
- package/src/models/EmailVerificationCode.ts +8 -22
- package/src/models/Event.ts +6 -4
- package/src/models/EventNotification.ts +6 -6
- package/src/models/Invoice.ts +9 -0
- package/src/models/MemberPlatformMembership.test.ts +70 -0
- package/src/models/MemberPlatformMembership.ts +16 -12
- package/src/models/Order.ts +14 -26
- package/src/models/Organization.ts +122 -93
- package/src/models/PasswordToken.ts +21 -21
- package/src/models/Payment.ts +42 -4
- package/src/models/Registration.ts +3 -3
- package/src/models/STCredit.ts +32 -0
- package/src/models/STInvoice.ts +11 -5
- package/src/models/STPackage.ts +19 -14
- package/src/models/UsedRegisterCode.ts +34 -0
- package/src/models/_relations.ts +29 -0
- package/src/models/addresses/City.ts +8 -6
- package/src/models/addresses/PostalCode.test.ts +1 -0
- package/src/models/addresses/PostalCode.ts +5 -3
- package/src/models/addresses/Street.ts +6 -4
- package/src/models/index.ts +2 -0
- package/src/models/v1GroupMigrationData.ts +43 -0
- package/dist/helpers/MemberMerger.d.ts +0 -14
- package/dist/helpers/MemberMerger.d.ts.map +0 -1
- package/dist/helpers/MemberMerger.js +0 -364
- package/dist/helpers/MemberMerger.js.map +0 -1
- package/dist/migrations/1720080975-convert-charset.sql +0 -85
- package/dist/migrations/1723202126-member-number-index.sql +0 -2
- package/dist/models/OneTimeToken.d.ts +0 -38
- package/dist/models/OneTimeToken.d.ts.map +0 -1
- package/dist/models/OneTimeToken.js +0 -125
- package/dist/models/OneTimeToken.js.map +0 -1
- package/src/helpers/MemberMerger.test.ts +0 -782
- package/src/helpers/MemberMerger.ts +0 -577
- package/src/migrations/1720080975-convert-charset.sql +0 -85
- package/src/migrations/1723202126-member-number-index.sql +0 -2
- package/src/models/OneTimeToken.ts +0 -133
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1605262045-import-postcodes.js","sourceRoot":"","sources":["../../src/migrations/1605262045-import-postcodes.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"1605262045-import-postcodes.js","sourceRoot":"","sources":["../../src/migrations/1605262045-import-postcodes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1605262046-import-postcodes-nl.d.ts","sourceRoot":"","sources":["../../src/migrations/1605262046-import-postcodes-nl.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"1605262046-import-postcodes-nl.d.ts","sourceRoot":"","sources":["../../src/migrations/1605262046-import-postcodes-nl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,6BAA6B,CAAC;;AA0ClE,wBA4DG"}
|
|
@@ -1,34 +1,37 @@
|
|
|
1
|
-
import { Migration } from '@simonbackx/simple-database';
|
|
1
|
+
import { Database, Migration } from '@simonbackx/simple-database';
|
|
2
2
|
import { Country } from '@stamhoofd/types/Country';
|
|
3
3
|
import { StringCompare } from '@stamhoofd/utility';
|
|
4
4
|
import fs from 'fs';
|
|
5
5
|
import readline from 'readline';
|
|
6
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
6
7
|
import { City } from '../models/addresses/City.js';
|
|
7
8
|
import { PostalCode } from '../models/addresses/PostalCode.js';
|
|
8
9
|
import { Province } from '../models/addresses/Province.js';
|
|
9
|
-
|
|
10
|
+
function getProvince(name, provinces, provinceRows) {
|
|
10
11
|
const p = provinces.find(p => StringCompare.typoCount(p.name, name) == 0 && p.country == Country.Netherlands);
|
|
11
12
|
if (p) {
|
|
12
13
|
return p;
|
|
13
14
|
}
|
|
14
15
|
const province = new Province();
|
|
16
|
+
province.id = uuidv4();
|
|
15
17
|
province.country = Country.Netherlands;
|
|
16
18
|
province.name = name;
|
|
17
|
-
await province.save();
|
|
18
19
|
provinces.push(province);
|
|
20
|
+
provinceRows.push([province.id, province.name, province.country]);
|
|
19
21
|
return province;
|
|
20
22
|
}
|
|
21
|
-
|
|
22
|
-
const p =
|
|
23
|
+
function getCity(name, provinceId, citiesByName, cityRows) {
|
|
24
|
+
const p = citiesByName.get(normalizeCityName(name));
|
|
23
25
|
if (p) {
|
|
24
26
|
return p;
|
|
25
27
|
}
|
|
26
28
|
const city = new City();
|
|
29
|
+
city.id = uuidv4();
|
|
27
30
|
city.name = name;
|
|
28
31
|
city.country = Country.Netherlands;
|
|
29
32
|
city.provinceId = provinceId;
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
cityRows.push([city.id, city.name, city.provinceId, city.parentCityId, city.country]);
|
|
34
|
+
citiesByName.set(normalizeCityName(city.name), city);
|
|
32
35
|
return city;
|
|
33
36
|
}
|
|
34
37
|
export default new Migration(async () => {
|
|
@@ -44,14 +47,18 @@ export default new Migration(async () => {
|
|
|
44
47
|
return { path: folder + '/' + dirent.name, name: dirent.name };
|
|
45
48
|
});
|
|
46
49
|
const allProvinces = await Province.where({ country: Country.Netherlands });
|
|
50
|
+
const provinceRows = [];
|
|
51
|
+
const cityRows = [];
|
|
52
|
+
const postalCodeRows = [];
|
|
53
|
+
const parentCityUpdates = [];
|
|
47
54
|
for (const p of provinces) {
|
|
48
55
|
// console.log(p.name);
|
|
49
|
-
const province =
|
|
56
|
+
const province = getProvince(p.name.trim(), allProvinces, provinceRows);
|
|
50
57
|
// const cities = await fs.readFile(p.path, { encoding: "utf-8" });
|
|
51
58
|
const lineReader = readline.createInterface({
|
|
52
59
|
input: fs.createReadStream(p.path, { encoding: 'utf-8' }),
|
|
53
60
|
});
|
|
54
|
-
const
|
|
61
|
+
const citiesByName = new Map();
|
|
55
62
|
for await (const line of lineReader) {
|
|
56
63
|
const splitted = line.split('\t');
|
|
57
64
|
if (splitted.length !== 3) {
|
|
@@ -62,19 +69,49 @@ export default new Migration(async () => {
|
|
|
62
69
|
const gemeente = splitted[1].trim();
|
|
63
70
|
const plaats = splitted[2].trim();
|
|
64
71
|
// Check plaats and gemeente
|
|
65
|
-
const city =
|
|
66
|
-
const city2 =
|
|
72
|
+
const city = getCity(plaats, province.id, citiesByName, cityRows);
|
|
73
|
+
const city2 = getCity(gemeente, province.id, citiesByName, cityRows); // might be the same as city
|
|
67
74
|
if (city2.id !== city.id && city.parentCityId === null) {
|
|
68
75
|
city.parentCityId = city2.id;
|
|
69
|
-
|
|
76
|
+
parentCityUpdates.push([city.id, city2.id]);
|
|
70
77
|
}
|
|
71
78
|
// Also add postal code already
|
|
72
|
-
|
|
73
|
-
postalCode.postalCode = postcode;
|
|
74
|
-
postalCode.cityId = city.id;
|
|
75
|
-
postalCode.country = Country.Netherlands;
|
|
76
|
-
await postalCode.save();
|
|
79
|
+
postalCodeRows.push([uuidv4(), postcode, city.id, Country.Netherlands]);
|
|
77
80
|
}
|
|
78
81
|
}
|
|
82
|
+
await insertRows(Province.table, ['id', 'name', 'country'], provinceRows);
|
|
83
|
+
await insertRows(City.table, ['id', 'name', 'provinceId', 'parentCityId', 'country'], cityRows);
|
|
84
|
+
await insertRows(PostalCode.table, ['id', 'postalCode', 'cityId', 'country'], postalCodeRows);
|
|
85
|
+
await updateParentCityIds(parentCityUpdates);
|
|
79
86
|
});
|
|
87
|
+
function normalizeCityName(name) {
|
|
88
|
+
return name.normalize('NFD').replace(/[\u0300-\u036f]/g, '').toLowerCase().replace(/\s+/, ' ').trim();
|
|
89
|
+
}
|
|
90
|
+
async function insertRows(table, columns, rows) {
|
|
91
|
+
for (const chunk of chunks(rows, 1000)) {
|
|
92
|
+
if (chunk.length === 0) {
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
await Database.insert(`INSERT INTO \`${table}\` (${columns.map(column => `\`${column}\``).join(', ')}) VALUES ?`, [chunk]);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
async function updateParentCityIds(rows) {
|
|
99
|
+
for (const chunk of chunks(rows, 1000)) {
|
|
100
|
+
if (chunk.length === 0) {
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
const cases = chunk.map(() => 'WHEN ? THEN ?').join(' ');
|
|
104
|
+
await Database.statement(`UPDATE \`${City.table}\` SET \`parentCityId\` = CASE \`id\` ${cases} END WHERE \`id\` IN (?)`, [
|
|
105
|
+
...chunk.flatMap(([cityId, parentCityId]) => [cityId, parentCityId]),
|
|
106
|
+
chunk.map(([cityId]) => cityId),
|
|
107
|
+
]);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function chunks(values, size) {
|
|
111
|
+
const result = [];
|
|
112
|
+
for (let index = 0; index < values.length; index += size) {
|
|
113
|
+
result.push(values.slice(index, index + size));
|
|
114
|
+
}
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
80
117
|
//# sourceMappingURL=1605262046-import-postcodes-nl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1605262046-import-postcodes-nl.js","sourceRoot":"","sources":["../../src/migrations/1605262046-import-postcodes-nl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"1605262046-import-postcodes-nl.js","sourceRoot":"","sources":["../../src/migrations/1605262046-import-postcodes-nl.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
SET FOREIGN_KEY_CHECKS=0;
|
|
1
2
|
ALTER TABLE `organizations` ADD COLUMN `periodId` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL;
|
|
2
3
|
ALTER TABLE `organizations` ADD FOREIGN KEY (`periodId`) REFERENCES `registration_periods` (`id`) ON UPDATE CASCADE ON DELETE RESTRICT;
|
|
4
|
+
SET FOREIGN_KEY_CHECKS=1;
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
SET FOREIGN_KEY_CHECKS=0;
|
|
1
2
|
ALTER TABLE `groups` ADD COLUMN `periodId` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL;
|
|
2
3
|
ALTER TABLE `groups` ADD FOREIGN KEY (`periodId`) REFERENCES `registration_periods` (`id`) ON UPDATE CASCADE ON DELETE RESTRICT;
|
|
4
|
+
SET FOREIGN_KEY_CHECKS=1;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1720080975-convert-charset.d.ts","sourceRoot":"","sources":["../../src/migrations/1720080975-convert-charset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,6BAA6B,CAAC;;AAGlE,wBAmBG"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Database, Migration } from '@simonbackx/simple-database';
|
|
2
|
+
import { LoggingTools } from '@stamhoofd/utility';
|
|
3
|
+
export default new Migration(async () => {
|
|
4
|
+
process.stdout.write('\n');
|
|
5
|
+
if (STAMHOOFD.userMode === 'platform' && (STAMHOOFD.environment === 'production' || STAMHOOFD.environment === 'staging')) {
|
|
6
|
+
console.log('Skipped convert charset for userMode platform in production.');
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
const tables = ['_members_users', 'balance_item_payments', 'balance_items', 'buckaroo_payments', 'cities', 'document_templates', 'documents', 'email_templates', 'email_verification_codes', 'groups', 'images', 'members', 'migrations', 'mollie_payments', 'mollie_tokens', 'organization_registration_periods', 'organizations', 'password_tokens', 'payconiq_payments', 'payments', 'platform', 'postal_codes', 'provinces', 'register_codes', 'registration_periods', 'registrations', 'stamhoofd_credits', 'stamhoofd_invoices', 'stamhoofd_packages', 'stamhoofd_pending_invoices', 'streets', 'stripe_accounts', 'stripe_checkout_sessions', 'stripe_payment_intents', 'tokens', 'used_register_codes', 'users', 'webshop_discount_codes', 'webshop_orders', 'webshop_tickets', 'webshops'];
|
|
10
|
+
const progressLogger = LoggingTools.createProgressLogger(tables.length, { tag: 'convert tables charset' });
|
|
11
|
+
for (const table of tables) {
|
|
12
|
+
await convertTable(table);
|
|
13
|
+
progressLogger.update();
|
|
14
|
+
}
|
|
15
|
+
console.log('Start set database charset.');
|
|
16
|
+
await Database.statement('ALTER DATABASE CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;');
|
|
17
|
+
});
|
|
18
|
+
async function convertTable(name) {
|
|
19
|
+
await Database.beginTransaction(async () => {
|
|
20
|
+
await Database.statement('set foreign_key_checks=0;');
|
|
21
|
+
console.log('Start converting charset of table: ' + name);
|
|
22
|
+
await Database.statement('ALTER TABLE `' + name + '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;');
|
|
23
|
+
await Database.statement('set foreign_key_checks=1;');
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=1720080975-convert-charset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1720080975-convert-charset.js","sourceRoot":"","sources":["../../src/migrations/1720080975-convert-charset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,eAAe,IAAI,SAAS,CAAC,KAAK,IAAI,EAAE;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE3B,IAAI,SAAS,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,SAAS,CAAC,WAAW,KAAK,YAAY,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS,CAAC,EAAE,CAAC;QACvH,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO;IACX,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,eAAe,EAAE,mBAAmB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,WAAW,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,mCAAmC,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,eAAe,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,SAAS,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAEpwB,MAAM,cAAc,GAAG,YAAY,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAE3G,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;QAC1B,cAAc,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,MAAM,QAAQ,CAAC,SAAS,CAAC,kEAAkE,CAAC,CAAC;AACjG,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,YAAY,CAAC,IAAY;IACpC,MAAM,QAAQ,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;QACvC,MAAM,QAAQ,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QAEtD,OAAO,CAAC,GAAG,CAAC,qCAAqC,GAAG,IAAI,CAAC,CAAC;QAC1D,MAAM,QAAQ,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,GAAG,gEAAgE,CAAC,CAAC;QAEpH,MAAM,QAAQ,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1720080976-convert-charset-leads.d.ts","sourceRoot":"","sources":["../../src/migrations/1720080976-convert-charset-leads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;;;GAKG;;AACH,
|
|
1
|
+
{"version":3,"file":"1720080976-convert-charset-leads.d.ts","sourceRoot":"","sources":["../../src/migrations/1720080976-convert-charset-leads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;;;GAKG;;AACH,wBAgBG"}
|
|
@@ -7,21 +7,14 @@ import { Database, Migration } from '@simonbackx/simple-database';
|
|
|
7
7
|
*/
|
|
8
8
|
export default new Migration(async () => {
|
|
9
9
|
process.stdout.write('\n');
|
|
10
|
-
if (STAMHOOFD.userMode === 'platform') {
|
|
11
|
-
console.log('Skipped update leads charset for userMode platform.');
|
|
10
|
+
if (STAMHOOFD.userMode === 'platform' && (STAMHOOFD.environment === 'production' || STAMHOOFD.environment === 'staging')) {
|
|
11
|
+
console.log('Skipped update leads charset for userMode platform in production.');
|
|
12
12
|
return Promise.resolve();
|
|
13
13
|
}
|
|
14
14
|
const hasTable = await tableExists('leads');
|
|
15
15
|
console.log('Has leads table: ' + hasTable);
|
|
16
16
|
if (hasTable) {
|
|
17
|
-
|
|
18
|
-
'set foreign_key_checks=0;',
|
|
19
|
-
'ALTER TABLE `leads` CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;',
|
|
20
|
-
'ALTER TABLE `leads` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;',
|
|
21
|
-
'set foreign_key_checks=1;'
|
|
22
|
-
].join('');
|
|
23
|
-
console.log('Start updating charset of leads table.');
|
|
24
|
-
await Database.statement(sqlStatement);
|
|
17
|
+
await convertTable('leads');
|
|
25
18
|
}
|
|
26
19
|
return Promise.resolve();
|
|
27
20
|
});
|
|
@@ -38,4 +31,12 @@ async function tableExists(tableName) {
|
|
|
38
31
|
}
|
|
39
32
|
return count > 0;
|
|
40
33
|
}
|
|
34
|
+
async function convertTable(name) {
|
|
35
|
+
await Database.beginTransaction(async () => {
|
|
36
|
+
await Database.statement('set foreign_key_checks=0;');
|
|
37
|
+
console.log('Start converting charset of table: ' + name);
|
|
38
|
+
await Database.statement('ALTER TABLE `' + name + '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;');
|
|
39
|
+
await Database.statement('set foreign_key_checks=1;');
|
|
40
|
+
});
|
|
41
|
+
}
|
|
41
42
|
//# sourceMappingURL=1720080976-convert-charset-leads.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1720080976-convert-charset-leads.js","sourceRoot":"","sources":["../../src/migrations/1720080976-convert-charset-leads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;;;GAKG;AACH,eAAe,IAAI,SAAS,CAAC,KAAK,IAAI,EAAE;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE3B,IAAI,SAAS,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"1720080976-convert-charset-leads.js","sourceRoot":"","sources":["../../src/migrations/1720080976-convert-charset-leads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;;;GAKG;AACH,eAAe,IAAI,SAAS,CAAC,KAAK,IAAI,EAAE;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE3B,IAAI,SAAS,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,SAAS,CAAC,WAAW,KAAK,YAAY,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS,CAAC,EAAE,CAAC;QACvH,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;QACjF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,QAAQ,CAAC,CAAC;IAE5C,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,WAAW,CAAC,SAAiB;IACxC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,QAAQ,CAAC,MAAM,CAChC;;;;;SAKC,EACD,CAAC,SAAS,CAAC,CACd,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAEnC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,KAAK,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAY;IACpC,MAAM,QAAQ,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;QACvC,MAAM,QAAQ,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QAEtD,OAAO,CAAC,GAAG,CAAC,qCAAqC,GAAG,IAAI,CAAC,CAAC;QAC1D,MAAM,QAAQ,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,GAAG,gEAAgE,CAAC,CAAC;QAEpH,MAAM,QAAQ,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
SET FOREIGN_KEY_CHECKS=0;
|
|
1
2
|
ALTER TABLE `groups`
|
|
2
3
|
ADD COLUMN `waitingListId` varchar(36) NULL AFTER `defaultAgeGroupId`;
|
|
3
|
-
|
|
4
4
|
ALTER TABLE `groups` ADD FOREIGN KEY (`waitingListId`) REFERENCES `groups` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
5
|
+
SET FOREIGN_KEY_CHECKS=1;
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
SET FOREIGN_KEY_CHECKS=0;
|
|
1
2
|
ALTER TABLE `balance_items` ADD COLUMN `payingOrganizationId` varchar(36) NULL;
|
|
2
3
|
ALTER TABLE `balance_items` ADD FOREIGN KEY (`payingOrganizationId`) REFERENCES `organizations` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
4
|
+
SET FOREIGN_KEY_CHECKS=1;
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
SET FOREIGN_KEY_CHECKS=0;
|
|
1
2
|
ALTER TABLE `balance_items` ADD COLUMN `dependingBalanceItemId` varchar(36) NULL;
|
|
2
3
|
ALTER TABLE `balance_items` ADD FOREIGN KEY (`dependingBalanceItemId`) REFERENCES `balance_items` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
4
|
+
SET FOREIGN_KEY_CHECKS=1;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
ALTER TABLE `registrations`
|
|
2
2
|
ADD COLUMN `options` json NOT NULL DEFAULT ('{"value": [], "version": 0}') AFTER `price`,
|
|
3
|
-
ADD COLUMN `groupPrice` json NOT NULL DEFAULT ('{"value": {"id": "unknown", "name": "
|
|
3
|
+
ADD COLUMN `groupPrice` json NOT NULL DEFAULT ('{"value": {"id": "unknown", "name": "Standaardtarief", "price": {"price": 0, "reducedPrice": null}}, "version": 0}') AFTER `price`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1733994455-balance-item-status-open.d.ts","sourceRoot":"","sources":["../../src/migrations/1733994455-balance-item-status-open.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,6BAA6B,CAAC;;AAGlE,wBA0BG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Database, Migration } from '@simonbackx/simple-database';
|
|
2
|
+
import { BalanceItemStatus } from '@stamhoofd/structures';
|
|
3
|
+
export default new Migration(async () => {
|
|
4
|
+
if (STAMHOOFD.environment === 'test') {
|
|
5
|
+
console.log('skipped in tests');
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
const query = `
|
|
9
|
+
UPDATE
|
|
10
|
+
balance_items
|
|
11
|
+
SET status = ?
|
|
12
|
+
WHERE status IN (?)`;
|
|
13
|
+
await Database.update(query, [
|
|
14
|
+
BalanceItemStatus.Due,
|
|
15
|
+
['Paid', 'Pending'],
|
|
16
|
+
]);
|
|
17
|
+
const q2 = `
|
|
18
|
+
UPDATE
|
|
19
|
+
balance_items
|
|
20
|
+
SET status = ?,
|
|
21
|
+
amount = coalesce(nullif(ROUND(coalesce(pricePaid / nullif(unitPrice, 0), 0)), 0), 1)
|
|
22
|
+
WHERE amount = 0 AND status = ?`;
|
|
23
|
+
await Database.update(q2, [
|
|
24
|
+
BalanceItemStatus.Canceled,
|
|
25
|
+
BalanceItemStatus.Due,
|
|
26
|
+
]);
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=1733994455-balance-item-status-open.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1733994455-balance-item-status-open.js","sourceRoot":"","sources":["../../src/migrations/1733994455-balance-item-status-open.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,eAAe,IAAI,SAAS,CAAC,KAAK,IAAI,EAAE;IACpC,IAAI,SAAS,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,OAAO;IACX,CAAC;IAED,MAAM,KAAK,GAAG;;;;4BAIU,CAAC;IACzB,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE;QACzB,iBAAiB,CAAC,GAAG;QACrB,CAAC,MAAM,EAAE,SAAS,CAAC;KACtB,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG;;;;;wCAKyB,CAAC;IACrC,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE;QACtB,iBAAiB,CAAC,QAAQ;QAC1B,iBAAiB,CAAC,GAAG;KACxB,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1780412083-documents-set-locked.d.ts","sourceRoot":"","sources":["../../src/migrations/1780412083-documents-set-locked.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,6BAA6B,CAAC;;AAElE,wBAeG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Database, Migration } from '@simonbackx/simple-database';
|
|
2
|
+
export default new Migration(async () => {
|
|
3
|
+
process.stdout.write('\n');
|
|
4
|
+
if (STAMHOOFD.userMode === 'platform') {
|
|
5
|
+
console.log('Skipped set documents locked for userMode platform.');
|
|
6
|
+
return Promise.resolve();
|
|
7
|
+
}
|
|
8
|
+
console.log('Start locking document templates.');
|
|
9
|
+
await Database.statement(`update document_templates set isLocked = 1 where status = 'Published';`);
|
|
10
|
+
console.log('Start locking documents.');
|
|
11
|
+
await Database.statement(`update documents set isLocked = 1 where status = 'Published';`);
|
|
12
|
+
return Promise.resolve();
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=1780412083-documents-set-locked.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1780412083-documents-set-locked.js","sourceRoot":"","sources":["../../src/migrations/1780412083-documents-set-locked.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAElE,eAAe,IAAI,SAAS,CAAC,KAAK,IAAI,EAAE;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE3B,IAAI,SAAS,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACnE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,MAAM,QAAQ,CAAC,SAAS,CAAC,wEAAwE,CAAC,CAAC;IAEnG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,MAAM,QAAQ,CAAC,SAAS,CAAC,+DAA+D,CAAC,CAAC;IAE1F,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC7B,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1780928401-v1-groups-migration-data.d.ts","sourceRoot":"","sources":["../../src/migrations/1780928401-v1-groups-migration-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,6BAA6B,CAAC;;AAClE,wBAuCG"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Database, Migration } from '@simonbackx/simple-database';
|
|
2
|
+
export default new Migration(async () => {
|
|
3
|
+
if (STAMHOOFD.environment === 'test') {
|
|
4
|
+
console.log('skipped in tests');
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
if (STAMHOOFD.userMode === 'platform') {
|
|
8
|
+
console.log('skipped for userMode platform');
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
console.log('start create v1_groups_migration_data table');
|
|
12
|
+
// create table to keep track of which combination of group id and cycle has been migrated to a new group after the migration from Stamhoofd v1 to v2
|
|
13
|
+
const groupsQuery = `CREATE TABLE \`v1_groups_migration_data\` (
|
|
14
|
+
\`newGroupId\` varchar(36) NOT NULL,
|
|
15
|
+
\`oldGroupId\` varchar(36) NOT NULL,
|
|
16
|
+
\`oldCycle\` int NOT NULL DEFAULT '0',
|
|
17
|
+
PRIMARY KEY (\`newGroupId\`),
|
|
18
|
+
UNIQUE KEY \`oldKey\` (\`oldGroupId\`,\`oldCycle\`) USING BTREE,
|
|
19
|
+
CONSTRAINT \`v1_groups_migration_data_ibfk_1\` FOREIGN KEY (\`newGroupId\`) REFERENCES \`groups\` (\`id\`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
20
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;`;
|
|
21
|
+
await Database.statement(groupsQuery);
|
|
22
|
+
console.log('finished create v1_groups_migration_data table');
|
|
23
|
+
console.log('start create v1_waiting_list_migration_data table');
|
|
24
|
+
// create table to keep track of which combination of waiting list group id and cycle has been migrated to a new group after the migration from Stamhoofd v1 to v2
|
|
25
|
+
const waitingListsQuery = `CREATE TABLE \`v1_waiting_list_migration_data\` (
|
|
26
|
+
\`newGroupId\` varchar(36) NOT NULL,
|
|
27
|
+
\`oldGroupId\` varchar(36) NOT NULL,
|
|
28
|
+
\`oldCycle\` int NOT NULL DEFAULT '0',
|
|
29
|
+
PRIMARY KEY (\`newGroupId\`),
|
|
30
|
+
UNIQUE KEY \`oldKey\` (\`oldGroupId\`,\`oldCycle\`) USING BTREE,
|
|
31
|
+
CONSTRAINT \`v1_waiting_list_migration_data_ibfk_1\` FOREIGN KEY (\`newGroupId\`) REFERENCES \`groups\` (\`id\`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
32
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;`;
|
|
33
|
+
await Database.statement(waitingListsQuery);
|
|
34
|
+
console.log('finished create v1_waiting_list_migration_data table');
|
|
35
|
+
});
|
|
36
|
+
// CREATE TABLE `v1_groups_migration_data` (
|
|
37
|
+
// `newGroupId` varchar(36) NOT NULL,
|
|
38
|
+
// `oldGroupId` varchar(36) NOT NULL,
|
|
39
|
+
// `oldCycle` int NOT NULL DEFAULT '0',
|
|
40
|
+
// PRIMARY KEY (`newGroupId`),
|
|
41
|
+
// UNIQUE KEY `oldKey` (`oldGroupId`,`oldCycle`) USING BTREE,
|
|
42
|
+
// CONSTRAINT `groups_ibfk_1` FOREIGN KEY (`newGroupId`) REFERENCES `groups` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
43
|
+
// ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
44
|
+
//# sourceMappingURL=1780928401-v1-groups-migration-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1780928401-v1-groups-migration-data.js","sourceRoot":"","sources":["../../src/migrations/1780928401-v1-groups-migration-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAClE,eAAe,IAAI,SAAS,CAAC,KAAK,IAAI,EAAE;IACpC,IAAI,SAAS,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,OAAO;IACX,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAE3D,qJAAqJ;IACrJ,MAAM,WAAW,GAAG;;;;;;;wEAOgD,CAAC;IAErE,MAAM,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAE9D,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACjE,kKAAkK;IAClK,MAAM,iBAAiB,GAAG;;;;;;;wEAO0C,CAAC;IACrE,MAAM,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAE5C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;AACxE,CAAC,CAAC,CAAC;AAEH,4CAA4C;AAC5C,yCAAyC;AACzC,yCAAyC;AACzC,2CAA2C;AAC3C,gCAAgC;AAChC,+DAA+D;AAC/D,yHAAyH;AACzH,sEAAsE"}
|
|
@@ -126,6 +126,10 @@ export declare class BalanceItem extends QueryableModel {
|
|
|
126
126
|
* Marking a balance item as 'paid' can have side effects. To prevent executing these side effects multiple times, we store it in here.
|
|
127
127
|
*/
|
|
128
128
|
paidAt: Date | null;
|
|
129
|
+
/**
|
|
130
|
+
* Marking a balance item as 'failed' can have side effects. To prevent executing these side effects multiple times, we store it in here.
|
|
131
|
+
*/
|
|
132
|
+
failedAt: Date | null;
|
|
129
133
|
createdAt: Date;
|
|
130
134
|
updatedAt: Date;
|
|
131
135
|
/**
|
|
@@ -208,8 +212,8 @@ export declare class BalanceItem extends QueryableModel {
|
|
|
208
212
|
*/
|
|
209
213
|
static updatePricePaid(balanceItemIds: string[] | 'all'): Promise<void>;
|
|
210
214
|
/**
|
|
211
|
-
|
|
212
|
-
|
|
215
|
+
* Update the outstanding balance of multiple members in one go (or all members)
|
|
216
|
+
*/
|
|
213
217
|
static updateInvoiced(balanceItemIds: string[] | 'all'): Promise<number>;
|
|
214
218
|
static loadPayments(items: (BalanceItem | {
|
|
215
219
|
id: string;
|
|
@@ -222,5 +226,6 @@ export declare class BalanceItem extends QueryableModel {
|
|
|
222
226
|
static getStructureWithPrivatePayments(items: BalanceItem[]): Promise<BalanceItemWithPrivatePayments[]>;
|
|
223
227
|
static balanceItemsForUsersAndMembers(organizationId: string | null, userIds: string[], memberIds: string[]): Promise<BalanceItem[]>;
|
|
224
228
|
static balanceItemsForOrganization(payingOrganizationId: string, organizationId?: string): Promise<BalanceItem[]>;
|
|
229
|
+
save(...args: Parameters<QueryableModel['save']>): Promise<boolean>;
|
|
225
230
|
}
|
|
226
231
|
//# sourceMappingURL=BalanceItem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BalanceItem.d.ts","sourceRoot":"","sources":["../../src/models/BalanceItem.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAuE,mBAAmB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,WAAW,IAAI,iBAAiB,EAAE,eAAe,EAAE,uBAAuB,EAAE,8BAA8B,EAA4C,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"BalanceItem.d.ts","sourceRoot":"","sources":["../../src/models/BalanceItem.ts"],"names":[],"mappings":"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"}
|