@proteinjs/db 1.19.0 → 1.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/generated/index.js +1 -1
  3. package/dist/generated/index.js.map +1 -1
  4. package/dist/generated/test/index.d.ts +1 -1
  5. package/dist/generated/test/index.d.ts.map +1 -1
  6. package/dist/generated/test/index.js +52 -34
  7. package/dist/generated/test/index.js.map +1 -1
  8. package/dist/index.d.ts +0 -6
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +0 -6
  11. package/dist/index.js.map +1 -1
  12. package/dist/src/Db.d.ts +2 -2
  13. package/dist/src/Db.d.ts.map +1 -1
  14. package/dist/src/Db.js +6 -3
  15. package/dist/src/Db.js.map +1 -1
  16. package/dist/src/TableWatcherRunner.d.ts.map +1 -1
  17. package/dist/src/TableWatcherRunner.js +4 -1
  18. package/dist/src/TableWatcherRunner.js.map +1 -1
  19. package/dist/src/schema/TableManager.d.ts.map +1 -1
  20. package/dist/src/schema/TableManager.js +4 -1
  21. package/dist/src/schema/TableManager.js.map +1 -1
  22. package/dist/test/index.d.ts +13 -0
  23. package/dist/test/index.d.ts.map +1 -0
  24. package/dist/test/index.js +29 -0
  25. package/dist/test/index.js.map +1 -0
  26. package/dist/test/reusable/CascadeDeleteTests.d.ts +1 -189
  27. package/dist/test/reusable/CascadeDeleteTests.d.ts.map +1 -1
  28. package/dist/test/reusable/CascadeDeleteTests.js +36 -393
  29. package/dist/test/reusable/CascadeDeleteTests.js.map +1 -1
  30. package/dist/test/reusable/ColumnTypesTests.d.ts +1 -52
  31. package/dist/test/reusable/ColumnTypesTests.d.ts.map +1 -1
  32. package/dist/test/reusable/ColumnTypesTests.js +20 -86
  33. package/dist/test/reusable/ColumnTypesTests.js.map +1 -1
  34. package/dist/test/reusable/CrudTests.d.ts +1 -50
  35. package/dist/test/reusable/CrudTests.d.ts.map +1 -1
  36. package/dist/test/reusable/CrudTests.js +37 -126
  37. package/dist/test/reusable/CrudTests.js.map +1 -1
  38. package/dist/test/reusable/DynamicReferenceColumnTests.d.ts +3 -0
  39. package/dist/test/reusable/DynamicReferenceColumnTests.d.ts.map +1 -0
  40. package/dist/test/reusable/DynamicReferenceColumnTests.js +429 -0
  41. package/dist/test/reusable/DynamicReferenceColumnTests.js.map +1 -0
  42. package/dist/test/reusable/TableManagerTests.d.ts +1 -2
  43. package/dist/test/reusable/TableManagerTests.d.ts.map +1 -1
  44. package/dist/test/reusable/TableManagerTests.js +57 -152
  45. package/dist/test/reusable/TableManagerTests.js.map +1 -1
  46. package/dist/test/reusable/TransactionTests.d.ts +1 -51
  47. package/dist/test/reusable/TransactionTests.d.ts.map +1 -1
  48. package/dist/test/reusable/TransactionTests.js +24 -111
  49. package/dist/test/reusable/TransactionTests.js.map +1 -1
  50. package/dist/test/util/DbTestEnvironment.d.ts +12 -0
  51. package/dist/test/util/DbTestEnvironment.d.ts.map +1 -0
  52. package/dist/test/util/DbTestEnvironment.js +125 -0
  53. package/dist/test/util/DbTestEnvironment.js.map +1 -0
  54. package/dist/test/util/tables/cascadeDeleteTestTables.d.ts +191 -0
  55. package/dist/test/util/tables/cascadeDeleteTestTables.d.ts.map +1 -0
  56. package/dist/test/util/tables/cascadeDeleteTestTables.js +234 -0
  57. package/dist/test/util/tables/cascadeDeleteTestTables.js.map +1 -0
  58. package/dist/test/util/tables/columnTypesTestTables.d.ts +47 -0
  59. package/dist/test/util/tables/columnTypesTestTables.d.ts.map +1 -0
  60. package/dist/test/util/tables/columnTypesTestTables.js +49 -0
  61. package/dist/test/util/tables/columnTypesTestTables.js.map +1 -0
  62. package/dist/test/util/tables/crudTestTables.d.ts +48 -0
  63. package/dist/test/util/tables/crudTestTables.d.ts.map +1 -0
  64. package/dist/test/util/tables/crudTestTables.js +58 -0
  65. package/dist/test/util/tables/crudTestTables.js.map +1 -0
  66. package/dist/test/util/tables/dynamicReferenceColumnTestTables.d.ts +76 -0
  67. package/dist/test/util/tables/dynamicReferenceColumnTestTables.d.ts.map +1 -0
  68. package/dist/test/util/tables/dynamicReferenceColumnTestTables.js +131 -0
  69. package/dist/test/util/tables/dynamicReferenceColumnTestTables.js.map +1 -0
  70. package/dist/test/util/tables/tableManagerTestTables.d.ts +86 -0
  71. package/dist/test/util/tables/tableManagerTestTables.d.ts.map +1 -0
  72. package/dist/test/util/tables/tableManagerTestTables.js +131 -0
  73. package/dist/test/util/tables/tableManagerTestTables.js.map +1 -0
  74. package/dist/test/util/tables/transactionTestTables.d.ts +48 -0
  75. package/dist/test/util/tables/transactionTestTables.d.ts.map +1 -0
  76. package/dist/test/util/tables/transactionTestTables.js +58 -0
  77. package/dist/test/util/tables/transactionTestTables.js.map +1 -0
  78. package/generated/index.ts +18 -15
  79. package/generated/test/index.ts +67 -46
  80. package/index.ts +0 -7
  81. package/package.json +29 -17
  82. package/src/Db.ts +8 -3
  83. package/src/TableWatcherRunner.ts +4 -1
  84. package/src/schema/TableManager.ts +4 -1
  85. package/test/index.ts +13 -0
  86. package/test/reusable/CascadeDeleteTests.ts +38 -320
  87. package/test/reusable/ColumnTypesTests.ts +9 -85
  88. package/test/reusable/CrudTests.ts +26 -97
  89. package/test/reusable/DynamicReferenceColumnTests.ts +342 -0
  90. package/test/reusable/TableManagerTests.ts +18 -97
  91. package/test/reusable/TransactionTests.ts +26 -93
  92. package/test/util/DbTestEnvironment.ts +46 -0
  93. package/test/util/tables/cascadeDeleteTestTables.ts +232 -0
  94. package/test/util/tables/columnTypesTestTables.ts +63 -0
  95. package/test/util/tables/crudTestTables.ts +44 -0
  96. package/test/util/tables/dynamicReferenceColumnTestTables.ts +87 -0
  97. package/test/util/tables/tableManagerTestTables.ts +98 -0
  98. package/test/util/tables/transactionTestTables.ts +44 -0
  99. package/tsconfig.json +7 -1
  100. package/LICENSE +0 -21
  101. package/dist/test/reusable/DynamicReferenceColumn.d.ts +0 -77
  102. package/dist/test/reusable/DynamicReferenceColumn.d.ts.map +0 -1
  103. package/dist/test/reusable/DynamicReferenceColumn.js +0 -656
  104. package/dist/test/reusable/DynamicReferenceColumn.js.map +0 -1
  105. package/test/reusable/DynamicReferenceColumn.ts +0 -487
@@ -1,19 +1,4 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -51,99 +36,27 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
51
36
  }
52
37
  };
53
38
  Object.defineProperty(exports, "__esModule", { value: true });
54
- exports.transactionTests = exports.getTransactionTestTable = void 0;
39
+ exports.transactionTests = void 0;
55
40
  var db_query_1 = require("@proteinjs/db-query");
56
- var Db_1 = require("../../src/Db");
57
- var Record_1 = require("../../src/Record");
58
- var Columns_1 = require("../../src/Columns");
59
- var Table_1 = require("../../src/Table");
60
- var EmployeeTestTable = /** @class */ (function (_super) {
61
- __extends(EmployeeTestTable, _super);
62
- function EmployeeTestTable() {
63
- var _this = _super !== null && _super.apply(this, arguments) || this;
64
- _this.name = 'db_transaction_test_employee';
65
- _this.columns = (0, Record_1.withRecordColumns)({
66
- name: new Columns_1.StringColumn('name'),
67
- department: new Columns_1.StringColumn('department'),
68
- isRemote: new Columns_1.BooleanColumn('is_remote'),
69
- jobTitle: new Columns_1.StringColumn('job_title'),
70
- startDate: new Columns_1.DateColumn('start_date'),
71
- object: new Columns_1.StringColumn('object'),
72
- });
73
- return _this;
74
- }
75
- return EmployeeTestTable;
76
- }(Table_1.Table));
77
- var ReservedWordTestTable = /** @class */ (function (_super) {
78
- __extends(ReservedWordTestTable, _super);
79
- function ReservedWordTestTable() {
80
- var _this = _super !== null && _super.apply(this, arguments) || this;
81
- _this.name = 'db_transaction_test_reserved_word';
82
- _this.columns = (0, Record_1.withRecordColumns)({
83
- name: new Columns_1.StringColumn('name'),
84
- order: new Columns_1.StringColumn('order'),
85
- select: new Columns_1.StringColumn('select'),
86
- join: new Columns_1.StringColumn('join'),
87
- });
88
- return _this;
89
- }
90
- return ReservedWordTestTable;
91
- }(Table_1.Table));
92
- /**
93
- * Used for testing purposes only.
94
- * */
95
- var getTransactionTestTable = function (tableName) {
96
- var employeeTable = new EmployeeTestTable();
97
- if (employeeTable.name == tableName) {
98
- return new EmployeeTestTable();
99
- }
100
- var reservedWordTestTable = new ReservedWordTestTable();
101
- if (reservedWordTestTable.name == tableName) {
102
- return new ReservedWordTestTable();
103
- }
104
- throw new Error("Cannot find test table: ".concat(tableName));
105
- };
106
- exports.getTransactionTestTable = getTransactionTestTable;
41
+ var db_1 = require("@proteinjs/db");
42
+ var DbTestEnvironment_1 = require("../util/DbTestEnvironment");
43
+ var transactionTestTables_1 = require("../util/tables/transactionTestTables");
107
44
  var transactionTests = function (driver, transactionContextFactory, dropTable) {
108
45
  return function () {
109
- var db = new Db_1.Db(driver, exports.getTransactionTestTable, transactionContextFactory);
110
- beforeAll(function () { return __awaiter(void 0, void 0, void 0, function () {
111
- return __generator(this, function (_a) {
112
- switch (_a.label) {
113
- case 0:
114
- if (!driver.start) return [3 /*break*/, 2];
115
- return [4 /*yield*/, driver.start()];
116
- case 1:
117
- _a.sent();
118
- _a.label = 2;
119
- case 2: return [4 /*yield*/, driver.getTableManager().loadTable(new EmployeeTestTable())];
120
- case 3:
121
- _a.sent();
122
- return [4 /*yield*/, driver.getTableManager().loadTable(new ReservedWordTestTable())];
123
- case 4:
124
- _a.sent();
125
- return [2 /*return*/];
126
- }
127
- });
128
- }); });
129
- afterAll(function () { return __awaiter(void 0, void 0, void 0, function () {
130
- return __generator(this, function (_a) {
131
- switch (_a.label) {
132
- case 0: return [4 /*yield*/, dropTable(new EmployeeTestTable())];
133
- case 1:
134
- _a.sent();
135
- return [4 /*yield*/, dropTable(new ReservedWordTestTable())];
136
- case 2:
137
- _a.sent();
138
- if (!driver.stop) return [3 /*break*/, 4];
139
- return [4 /*yield*/, driver.stop()];
140
- case 3:
141
- _a.sent();
142
- _a.label = 4;
143
- case 4: return [2 /*return*/];
144
- }
145
- });
146
- }); });
46
+ var db = new db_1.Db(driver, undefined, transactionContextFactory);
47
+ var testEnv = new DbTestEnvironment_1.DbTestEnvironment(driver, dropTable);
48
+ beforeAll(function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
49
+ switch (_a.label) {
50
+ case 0: return [4 /*yield*/, testEnv.beforeAll()];
51
+ case 1: return [2 /*return*/, _a.sent()];
52
+ }
53
+ }); }); }, 10000);
54
+ afterAll(function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
55
+ switch (_a.label) {
56
+ case 0: return [4 /*yield*/, testEnv.afterAll()];
57
+ case 1: return [2 /*return*/, _a.sent()];
58
+ }
59
+ }); }); }, 10000);
147
60
  test('Transaction with successful operations', function () { return __awaiter(void 0, void 0, void 0, function () {
148
61
  var testEmployee1, testEmployee2, emplyeeTable, results, updatedEmp1, updatedEmp2, qb;
149
62
  return __generator(this, function (_a) {
@@ -157,7 +70,7 @@ var transactionTests = function (driver, transactionContextFactory, dropTable) {
157
70
  name: 'Brent',
158
71
  department: 'Engineering',
159
72
  };
160
- emplyeeTable = new EmployeeTestTable();
73
+ emplyeeTable = transactionTestTables_1.transactionTestTables.TransactionEmployee;
161
74
  return [4 /*yield*/, db.runTransaction(function () { return __awaiter(void 0, void 0, void 0, function () {
162
75
  var emp1, emp2;
163
76
  return __generator(this, function (_a) {
@@ -213,7 +126,7 @@ var transactionTests = function (driver, transactionContextFactory, dropTable) {
213
126
  name: 'Brent',
214
127
  department: undefined, // This will cause an error
215
128
  };
216
- emplyeeTable = new EmployeeTestTable();
129
+ emplyeeTable = transactionTestTables_1.transactionTestTables.TransactionEmployee;
217
130
  _a.label = 1;
218
131
  case 1:
219
132
  _a.trys.push([1, 3, , 5]);
@@ -258,7 +171,7 @@ var transactionTests = function (driver, transactionContextFactory, dropTable) {
258
171
  name: 'Veronica',
259
172
  department: 'Engineering',
260
173
  };
261
- emplyeeTable = new EmployeeTestTable();
174
+ emplyeeTable = transactionTestTables_1.transactionTestTables.TransactionEmployee;
262
175
  return [4 /*yield*/, expect(db.runTransaction(function () { return __awaiter(void 0, void 0, void 0, function () {
263
176
  var emp;
264
177
  return __generator(this, function (_a) {
@@ -299,7 +212,7 @@ var transactionTests = function (driver, transactionContextFactory, dropTable) {
299
212
  name: 'Veronica',
300
213
  department: 'Engineering',
301
214
  };
302
- emplyeeTable = new EmployeeTestTable();
215
+ emplyeeTable = transactionTestTables_1.transactionTestTables.TransactionEmployee;
303
216
  transactionPromise = db.runTransaction(function () { return __awaiter(void 0, void 0, void 0, function () {
304
217
  var emp;
305
218
  return __generator(this, function (_a) {
@@ -346,8 +259,8 @@ var transactionTests = function (driver, transactionContextFactory, dropTable) {
346
259
  order: '1',
347
260
  select: 'Option 1',
348
261
  };
349
- emplyeeTable = new EmployeeTestTable();
350
- reservedWordTable = new ReservedWordTestTable();
262
+ emplyeeTable = transactionTestTables_1.transactionTestTables.TransactionEmployee;
263
+ reservedWordTable = transactionTestTables_1.transactionTestTables.TransactionReservedWord;
351
264
  return [4 /*yield*/, db.runTransaction(function () { return __awaiter(void 0, void 0, void 0, function () {
352
265
  var emp, reserved;
353
266
  return __generator(this, function (_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionTests.js","sourceRoot":"","sources":["../../../test/reusable/TransactionTests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransactionTests.js","sourceRoot":"","sources":["../../../test/reusable/TransactionTests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Table, DbDriver } from '@proteinjs/db';
2
+ /**
3
+ * Convenience functions for setting up a test environment
4
+ */
5
+ export declare class DbTestEnvironment {
6
+ private dbDriver;
7
+ private dropTestTable;
8
+ constructor(dbDriver: DbDriver, dropTestTable: (table: Table<any>) => Promise<void>);
9
+ beforeAll(): Promise<void>;
10
+ afterAll(): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=DbTestEnvironment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DbTestEnvironment.d.ts","sourceRoot":"","sources":["../../../test/util/DbTestEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAiBhD;;GAEG;AACH,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;gBADb,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;IAGvD,SAAS;IAUT,QAAQ;CASf"}
@@ -0,0 +1,125 @@
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
+ };
38
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
+ if (ar || !(i in from)) {
41
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
+ ar[i] = from[i];
43
+ }
44
+ }
45
+ return to.concat(ar || Array.prototype.slice.call(from));
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.DbTestEnvironment = void 0;
49
+ var cascadeDeleteTestTables_1 = require("./tables/cascadeDeleteTestTables");
50
+ var columnTypesTestTables_1 = require("./tables/columnTypesTestTables");
51
+ var crudTestTables_1 = require("./tables/crudTestTables");
52
+ var dynamicReferenceColumnTestTables_1 = require("./tables/dynamicReferenceColumnTestTables");
53
+ var tableManagerTestTables_1 = require("./tables/tableManagerTestTables");
54
+ var transactionTestTables_1 = require("./tables/transactionTestTables");
55
+ var TABLES = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], Object.values(cascadeDeleteTestTables_1.cascadeDeleteTestTables), true), Object.values(columnTypesTestTables_1.columnTypesTestTables), true), Object.values(crudTestTables_1.crudTestTables), true), Object.values(dynamicReferenceColumnTestTables_1.dynamicReferenceTestTables), true), Object.values(tableManagerTestTables_1.tableManagerTestTables), true), Object.values(transactionTestTables_1.transactionTestTables), true);
56
+ /**
57
+ * Convenience functions for setting up a test environment
58
+ */
59
+ var DbTestEnvironment = /** @class */ (function () {
60
+ function DbTestEnvironment(dbDriver, dropTestTable) {
61
+ this.dbDriver = dbDriver;
62
+ this.dropTestTable = dropTestTable;
63
+ }
64
+ DbTestEnvironment.prototype.beforeAll = function () {
65
+ return __awaiter(this, void 0, void 0, function () {
66
+ var _i, TABLES_1, table;
67
+ return __generator(this, function (_a) {
68
+ switch (_a.label) {
69
+ case 0:
70
+ if (!this.dbDriver.start) return [3 /*break*/, 2];
71
+ return [4 /*yield*/, this.dbDriver.start()];
72
+ case 1:
73
+ _a.sent();
74
+ _a.label = 2;
75
+ case 2:
76
+ _i = 0, TABLES_1 = TABLES;
77
+ _a.label = 3;
78
+ case 3:
79
+ if (!(_i < TABLES_1.length)) return [3 /*break*/, 6];
80
+ table = TABLES_1[_i];
81
+ return [4 /*yield*/, this.dbDriver.getTableManager().loadTable(table)];
82
+ case 4:
83
+ _a.sent();
84
+ _a.label = 5;
85
+ case 5:
86
+ _i++;
87
+ return [3 /*break*/, 3];
88
+ case 6: return [2 /*return*/];
89
+ }
90
+ });
91
+ });
92
+ };
93
+ DbTestEnvironment.prototype.afterAll = function () {
94
+ return __awaiter(this, void 0, void 0, function () {
95
+ var _i, _a, table;
96
+ return __generator(this, function (_b) {
97
+ switch (_b.label) {
98
+ case 0:
99
+ _i = 0, _a = TABLES.reverse();
100
+ _b.label = 1;
101
+ case 1:
102
+ if (!(_i < _a.length)) return [3 /*break*/, 4];
103
+ table = _a[_i];
104
+ return [4 /*yield*/, this.dropTestTable(table)];
105
+ case 2:
106
+ _b.sent();
107
+ _b.label = 3;
108
+ case 3:
109
+ _i++;
110
+ return [3 /*break*/, 1];
111
+ case 4:
112
+ if (!this.dbDriver.stop) return [3 /*break*/, 6];
113
+ return [4 /*yield*/, this.dbDriver.stop()];
114
+ case 5:
115
+ _b.sent();
116
+ _b.label = 6;
117
+ case 6: return [2 /*return*/];
118
+ }
119
+ });
120
+ });
121
+ };
122
+ return DbTestEnvironment;
123
+ }());
124
+ exports.DbTestEnvironment = DbTestEnvironment;
125
+ //# sourceMappingURL=DbTestEnvironment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DbTestEnvironment.js","sourceRoot":"","sources":["../../../test/util/DbTestEnvironment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4EAA2E;AAC3E,wEAAuE;AACvE,0DAAyD;AACzD,8FAAuF;AACvF,0EAAyE;AACzE,wEAAuE;AAEvE,IAAM,MAAM,2FACP,MAAM,CAAC,MAAM,CAAC,iDAAuB,CAAC,SACtC,MAAM,CAAC,MAAM,CAAC,6CAAqB,CAAC,SACpC,MAAM,CAAC,MAAM,CAAC,+BAAc,CAAC,SAC7B,MAAM,CAAC,MAAM,CAAC,6DAA0B,CAAC,SACzC,MAAM,CAAC,MAAM,CAAC,+CAAsB,CAAC,SACrC,MAAM,CAAC,MAAM,CAAC,6CAAqB,CAAC,OACxC,CAAC;AAEF;;GAEG;AACH;IACE,2BACU,QAAkB,EAClB,aAAmD;QADnD,aAAQ,GAAR,QAAQ,CAAU;QAClB,kBAAa,GAAb,aAAa,CAAsC;IAC1D,CAAC;IAEE,qCAAS,GAAf;;;;;;6BACM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAnB,wBAAmB;wBACrB,qBAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAA;;wBAA3B,SAA2B,CAAC;;;8BAGJ,EAAN,iBAAM;;;6BAAN,CAAA,oBAAM,CAAA;wBAAf,KAAK;wBACd,qBAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAA;;wBAAtD,SAAsD,CAAC;;;wBADrC,IAAM,CAAA;;;;;;KAG3B;IAEK,oCAAQ,GAAd;;;;;;8BACsC,EAAhB,KAAA,MAAM,CAAC,OAAO,EAAE;;;6BAAhB,CAAA,cAAgB,CAAA;wBAAzB,KAAK;wBACd,qBAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAA;;wBAA/B,SAA+B,CAAC;;;wBADd,IAAgB,CAAA;;;6BAIhC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAlB,wBAAkB;wBACpB,qBAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAA;;wBAA1B,SAA0B,CAAC;;;;;;KAE9B;IACH,wBAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,8CAAiB"}
@@ -0,0 +1,191 @@
1
+ import { Table, Record, Reference, ReferenceArray } from '@proteinjs/db';
2
+ export interface MemberRef extends Record {
3
+ name: string;
4
+ }
5
+ export interface GroupRef extends Record {
6
+ groupName: string;
7
+ memberRef?: Reference<MemberRef> | null;
8
+ }
9
+ export interface MemberArr extends Record {
10
+ name: string;
11
+ }
12
+ export interface GroupArr extends Record {
13
+ groupName: string;
14
+ memberRefs?: ReferenceArray<MemberArr> | null;
15
+ }
16
+ export interface MemberDyn extends Record {
17
+ name: string;
18
+ }
19
+ export interface GroupDyn extends Record {
20
+ groupName: string;
21
+ memberDynTableName?: string | null;
22
+ memberDynRef?: Reference<MemberDyn> | null;
23
+ }
24
+ export interface Post extends Record {
25
+ title: string;
26
+ }
27
+ export interface Comment extends Record {
28
+ text: string;
29
+ postRef?: Reference<Post> | null;
30
+ }
31
+ export interface MemberArrRev extends Record {
32
+ name: string;
33
+ }
34
+ export interface GroupArrRev extends Record {
35
+ groupName: string;
36
+ memberRefs?: ReferenceArray<MemberArrRev> | null;
37
+ }
38
+ export interface Worker extends Record {
39
+ name: string;
40
+ }
41
+ export interface Task extends Record {
42
+ title: string;
43
+ assigneeTableName?: string | null;
44
+ assigneeRef?: Reference<Worker> | null;
45
+ }
46
+ /**
47
+ * ---------- Table Classes ----------
48
+ */
49
+ export declare class MemberRefTable extends Table<MemberRef> {
50
+ name: string;
51
+ columns: {
52
+ id: import("@proteinjs/db").Column<string, any>;
53
+ created: import("@proteinjs/db").Column<import("moment").Moment, any>;
54
+ updated: import("@proteinjs/db").Column<import("moment").Moment, any>;
55
+ } & {} & {
56
+ name: import("@proteinjs/db").Column<string, any>;
57
+ } & {};
58
+ }
59
+ export declare class GroupRefTable extends Table<GroupRef> {
60
+ name: string;
61
+ columns: {
62
+ id: import("@proteinjs/db").Column<string, any>;
63
+ created: import("@proteinjs/db").Column<import("moment").Moment, any>;
64
+ updated: import("@proteinjs/db").Column<import("moment").Moment, any>;
65
+ } & {} & {
66
+ groupName: import("@proteinjs/db").Column<string, any>;
67
+ memberRef: import("@proteinjs/db").Column<Reference<MemberRef> | null | undefined, any>;
68
+ } & {};
69
+ }
70
+ export declare class MemberArrTable extends Table<MemberArr> {
71
+ name: string;
72
+ columns: {
73
+ id: import("@proteinjs/db").Column<string, any>;
74
+ created: import("@proteinjs/db").Column<import("moment").Moment, any>;
75
+ updated: import("@proteinjs/db").Column<import("moment").Moment, any>;
76
+ } & {} & {
77
+ name: import("@proteinjs/db").Column<string, any>;
78
+ } & {};
79
+ }
80
+ export declare class GroupArrTable extends Table<GroupArr> {
81
+ name: string;
82
+ columns: {
83
+ id: import("@proteinjs/db").Column<string, any>;
84
+ created: import("@proteinjs/db").Column<import("moment").Moment, any>;
85
+ updated: import("@proteinjs/db").Column<import("moment").Moment, any>;
86
+ } & {} & {
87
+ groupName: import("@proteinjs/db").Column<string, any>;
88
+ memberRefs: import("@proteinjs/db").Column<ReferenceArray<MemberArr> | null | undefined, any>;
89
+ } & {};
90
+ }
91
+ export declare class MemberDynTable extends Table<MemberDyn> {
92
+ name: string;
93
+ columns: {
94
+ id: import("@proteinjs/db").Column<string, any>;
95
+ created: import("@proteinjs/db").Column<import("moment").Moment, any>;
96
+ updated: import("@proteinjs/db").Column<import("moment").Moment, any>;
97
+ } & {} & {
98
+ name: import("@proteinjs/db").Column<string, any>;
99
+ } & {};
100
+ }
101
+ export declare class GroupDynTable extends Table<GroupDyn> {
102
+ name: string;
103
+ columns: {
104
+ id: import("@proteinjs/db").Column<string, any>;
105
+ created: import("@proteinjs/db").Column<import("moment").Moment, any>;
106
+ updated: import("@proteinjs/db").Column<import("moment").Moment, any>;
107
+ } & {} & {
108
+ groupName: import("@proteinjs/db").Column<string, any>;
109
+ memberDynTableName: import("@proteinjs/db").Column<string | null | undefined, any>;
110
+ memberDynRef: import("@proteinjs/db").Column<Reference<MemberDyn> | null | undefined, any>;
111
+ } & {};
112
+ }
113
+ export declare class PostTable extends Table<Post> {
114
+ name: string;
115
+ columns: {
116
+ id: import("@proteinjs/db").Column<string, any>;
117
+ created: import("@proteinjs/db").Column<import("moment").Moment, any>;
118
+ updated: import("@proteinjs/db").Column<import("moment").Moment, any>;
119
+ } & {} & {
120
+ title: import("@proteinjs/db").Column<string, any>;
121
+ } & {};
122
+ }
123
+ export declare class CommentTable extends Table<Comment> {
124
+ name: string;
125
+ columns: {
126
+ id: import("@proteinjs/db").Column<string, any>;
127
+ created: import("@proteinjs/db").Column<import("moment").Moment, any>;
128
+ updated: import("@proteinjs/db").Column<import("moment").Moment, any>;
129
+ } & {} & {
130
+ text: import("@proteinjs/db").Column<string, any>;
131
+ postRef: import("@proteinjs/db").Column<Reference<Post> | null | undefined, any>;
132
+ } & {};
133
+ }
134
+ export declare class MemberArrRevTable extends Table<MemberArrRev> {
135
+ name: string;
136
+ columns: {
137
+ id: import("@proteinjs/db").Column<string, any>;
138
+ created: import("@proteinjs/db").Column<import("moment").Moment, any>;
139
+ updated: import("@proteinjs/db").Column<import("moment").Moment, any>;
140
+ } & {} & {
141
+ name: import("@proteinjs/db").Column<string, any>;
142
+ } & {};
143
+ }
144
+ export declare class GroupArrRevTable extends Table<GroupArrRev> {
145
+ name: string;
146
+ columns: {
147
+ id: import("@proteinjs/db").Column<string, any>;
148
+ created: import("@proteinjs/db").Column<import("moment").Moment, any>;
149
+ updated: import("@proteinjs/db").Column<import("moment").Moment, any>;
150
+ } & {} & {
151
+ groupName: import("@proteinjs/db").Column<string, any>;
152
+ memberRefs: import("@proteinjs/db").Column<ReferenceArray<MemberArrRev> | null | undefined, any>;
153
+ } & {};
154
+ }
155
+ export declare class WorkerTable extends Table<Worker> {
156
+ name: string;
157
+ columns: {
158
+ id: import("@proteinjs/db").Column<string, any>;
159
+ created: import("@proteinjs/db").Column<import("moment").Moment, any>;
160
+ updated: import("@proteinjs/db").Column<import("moment").Moment, any>;
161
+ } & {} & {
162
+ name: import("@proteinjs/db").Column<string, any>;
163
+ } & {};
164
+ }
165
+ export declare class TaskTable extends Table<Task> {
166
+ name: string;
167
+ columns: {
168
+ id: import("@proteinjs/db").Column<string, any>;
169
+ created: import("@proteinjs/db").Column<import("moment").Moment, any>;
170
+ updated: import("@proteinjs/db").Column<import("moment").Moment, any>;
171
+ } & {} & {
172
+ title: import("@proteinjs/db").Column<string, any>;
173
+ assigneeTableName: import("@proteinjs/db").Column<string | null | undefined, any>;
174
+ assigneeRef: import("@proteinjs/db").Column<Reference<Worker> | null | undefined, any>;
175
+ } & {};
176
+ }
177
+ export declare const cascadeDeleteTestTables: {
178
+ MemberRef: Table<MemberRef>;
179
+ GroupRef: Table<GroupRef>;
180
+ MemberArr: Table<MemberArr>;
181
+ GroupArr: Table<GroupArr>;
182
+ MemberDyn: Table<MemberDyn>;
183
+ GroupDyn: Table<GroupDyn>;
184
+ Post: Table<Post>;
185
+ Comment: Table<Comment>;
186
+ MemberArrRev: Table<MemberArrRev>;
187
+ GroupArrRev: Table<GroupArrRev>;
188
+ Worker: Table<Worker>;
189
+ Task: Table<Task>;
190
+ };
191
+ //# sourceMappingURL=cascadeDeleteTestTables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cascadeDeleteTestTables.d.ts","sourceRoot":"","sources":["../../../../test/util/tables/cascadeDeleteTestTables.ts"],"names":[],"mappings":"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"}