@proteinjs/db 1.6.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/dist/generated/index.d.ts.map +1 -1
- package/dist/generated/index.js +3 -1
- package/dist/generated/index.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/src/Db.d.ts +30 -4
- package/dist/src/Db.d.ts.map +1 -1
- package/dist/src/Db.js +66 -75
- package/dist/src/Db.js.map +1 -1
- package/dist/src/Table.d.ts +4 -0
- package/dist/src/Table.d.ts.map +1 -1
- package/dist/src/Table.js +104 -1
- package/dist/src/Table.js.map +1 -1
- package/dist/src/reference/Reference.d.ts +1 -0
- package/dist/src/reference/Reference.d.ts.map +1 -1
- package/dist/src/reference/Reference.js +3 -0
- package/dist/src/reference/Reference.js.map +1 -1
- package/dist/src/services/TransactionRunnerService.d.ts +7 -0
- package/dist/src/services/TransactionRunnerService.d.ts.map +1 -0
- package/dist/src/services/TransactionRunnerService.js +6 -0
- package/dist/src/services/TransactionRunnerService.js.map +1 -0
- package/dist/src/transaction/Transaction.d.ts +69 -0
- package/dist/src/transaction/Transaction.d.ts.map +1 -0
- package/dist/src/transaction/Transaction.js +255 -0
- package/dist/src/transaction/Transaction.js.map +1 -0
- package/dist/src/transaction/TransactionRunner.d.ts +7 -0
- package/dist/src/transaction/TransactionRunner.d.ts.map +1 -0
- package/dist/src/transaction/TransactionRunner.js +88 -0
- package/dist/src/transaction/TransactionRunner.js.map +1 -0
- package/dist/test/TransactionDb.test.d.ts +2 -0
- package/dist/test/TransactionDb.test.d.ts.map +1 -0
- package/dist/test/TransactionDb.test.js +404 -0
- package/dist/test/TransactionDb.test.js.map +1 -0
- package/dist/test/reusable/TransactionTests.d.ts +52 -0
- package/dist/test/reusable/TransactionTests.d.ts.map +1 -0
- package/dist/test/reusable/TransactionTests.js +396 -0
- package/dist/test/reusable/TransactionTests.js.map +1 -0
- package/generated/index.ts +3 -1
- package/index.ts +5 -2
- package/package.json +2 -2
- package/src/Db.ts +63 -28
- package/src/Table.ts +23 -0
- package/src/reference/Reference.ts +4 -0
- package/src/services/TransactionRunnerService.ts +10 -0
- package/src/transaction/Transaction.ts +186 -0
- package/src/transaction/TransactionRunner.ts +18 -0
- package/test/TransactionDb.test.ts +335 -0
- package/test/reusable/TransactionTests.ts +234 -0
package/dist/src/Db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Db.d.ts","sourceRoot":"","sources":["../../src/Db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAoB,MAAM,uBAAuB,CAAC;AACnE,OAAO,
|
|
1
|
+
{"version":3,"file":"Db.d.ts","sourceRoot":"","sources":["../../src/Db.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Db.js
CHANGED
|
@@ -49,6 +49,7 @@ var StatementConfigFactory_1 = require("./StatementConfigFactory");
|
|
|
49
49
|
var TableAuth_1 = require("./auth/TableAuth");
|
|
50
50
|
var TableServiceAuth_1 = require("./auth/TableServiceAuth");
|
|
51
51
|
var TableWatcherRunner_1 = require("./TableWatcherRunner");
|
|
52
|
+
/** get `Db` if on server, and `DbService` if on browser */
|
|
52
53
|
var getDb = function () {
|
|
53
54
|
return typeof self === 'undefined' ? new Db() : (0, DbService_1.getDbService)();
|
|
54
55
|
};
|
|
@@ -129,7 +130,7 @@ var Db = /** @class */ (function () {
|
|
|
129
130
|
this.auth.canInsert(table);
|
|
130
131
|
}
|
|
131
132
|
recordCopy = Object.assign({}, record);
|
|
132
|
-
return [4 /*yield*/,
|
|
133
|
+
return [4 /*yield*/, (0, Table_1.addDefaultFieldValues)(table, recordCopy)];
|
|
133
134
|
case 1:
|
|
134
135
|
_a.sent();
|
|
135
136
|
return [4 /*yield*/, this.tableWatcherRunner.runBeforeInsertTableWatchers(table, recordCopy)];
|
|
@@ -142,7 +143,7 @@ var Db = /** @class */ (function () {
|
|
|
142
143
|
generateInsert = function (config) {
|
|
143
144
|
return new db_query_1.StatementFactory().insert(table.name, serializedRecord, _this.statementConfigFactory.getStatementConfig(config));
|
|
144
145
|
};
|
|
145
|
-
return [4 /*yield*/, this.dbDriver.runDml(generateInsert)];
|
|
146
|
+
return [4 /*yield*/, this.dbDriver.runDml(generateInsert, this.currentTransaction)];
|
|
146
147
|
case 4:
|
|
147
148
|
_a.sent();
|
|
148
149
|
return [4 /*yield*/, this.tableWatcherRunner.runAfterInsertTableWatchers(table, recordCopy)];
|
|
@@ -153,40 +154,6 @@ var Db = /** @class */ (function () {
|
|
|
153
154
|
});
|
|
154
155
|
});
|
|
155
156
|
};
|
|
156
|
-
Db.prototype.addDefaultFieldValues = function (table, record) {
|
|
157
|
-
var _a;
|
|
158
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
159
|
-
var _b, _c, _d, _i, columnPropertyName, column, _e, _f;
|
|
160
|
-
return __generator(this, function (_g) {
|
|
161
|
-
switch (_g.label) {
|
|
162
|
-
case 0:
|
|
163
|
-
_b = table.columns;
|
|
164
|
-
_c = [];
|
|
165
|
-
for (_d in _b)
|
|
166
|
-
_c.push(_d);
|
|
167
|
-
_i = 0;
|
|
168
|
-
_g.label = 1;
|
|
169
|
-
case 1:
|
|
170
|
-
if (!(_i < _c.length)) return [3 /*break*/, 4];
|
|
171
|
-
_d = _c[_i];
|
|
172
|
-
if (!(_d in _b)) return [3 /*break*/, 3];
|
|
173
|
-
columnPropertyName = _d;
|
|
174
|
-
column = table.columns[columnPropertyName];
|
|
175
|
-
if (!(((_a = column.options) === null || _a === void 0 ? void 0 : _a.defaultValue) && typeof record[columnPropertyName] === 'undefined')) return [3 /*break*/, 3];
|
|
176
|
-
_e = record;
|
|
177
|
-
_f = columnPropertyName;
|
|
178
|
-
return [4 /*yield*/, column.options.defaultValue(record)];
|
|
179
|
-
case 2:
|
|
180
|
-
_e[_f] = _g.sent();
|
|
181
|
-
_g.label = 3;
|
|
182
|
-
case 3:
|
|
183
|
-
_i++;
|
|
184
|
-
return [3 /*break*/, 1];
|
|
185
|
-
case 4: return [2 /*return*/];
|
|
186
|
-
}
|
|
187
|
-
});
|
|
188
|
-
});
|
|
189
|
-
};
|
|
190
157
|
Db.prototype.update = function (table, record, query) {
|
|
191
158
|
return __awaiter(this, void 0, void 0, function () {
|
|
192
159
|
var recordCopy, qb, recordSearializer, serializedRecord, generateUpdate, recordUpdateCount;
|
|
@@ -201,7 +168,7 @@ var Db = /** @class */ (function () {
|
|
|
201
168
|
throw new Error("Update must be called with either a Query or a record with an id property");
|
|
202
169
|
}
|
|
203
170
|
recordCopy = Object.assign({}, record);
|
|
204
|
-
return [4 /*yield*/,
|
|
171
|
+
return [4 /*yield*/, (0, Table_1.addUpdateFieldValues)(table, recordCopy)];
|
|
205
172
|
case 1:
|
|
206
173
|
_a.sent();
|
|
207
174
|
qb = new QueryBuilderFactory_1.QueryBuilderFactory().getQueryBuilder(table, query);
|
|
@@ -220,7 +187,7 @@ var Db = /** @class */ (function () {
|
|
|
220
187
|
generateUpdate = function (config) {
|
|
221
188
|
return new db_query_1.StatementFactory().update(table.name, serializedRecord, qb, _this.statementConfigFactory.getStatementConfig(config));
|
|
222
189
|
};
|
|
223
|
-
return [4 /*yield*/, this.dbDriver.runDml(generateUpdate)];
|
|
190
|
+
return [4 /*yield*/, this.dbDriver.runDml(generateUpdate, this.currentTransaction)];
|
|
224
191
|
case 4:
|
|
225
192
|
recordUpdateCount = _a.sent();
|
|
226
193
|
return [4 /*yield*/, this.tableWatcherRunner.runAfterUpdateTableWatchers(table, recordUpdateCount, recordCopy, qb)];
|
|
@@ -231,40 +198,6 @@ var Db = /** @class */ (function () {
|
|
|
231
198
|
});
|
|
232
199
|
});
|
|
233
200
|
};
|
|
234
|
-
Db.prototype.addUpdateFieldValues = function (table, record) {
|
|
235
|
-
var _a;
|
|
236
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
237
|
-
var _b, _c, _d, _i, columnPropertyName, column, _e, _f;
|
|
238
|
-
return __generator(this, function (_g) {
|
|
239
|
-
switch (_g.label) {
|
|
240
|
-
case 0:
|
|
241
|
-
_b = table.columns;
|
|
242
|
-
_c = [];
|
|
243
|
-
for (_d in _b)
|
|
244
|
-
_c.push(_d);
|
|
245
|
-
_i = 0;
|
|
246
|
-
_g.label = 1;
|
|
247
|
-
case 1:
|
|
248
|
-
if (!(_i < _c.length)) return [3 /*break*/, 4];
|
|
249
|
-
_d = _c[_i];
|
|
250
|
-
if (!(_d in _b)) return [3 /*break*/, 3];
|
|
251
|
-
columnPropertyName = _d;
|
|
252
|
-
column = table.columns[columnPropertyName];
|
|
253
|
-
if (!((_a = column.options) === null || _a === void 0 ? void 0 : _a.updateValue)) return [3 /*break*/, 3];
|
|
254
|
-
_e = record;
|
|
255
|
-
_f = columnPropertyName;
|
|
256
|
-
return [4 /*yield*/, column.options.updateValue(record)];
|
|
257
|
-
case 2:
|
|
258
|
-
_e[_f] = _g.sent();
|
|
259
|
-
_g.label = 3;
|
|
260
|
-
case 3:
|
|
261
|
-
_i++;
|
|
262
|
-
return [3 /*break*/, 1];
|
|
263
|
-
case 4: return [2 /*return*/];
|
|
264
|
-
}
|
|
265
|
-
});
|
|
266
|
-
});
|
|
267
|
-
};
|
|
268
201
|
Db.prototype.delete = function (table, query) {
|
|
269
202
|
return __awaiter(this, void 0, void 0, function () {
|
|
270
203
|
var qb, recordsToDelete, recordsToDeleteIds, deleteQb, generateDelete, recordDeleteCount;
|
|
@@ -294,7 +227,7 @@ var Db = /** @class */ (function () {
|
|
|
294
227
|
return [4 /*yield*/, this.tableWatcherRunner.runBeforeDeleteTableWatchers(table, recordsToDelete, qb)];
|
|
295
228
|
case 3:
|
|
296
229
|
_a.sent();
|
|
297
|
-
return [4 /*yield*/, this.dbDriver.runDml(generateDelete)];
|
|
230
|
+
return [4 /*yield*/, this.dbDriver.runDml(generateDelete, this.currentTransaction)];
|
|
298
231
|
case 4:
|
|
299
232
|
recordDeleteCount = _a.sent();
|
|
300
233
|
return [4 /*yield*/, this.runCascadeDeletions(table, recordsToDeleteIds)];
|
|
@@ -400,7 +333,7 @@ var Db = /** @class */ (function () {
|
|
|
400
333
|
generateQuery = function (config) {
|
|
401
334
|
return qb.toSql(_this.statementConfigFactory.getStatementConfig(config));
|
|
402
335
|
};
|
|
403
|
-
return [4 /*yield*/, this.dbDriver.runQuery(generateQuery)];
|
|
336
|
+
return [4 /*yield*/, this.dbDriver.runQuery(generateQuery, this.currentTransaction)];
|
|
404
337
|
case 1:
|
|
405
338
|
serializedRecords = _a.sent();
|
|
406
339
|
recordSearializer = new Record_1.RecordSerializer(table);
|
|
@@ -428,7 +361,7 @@ var Db = /** @class */ (function () {
|
|
|
428
361
|
generateQuery = function (config) {
|
|
429
362
|
return qb.toSql(_this.statementConfigFactory.getStatementConfig(config));
|
|
430
363
|
};
|
|
431
|
-
return [4 /*yield*/, this.dbDriver.runQuery(generateQuery)];
|
|
364
|
+
return [4 /*yield*/, this.dbDriver.runQuery(generateQuery, this.currentTransaction)];
|
|
432
365
|
case 1:
|
|
433
366
|
result = _a.sent();
|
|
434
367
|
return [2 /*return*/, result[0]['count']];
|
|
@@ -451,6 +384,64 @@ var Db = /** @class */ (function () {
|
|
|
451
384
|
});
|
|
452
385
|
});
|
|
453
386
|
};
|
|
387
|
+
/**
|
|
388
|
+
* Run a transaction.
|
|
389
|
+
*
|
|
390
|
+
* Use this db instance for any operation you want to include in the transaction.
|
|
391
|
+
*
|
|
392
|
+
* Note: This method uses Db instance state. Usually it is best to create a new instance
|
|
393
|
+
* of Db to run a transaction.
|
|
394
|
+
*
|
|
395
|
+
* Note: Nested transactions are not supported; will throw.
|
|
396
|
+
*
|
|
397
|
+
*
|
|
398
|
+
* Example:
|
|
399
|
+
*
|
|
400
|
+
* ```
|
|
401
|
+
* const db = getDb();
|
|
402
|
+
* const results = await db.runTransaction(async () => {
|
|
403
|
+
* const emp1 = await db.insert(emplyeeTable, testEmployee1);
|
|
404
|
+
* const emp2 = await db.insert(emplyeeTable, testEmployee2);
|
|
405
|
+
* await db.update(emplyeeTable, { department: 'R&D' }, { id: emp1.id });
|
|
406
|
+
* await someFunctionThatDoesDbOps(db);
|
|
407
|
+
* return { emp1, emp2 };
|
|
408
|
+
* });
|
|
409
|
+
* ```
|
|
410
|
+
*/
|
|
411
|
+
Db.prototype.runTransaction = function (fn) {
|
|
412
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
413
|
+
var _this = this;
|
|
414
|
+
return __generator(this, function (_a) {
|
|
415
|
+
switch (_a.label) {
|
|
416
|
+
case 0:
|
|
417
|
+
if (this.currentTransaction) {
|
|
418
|
+
throw new Error("Nested transactions are not supported. A transaction is already running on this Db instance.");
|
|
419
|
+
}
|
|
420
|
+
return [4 /*yield*/, this.dbDriver.runTransaction(function (transaction) { return __awaiter(_this, void 0, void 0, function () {
|
|
421
|
+
var result;
|
|
422
|
+
return __generator(this, function (_a) {
|
|
423
|
+
switch (_a.label) {
|
|
424
|
+
case 0:
|
|
425
|
+
this.currentTransaction = transaction;
|
|
426
|
+
_a.label = 1;
|
|
427
|
+
case 1:
|
|
428
|
+
_a.trys.push([1, , 3, 4]);
|
|
429
|
+
return [4 /*yield*/, fn()];
|
|
430
|
+
case 2:
|
|
431
|
+
result = _a.sent();
|
|
432
|
+
return [2 /*return*/, result];
|
|
433
|
+
case 3:
|
|
434
|
+
this.currentTransaction = undefined;
|
|
435
|
+
return [7 /*endfinally*/];
|
|
436
|
+
case 4: return [2 /*return*/];
|
|
437
|
+
}
|
|
438
|
+
});
|
|
439
|
+
}); })];
|
|
440
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
441
|
+
}
|
|
442
|
+
});
|
|
443
|
+
});
|
|
444
|
+
};
|
|
454
445
|
return Db;
|
|
455
446
|
}());
|
|
456
447
|
exports.Db = Db;
|
package/dist/src/Db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Db.js","sourceRoot":"","sources":["../../src/Db.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAsE;AAEtE,oDAAmE;AACnE,
|
|
1
|
+
{"version":3,"file":"Db.js","sourceRoot":"","sources":["../../src/Db.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Table.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export declare const getTables: <T extends Record = any>() => Table<T>[];
|
|
|
8
8
|
export declare const tableByName: (name: string) => Table<any>;
|
|
9
9
|
export declare const getColumnPropertyName: (table: Table<any>, columnName: string) => string | null;
|
|
10
10
|
export declare const getColumnByName: (table: Table<any>, columnName: string) => Column<any, any> | null;
|
|
11
|
+
export declare const addDefaultFieldValues: (table: Table<any>, record: any) => Promise<void>;
|
|
12
|
+
export declare const addUpdateFieldValues: (table: Table<any>, record: any) => Promise<void>;
|
|
11
13
|
/**
|
|
12
14
|
* primary key is `id`
|
|
13
15
|
*/
|
|
@@ -81,6 +83,8 @@ export type ColumnOptions = {
|
|
|
81
83
|
nullable?: boolean;
|
|
82
84
|
/** Value stored on insert */
|
|
83
85
|
defaultValue?: (insertObj: any) => Promise<any>;
|
|
86
|
+
/** If true, the `defaultValue` function will always provide the value and override any existing value */
|
|
87
|
+
forceDefaultValue?: boolean;
|
|
84
88
|
/** Value stored on update */
|
|
85
89
|
updateValue?: (updateObj: any) => Promise<any>;
|
|
86
90
|
/** Add conditions to query; called on every query of this table */
|
package/dist/src/Table.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Table.js
CHANGED
|
@@ -1,6 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
2
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Table = exports.getColumnByName = exports.getColumnPropertyName = exports.tableByName = exports.getTables = exports.isTable = void 0;
|
|
39
|
+
exports.Table = exports.addUpdateFieldValues = exports.addDefaultFieldValues = exports.getColumnByName = exports.getColumnPropertyName = exports.tableByName = exports.getTables = exports.isTable = void 0;
|
|
4
40
|
var reflection_1 = require("@proteinjs/reflection");
|
|
5
41
|
var TableSerializer_1 = require("./serializers/TableSerializer");
|
|
6
42
|
var isTable = function (obj) { return obj.__serializerId === TableSerializer_1.TableSerializerId; };
|
|
@@ -38,6 +74,73 @@ var getColumnByName = function (table, columnName) {
|
|
|
38
74
|
return null;
|
|
39
75
|
};
|
|
40
76
|
exports.getColumnByName = getColumnByName;
|
|
77
|
+
var addDefaultFieldValues = function (table, record) { return __awaiter(void 0, void 0, void 0, function () {
|
|
78
|
+
var _a, _b, _c, _i, columnPropertyName, column, _d, _e;
|
|
79
|
+
var _f, _g;
|
|
80
|
+
return __generator(this, function (_h) {
|
|
81
|
+
switch (_h.label) {
|
|
82
|
+
case 0:
|
|
83
|
+
_a = table.columns;
|
|
84
|
+
_b = [];
|
|
85
|
+
for (_c in _a)
|
|
86
|
+
_b.push(_c);
|
|
87
|
+
_i = 0;
|
|
88
|
+
_h.label = 1;
|
|
89
|
+
case 1:
|
|
90
|
+
if (!(_i < _b.length)) return [3 /*break*/, 4];
|
|
91
|
+
_c = _b[_i];
|
|
92
|
+
if (!(_c in _a)) return [3 /*break*/, 3];
|
|
93
|
+
columnPropertyName = _c;
|
|
94
|
+
column = table.columns[columnPropertyName];
|
|
95
|
+
if (!(((_f = column.options) === null || _f === void 0 ? void 0 : _f.defaultValue) &&
|
|
96
|
+
(typeof record[columnPropertyName] === 'undefined' || ((_g = column.options) === null || _g === void 0 ? void 0 : _g.forceDefaultValue)))) return [3 /*break*/, 3];
|
|
97
|
+
_d = record;
|
|
98
|
+
_e = columnPropertyName;
|
|
99
|
+
return [4 /*yield*/, column.options.defaultValue(record)];
|
|
100
|
+
case 2:
|
|
101
|
+
_d[_e] = _h.sent();
|
|
102
|
+
_h.label = 3;
|
|
103
|
+
case 3:
|
|
104
|
+
_i++;
|
|
105
|
+
return [3 /*break*/, 1];
|
|
106
|
+
case 4: return [2 /*return*/];
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}); };
|
|
110
|
+
exports.addDefaultFieldValues = addDefaultFieldValues;
|
|
111
|
+
var addUpdateFieldValues = function (table, record) { return __awaiter(void 0, void 0, void 0, function () {
|
|
112
|
+
var _a, _b, _c, _i, columnPropertyName, column, _d, _e;
|
|
113
|
+
var _f;
|
|
114
|
+
return __generator(this, function (_g) {
|
|
115
|
+
switch (_g.label) {
|
|
116
|
+
case 0:
|
|
117
|
+
_a = table.columns;
|
|
118
|
+
_b = [];
|
|
119
|
+
for (_c in _a)
|
|
120
|
+
_b.push(_c);
|
|
121
|
+
_i = 0;
|
|
122
|
+
_g.label = 1;
|
|
123
|
+
case 1:
|
|
124
|
+
if (!(_i < _b.length)) return [3 /*break*/, 4];
|
|
125
|
+
_c = _b[_i];
|
|
126
|
+
if (!(_c in _a)) return [3 /*break*/, 3];
|
|
127
|
+
columnPropertyName = _c;
|
|
128
|
+
column = table.columns[columnPropertyName];
|
|
129
|
+
if (!((_f = column.options) === null || _f === void 0 ? void 0 : _f.updateValue)) return [3 /*break*/, 3];
|
|
130
|
+
_d = record;
|
|
131
|
+
_e = columnPropertyName;
|
|
132
|
+
return [4 /*yield*/, column.options.updateValue(record)];
|
|
133
|
+
case 2:
|
|
134
|
+
_d[_e] = _g.sent();
|
|
135
|
+
_g.label = 3;
|
|
136
|
+
case 3:
|
|
137
|
+
_i++;
|
|
138
|
+
return [3 /*break*/, 1];
|
|
139
|
+
case 4: return [2 /*return*/];
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
}); };
|
|
143
|
+
exports.addUpdateFieldValues = addUpdateFieldValues;
|
|
41
144
|
/**
|
|
42
145
|
* primary key is `id`
|
|
43
146
|
*/
|
package/dist/src/Table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../src/Table.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../src/Table.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reference.d.ts","sourceRoot":"","sources":["../../../src/reference/Reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAInC;;;;;;;;;;GAUG;AACH,qBAAa,SAAS,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,wBAAwB;IAIjE,MAAM,EAAE,MAAM;IACd,GAAG,CAAC;IACJ,OAAO,CAAC;IALV,cAAc,SAAyB;gBAGrC,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,oBAAQ,EACZ,OAAO,CAAC,eAAG;IAGpB,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAItF,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAUnC,GAAG,CAAC,MAAM,EAAE,CAAC;CAId"}
|
|
1
|
+
{"version":3,"file":"Reference.d.ts","sourceRoot":"","sources":["../../../src/reference/Reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAInC;;;;;;;;;;GAUG;AACH,qBAAa,SAAS,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,wBAAwB;IAIjE,MAAM,EAAE,MAAM;IACd,GAAG,CAAC;IACJ,OAAO,CAAC;IALV,cAAc,SAAyB;gBAGrC,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,oBAAQ,EACZ,OAAO,CAAC,eAAG;IAGpB,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAItF,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAUnC,WAAW,IAAI,CAAC,GAAG,SAAS;IAI5B,GAAG,CAAC,MAAM,EAAE,CAAC;CAId"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reference.js","sourceRoot":"","sources":["../../../src/reference/Reference.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4BAA8B;AAE9B,kCAAuC;AACvC,0EAA2E;AAE3E;;;;;;;;;;GAUG;AACH;IAGE,mBACS,MAAc,EACd,GAAY,EACZ,OAAW;QAFX,WAAM,GAAN,MAAM,CAAQ;QACd,QAAG,GAAH,GAAG,CAAS;QACZ,YAAO,GAAP,OAAO,CAAI;QALb,mBAAc,GAAG,2CAAqB,CAAC;IAM3C,CAAC;IAEG,oBAAU,GAAjB,UAAoC,KAAa,EAAE,MAAyC;QAC1F,OAAO,IAAI,SAAS,CAAI,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAW,CAAC,CAAC;IACzD,CAAC;IAEK,uBAAG,GAAT;;;;;;6BACM,CAAA,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAA,EAAzB,wBAAyB;wBACrB,KAAK,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACjC,EAAE,GAAG,IAAA,UAAK,GAAE,CAAC;wBACnB,KAAA,IAAI,CAAA;wBAAW,qBAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAA;;wBAApD,GAAK,OAAO,GAAG,SAAqC,CAAC;;4BAGvD,sBAAO,IAAI,CAAC,OAAO,EAAC;;;;KACrB;IAED,uBAAG,GAAH,UAAI,MAAS;QACX,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC;IACH,gBAAC;AAAD,CAAC,
|
|
1
|
+
{"version":3,"file":"Reference.js","sourceRoot":"","sources":["../../../src/reference/Reference.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4BAA8B;AAE9B,kCAAuC;AACvC,0EAA2E;AAE3E;;;;;;;;;;GAUG;AACH;IAGE,mBACS,MAAc,EACd,GAAY,EACZ,OAAW;QAFX,WAAM,GAAN,MAAM,CAAQ;QACd,QAAG,GAAH,GAAG,CAAS;QACZ,YAAO,GAAP,OAAO,CAAI;QALb,mBAAc,GAAG,2CAAqB,CAAC;IAM3C,CAAC;IAEG,oBAAU,GAAjB,UAAoC,KAAa,EAAE,MAAyC;QAC1F,OAAO,IAAI,SAAS,CAAI,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAW,CAAC,CAAC;IACzD,CAAC;IAEK,uBAAG,GAAT;;;;;;6BACM,CAAA,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAA,EAAzB,wBAAyB;wBACrB,KAAK,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACjC,EAAE,GAAG,IAAA,UAAK,GAAE,CAAC;wBACnB,KAAA,IAAI,CAAA;wBAAW,qBAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAA;;wBAApD,GAAK,OAAO,GAAG,SAAqC,CAAC;;4BAGvD,sBAAO,IAAI,CAAC,OAAO,EAAC;;;;KACrB;IAED,+BAAW,GAAX;QACE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,uBAAG,GAAH,UAAI,MAAS;QACX,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC;IACH,gBAAC;AAAD,CAAC,AA/BD,IA+BC;AA/BY,8BAAS"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Service } from '@proteinjs/service';
|
|
2
|
+
import { Operation } from '../transaction/Transaction';
|
|
3
|
+
export declare const getTransactionRunnerService: () => TransactionRunnerService;
|
|
4
|
+
export interface TransactionRunnerService extends Service {
|
|
5
|
+
run(ops: Operation<any>[]): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=TransactionRunnerService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionRunnerService.d.ts","sourceRoot":"","sources":["../../../src/services/TransactionRunnerService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,eAAO,MAAM,2BAA2B,gCAEvC,CAAC;AAEF,MAAM,WAAW,wBAAyB,SAAQ,OAAO;IACvD,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTransactionRunnerService = void 0;
|
|
4
|
+
var service_1 = require("@proteinjs/service");
|
|
5
|
+
exports.getTransactionRunnerService = (0, service_1.serviceFactory)('@proteinjs/db/TransactionRunnerService');
|
|
6
|
+
//# sourceMappingURL=TransactionRunnerService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionRunnerService.js","sourceRoot":"","sources":["../../../src/services/TransactionRunnerService.ts"],"names":[],"mappings":";;;AAAA,8CAA6D;AAGhD,QAAA,2BAA2B,GAAG,IAAA,wBAAc,EACvD,wCAAwC,CACzC,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Record } from '../Record';
|
|
2
|
+
import { DbService } from '../services/DbService';
|
|
3
|
+
import { Table } from '../Table';
|
|
4
|
+
export type OperationQueue<R extends Record = Record> = {
|
|
5
|
+
insert: (...args: Parameters<DbService<R>['insert']>) => Promise<R>;
|
|
6
|
+
update: (...args: Parameters<DbService<R>['update']>) => void;
|
|
7
|
+
delete: (...args: Parameters<DbService<R>['delete']>) => void;
|
|
8
|
+
};
|
|
9
|
+
export type Operation<R extends Record = Record> = {
|
|
10
|
+
name: 'insert' | 'update' | 'delete';
|
|
11
|
+
args: Parameters<DbService<R>['insert']> | Parameters<DbService<R>['update']> | Parameters<DbService<R>['delete']>;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* A queue of db write operations that are executed sequentially (not batched) as a single transaction when `run` is called.
|
|
15
|
+
*
|
|
16
|
+
* Intended to be used on the client to decrease network calls when performing an atomic unit of db write operations.
|
|
17
|
+
*
|
|
18
|
+
* A more robust server-side transaction api is available via `Db.runTransaction`.
|
|
19
|
+
*/
|
|
20
|
+
export declare class Transaction implements OperationQueue {
|
|
21
|
+
private onInsert?;
|
|
22
|
+
private onUpdate?;
|
|
23
|
+
private onDelete?;
|
|
24
|
+
/** Operations to be run in sequence in a transaction when `run` is called. */
|
|
25
|
+
ops: Operation<any>[];
|
|
26
|
+
/**
|
|
27
|
+
* Local cache of tables.
|
|
28
|
+
*
|
|
29
|
+
* Data will be updated as operations are queued.
|
|
30
|
+
*/
|
|
31
|
+
db: {
|
|
32
|
+
[table: string]: {
|
|
33
|
+
[id: string]: any;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
constructor(onInsert?: ((table: Table<any>, record: any) => void) | undefined, onUpdate?: ((table: Table<any>, prevRecord: any, currentRecord: any) => void) | undefined, onDelete?: ((table: Table<any>, record: any) => void) | undefined);
|
|
37
|
+
/**
|
|
38
|
+
* @returns locally cached records for table
|
|
39
|
+
*/
|
|
40
|
+
recordMap(table: string): {
|
|
41
|
+
[id: string]: any;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Queue an insert.
|
|
45
|
+
*/
|
|
46
|
+
insert<R extends Record = Record>(...args: Parameters<DbService<R>['insert']>): Promise<R>;
|
|
47
|
+
/**
|
|
48
|
+
* Queue an update.
|
|
49
|
+
*
|
|
50
|
+
* Updates are performed in-place on the existing object to ensure all references
|
|
51
|
+
* receive the changes.
|
|
52
|
+
*
|
|
53
|
+
* If a `QueryBuilder` is passed in for `query`, changes will not be made to the cached `db`.
|
|
54
|
+
* Passing in an `ObjectQuery` will update the cached `db`.
|
|
55
|
+
*/
|
|
56
|
+
update<R extends Record = Record>(...args: Parameters<DbService<R>['update']>): void;
|
|
57
|
+
/**
|
|
58
|
+
* Queue a delete.
|
|
59
|
+
*
|
|
60
|
+
* If a `QueryBuilder` is passed in for `query`, changes will not be made to the cached `db`.
|
|
61
|
+
* Passing in an `ObjectQuery` will update the cached `db`.
|
|
62
|
+
*/
|
|
63
|
+
delete<R extends Record = Record>(...args: Parameters<DbService<R>['delete']>): void;
|
|
64
|
+
/**
|
|
65
|
+
* Run the operations in order (not a batch), as a single transaction.
|
|
66
|
+
*/
|
|
67
|
+
run(): Promise<void>;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=Transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/Transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAe,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAyB,KAAK,EAAE,MAAM,UAAU,CAAC;AAIxD,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IACtD,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,CAAC;IAC9D,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,CAAC;CAC/D,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IACjD,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;CACpH,CAAC;AAIF;;;;;;GAMG;AACH,qBAAa,WAAY,YAAW,cAAc;IAY9C,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,QAAQ,CAAC;IAbnB,8EAA8E;IAC9E,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAM;IAE3B;;;;OAIG;IACH,EAAE,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG;YAAE,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAA;KAAE,CAAM;gBAG1C,QAAQ,CAAC,WAAU,MAAM,GAAG,CAAC,UAAU,GAAG,KAAK,IAAI,aAAA,EACnD,QAAQ,CAAC,WAAU,MAAM,GAAG,CAAC,cAAc,GAAG,iBAAiB,GAAG,KAAK,IAAI,aAAA,EAC3E,QAAQ,CAAC,WAAU,MAAM,GAAG,CAAC,UAAU,GAAG,KAAK,IAAI,aAAA;IAG7D;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM;;;IAQvB;;OAEG;IACG,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmBhG;;;;;;;;OAQG;IACH,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI;IAwDpF;;;;;OAKG;IACH,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI;IAyBpF;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAS3B"}
|