@stamhoofd/models 2.121.0 → 2.122.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.
Files changed (241) hide show
  1. package/dist/factories/GroupFactory.d.ts.map +1 -1
  2. package/dist/factories/GroupFactory.js +1 -1
  3. package/dist/factories/GroupFactory.js.map +1 -1
  4. package/dist/factories/OrganizationFactory.d.ts +2 -1
  5. package/dist/factories/OrganizationFactory.d.ts.map +1 -1
  6. package/dist/factories/OrganizationFactory.js +9 -1
  7. package/dist/factories/OrganizationFactory.js.map +1 -1
  8. package/dist/factories/STPackageFactory.js.map +1 -1
  9. package/dist/factories/UserFactory.d.ts.map +1 -1
  10. package/dist/factories/UserFactory.js +2 -2
  11. package/dist/factories/UserFactory.js.map +1 -1
  12. package/dist/helpers/EmailBuilder.d.ts.map +1 -1
  13. package/dist/helpers/EmailBuilder.js +8 -8
  14. package/dist/helpers/EmailBuilder.js.map +1 -1
  15. package/dist/helpers/Handlebars.d.ts.map +1 -1
  16. package/dist/helpers/Handlebars.js +7 -1
  17. package/dist/helpers/Handlebars.js.map +1 -1
  18. package/dist/index.d.ts +0 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +0 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/migrations/1605262045-import-postcodes.d.ts.map +1 -1
  23. package/dist/migrations/1605262045-import-postcodes.js +58 -24
  24. package/dist/migrations/1605262045-import-postcodes.js.map +1 -1
  25. package/dist/migrations/1605262046-import-postcodes-nl.d.ts.map +1 -1
  26. package/dist/migrations/1605262046-import-postcodes-nl.js +54 -17
  27. package/dist/migrations/1605262046-import-postcodes-nl.js.map +1 -1
  28. package/dist/migrations/1719567881-organization-periodId.sql +2 -0
  29. package/dist/migrations/1719567882-groups-periodId.sql +2 -0
  30. package/dist/migrations/1720080975-convert-charset.d.ts +4 -0
  31. package/dist/migrations/1720080975-convert-charset.d.ts.map +1 -0
  32. package/dist/migrations/1720080975-convert-charset.js +26 -0
  33. package/dist/migrations/1720080975-convert-charset.js.map +1 -0
  34. package/dist/migrations/1720080976-convert-charset-leads.d.ts.map +1 -1
  35. package/dist/migrations/1720080976-convert-charset-leads.js +11 -10
  36. package/dist/migrations/1720080976-convert-charset-leads.js.map +1 -1
  37. package/dist/migrations/1721400546-users-memberId.sql +2 -0
  38. package/dist/migrations/1722269236-group-waitinglist-id.sql +2 -1
  39. package/dist/migrations/1722525785-balance-item-paying-organization-id.sql +2 -0
  40. package/dist/migrations/1722525787-depending-balance-item.sql +2 -0
  41. package/dist/migrations/1722963554-registration-group-price-and-options.sql +1 -1
  42. package/dist/migrations/1723652797-payments-paying-organization-id-fk.sql +2 -0
  43. package/dist/migrations/1733317908-added-missing-organization-fk-on-registrations.sql +2 -0
  44. package/dist/migrations/1733317910-paying-organization-id-fk.sql +2 -0
  45. package/dist/migrations/1733504881-negative-invoice-id.sql +6 -0
  46. package/dist/migrations/1733994455-balance-item-status-open.d.ts +4 -0
  47. package/dist/migrations/1733994455-balance-item-status-open.d.ts.map +1 -0
  48. package/dist/migrations/1733994455-balance-item-status-open.js +28 -0
  49. package/dist/migrations/1733994455-balance-item-status-open.js.map +1 -0
  50. package/dist/migrations/1769087808-corrected-invoice-user-agent.sql +2 -0
  51. package/dist/migrations/1769087809-payments-invoice-id.sql +2 -0
  52. package/dist/migrations/1772033555-balance-item-package-id.sql +2 -0
  53. package/dist/migrations/1778796615-payments-reversing-payment-id.sql +2 -0
  54. package/dist/migrations/1779443446-transfer-fees.sql +3 -0
  55. package/dist/migrations/1779709174-used-register-code-balance-item-id.sql +5 -0
  56. package/dist/migrations/1779968328-payments-admin-user-id.sql +5 -0
  57. package/dist/migrations/1779970611-payments-refunded-amount.sql +2 -0
  58. package/dist/migrations/1779972640-balance-items-failed-at.sql +2 -0
  59. package/dist/migrations/1780328285-document-template-locked.sql +2 -0
  60. package/dist/migrations/1780328286-document-locked.sql +2 -0
  61. package/dist/migrations/1780412083-documents-set-locked.d.ts +4 -0
  62. package/dist/migrations/1780412083-documents-set-locked.d.ts.map +1 -0
  63. package/dist/migrations/1780412083-documents-set-locked.js +14 -0
  64. package/dist/migrations/1780412083-documents-set-locked.js.map +1 -0
  65. package/dist/migrations/1780928401-v1-groups-migration-data.d.ts +4 -0
  66. package/dist/migrations/1780928401-v1-groups-migration-data.d.ts.map +1 -0
  67. package/dist/migrations/1780928401-v1-groups-migration-data.js +44 -0
  68. package/dist/migrations/1780928401-v1-groups-migration-data.js.map +1 -0
  69. package/dist/models/BalanceItem.d.ts +7 -2
  70. package/dist/models/BalanceItem.d.ts.map +1 -1
  71. package/dist/models/BalanceItem.js +41 -38
  72. package/dist/models/BalanceItem.js.map +1 -1
  73. package/dist/models/CachedBalance.d.ts +6 -1
  74. package/dist/models/CachedBalance.d.ts.map +1 -1
  75. package/dist/models/CachedBalance.js +3 -2
  76. package/dist/models/CachedBalance.js.map +1 -1
  77. package/dist/models/Document.d.ts +4 -0
  78. package/dist/models/Document.d.ts.map +1 -1
  79. package/dist/models/Document.js +26 -3
  80. package/dist/models/Document.js.map +1 -1
  81. package/dist/models/DocumentTemplate.d.ts +4 -0
  82. package/dist/models/DocumentTemplate.d.ts.map +1 -1
  83. package/dist/models/DocumentTemplate.js +37 -1
  84. package/dist/models/DocumentTemplate.js.map +1 -1
  85. package/dist/models/Email.d.ts.map +1 -1
  86. package/dist/models/Email.js +1 -1
  87. package/dist/models/Email.js.map +1 -1
  88. package/dist/models/EmailVerificationCode.d.ts.map +1 -1
  89. package/dist/models/EmailVerificationCode.js +3 -13
  90. package/dist/models/EmailVerificationCode.js.map +1 -1
  91. package/dist/models/Event.d.ts +2 -1
  92. package/dist/models/Event.d.ts.map +1 -1
  93. package/dist/models/Event.js +3 -0
  94. package/dist/models/Event.js.map +1 -1
  95. package/dist/models/EventNotification.d.ts.map +1 -1
  96. package/dist/models/EventNotification.js +5 -5
  97. package/dist/models/EventNotification.js.map +1 -1
  98. package/dist/models/Invoice.d.ts +1 -0
  99. package/dist/models/Invoice.d.ts.map +1 -1
  100. package/dist/models/Invoice.js +8 -0
  101. package/dist/models/Invoice.js.map +1 -1
  102. package/dist/models/MemberPlatformMembership.d.ts.map +1 -1
  103. package/dist/models/MemberPlatformMembership.js +9 -0
  104. package/dist/models/MemberPlatformMembership.js.map +1 -1
  105. package/dist/models/Order.d.ts.map +1 -1
  106. package/dist/models/Order.js +1 -0
  107. package/dist/models/Order.js.map +1 -1
  108. package/dist/models/Organization.d.ts +23 -25
  109. package/dist/models/Organization.d.ts.map +1 -1
  110. package/dist/models/Organization.js +92 -64
  111. package/dist/models/Organization.js.map +1 -1
  112. package/dist/models/PasswordToken.d.ts +5 -1
  113. package/dist/models/PasswordToken.d.ts.map +1 -1
  114. package/dist/models/PasswordToken.js +18 -17
  115. package/dist/models/PasswordToken.js.map +1 -1
  116. package/dist/models/Payment.d.ts +21 -2
  117. package/dist/models/Payment.d.ts.map +1 -1
  118. package/dist/models/Payment.js +43 -2
  119. package/dist/models/Payment.js.map +1 -1
  120. package/dist/models/Registration.d.ts.map +1 -1
  121. package/dist/models/Registration.js +3 -3
  122. package/dist/models/Registration.js.map +1 -1
  123. package/dist/models/STCredit.d.ts +4 -0
  124. package/dist/models/STCredit.d.ts.map +1 -1
  125. package/dist/models/STCredit.js +28 -0
  126. package/dist/models/STCredit.js.map +1 -1
  127. package/dist/models/STInvoice.d.ts +7 -1
  128. package/dist/models/STInvoice.d.ts.map +1 -1
  129. package/dist/models/STInvoice.js +9 -0
  130. package/dist/models/STInvoice.js.map +1 -1
  131. package/dist/models/STPackage.d.ts +4 -0
  132. package/dist/models/STPackage.d.ts.map +1 -1
  133. package/dist/models/STPackage.js +12 -1
  134. package/dist/models/STPackage.js.map +1 -1
  135. package/dist/models/UsedRegisterCode.d.ts +9 -0
  136. package/dist/models/UsedRegisterCode.d.ts.map +1 -1
  137. package/dist/models/UsedRegisterCode.js +31 -0
  138. package/dist/models/UsedRegisterCode.js.map +1 -1
  139. package/dist/models/_relations.js +25 -0
  140. package/dist/models/_relations.js.map +1 -1
  141. package/dist/models/addresses/City.d.ts +4 -4
  142. package/dist/models/addresses/City.d.ts.map +1 -1
  143. package/dist/models/addresses/City.js +6 -6
  144. package/dist/models/addresses/City.js.map +1 -1
  145. package/dist/models/addresses/PostalCode.d.ts +2 -2
  146. package/dist/models/addresses/PostalCode.d.ts.map +1 -1
  147. package/dist/models/addresses/PostalCode.js +4 -3
  148. package/dist/models/addresses/PostalCode.js.map +1 -1
  149. package/dist/models/addresses/Street.d.ts +3 -3
  150. package/dist/models/addresses/Street.d.ts.map +1 -1
  151. package/dist/models/addresses/Street.js +4 -4
  152. package/dist/models/addresses/Street.js.map +1 -1
  153. package/dist/models/index.d.ts +1 -0
  154. package/dist/models/index.d.ts.map +1 -1
  155. package/dist/models/index.js +1 -0
  156. package/dist/models/index.js.map +1 -1
  157. package/dist/models/v1GroupMigrationData.d.ts +22 -0
  158. package/dist/models/v1GroupMigrationData.d.ts.map +1 -0
  159. package/dist/models/v1GroupMigrationData.js +48 -0
  160. package/dist/models/v1GroupMigrationData.js.map +1 -0
  161. package/package.json +32 -13
  162. package/src/factories/GroupFactory.ts +4 -6
  163. package/src/factories/OrganizationFactory.ts +12 -4
  164. package/src/factories/STPackageFactory.ts +2 -2
  165. package/src/factories/UserFactory.ts +4 -5
  166. package/src/helpers/EmailBuilder.ts +19 -28
  167. package/src/helpers/Handlebars.ts +6 -1
  168. package/src/index.ts +0 -1
  169. package/src/migrations/1605262045-import-postcodes.ts +62 -25
  170. package/src/migrations/1605262046-import-postcodes-nl.ts +58 -17
  171. package/src/migrations/1719567881-organization-periodId.sql +2 -0
  172. package/src/migrations/1719567882-groups-periodId.sql +2 -0
  173. package/src/migrations/1720080975-convert-charset.ts +34 -0
  174. package/src/migrations/1720080976-convert-charset-leads.ts +16 -13
  175. package/src/migrations/1721400546-users-memberId.sql +2 -0
  176. package/src/migrations/1722269236-group-waitinglist-id.sql +2 -1
  177. package/src/migrations/1722525785-balance-item-paying-organization-id.sql +2 -0
  178. package/src/migrations/1722525787-depending-balance-item.sql +2 -0
  179. package/src/migrations/1722963554-registration-group-price-and-options.sql +1 -1
  180. package/src/migrations/1723652797-payments-paying-organization-id-fk.sql +2 -0
  181. package/src/migrations/1733317908-added-missing-organization-fk-on-registrations.sql +2 -0
  182. package/src/migrations/1733317910-paying-organization-id-fk.sql +2 -0
  183. package/src/migrations/1733504881-negative-invoice-id.sql +6 -0
  184. package/src/migrations/1733994455-balance-item-status-open.ts +30 -0
  185. package/src/migrations/1769087808-corrected-invoice-user-agent.sql +2 -0
  186. package/src/migrations/1769087809-payments-invoice-id.sql +2 -0
  187. package/src/migrations/1772033555-balance-item-package-id.sql +2 -0
  188. package/src/migrations/1778796615-payments-reversing-payment-id.sql +2 -0
  189. package/src/migrations/1779443446-transfer-fees.sql +3 -0
  190. package/src/migrations/1779709174-used-register-code-balance-item-id.sql +5 -0
  191. package/src/migrations/1779968328-payments-admin-user-id.sql +5 -0
  192. package/src/migrations/1779970611-payments-refunded-amount.sql +2 -0
  193. package/src/migrations/1779972640-balance-items-failed-at.sql +2 -0
  194. package/src/migrations/1780328285-document-template-locked.sql +2 -0
  195. package/src/migrations/1780328286-document-locked.sql +2 -0
  196. package/src/migrations/1780412083-documents-set-locked.ts +18 -0
  197. package/src/migrations/1780928401-v1-groups-migration-data.ts +50 -0
  198. package/src/models/BalanceItem.ts +44 -43
  199. package/src/models/CachedBalance.test.ts +46 -46
  200. package/src/models/CachedBalance.ts +7 -7
  201. package/src/models/Document.ts +34 -13
  202. package/src/models/DocumentTemplate.ts +56 -17
  203. package/src/models/Email.test.ts +3 -3
  204. package/src/models/Email.ts +28 -49
  205. package/src/models/EmailVerificationCode.ts +8 -22
  206. package/src/models/Event.ts +6 -4
  207. package/src/models/EventNotification.ts +6 -6
  208. package/src/models/Invoice.ts +9 -0
  209. package/src/models/MemberPlatformMembership.test.ts +70 -0
  210. package/src/models/MemberPlatformMembership.ts +16 -12
  211. package/src/models/Order.ts +14 -26
  212. package/src/models/Organization.ts +122 -93
  213. package/src/models/PasswordToken.ts +21 -21
  214. package/src/models/Payment.ts +42 -4
  215. package/src/models/Registration.ts +3 -3
  216. package/src/models/STCredit.ts +32 -0
  217. package/src/models/STInvoice.ts +11 -5
  218. package/src/models/STPackage.ts +19 -14
  219. package/src/models/UsedRegisterCode.ts +34 -0
  220. package/src/models/_relations.ts +29 -0
  221. package/src/models/addresses/City.ts +8 -6
  222. package/src/models/addresses/PostalCode.test.ts +1 -0
  223. package/src/models/addresses/PostalCode.ts +5 -3
  224. package/src/models/addresses/Street.ts +6 -4
  225. package/src/models/index.ts +2 -0
  226. package/src/models/v1GroupMigrationData.ts +43 -0
  227. package/dist/helpers/MemberMerger.d.ts +0 -14
  228. package/dist/helpers/MemberMerger.d.ts.map +0 -1
  229. package/dist/helpers/MemberMerger.js +0 -364
  230. package/dist/helpers/MemberMerger.js.map +0 -1
  231. package/dist/migrations/1720080975-convert-charset.sql +0 -85
  232. package/dist/migrations/1723202126-member-number-index.sql +0 -2
  233. package/dist/models/OneTimeToken.d.ts +0 -38
  234. package/dist/models/OneTimeToken.d.ts.map +0 -1
  235. package/dist/models/OneTimeToken.js +0 -125
  236. package/dist/models/OneTimeToken.js.map +0 -1
  237. package/src/helpers/MemberMerger.test.ts +0 -782
  238. package/src/helpers/MemberMerger.ts +0 -577
  239. package/src/migrations/1720080975-convert-charset.sql +0 -85
  240. package/src/migrations/1723202126-member-number-index.sql +0 -2
  241. 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":"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"}
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,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;;AAuCxD,wBAuDG"}
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
- async function getProvince(name, provinces) {
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
- async function getCity(name, provinceId, cities) {
22
- const p = cities.find(p => StringCompare.typoCount(p.name, name) == 0 && p.country == Country.Netherlands);
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
- await city.save();
31
- cities.push(city);
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 = await getProvince(p.name.trim(), allProvinces);
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 cities = [];
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 = await getCity(plaats, province.id, cities);
66
- const city2 = await getCity(gemeente, province.id, cities); // might be the same as city
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
- await city.save();
76
+ parentCityUpdates.push([city.id, city2.id]);
70
77
  }
71
78
  // Also add postal code already
72
- const postalCode = new PostalCode();
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":"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"}
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,4 @@
1
+ import { Migration } from '@simonbackx/simple-database';
2
+ declare const _default: Migration;
3
+ export default _default;
4
+ //# sourceMappingURL=1720080975-convert-charset.d.ts.map
@@ -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,wBAwBG"}
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
- const sqlStatement = [
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;QACpC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAA;QAClE,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,GAAW;YACzB,2BAA2B;YAC3B,uEAAuE;YACvE,kFAAkF;YAClF,2BAA2B;SAC9B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEX,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,MAAM,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC3C,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"}
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,3 +1,5 @@
1
+ SET FOREIGN_KEY_CHECKS=0;
1
2
  ALTER TABLE `users`
2
3
  ADD COLUMN `memberId` varchar(36) NULL AFTER `id`;
3
4
  ALTER TABLE `users` ADD FOREIGN KEY (`memberId`) REFERENCES `members` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;
5
+ SET FOREIGN_KEY_CHECKS=1;
@@ -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": "Onbekend", "price": {"price": 0, "reducedPrice": null}}, "version": 0}') AFTER `price`;
3
+ ADD COLUMN `groupPrice` json NOT NULL DEFAULT ('{"value": {"id": "unknown", "name": "Standaardtarief", "price": {"price": 0, "reducedPrice": null}}, "version": 0}') AFTER `price`;
@@ -1,2 +1,4 @@
1
1
 
2
+ SET FOREIGN_KEY_CHECKS=0;
2
3
  ALTER TABLE `payments` ADD FOREIGN KEY (`payingOrganizationId`) REFERENCES `organizations` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;
4
+ SET FOREIGN_KEY_CHECKS=1;
@@ -1 +1,3 @@
1
+ SET FOREIGN_KEY_CHECKS=0;
1
2
  ALTER TABLE `registrations` ADD FOREIGN KEY (`organizationId`) REFERENCES `organizations` (`id`) ON UPDATE CASCADE ON DELETE CASCADE;
3
+ SET FOREIGN_KEY_CHECKS=1;
@@ -1 +1,3 @@
1
+ SET FOREIGN_KEY_CHECKS=0;
1
2
  ALTER TABLE `registrations` ADD FOREIGN KEY (`payingOrganizationId`) REFERENCES `organizations` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;
3
+ SET FOREIGN_KEY_CHECKS=1;
@@ -0,0 +1,6 @@
1
+ ALTER TABLE
2
+ `stamhoofd_invoices`
3
+ ADD
4
+ COLUMN `negativeInvoiceId` varchar(36) NULL,
5
+ ADD
6
+ FOREIGN KEY (`negativeInvoiceId`) REFERENCES `stamhoofd_invoices` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;
@@ -0,0 +1,4 @@
1
+ import { Migration } from '@simonbackx/simple-database';
2
+ declare const _default: Migration;
3
+ export default _default;
4
+ //# sourceMappingURL=1733994455-balance-item-status-open.d.ts.map
@@ -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,2 @@
1
+ ALTER TABLE `invoices`
2
+ CHANGE `userAgent` `userAgent` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL;
@@ -1,3 +1,5 @@
1
+ SET FOREIGN_KEY_CHECKS=0;
1
2
  ALTER TABLE `payments`
2
3
  ADD COLUMN `invoiceId` varchar(36) NULL AFTER `customer`,
3
4
  ADD FOREIGN KEY (`invoiceId`) REFERENCES `invoices` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;
5
+ SET FOREIGN_KEY_CHECKS=1;
@@ -1,3 +1,5 @@
1
+ SET FOREIGN_KEY_CHECKS=0;
1
2
  ALTER TABLE `balance_items`
2
3
  ADD COLUMN `packageId` varchar(36) NULL AFTER `memberId`,
3
4
  ADD FOREIGN KEY (`packageId`) REFERENCES `stamhoofd_packages` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;
5
+ SET FOREIGN_KEY_CHECKS=1;
@@ -1,3 +1,5 @@
1
+ SET FOREIGN_KEY_CHECKS=0;
1
2
  ALTER TABLE `payments`
2
3
  ADD COLUMN `reversingPaymentId` varchar(36) NULL AFTER `invoiceId`,
3
4
  ADD FOREIGN KEY (`reversingPaymentId`) REFERENCES `payments` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;
5
+ SET FOREIGN_KEY_CHECKS=1;
@@ -0,0 +1,3 @@
1
+ ALTER TABLE `payments`
2
+ ADD COLUMN `transferFeeManual` int NOT NULL DEFAULT '0' AFTER `transferFee`,
3
+ ADD COLUMN `transferFeeManualCharged` int NOT NULL DEFAULT '0' AFTER `transferFeeManual`;
@@ -0,0 +1,5 @@
1
+ SET FOREIGN_KEY_CHECKS=0;
2
+ ALTER TABLE `used_register_codes`
3
+ ADD COLUMN `balanceItemId` varchar(36) NULL AFTER `code`,
4
+ ADD FOREIGN KEY (`balanceItemId`) REFERENCES `balance_items` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;
5
+ SET FOREIGN_KEY_CHECKS=1;
@@ -0,0 +1,5 @@
1
+ SET FOREIGN_KEY_CHECKS=0;
2
+ ALTER TABLE `payments`
3
+ ADD COLUMN `adminUserId` varchar(36) NULL AFTER `organizationId`,
4
+ ADD FOREIGN KEY (`adminUserId`) REFERENCES `users` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;
5
+ SET FOREIGN_KEY_CHECKS=1;
@@ -0,0 +1,2 @@
1
+ ALTER TABLE `payments`
2
+ ADD COLUMN `refundedAmount` bigint NOT NULL DEFAULT '0' AFTER `price`;
@@ -0,0 +1,2 @@
1
+ ALTER TABLE `balance_items`
2
+ ADD COLUMN `failedAt` datetime NULL AFTER `paidAt`;
@@ -0,0 +1,2 @@
1
+ ALTER TABLE `document_templates`
2
+ ADD COLUMN `isLocked` tinyint(1) NOT NULL DEFAULT '0' AFTER `publishedAt`;
@@ -0,0 +1,2 @@
1
+ ALTER TABLE `documents`
2
+ ADD COLUMN `isLocked` tinyint(1) NOT NULL DEFAULT '0' AFTER `number`;
@@ -0,0 +1,4 @@
1
+ import { Migration } from '@simonbackx/simple-database';
2
+ declare const _default: Migration;
3
+ export default _default;
4
+ //# sourceMappingURL=1780412083-documents-set-locked.d.ts.map
@@ -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,4 @@
1
+ import { Migration } from '@simonbackx/simple-database';
2
+ declare const _default: Migration;
3
+ export default _default;
4
+ //# sourceMappingURL=1780928401-v1-groups-migration-data.d.ts.map
@@ -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
- * Update the outstanding balance of multiple members in one go (or all members)
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":"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"}
1
+ {"version":3,"file":"BalanceItem.d.ts","sourceRoot":"","sources":["../../src/models/BalanceItem.ts"],"names":[],"mappings":"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"}