@simonbackx/simple-database 1.25.0 → 1.26.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 (43) hide show
  1. package/dist/index.d.ts +9 -9
  2. package/dist/index.js.map +1 -1
  3. package/dist/migrations.d.ts +1 -1
  4. package/dist/migrations.js +6 -4
  5. package/dist/migrations.js.map +1 -1
  6. package/dist/src/classes/Column.d.ts +10 -6
  7. package/dist/src/classes/Column.js +62 -31
  8. package/dist/src/classes/Column.js.map +1 -1
  9. package/dist/src/classes/Database.d.ts +3 -2
  10. package/dist/src/classes/Database.js +26 -27
  11. package/dist/src/classes/Database.js.map +1 -1
  12. package/dist/src/classes/Factory.d.ts +1 -1
  13. package/dist/src/classes/Factory.js +5 -5
  14. package/dist/src/classes/ManyToManyRelation.d.ts +3 -3
  15. package/dist/src/classes/ManyToManyRelation.js +51 -51
  16. package/dist/src/classes/ManyToManyRelation.js.map +1 -1
  17. package/dist/src/classes/ManyToOneRelation.d.ts +1 -1
  18. package/dist/src/classes/ManyToOneRelation.js +2 -2
  19. package/dist/src/classes/ManyToOneRelation.js.map +1 -1
  20. package/dist/src/classes/Migration.js +19 -19
  21. package/dist/src/classes/Migration.js.map +1 -1
  22. package/dist/src/classes/Model.d.ts +41 -10
  23. package/dist/src/classes/Model.js +132 -80
  24. package/dist/src/classes/Model.js.map +1 -1
  25. package/dist/src/classes/Model.test.js +144 -144
  26. package/dist/src/classes/Model.test.js.map +1 -1
  27. package/dist/src/classes/OneToManyRelation.d.ts +3 -3
  28. package/dist/src/classes/OneToManyRelation.js +9 -9
  29. package/dist/src/classes/OneToManyRelation.js.map +1 -1
  30. package/dist/src/classes/data/boys.js +1000 -1000
  31. package/dist/src/classes/data/family-names.js +997 -997
  32. package/dist/src/classes/data/girls.js +999 -999
  33. package/dist/src/classes/data/streets.js +291 -291
  34. package/dist/src/decorators/Column.d.ts +4 -4
  35. package/dist/src/decorators/Column.js +1 -1
  36. package/dist/src/decorators/Column.js.map +1 -1
  37. package/dist/src/models/Migration.d.ts +1 -1
  38. package/dist/src/models/Migration.js +8 -8
  39. package/dist/src/models/Migration.js.map +1 -1
  40. package/dist/tests/jest.global.setup.d.ts +1 -0
  41. package/dist/tests/jest.global.setup.js +5 -3
  42. package/dist/tests/jest.global.setup.js.map +1 -1
  43. package/package.json +5 -8
@@ -11,28 +11,28 @@ class ManyToManyRelation {
11
11
  if (this.modelLink) {
12
12
  return this.modelLink.table;
13
13
  }
14
- return "_" + [this.modelA.table, this.modelB.table].sort().join("_");
14
+ return '_' + [this.modelA.table, this.modelB.table].sort().join('_');
15
15
  }
16
16
  /**
17
17
  * e.g. modelsId
18
18
  */
19
19
  get linkKeyA() {
20
- return (this.modelA.table +
21
- this.modelA.primary.name.charAt(0).toUpperCase() +
22
- this.modelA.primary.name.substring(1) +
23
- (this.modelA === this.modelB ? "A" : ""));
20
+ return (this.modelA.table
21
+ + this.modelA.primary.name.charAt(0).toUpperCase()
22
+ + this.modelA.primary.name.substring(1)
23
+ + (this.modelA === this.modelB ? 'A' : ''));
24
24
  }
25
25
  /**
26
26
  * e.g. parentsId
27
27
  */
28
28
  get linkKeyB() {
29
- return (this.modelB.table +
30
- this.modelB.primary.name.charAt(0).toUpperCase() +
31
- this.modelB.primary.name.substring(1) +
32
- (this.modelA === this.modelB ? "B" : ""));
29
+ return (this.modelB.table
30
+ + this.modelB.primary.name.charAt(0).toUpperCase()
31
+ + this.modelB.primary.name.substring(1)
32
+ + (this.modelA === this.modelB ? 'B' : ''));
33
33
  }
34
34
  constructor(modelA, modelB, modelKey, modelLink) {
35
- this.sortOrder = "ASC";
35
+ this.sortOrder = 'ASC';
36
36
  this.modelA = modelA;
37
37
  this.modelB = modelB;
38
38
  this.modelKey = modelKey;
@@ -41,36 +41,36 @@ class ManyToManyRelation {
41
41
  reverse(modelKey) {
42
42
  return new ManyToManyRelation(this.modelB, this.modelA, modelKey, this.modelLink);
43
43
  }
44
- setSort(key, order = "ASC") {
44
+ setSort(key, order = 'ASC') {
45
45
  this.sortKey = key;
46
46
  this.sortOrder = order;
47
47
  return this;
48
48
  }
49
49
  /// Generate a join query
50
50
  joinQuery(namespaceA, namespaceB) {
51
- const linkNamespace = namespaceA + "_" + namespaceB;
51
+ const linkNamespace = namespaceA + '_' + namespaceB;
52
52
  let str = `LEFT JOIN ${this.linkTable} as ${linkNamespace} on ${linkNamespace}.${this.linkKeyA} = ${namespaceA}.${this.modelA.primary.name}\n`;
53
53
  str += `LEFT JOIN ${this.modelB.table} as ${namespaceB} on ${linkNamespace}.${this.linkKeyB} = ${namespaceB}.${this.modelB.primary.name}`;
54
54
  return str;
55
55
  }
56
56
  orderByQuery(namespaceA, namespaceB) {
57
57
  if (this.sortKey === undefined) {
58
- return "";
58
+ return '';
59
59
  }
60
- const linkNamespace = namespaceA + "_" + namespaceB;
60
+ const linkNamespace = namespaceA + '_' + namespaceB;
61
61
  let str = `\nORDER BY ${linkNamespace}.${this.sortKey}`;
62
- if (this.sortOrder == "DESC") {
63
- str += " DESC";
62
+ if (this.sortOrder === 'DESC') {
63
+ str += ' DESC';
64
64
  }
65
- return str + "\n";
65
+ return str + '\n';
66
66
  }
67
67
  /// Load the relation of a model and return the loaded models
68
68
  async load(modelA, sorted = true, where, whereLink) {
69
- const namespaceB = "B";
70
- const linkNamespace = "A_B";
69
+ const namespaceB = 'B';
70
+ const linkNamespace = 'A_B';
71
71
  let select = this.modelB.getDefaultSelect(namespaceB);
72
72
  if (this.modelLink) {
73
- select += ", " + this.modelLink.getDefaultSelect(linkNamespace);
73
+ select += ', ' + this.modelLink.getDefaultSelect(linkNamespace);
74
74
  }
75
75
  let str = `SELECT ${select} FROM ${this.linkTable} as ${linkNamespace}\n`;
76
76
  str += `JOIN ${this.modelB.table} as ${namespaceB} on ${linkNamespace}.${this.linkKeyB} = ${namespaceB}.${this.modelB.primary.name}\n`;
@@ -78,7 +78,7 @@ class ManyToManyRelation {
78
78
  const params = [modelA.getPrimaryKey()];
79
79
  if (where) {
80
80
  for (const key in where) {
81
- if (where.hasOwnProperty(key)) {
81
+ if (Object.hasOwnProperty.call(where, key)) {
82
82
  str += ` AND ${namespaceB}.\`${key}\` = ?`;
83
83
  params.push(where[key]);
84
84
  }
@@ -86,14 +86,14 @@ class ManyToManyRelation {
86
86
  }
87
87
  if (whereLink) {
88
88
  for (const key in whereLink) {
89
- if (whereLink.hasOwnProperty(key)) {
89
+ if (Object.hasOwnProperty.call(whereLink, key)) {
90
90
  str += ` AND ${linkNamespace}.\`${key}\` = ?`;
91
91
  params.push(whereLink[key]);
92
92
  }
93
93
  }
94
94
  }
95
95
  if (sorted) {
96
- str += this.orderByQuery("A", "B");
96
+ str += this.orderByQuery('A', 'B');
97
97
  }
98
98
  const [rows] = await Database_1.Database.select(str, params);
99
99
  const modelsB = this.modelB.fromRows(rows, namespaceB);
@@ -102,9 +102,9 @@ class ManyToManyRelation {
102
102
  for (const row of rows) {
103
103
  const model = this.modelLink.fromRow(row[linkNamespace]);
104
104
  // Fin modelB
105
- const modelB = modelsB.find((m) => m.getPrimaryKey() == row[linkNamespace][this.linkKeyB]);
105
+ const modelB = modelsB.find(m => m.getPrimaryKey() === row[linkNamespace][this.linkKeyB]);
106
106
  if (!modelB) {
107
- throw new Error("Unexpected linking");
107
+ throw new Error('Unexpected linking');
108
108
  }
109
109
  // Save link
110
110
  modelB._link = model;
@@ -121,13 +121,13 @@ class ManyToManyRelation {
121
121
  async setLinkTable(modelA, modelB, linkTableValues) {
122
122
  const str = `UPDATE ${this.linkTable} SET ? WHERE ${Database_1.Database.escapeId(this.linkKeyA)} = ? AND ${Database_1.Database.escapeId(this.linkKeyB)} = ?`;
123
123
  const [result] = await Database_1.Database.update(str, [linkTableValues, modelA.getPrimaryKey(), modelB.getPrimaryKey()]);
124
- if (result.changedRows != 1) {
124
+ if (result.changedRows !== 1) {
125
125
  // Todo: add option to fail silently
126
- throw new Error("Failed to update link table. Check if combination exists");
126
+ throw new Error('Failed to update link table. Check if combination exists');
127
127
  }
128
128
  }
129
129
  async linkIds(modelA, modelsB, linkTableValues) {
130
- if (modelsB.length == 0) {
130
+ if (modelsB.length === 0) {
131
131
  return 0;
132
132
  }
133
133
  // Nested arrays are turned into grouped lists (for bulk inserts), e.g. [['a', 'b'], ['c', 'd']] turns into ('a', 'b'), ('c', 'd')
@@ -135,57 +135,57 @@ class ManyToManyRelation {
135
135
  if (linkTableValues !== undefined) {
136
136
  const linkTableKeys = Object.keys(linkTableValues);
137
137
  for (const property in linkTableValues) {
138
- if (linkTableValues.hasOwnProperty(property)) {
139
- if (linkTableValues[property].length != modelsB.length) {
140
- throw new Error("Amount of link table values for key " +
141
- property +
142
- " (" +
143
- linkTableValues[property].length +
144
- ") are not equal to amount of models linked (" +
145
- modelsB.length +
146
- ")");
138
+ if (Object.hasOwnProperty.call(linkTableValues, property)) {
139
+ if (linkTableValues[property].length !== modelsB.length) {
140
+ throw new Error('Amount of link table values for key '
141
+ + property
142
+ + ' ('
143
+ + linkTableValues[property].length
144
+ + ') are not equal to amount of models linked ('
145
+ + modelsB.length
146
+ + ')');
147
147
  }
148
148
  }
149
149
  }
150
150
  const query = `INSERT INTO ${Database_1.Database.escapeId(this.linkTable)} (
151
151
  ${Database_1.Database.escapeId(this.linkKeyA)},
152
152
  ${Database_1.Database.escapeId(this.linkKeyB)},
153
- ${linkTableKeys.map((k) => Database_1.Database.escapeId(k)).join(", ")}
153
+ ${linkTableKeys.map(k => Database_1.Database.escapeId(k)).join(', ')}
154
154
  ) VALUES ?`;
155
- [result] = await Database_1.Database.insert(query, [modelsB.map((modelB, i) => [modelA, modelB, ...linkTableKeys.map((k) => linkTableValues[k][i])])]);
155
+ [result] = await Database_1.Database.insert(query, [modelsB.map((modelB, i) => [modelA, modelB, ...linkTableKeys.map(k => linkTableValues[k][i])])]);
156
156
  }
157
157
  else {
158
158
  const query = `INSERT INTO ${Database_1.Database.escapeId(this.linkTable)} (
159
159
  ${Database_1.Database.escapeId(this.linkKeyA)},
160
160
  ${Database_1.Database.escapeId(this.linkKeyB)}
161
161
  ) VALUES ?`;
162
- [result] = await Database_1.Database.insert(query, [modelsB.map((modelB) => [modelA, modelB])]);
162
+ [result] = await Database_1.Database.insert(query, [modelsB.map(modelB => [modelA, modelB])]);
163
163
  }
164
164
  return result.affectedRows;
165
165
  }
166
166
  async link(modelA, modelsB, linkTableValues) {
167
167
  const modelAId = modelA.getPrimaryKey();
168
168
  if (!modelAId) {
169
- throw new Error("Cannot link if model is not saved yet");
169
+ throw new Error('Cannot link if model is not saved yet');
170
170
  }
171
171
  const affectedRows = await this.linkIds(modelAId, modelsB.map((modelB) => {
172
172
  const id = modelB.getPrimaryKey();
173
173
  if (!id) {
174
- throw new Error("Cannot link to a model that is not saved yet");
174
+ throw new Error('Cannot link to a model that is not saved yet');
175
175
  }
176
176
  return id;
177
177
  }), linkTableValues);
178
178
  // If the relation is loaded, also modify the value of the relation
179
179
  if (this.isLoaded(modelA)) {
180
- if (affectedRows == modelsB.length) {
180
+ if (affectedRows === modelsB.length) {
181
181
  const arr = modelA[this.modelKey];
182
182
  arr.push(...modelsB);
183
183
  }
184
184
  else {
185
185
  // This could happen in race conditions and simultanious requests
186
- console.warn("Warning: linking expected to affect " + modelsB.length + " rows, but only affected " + affectedRows + " rows");
186
+ console.warn('Warning: linking expected to affect ' + modelsB.length + ' rows, but only affected ' + affectedRows + ' rows');
187
187
  // TODO: Manually correct by doing a query (safest)
188
- throw new Error("Fallback behaviour net yet implemented");
188
+ throw new Error('Fallback behaviour net yet implemented');
189
189
  }
190
190
  }
191
191
  }
@@ -197,7 +197,7 @@ class ManyToManyRelation {
197
197
  const query = `DELETE FROM ${this.linkTable} WHERE ${this.linkKeyA} = ?`;
198
198
  // Arrays are turned into list, e.g. ['a', 'b'] turns into 'a', 'b'
199
199
  const [result] = await Database_1.Database.delete(query, [modelA]);
200
- if (result.affectedRows == 0 && Model_1.Model.debug) {
200
+ if (result.affectedRows === 0 && Model_1.Model.debug) {
201
201
  console.warn("Cleared many to many relation, but didn't deleted any entries");
202
202
  }
203
203
  }
@@ -225,20 +225,20 @@ class ManyToManyRelation {
225
225
  return result;
226
226
  }
227
227
  async unlink(modelA, ...modelsB) {
228
- const result = await this.unlinkIds(modelA.getPrimaryKey(), ...modelsB.map((modelB) => modelB.getPrimaryKey()));
228
+ const result = await this.unlinkIds(modelA.getPrimaryKey(), ...modelsB.map(modelB => modelB.getPrimaryKey()));
229
229
  if (this.isLoaded(modelA)) {
230
- if (result.affectedRows == modelsB.length) {
230
+ if (result.affectedRows === modelsB.length) {
231
231
  const arr = modelA[this.modelKey];
232
- const idMap = modelsB.map((model) => model.getPrimaryKey());
232
+ const idMap = modelsB.map(model => model.getPrimaryKey());
233
233
  modelA.setManyRelation(this, arr.filter((model) => {
234
234
  return !idMap.includes(model.getPrimaryKey());
235
235
  }));
236
236
  }
237
237
  else {
238
238
  // This could happen in race conditions and simultanious requests
239
- console.warn("Warning: unlinking expected to affect " + modelsB.length + " rows, but only affected " + result.affectedRows + " rows");
239
+ console.warn('Warning: unlinking expected to affect ' + modelsB.length + ' rows, but only affected ' + result.affectedRows + ' rows');
240
240
  // TODO: Manually correct by doing a query (safest)
241
- throw new Error("Fallback behaviour net yet implemented");
241
+ throw new Error('Fallback behaviour net yet implemented');
242
242
  }
243
243
  }
244
244
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ManyToManyRelation.js","sourceRoot":"","sources":["../../../src/classes/ManyToManyRelation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ManyToManyRelation.js","sourceRoot":"","sources":["../../../src/classes/ManyToManyRelation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Model } from "./Model";
1
+ import { Model } from './Model';
2
2
  export declare class ManyToOneRelation<Key extends keyof any, M extends Model> {
3
3
  model: {
4
4
  new (): M;
@@ -21,7 +21,7 @@ class ManyToOneRelation {
21
21
  }
22
22
  /// Load the relation of a list of models
23
23
  async load(modelsA) {
24
- if (modelsA.length == 0) {
24
+ if (modelsA.length === 0) {
25
25
  return [];
26
26
  }
27
27
  let str = `SELECT ${this.model.getDefaultSelect()} FROM ${this.model.table}\n`;
@@ -31,7 +31,7 @@ class ManyToOneRelation {
31
31
  for (const model of modelsA) {
32
32
  const found = modelsB.find(m => m.getPrimaryKey() === model[this.foreignKey]);
33
33
  if (!found) {
34
- throw new Error("Could not load many to one relation: no match found when loading");
34
+ throw new Error('Could not load many to one relation: no match found when loading');
35
35
  }
36
36
  model.setRelation(this, found);
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ManyToOneRelation.js","sourceRoot":"","sources":["../../../src/classes/ManyToOneRelation.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAGtC,MAAa,iBAAiB;IAa1B,YAAY,KAAmC,EAAE,QAAa;QAC1D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,mCAAmC;IACnC,QAAQ,CAAC,KAAY;QACjB,OAAQ,KAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC;IACvD,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,KAAY;QACd,OAAQ,KAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAK,KAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IACjG,CAAC;IAED,yBAAyB;IACzB,SAAS,CAAC,UAAkB,EAAE,UAAkB;QAC5C,OAAO,aAAa,IAAI,CAAC,KAAK,CAAC,KAAK,OAAO,UAAU,OAAO,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC;IAC7I,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,IAAI,CAAkB,OAAY;QACpC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YACrB,OAAO,EAAE,CAAA;SACZ;QACD,IAAI,GAAG,GAAG,UAAU,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;QAC/E,GAAG,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;QAEjD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,mBAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAQ,CAAC;QAEnE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YACzB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;YAC7E,IAAI,CAAC,KAAK,EAAE;gBACR,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;aACtF;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;SACjC;QACD,OAAO,OAAiC,CAAC;IAC7C,CAAC;CACJ;AArDD,8CAqDC"}
1
+ {"version":3,"file":"ManyToOneRelation.js","sourceRoot":"","sources":["../../../src/classes/ManyToOneRelation.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAGtC,MAAa,iBAAiB;IAa1B,YAAY,KAAmC,EAAE,QAAa;QAC1D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,mCAAmC;IACnC,QAAQ,CAAC,KAAY;QACjB,OAAQ,KAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC;IACvD,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,KAAY;QACd,OAAQ,KAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAK,KAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IACjG,CAAC;IAED,yBAAyB;IACzB,SAAS,CAAC,UAAkB,EAAE,UAAkB;QAC5C,OAAO,aAAa,IAAI,CAAC,KAAK,CAAC,KAAK,OAAO,UAAU,OAAO,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC;IAC7I,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,IAAI,CAAkB,OAAY;QACpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO,EAAE,CAAC;SACb;QACD,IAAI,GAAG,GAAG,UAAU,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;QAC/E,GAAG,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;QAEjD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,mBAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAQ,CAAC;QAEnE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YACzB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,KAAK,EAAE;gBACR,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;aACvF;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SAClC;QACD,OAAO,OAAiC,CAAC;IAC7C,CAAC;CACJ;AArDD,8CAqDC"}
@@ -47,43 +47,43 @@ class Migration {
47
47
  static async runAll(folder) {
48
48
  const dirname = __dirname;
49
49
  // Get the current working directory by removing shared part of folder and dirname
50
- const shared = dirname.split("/").filter((part, index) => part == folder.split("/")[index]).join("/");
51
- const cwd = folder.replace(shared, "");
50
+ const shared = dirname.split('/').filter((part, index) => part === folder.split('/')[index]).join('/');
51
+ const cwd = folder.replace(shared, '');
52
52
  simple_logging_1.logger.log(new simple_logging_1.StyledText('[Migration]').addClass('migration', 'prefix').addTag('migration'), ' ', new simple_logging_1.StyledText('Running all... ').addClass('migration', 'runAll'), new simple_logging_1.StyledText(cwd).addClass('migration', 'folder').addStyle('dim'));
53
- process.env.DB_MULTIPLE_STATEMENTS = "true";
53
+ process.env.DB_MULTIPLE_STATEMENTS = 'true';
54
54
  // First check if we have migrations table
55
55
  const setupMigration = await this.getMigration(__dirname + '/../migrations/000000000-setup-migrations.sql');
56
56
  if (!setupMigration) {
57
- throw new Error("Setup migration missing");
57
+ throw new Error('Setup migration missing');
58
58
  }
59
59
  await setupMigration.up();
60
- await Migration_1.Migration.markAsExecuted("000000000-setup-migrations.sql");
61
- const parts = folder.split("/");
60
+ await Migration_1.Migration.markAsExecuted('000000000-setup-migrations.sql');
61
+ const parts = folder.split('/');
62
62
  const firstPart = parts.shift();
63
63
  if (firstPart === undefined) {
64
- throw new Error("Invalid folder path");
64
+ throw new Error('Invalid folder path');
65
65
  }
66
66
  let folderQueue = [firstPart];
67
67
  const migrations = [];
68
68
  for (const part of parts) {
69
- if (part == "*") {
69
+ if (part === '*') {
70
70
  const newQueue = [];
71
71
  for (folder of folderQueue) {
72
72
  // Read all directories
73
- const recursiveFolders = (await fs_1.promises.readdir(folder, { withFileTypes: true })).filter(dirent => dirent.isDirectory()).map(dirent => folder + "/" + dirent.name);
73
+ const recursiveFolders = (await fs_1.promises.readdir(folder, { withFileTypes: true })).filter(dirent => dirent.isDirectory()).map(dirent => folder + '/' + dirent.name);
74
74
  newQueue.push(...recursiveFolders);
75
75
  }
76
76
  folderQueue = newQueue;
77
77
  }
78
78
  else {
79
- folderQueue = folderQueue.map(folder => folder + "/" + part);
79
+ folderQueue = folderQueue.map(folder => folder + '/' + part);
80
80
  }
81
81
  }
82
82
  for (const p of folderQueue) {
83
83
  if (await directoryExists(p)) {
84
84
  const folderFiles = await fs_1.promises.readdir(p);
85
85
  for (const file of folderFiles) {
86
- const full = p + "/" + file;
86
+ const full = p + '/' + file;
87
87
  const name = file;
88
88
  if (!(await Migration_1.Migration.isExecuted(name))) {
89
89
  migrations.push([name, full]);
@@ -110,20 +110,20 @@ class Migration {
110
110
  try {
111
111
  await simple_logging_1.logger.setContext({
112
112
  prefixes: [new simple_logging_1.StyledText('[Migration]').addClass('migration', 'prefix'), ' '],
113
- tags: ['migration']
113
+ tags: ['migration'],
114
114
  }, async () => {
115
115
  await migration.up();
116
116
  await Migration_1.Migration.markAsExecuted(name);
117
117
  });
118
- simple_logging_1.logger.log(new simple_logging_1.StyledText('[Migration]').addClass('migration', 'prefix').addTag('migration'), ' ', new simple_logging_1.StyledText('✓').addClass('migration', 'success', 'tag'), ' ', new simple_logging_1.StyledText("Migration " + name + " ran successfully").addClass('migration', 'success', 'text'));
118
+ simple_logging_1.logger.log(new simple_logging_1.StyledText('[Migration]').addClass('migration', 'prefix').addTag('migration'), ' ', new simple_logging_1.StyledText('✓').addClass('migration', 'success', 'tag'), ' ', new simple_logging_1.StyledText('Migration ' + name + ' ran successfully').addClass('migration', 'success', 'text'));
119
119
  }
120
120
  catch (e) {
121
121
  // Logger.errorWithContext({textColor: ['dim', 'red'], prefix: ' FAILED ', addSpace: true, prefixColor: ['bgRed']}, "Migration " + name + " failed", e)
122
- simple_logging_1.logger.error(new simple_logging_1.StyledText('[Migration]').addClass('migration', 'prefix').addTag('migration'), ' ', new simple_logging_1.StyledText('✗').addClass('migration', 'failed', 'tag'), ' ', new simple_logging_1.StyledText("Migration " + name + " failed").addClass('migration', 'failed', 'text'), ' ', new simple_logging_1.StyledText(e).addClass('migration', 'failed', 'error'));
122
+ simple_logging_1.logger.error(new simple_logging_1.StyledText('[Migration]').addClass('migration', 'prefix').addTag('migration'), ' ', new simple_logging_1.StyledText('✗').addClass('migration', 'failed', 'tag'), ' ', new simple_logging_1.StyledText('Migration ' + name + ' failed').addClass('migration', 'failed', 'text'), ' ', new simple_logging_1.StyledText(e).addClass('migration', 'failed', 'error'));
123
123
  return false;
124
124
  }
125
125
  }
126
- simple_logging_1.logger.log(new simple_logging_1.StyledText('[Migration]').addClass('migration', 'prefix').addTag('migration'), ' ', new simple_logging_1.StyledText('✨').addClass('migration', 'success', 'tag', 'all'), ' ', new simple_logging_1.StyledText("All migrations done").addClass('migration', 'success', 'text', 'all'));
126
+ simple_logging_1.logger.log(new simple_logging_1.StyledText('[Migration]').addClass('migration', 'prefix').addTag('migration'), ' ', new simple_logging_1.StyledText('✨').addClass('migration', 'success', 'tag', 'all'), ' ', new simple_logging_1.StyledText('All migrations done').addClass('migration', 'success', 'text', 'all'));
127
127
  return true;
128
128
  }
129
129
  static async getMigration(file) {
@@ -134,19 +134,19 @@ class Migration {
134
134
  // Ignore. This will contain the downgrade implementation.
135
135
  return;
136
136
  }
137
- const sqlStatement = await fs_1.promises.readFile(file, { encoding: "utf-8" });
137
+ const sqlStatement = await fs_1.promises.readFile(file, { encoding: 'utf-8' });
138
138
  migration = new Migration(async () => {
139
139
  await Database_1.Database.statement(sqlStatement);
140
140
  });
141
141
  }
142
142
  else {
143
- if (file.includes(".test.")) {
143
+ if (file.includes('.test.')) {
144
144
  return;
145
145
  }
146
- if (file.endsWith(".d.ts")) {
146
+ if (file.endsWith('.d.ts')) {
147
147
  return;
148
148
  }
149
- if (!file.endsWith(".ts") && !file.endsWith(".js")) {
149
+ if (!file.endsWith('.ts') && !file.endsWith('.js')) {
150
150
  return;
151
151
  }
152
152
  const imported = await (_a = file, Promise.resolve().then(() => __importStar(require(_a))));
@@ -1 +1 @@
1
- {"version":3,"file":"Migration.js","sourceRoot":"","sources":["../../../src/classes/Migration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Migration.js","sourceRoot":"","sources":["../../../src/classes/Migration.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { Column } from "./Column";
2
- import { ManyToManyRelation } from "./ManyToManyRelation";
3
- import { ManyToOneRelation } from "./ManyToOneRelation";
4
- import { OneToManyRelation } from "./OneToManyRelation";
1
+ import { Column, DatabaseStoredValue } from './Column';
2
+ import { ManyToManyRelation } from './ManyToManyRelation';
3
+ import { ManyToOneRelation } from './ManyToOneRelation';
4
+ import { OneToManyRelation } from './OneToManyRelation';
5
5
  type SQLWhere = {
6
6
  sign: string;
7
7
  value: string | Date | number | null | (string | null)[] | (number | null)[];
@@ -10,8 +10,38 @@ type SQLWhere = {
10
10
  type SQLWhereQuery = {
11
11
  [key: string]: string | Date | number | null | SQLWhere | SQLWhere[];
12
12
  };
13
+ type Listener<Value> = (value: Value) => Promise<void> | void;
14
+ /**
15
+ * Controls the fetching and decrypting of members
16
+ */
17
+ export declare class ModelEventBus<Value> {
18
+ protected listeners: Map<any, {
19
+ listener: Listener<Value>;
20
+ }[]>;
21
+ addListener(owner: any, listener: Listener<Value>): void;
22
+ removeListener(owner: any): void;
23
+ sendEvent(value: Value): Promise<void[]>;
24
+ }
25
+ export type ModelEventType = 'created' | 'updated' | 'deleted';
26
+ export type ModelEvent<M extends Model = Model> = {
27
+ type: 'created';
28
+ model: M;
29
+ } | {
30
+ type: 'updated';
31
+ model: M;
32
+ changedFields: Record<string, DatabaseStoredValue>;
33
+ originalFields: Record<string, DatabaseStoredValue>;
34
+ /**
35
+ * Use this method to compare changes
36
+ */
37
+ getOldModel(): M;
38
+ } | {
39
+ type: 'deleted';
40
+ model: M;
41
+ };
13
42
  export declare class Model {
14
43
  static primary: Column;
44
+ static modelEventBus: ModelEventBus<ModelEvent<Model>>;
15
45
  /**
16
46
  * Properties that are stored in the table (including foreign keys, but without mapped relations!)
17
47
  */
@@ -66,8 +96,8 @@ export declare class Model {
66
96
  * Load the returned properties from a DB response row into the model
67
97
  * If the row's primary key is null, undefined is returned
68
98
  */
69
- static fromRow<T extends typeof Model>(this: T, row: any): InstanceType<T> | undefined;
70
- static fromRows<T extends typeof Model>(this: T, rows: any[], namespace: string): InstanceType<T>[];
99
+ static fromRow<T extends typeof Model>(this: T, row: Record<string, DatabaseStoredValue>): InstanceType<T> | undefined;
100
+ static fromRows<T extends typeof Model>(this: T, rows: Record<string, Record<string, DatabaseStoredValue>>[], namespace: string): InstanceType<T>[];
71
101
  private markSaved;
72
102
  get static(): typeof Model;
73
103
  getPrimaryKey(): number | string | null;
@@ -84,13 +114,14 @@ export declare class Model {
84
114
  static buildWhereOperator(key: string, value: SQLWhere): [string, any[]];
85
115
  static buildWhereQuery(where: SQLWhereQuery): [string, any[]];
86
116
  /**
117
+ * @deprecated Use the new SQL package instead
87
118
  * Get multiple models by a simple where
88
119
  */
89
120
  static where<T extends typeof Model>(this: T, where: SQLWhereQuery, extra?: {
90
121
  limit?: number;
91
122
  sort?: (string | {
92
123
  column: string | SQLWhereQuery;
93
- direction?: "ASC" | "DESC";
124
+ direction?: 'ASC' | 'DESC';
94
125
  })[];
95
126
  select?: string;
96
127
  }): Promise<InstanceType<T>[]>;
@@ -101,10 +132,10 @@ export declare class Model {
101
132
  /**
102
133
  * Return an object of all the properties that are changed and their database representation
103
134
  */
104
- getChangedDatabaseProperties(): Promise<{
105
- fields: object;
135
+ getChangedDatabaseProperties(): {
136
+ fields: Record<string, DatabaseStoredValue>;
106
137
  skipUpdate: number;
107
- }>;
138
+ };
108
139
  save(): Promise<boolean>;
109
140
  delete(): Promise<void>;
110
141
  }