remult 0.17.3 → 0.18.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/SseSubscriptionServer.d.ts +23 -0
- package/SseSubscriptionServer.js +143 -0
- package/ably.d.ts +13 -0
- package/ably.js +59 -0
- package/esm/SseSubscriptionServer.d.ts +23 -0
- package/esm/SseSubscriptionServer.js +102 -0
- package/esm/ably.d.ts +13 -0
- package/esm/ably.js +28 -0
- package/esm/index.d.ts +7 -4
- package/esm/index.js +4 -2
- package/esm/live-query/data-provider-live-query-storage.d.ts +23 -0
- package/esm/live-query/data-provider-live-query-storage.js +78 -0
- package/esm/myLog.d.ts +1 -0
- package/esm/myLog.js +5 -0
- package/esm/postgres/postgres-data-provider.d.ts +4 -2
- package/esm/postgres/postgres-data-provider.js +18 -6
- package/esm/postgres/schema-builder.d.ts +2 -1
- package/esm/postgres/schema-builder.js +49 -29
- package/esm/remult-knex/index.d.ts +10 -32
- package/esm/remult-knex/index.js +75 -51
- package/esm/remult-mongo.d.ts +9 -2
- package/esm/remult-mongo.js +24 -8
- package/esm/remult-next.d.ts +11 -0
- package/esm/remult-next.js +27 -0
- package/esm/server/core.d.ts +2 -0
- package/esm/server/core.js +2 -0
- package/esm/server/expressBridge.d.ts +19 -7
- package/esm/server/expressBridge.js +135 -31
- package/esm/server/index.d.ts +2 -1
- package/esm/server/index.js +2 -1
- package/esm/server/initDataProvider.d.ts +2 -0
- package/esm/server/initDataProvider.js +14 -0
- package/esm/src/buildRestDataProvider.d.ts +31 -0
- package/esm/src/buildRestDataProvider.js +110 -0
- package/esm/src/column-interfaces.d.ts +44 -8
- package/esm/src/column.d.ts +3 -3
- package/esm/src/context.d.ts +39 -36
- package/esm/src/context.js +87 -117
- package/esm/src/data-api.d.ts +9 -3
- package/esm/src/data-api.js +130 -63
- package/esm/src/data-interfaces.d.ts +5 -1
- package/esm/src/data-providers/array-entity-data-provider.d.ts +1 -1
- package/esm/src/data-providers/array-entity-data-provider.js +2 -17
- package/esm/src/data-providers/rest-data-provider.d.ts +4 -3
- package/esm/src/data-providers/rest-data-provider.js +64 -23
- package/esm/src/data-providers/sql-database.d.ts +7 -3
- package/esm/src/data-providers/sql-database.js +60 -17
- package/esm/src/data-providers/web-sql-data-provider.d.ts +3 -0
- package/esm/src/data-providers/web-sql-data-provider.js +23 -9
- package/esm/src/entity.d.ts +2 -2
- package/esm/src/filter/filter-consumer-bridge-to-sql-request.d.ts +16 -16
- package/esm/src/filter/filter-consumer-bridge-to-sql-request.js +29 -21
- package/esm/src/filter/filter-interfaces.d.ts +5 -5
- package/esm/src/filter/filter-interfaces.js +31 -26
- package/esm/src/live-query/LiveQueryClient.d.ts +1 -0
- package/esm/src/live-query/LiveQueryClient.js +184 -0
- package/esm/src/live-query/SseSubscriptionClient.d.ts +5 -0
- package/esm/src/live-query/SseSubscriptionClient.js +86 -0
- package/esm/src/live-query/SubscriptionChannel.d.ts +41 -0
- package/esm/src/live-query/SubscriptionChannel.js +121 -0
- package/esm/src/live-query/SubscriptionServer.d.ts +38 -0
- package/esm/src/live-query/SubscriptionServer.js +108 -0
- package/esm/src/remult-proxy.d.ts +1 -1
- package/esm/src/remult-proxy.js +52 -7
- package/esm/src/remult3/RepositoryImplementation.d.ts +14 -5
- package/esm/src/remult3/RepositoryImplementation.js +124 -44
- package/esm/src/remult3/getId.d.ts +2 -0
- package/esm/src/remult3/getId.js +7 -0
- package/esm/src/remult3/remult3.d.ts +67 -10
- package/esm/src/remult3/remult3.js +1 -0
- package/esm/src/server-action.d.ts +5 -1
- package/esm/src/server-action.js +11 -12
- package/esm/src/shared-tests/db-tests-setup.d.ts +12 -5
- package/esm/src/shared-tests/db-tests-setup.js +14 -6
- package/esm/src/shared-tests/db-tests.db-tests.js +71 -10
- package/esm/src/sort.d.ts +1 -0
- package/esm/src/sort.js +18 -0
- package/esm/src/sql-command.d.ts +5 -2
- package/esm/src/tests/entityForCustomFilter.d.ts +6 -6
- package/esm/src/tests/entityForCustomFilter.js +20 -21
- package/esm/src/tests/frontend-database-tests-setup.spec.js +3 -4
- package/esm/src/tests/testHelper.spec.d.ts +3 -1
- package/esm/src/tests/testHelper.spec.js +63 -60
- package/esm/src/valueConverters.js +15 -7
- package/index.d.ts +7 -4
- package/index.js +7 -3
- package/live-query/data-provider-live-query-storage.d.ts +23 -0
- package/live-query/data-provider-live-query-storage.js +236 -0
- package/myLog.d.ts +1 -0
- package/myLog.js +20 -0
- package/package.json +18 -1
- package/postgres/postgres-data-provider.d.ts +4 -2
- package/postgres/postgres-data-provider.js +54 -39
- package/postgres/schema-builder.d.ts +2 -1
- package/postgres/schema-builder.js +118 -70
- package/remult-express.js +1 -1
- package/remult-knex/index.d.ts +10 -32
- package/remult-knex/index.js +134 -87
- package/remult-mongo.d.ts +9 -2
- package/remult-mongo.js +39 -7
- package/remult-next.d.ts +11 -0
- package/remult-next.js +73 -0
- package/server/JsonEntityFileStorage.js +2 -2
- package/server/core.d.ts +2 -0
- package/server/core.js +5 -1
- package/server/expressBridge.d.ts +19 -7
- package/server/expressBridge.js +283 -69
- package/server/index.d.ts +2 -1
- package/server/index.js +3 -1
- package/server/initDataProvider.d.ts +2 -0
- package/server/initDataProvider.js +26 -0
- package/src/buildRestDataProvider.d.ts +31 -0
- package/src/buildRestDataProvider.js +162 -0
- package/src/column-interfaces.d.ts +44 -8
- package/src/column.d.ts +3 -3
- package/src/context.d.ts +39 -36
- package/src/context.js +171 -166
- package/src/data-api.d.ts +9 -3
- package/src/data-api.js +233 -88
- package/src/data-interfaces.d.ts +5 -1
- package/src/data-providers/array-entity-data-provider.d.ts +1 -1
- package/src/data-providers/array-entity-data-provider.js +2 -17
- package/src/data-providers/rest-data-provider.d.ts +4 -3
- package/src/data-providers/rest-data-provider.js +105 -39
- package/src/data-providers/sql-database.d.ts +7 -3
- package/src/data-providers/sql-database.js +89 -16
- package/src/data-providers/web-sql-data-provider.d.ts +3 -0
- package/src/data-providers/web-sql-data-provider.js +56 -11
- package/src/entity.d.ts +2 -2
- package/src/filter/filter-consumer-bridge-to-sql-request.d.ts +16 -16
- package/src/filter/filter-consumer-bridge-to-sql-request.js +59 -50
- package/src/filter/filter-interfaces.d.ts +5 -5
- package/src/filter/filter-interfaces.js +31 -26
- package/src/live-query/LiveQueryClient.d.ts +1 -0
- package/src/live-query/LiveQueryClient.js +283 -0
- package/src/live-query/SseSubscriptionClient.d.ts +5 -0
- package/src/live-query/SseSubscriptionClient.js +150 -0
- package/src/live-query/SubscriptionChannel.d.ts +41 -0
- package/src/live-query/SubscriptionChannel.js +209 -0
- package/src/live-query/SubscriptionServer.d.ts +38 -0
- package/src/live-query/SubscriptionServer.js +258 -0
- package/src/remult-proxy.d.ts +1 -1
- package/src/remult-proxy.js +153 -8
- package/src/remult3/RepositoryImplementation.d.ts +14 -5
- package/src/remult3/RepositoryImplementation.js +200 -85
- package/src/remult3/getId.d.ts +2 -0
- package/src/remult3/getId.js +11 -0
- package/src/remult3/remult3.d.ts +67 -10
- package/src/remult3/remult3.js +1 -0
- package/src/server-action.d.ts +5 -1
- package/src/server-action.js +11 -11
- package/src/shared-tests/db-tests-setup.d.ts +12 -5
- package/src/shared-tests/db-tests-setup.js +17 -8
- package/src/shared-tests/db-tests.db-tests.js +140 -8
- package/src/sort.d.ts +1 -0
- package/src/sort.js +18 -0
- package/src/sql-command.d.ts +5 -2
- package/src/tests/entityForCustomFilter.d.ts +6 -6
- package/src/tests/entityForCustomFilter.js +30 -31
- package/src/tests/frontend-database-tests-setup.spec.js +5 -6
- package/src/tests/testHelper.spec.d.ts +3 -1
- package/src/tests/testHelper.spec.js +104 -100
- package/src/valueConverters.js +15 -7
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ControllerBase = exports.EntityBase = exports.Entity = exports.decorateColumnSettings = exports.storableMember = exports.Field = exports.getValueList = exports.ValueListInfo = exports.ValueListFieldType = exports.isAutoIncrement = exports.Fields = exports.FieldType = exports.columnDefsImpl = exports.buildCaption = exports.CaptionTransformer = exports.getEntityRef = exports.FieldRefImplementation = exports.controllerRefImpl = exports.getControllerRef = exports.getFields = exports.rowHelperImplementation = exports.createOldEntity = exports.columnsOfType = exports.getEntityKey = exports.getEntitySettings = exports.entityInfo_key = exports.entityInfo = exports.__updateEntityBasedOnWhere = exports.RepositoryImplementation = void 0;
|
|
3
|
+
exports.getRepository = exports.getEntityMetadata = exports.ControllerBase = exports.EntityBase = exports.Entity = exports.decorateColumnSettings = exports.storableMember = exports.Field = exports.getValueList = exports.ValueListInfo = exports.ValueListFieldType = exports.isAutoIncrement = exports.Fields = exports.FieldType = exports.columnDefsImpl = exports.buildCaption = exports.CaptionTransformer = exports.getEntityRef = exports.FieldRefImplementation = exports.controllerRefImpl = exports.getControllerRef = exports.getFields = exports.rowHelperImplementation = exports.createOldEntity = exports.columnsOfType = exports.getEntityKey = exports.getEntitySettings = exports.entityInfo_key = exports.entityInfo = exports.__updateEntityBasedOnWhere = exports.RepositoryImplementation = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var column_1 = require("../column");
|
|
6
6
|
var context_1 = require("../context");
|
|
7
7
|
var filter_interfaces_1 = require("../filter/filter-interfaces");
|
|
8
8
|
var sort_1 = require("../sort");
|
|
9
9
|
var uuid_1 = require("uuid");
|
|
10
|
+
var cuid_1 = tslib_1.__importDefault(require("cuid"));
|
|
10
11
|
var valueConverters_1 = require("../valueConverters");
|
|
11
12
|
var filter_interfaces_2 = require("../filter/filter-interfaces");
|
|
12
13
|
var assign_1 = require("../../assign");
|
|
14
|
+
var remult_proxy_1 = require("../remult-proxy");
|
|
15
|
+
var getId_1 = require("./getId");
|
|
13
16
|
//import { remult } from "../remult-proxy";
|
|
14
17
|
var classValidatorValidate = undefined;
|
|
15
18
|
// import("class-validator".toString())
|
|
@@ -281,8 +284,10 @@ var RepositoryImplementation = /** @class */ (function () {
|
|
|
281
284
|
finally { if (e_5) throw e_5.error; }
|
|
282
285
|
}
|
|
283
286
|
var row_1 = new rowHelperImplementation(this._info, instance, this, this.edp, this.remult, false);
|
|
284
|
-
if (id)
|
|
287
|
+
if (id) {
|
|
285
288
|
row_1.id = id;
|
|
289
|
+
row_1.originalId = id;
|
|
290
|
+
}
|
|
286
291
|
else
|
|
287
292
|
row_1.id = row_1.getId();
|
|
288
293
|
ref = row_1;
|
|
@@ -319,6 +324,27 @@ var RepositoryImplementation = /** @class */ (function () {
|
|
|
319
324
|
});
|
|
320
325
|
});
|
|
321
326
|
};
|
|
327
|
+
RepositoryImplementation.prototype.liveQuery = function (options) {
|
|
328
|
+
var _this = this;
|
|
329
|
+
if (!options)
|
|
330
|
+
options = {};
|
|
331
|
+
return {
|
|
332
|
+
subscribe: function (l) {
|
|
333
|
+
var _a, _b;
|
|
334
|
+
var listener = l;
|
|
335
|
+
if (typeof l === "function") {
|
|
336
|
+
listener = {
|
|
337
|
+
next: l,
|
|
338
|
+
complete: function () { },
|
|
339
|
+
error: function () { }
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
(_a = listener.error) !== null && _a !== void 0 ? _a : (listener.error = function () { });
|
|
343
|
+
(_b = listener.complete) !== null && _b !== void 0 ? _b : (listener.complete = function () { });
|
|
344
|
+
return _this.remult.liveQuerySubscriber.subscribe(_this, options, listener);
|
|
345
|
+
}
|
|
346
|
+
};
|
|
347
|
+
};
|
|
322
348
|
RepositoryImplementation.prototype.find = function (options) {
|
|
323
349
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
324
350
|
function loadManyToOne(repo, toLoad) {
|
|
@@ -348,41 +374,32 @@ var RepositoryImplementation = /** @class */ (function () {
|
|
|
348
374
|
});
|
|
349
375
|
});
|
|
350
376
|
}
|
|
351
|
-
var opt,
|
|
352
|
-
var e_6,
|
|
377
|
+
var opt, rawRows, loadFields, _a, _b, col, ei, load, repo, toLoad, rawRows_1, rawRows_1_1, r, val, e_6_1, result;
|
|
378
|
+
var e_6, _c, e_7, _d;
|
|
353
379
|
var _this = this;
|
|
354
|
-
return tslib_1.__generator(this, function (
|
|
355
|
-
switch (
|
|
380
|
+
return tslib_1.__generator(this, function (_e) {
|
|
381
|
+
switch (_e.label) {
|
|
356
382
|
case 0:
|
|
357
383
|
context_1.Remult.onFind(this._info, options);
|
|
358
|
-
opt = {};
|
|
359
384
|
if (!options)
|
|
360
385
|
options = {};
|
|
361
|
-
|
|
362
|
-
if (!options.orderBy || Object.keys(options.orderBy).length === 0) {
|
|
363
|
-
options.orderBy = this._info.entityInfo.defaultOrderBy;
|
|
364
|
-
}
|
|
365
|
-
_a = opt;
|
|
366
|
-
return [4 /*yield*/, this.translateWhereToFilter(options.where)];
|
|
386
|
+
return [4 /*yield*/, this.buildEntityDataProviderFindOptions(options)];
|
|
367
387
|
case 1:
|
|
368
|
-
|
|
369
|
-
opt.orderBy = sort_1.Sort.translateOrderByToSort(this.metadata, options.orderBy);
|
|
370
|
-
opt.limit = options.limit;
|
|
371
|
-
opt.page = options.page;
|
|
388
|
+
opt = _e.sent();
|
|
372
389
|
return [4 /*yield*/, this.edp.find(opt)];
|
|
373
390
|
case 2:
|
|
374
|
-
rawRows =
|
|
391
|
+
rawRows = _e.sent();
|
|
375
392
|
loadFields = undefined;
|
|
376
393
|
if (options.load)
|
|
377
394
|
loadFields = options.load(this.metadata.fields);
|
|
378
|
-
|
|
395
|
+
_e.label = 3;
|
|
379
396
|
case 3:
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
397
|
+
_e.trys.push([3, 8, 9, 10]);
|
|
398
|
+
_a = tslib_1.__values(this.metadata.fields), _b = _a.next();
|
|
399
|
+
_e.label = 4;
|
|
383
400
|
case 4:
|
|
384
|
-
if (!!
|
|
385
|
-
col =
|
|
401
|
+
if (!!_b.done) return [3 /*break*/, 7];
|
|
402
|
+
col = _b.value;
|
|
386
403
|
ei = getEntitySettings(col.valueType, false);
|
|
387
404
|
if (!ei) return [3 /*break*/, 6];
|
|
388
405
|
load = !col.options.lazy;
|
|
@@ -403,26 +420,26 @@ var RepositoryImplementation = /** @class */ (function () {
|
|
|
403
420
|
catch (e_7_1) { e_7 = { error: e_7_1 }; }
|
|
404
421
|
finally {
|
|
405
422
|
try {
|
|
406
|
-
if (rawRows_1_1 && !rawRows_1_1.done && (
|
|
423
|
+
if (rawRows_1_1 && !rawRows_1_1.done && (_d = rawRows_1.return)) _d.call(rawRows_1);
|
|
407
424
|
}
|
|
408
425
|
finally { if (e_7) throw e_7.error; }
|
|
409
426
|
}
|
|
410
427
|
if (!(toLoad.length > 0)) return [3 /*break*/, 6];
|
|
411
428
|
return [4 /*yield*/, loadManyToOne(repo, toLoad)];
|
|
412
429
|
case 5:
|
|
413
|
-
|
|
414
|
-
|
|
430
|
+
_e.sent();
|
|
431
|
+
_e.label = 6;
|
|
415
432
|
case 6:
|
|
416
|
-
|
|
433
|
+
_b = _a.next();
|
|
417
434
|
return [3 /*break*/, 4];
|
|
418
435
|
case 7: return [3 /*break*/, 10];
|
|
419
436
|
case 8:
|
|
420
|
-
e_6_1 =
|
|
437
|
+
e_6_1 = _e.sent();
|
|
421
438
|
e_6 = { error: e_6_1 };
|
|
422
439
|
return [3 /*break*/, 10];
|
|
423
440
|
case 9:
|
|
424
441
|
try {
|
|
425
|
-
if (
|
|
442
|
+
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
426
443
|
}
|
|
427
444
|
finally { if (e_6) throw e_6.error; }
|
|
428
445
|
return [7 /*endfinally*/];
|
|
@@ -433,12 +450,35 @@ var RepositoryImplementation = /** @class */ (function () {
|
|
|
433
450
|
}
|
|
434
451
|
}); }); }))];
|
|
435
452
|
case 11:
|
|
436
|
-
result =
|
|
453
|
+
result = _e.sent();
|
|
437
454
|
return [2 /*return*/, result];
|
|
438
455
|
}
|
|
439
456
|
});
|
|
440
457
|
});
|
|
441
458
|
};
|
|
459
|
+
RepositoryImplementation.prototype.buildEntityDataProviderFindOptions = function (options) {
|
|
460
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
461
|
+
var opt, _a;
|
|
462
|
+
return tslib_1.__generator(this, function (_b) {
|
|
463
|
+
switch (_b.label) {
|
|
464
|
+
case 0:
|
|
465
|
+
opt = {};
|
|
466
|
+
opt = {};
|
|
467
|
+
if (!options.orderBy || Object.keys(options.orderBy).length === 0) {
|
|
468
|
+
options.orderBy = this._info.entityInfo.defaultOrderBy;
|
|
469
|
+
}
|
|
470
|
+
_a = opt;
|
|
471
|
+
return [4 /*yield*/, this.translateWhereToFilter(options.where)];
|
|
472
|
+
case 1:
|
|
473
|
+
_a.where = _b.sent();
|
|
474
|
+
opt.orderBy = sort_1.Sort.translateOrderByToSort(this.metadata, options.orderBy);
|
|
475
|
+
opt.limit = options.limit;
|
|
476
|
+
opt.page = options.page;
|
|
477
|
+
return [2 /*return*/, opt];
|
|
478
|
+
}
|
|
479
|
+
});
|
|
480
|
+
});
|
|
481
|
+
};
|
|
442
482
|
RepositoryImplementation.prototype.mapRawDataToResult = function (r, loadFields) {
|
|
443
483
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
444
484
|
var x, helper;
|
|
@@ -615,6 +655,7 @@ var RepositoryImplementation = /** @class */ (function () {
|
|
|
615
655
|
throw new Error("id can be either number or string, but got: " + typeof (id));
|
|
616
656
|
return this.findFirst({}, tslib_1.__assign(tslib_1.__assign({ useCache: true }, options), { where: this.metadata.idMetadata.getIdFilter(id) }));
|
|
617
657
|
};
|
|
658
|
+
/* @internal*/
|
|
618
659
|
RepositoryImplementation.prototype.translateWhereToFilter = function (where) {
|
|
619
660
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
620
661
|
var z, _a, r;
|
|
@@ -636,7 +677,7 @@ var RepositoryImplementation = /** @class */ (function () {
|
|
|
636
677
|
case 2: return [4 /*yield*/, filter_interfaces_1.Filter.fromEntityFilter(this.metadata, where)];
|
|
637
678
|
case 3:
|
|
638
679
|
r = _c.sent();
|
|
639
|
-
if (!(r && !this.dataProvider.
|
|
680
|
+
if (!(r && !this.dataProvider.supportsRawFilter)) return [3 /*break*/, 5];
|
|
640
681
|
return [4 /*yield*/, filter_interfaces_1.Filter.translateCustomWhere(r, this.metadata, this.remult)];
|
|
641
682
|
case 4:
|
|
642
683
|
r = _c.sent();
|
|
@@ -764,6 +805,12 @@ var rowHelperBase = /** @class */ (function () {
|
|
|
764
805
|
this._isLoading = false;
|
|
765
806
|
this.lookups = new Map();
|
|
766
807
|
this.originalValues = {};
|
|
808
|
+
{
|
|
809
|
+
var fac = remult;
|
|
810
|
+
if (fac != null && fac.remultFactory) {
|
|
811
|
+
remult = fac.remultFactory();
|
|
812
|
+
}
|
|
813
|
+
}
|
|
767
814
|
var _loop_3 = function (col) {
|
|
768
815
|
var ei = getEntitySettings(col.valueType, false);
|
|
769
816
|
if (ei && remult) {
|
|
@@ -1021,6 +1068,9 @@ var rowHelperBase = /** @class */ (function () {
|
|
|
1021
1068
|
};
|
|
1022
1069
|
rowHelperBase.prototype.saveOriginalData = function () {
|
|
1023
1070
|
this.originalValues = this.copyDataToObject();
|
|
1071
|
+
this.saveMoreOriginalData();
|
|
1072
|
+
};
|
|
1073
|
+
rowHelperBase.prototype.saveMoreOriginalData = function () {
|
|
1024
1074
|
};
|
|
1025
1075
|
rowHelperBase.prototype.validate = function () {
|
|
1026
1076
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
@@ -1200,10 +1250,10 @@ var rowHelperImplementation = /** @class */ (function (_super) {
|
|
|
1200
1250
|
configurable: true
|
|
1201
1251
|
});
|
|
1202
1252
|
rowHelperImplementation.prototype.getId = function () {
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1253
|
+
return getId_1.getId(this.info, this.instance);
|
|
1254
|
+
};
|
|
1255
|
+
rowHelperImplementation.prototype.saveMoreOriginalData = function () {
|
|
1256
|
+
this.originalId = this.getId();
|
|
1207
1257
|
};
|
|
1208
1258
|
rowHelperImplementation.prototype.wasDeleted = function () {
|
|
1209
1259
|
var _a;
|
|
@@ -1277,7 +1327,7 @@ var rowHelperImplementation = /** @class */ (function (_super) {
|
|
|
1277
1327
|
return tslib_1.__generator(this, function (_h) {
|
|
1278
1328
|
switch (_h.label) {
|
|
1279
1329
|
case 0:
|
|
1280
|
-
_h.trys.push([0, ,
|
|
1330
|
+
_h.trys.push([0, , 26, 27]);
|
|
1281
1331
|
if (this._saving)
|
|
1282
1332
|
throw new Error("cannot save while entity is already saving");
|
|
1283
1333
|
this._saving = true;
|
|
@@ -1348,7 +1398,7 @@ var rowHelperImplementation = /** @class */ (function (_super) {
|
|
|
1348
1398
|
updatedRow = void 0;
|
|
1349
1399
|
_h.label = 12;
|
|
1350
1400
|
case 12:
|
|
1351
|
-
_h.trys.push([12,
|
|
1401
|
+
_h.trys.push([12, 23, , 25]);
|
|
1352
1402
|
(_a = this._subscribers) === null || _a === void 0 ? void 0 : _a.reportChanged();
|
|
1353
1403
|
if (!this.isNew()) return [3 /*break*/, 14];
|
|
1354
1404
|
return [4 /*yield*/, this.edp.insert(d)];
|
|
@@ -1386,23 +1436,25 @@ var rowHelperImplementation = /** @class */ (function (_super) {
|
|
|
1386
1436
|
case 20:
|
|
1387
1437
|
_h.sent();
|
|
1388
1438
|
_h.label = 21;
|
|
1389
|
-
case 21:
|
|
1439
|
+
case 21: return [4 /*yield*/, this.repository.remult.liveQueryPublisher.itemChanged(this.repository.metadata.key, [{ id: this.getId(), oldId: this.getOriginalId(), deleted: false }])];
|
|
1440
|
+
case 22:
|
|
1441
|
+
_h.sent();
|
|
1390
1442
|
this.saveOriginalData();
|
|
1391
1443
|
this._isNew = false;
|
|
1392
1444
|
return [2 /*return*/, this.instance];
|
|
1393
|
-
case
|
|
1445
|
+
case 23:
|
|
1394
1446
|
err_1 = _h.sent();
|
|
1395
1447
|
return [4 /*yield*/, this.catchSaveErrors(err_1)];
|
|
1396
|
-
case
|
|
1448
|
+
case 24:
|
|
1397
1449
|
_h.sent();
|
|
1398
|
-
return [3 /*break*/,
|
|
1399
|
-
case
|
|
1400
|
-
case
|
|
1450
|
+
return [3 /*break*/, 25];
|
|
1451
|
+
case 25: return [3 /*break*/, 27];
|
|
1452
|
+
case 26:
|
|
1401
1453
|
this.isLoading = false;
|
|
1402
1454
|
this._reportChangedToEntityAndFields();
|
|
1403
1455
|
this._saving = false;
|
|
1404
1456
|
return [7 /*endfinally*/];
|
|
1405
|
-
case
|
|
1457
|
+
case 27: return [2 /*return*/];
|
|
1406
1458
|
}
|
|
1407
1459
|
});
|
|
1408
1460
|
});
|
|
@@ -1427,7 +1479,7 @@ var rowHelperImplementation = /** @class */ (function (_super) {
|
|
|
1427
1479
|
this.__assertValidity();
|
|
1428
1480
|
_d.label = 3;
|
|
1429
1481
|
case 3:
|
|
1430
|
-
_d.trys.push([3,
|
|
1482
|
+
_d.trys.push([3, 16, , 18]);
|
|
1431
1483
|
return [4 /*yield*/, this.edp.delete(this.id)];
|
|
1432
1484
|
case 4:
|
|
1433
1485
|
_d.sent();
|
|
@@ -1464,16 +1516,18 @@ var rowHelperImplementation = /** @class */ (function (_super) {
|
|
|
1464
1516
|
}
|
|
1465
1517
|
finally { if (e_23) throw e_23.error; }
|
|
1466
1518
|
return [7 /*endfinally*/];
|
|
1467
|
-
case 14:
|
|
1468
|
-
this._wasDeleted = true;
|
|
1469
|
-
return [3 /*break*/, 17];
|
|
1519
|
+
case 14: return [4 /*yield*/, this.repository.remult.liveQueryPublisher.itemChanged(this.repository.metadata.key, [{ id: this.getId(), oldId: this.getOriginalId(), deleted: true }])];
|
|
1470
1520
|
case 15:
|
|
1521
|
+
_d.sent();
|
|
1522
|
+
this._wasDeleted = true;
|
|
1523
|
+
return [3 /*break*/, 18];
|
|
1524
|
+
case 16:
|
|
1471
1525
|
err_2 = _d.sent();
|
|
1472
1526
|
return [4 /*yield*/, this.catchSaveErrors(err_2)];
|
|
1473
|
-
case
|
|
1527
|
+
case 17:
|
|
1474
1528
|
_d.sent();
|
|
1475
|
-
return [3 /*break*/,
|
|
1476
|
-
case
|
|
1529
|
+
return [3 /*break*/, 18];
|
|
1530
|
+
case 18: return [2 /*return*/];
|
|
1477
1531
|
}
|
|
1478
1532
|
});
|
|
1479
1533
|
});
|
|
@@ -1528,18 +1582,14 @@ var rowHelperImplementation = /** @class */ (function (_super) {
|
|
|
1528
1582
|
case 12: return [4 /*yield*/, this.calcServerExpression()];
|
|
1529
1583
|
case 13:
|
|
1530
1584
|
_d.sent();
|
|
1531
|
-
|
|
1532
|
-
this.id = this.repository.metadata.idMetadata.field.getId(this.instance);
|
|
1533
|
-
}
|
|
1534
|
-
else
|
|
1535
|
-
this.id = data[this.repository.metadata.idMetadata.field.key];
|
|
1585
|
+
this.id = getId_1.getId(this.info, this.instance);
|
|
1536
1586
|
return [2 /*return*/];
|
|
1537
1587
|
}
|
|
1538
1588
|
});
|
|
1539
1589
|
});
|
|
1540
1590
|
};
|
|
1541
1591
|
rowHelperImplementation.prototype.getOriginalId = function () {
|
|
1542
|
-
return this.
|
|
1592
|
+
return this.originalId;
|
|
1543
1593
|
};
|
|
1544
1594
|
rowHelperImplementation.prototype.calcServerExpression = function () {
|
|
1545
1595
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
@@ -1692,7 +1742,7 @@ function getFields(container, remult) {
|
|
|
1692
1742
|
}
|
|
1693
1743
|
exports.getFields = getFields;
|
|
1694
1744
|
function getControllerRef(container, remultArg) {
|
|
1695
|
-
var remultVar = remultArg ||
|
|
1745
|
+
var remultVar = remultArg || remult_proxy_1.remult;
|
|
1696
1746
|
var result = container[controllerColumns];
|
|
1697
1747
|
if (!result)
|
|
1698
1748
|
result = container[entityMember];
|
|
@@ -2052,26 +2102,32 @@ var columnDefsImpl = /** @class */ (function () {
|
|
|
2052
2102
|
this.caption = buildCaption(settings.caption, settings.key, remult);
|
|
2053
2103
|
}
|
|
2054
2104
|
columnDefsImpl.prototype.getDbName = function () {
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
return this.dbNamePromise;
|
|
2058
|
-
this.dbNamePromise = (function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
2105
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
2106
|
+
var result;
|
|
2059
2107
|
return tslib_1.__generator(this, function (_a) {
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
return [
|
|
2108
|
+
switch (_a.label) {
|
|
2109
|
+
case 0:
|
|
2110
|
+
_a.trys.push([0, , 5, 6]);
|
|
2111
|
+
if (!this.settings.sqlExpression) return [3 /*break*/, 4];
|
|
2112
|
+
result = void 0;
|
|
2113
|
+
if (!(typeof this.settings.sqlExpression === "function")) return [3 /*break*/, 2];
|
|
2114
|
+
return [4 /*yield*/, this.settings.sqlExpression(this.entityDefs)];
|
|
2115
|
+
case 1:
|
|
2116
|
+
result = _a.sent();
|
|
2117
|
+
return [3 /*break*/, 3];
|
|
2118
|
+
case 2:
|
|
2119
|
+
result = this.settings.sqlExpression;
|
|
2120
|
+
_a.label = 3;
|
|
2121
|
+
case 3:
|
|
2122
|
+
if (!result)
|
|
2123
|
+
return [2 /*return*/, this.settings.dbName];
|
|
2124
|
+
return [2 /*return*/, result];
|
|
2125
|
+
case 4: return [2 /*return*/, this.settings.dbName];
|
|
2126
|
+
case 5: return [7 /*endfinally*/];
|
|
2127
|
+
case 6: return [2 /*return*/];
|
|
2066
2128
|
}
|
|
2067
|
-
return [2 /*return*/, this.settings.dbName];
|
|
2068
2129
|
});
|
|
2069
|
-
}); })().then(function (x) {
|
|
2070
|
-
if (x)
|
|
2071
|
-
return x;
|
|
2072
|
-
return _this.settings.dbName;
|
|
2073
2130
|
});
|
|
2074
|
-
return this.dbNamePromise;
|
|
2075
2131
|
};
|
|
2076
2132
|
Object.defineProperty(columnDefsImpl.prototype, "dbName", {
|
|
2077
2133
|
get: function () {
|
|
@@ -2230,7 +2286,7 @@ var EntityFullInfo = /** @class */ (function () {
|
|
|
2230
2286
|
if (typeof this.options.sqlExpression === "string")
|
|
2231
2287
|
this.dbNamePromise = Promise.resolve(this.options.sqlExpression);
|
|
2232
2288
|
else if (typeof this.options.sqlExpression === "function") {
|
|
2233
|
-
var r = this.options.sqlExpression(this
|
|
2289
|
+
var r = this.options.sqlExpression(this);
|
|
2234
2290
|
if (r instanceof Promise)
|
|
2235
2291
|
this.dbNamePromise = r;
|
|
2236
2292
|
else if (r)
|
|
@@ -2313,6 +2369,29 @@ var Fields = /** @class */ (function () {
|
|
|
2313
2369
|
}
|
|
2314
2370
|
return Field.apply(void 0, tslib_1.__spread([function () { return Number; }], options));
|
|
2315
2371
|
};
|
|
2372
|
+
Fields.createdAt = function () {
|
|
2373
|
+
var options = [];
|
|
2374
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
2375
|
+
options[_i] = arguments[_i];
|
|
2376
|
+
}
|
|
2377
|
+
return Field.apply(void 0, tslib_1.__spread([function () { return Date; }, {
|
|
2378
|
+
saving: function (_, ref) {
|
|
2379
|
+
if (getEntityRef(_).isNew())
|
|
2380
|
+
ref.value = new Date();
|
|
2381
|
+
}
|
|
2382
|
+
}], options));
|
|
2383
|
+
};
|
|
2384
|
+
Fields.updatedAt = function () {
|
|
2385
|
+
var options = [];
|
|
2386
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
2387
|
+
options[_i] = arguments[_i];
|
|
2388
|
+
}
|
|
2389
|
+
return Field.apply(void 0, tslib_1.__spread([function () { return Date; }, {
|
|
2390
|
+
saving: function (_, ref) {
|
|
2391
|
+
ref.value = new Date();
|
|
2392
|
+
}
|
|
2393
|
+
}], options));
|
|
2394
|
+
};
|
|
2316
2395
|
Fields.uuid = function () {
|
|
2317
2396
|
var options = [];
|
|
2318
2397
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
@@ -2320,7 +2399,25 @@ var Fields = /** @class */ (function () {
|
|
|
2320
2399
|
}
|
|
2321
2400
|
return Field.apply(void 0, tslib_1.__spread([function () { return String; }, {
|
|
2322
2401
|
allowApiUpdate: false,
|
|
2323
|
-
defaultValue: function () { return uuid_1.v4(); }
|
|
2402
|
+
defaultValue: function () { return uuid_1.v4(); },
|
|
2403
|
+
saving: function (_, r) {
|
|
2404
|
+
if (!r.value)
|
|
2405
|
+
r.value = uuid_1.v4();
|
|
2406
|
+
}
|
|
2407
|
+
}], options));
|
|
2408
|
+
};
|
|
2409
|
+
Fields.cuid = function () {
|
|
2410
|
+
var options = [];
|
|
2411
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
2412
|
+
options[_i] = arguments[_i];
|
|
2413
|
+
}
|
|
2414
|
+
return Field.apply(void 0, tslib_1.__spread([function () { return String; }, {
|
|
2415
|
+
allowApiUpdate: false,
|
|
2416
|
+
defaultValue: function () { return cuid_1.default(); },
|
|
2417
|
+
saving: function (_, r) {
|
|
2418
|
+
if (!r.value)
|
|
2419
|
+
r.value = cuid_1.default();
|
|
2420
|
+
}
|
|
2324
2421
|
}], options));
|
|
2325
2422
|
};
|
|
2326
2423
|
Fields.string = function () {
|
|
@@ -2353,7 +2450,7 @@ function ValueListFieldType() {
|
|
|
2353
2450
|
return function (type) {
|
|
2354
2451
|
FieldType.apply(void 0, tslib_1.__spread([function (o) {
|
|
2355
2452
|
o.valueConverter = ValueListInfo.get(type),
|
|
2356
|
-
o.displayValue = function (item, val) { return val.caption; };
|
|
2453
|
+
o.displayValue = function (item, val) { return val === null || val === void 0 ? void 0 : val.caption; };
|
|
2357
2454
|
}], options))(type);
|
|
2358
2455
|
};
|
|
2359
2456
|
}
|
|
@@ -2649,12 +2746,12 @@ function Entity(key) {
|
|
|
2649
2746
|
}
|
|
2650
2747
|
return function (target) {
|
|
2651
2748
|
var _a;
|
|
2652
|
-
for (var
|
|
2653
|
-
if (Object.prototype.hasOwnProperty.call(target,
|
|
2654
|
-
var element = target[
|
|
2655
|
-
if ((_a = element === null || element === void 0 ? void 0 : element.
|
|
2656
|
-
if (!element.
|
|
2657
|
-
element.
|
|
2749
|
+
for (var rawFilterMember in target) {
|
|
2750
|
+
if (Object.prototype.hasOwnProperty.call(target, rawFilterMember)) {
|
|
2751
|
+
var element = target[rawFilterMember];
|
|
2752
|
+
if ((_a = element === null || element === void 0 ? void 0 : element.rawFilterInfo) === null || _a === void 0 ? void 0 : _a.rawFilterTranslator) {
|
|
2753
|
+
if (!element.rawFilterInfo.key)
|
|
2754
|
+
element.rawFilterInfo.key = rawFilterMember;
|
|
2658
2755
|
}
|
|
2659
2756
|
}
|
|
2660
2757
|
}
|
|
@@ -2724,7 +2821,7 @@ var EntityBase = /** @class */ (function () {
|
|
|
2724
2821
|
exports.EntityBase = EntityBase;
|
|
2725
2822
|
var ControllerBase = /** @class */ (function () {
|
|
2726
2823
|
function ControllerBase(remult) {
|
|
2727
|
-
this.remult = remult ||
|
|
2824
|
+
this.remult = remult || remult_proxy_1.remult;
|
|
2728
2825
|
}
|
|
2729
2826
|
ControllerBase.prototype.assign = function (values) {
|
|
2730
2827
|
assign_1.assign(this, values);
|
|
@@ -2968,3 +3065,21 @@ var SubscribableImp = /** @class */ (function () {
|
|
|
2968
3065
|
};
|
|
2969
3066
|
return SubscribableImp;
|
|
2970
3067
|
}());
|
|
3068
|
+
function getEntityMetadata(entity) {
|
|
3069
|
+
if (entity.metadata)
|
|
3070
|
+
return entity.metadata;
|
|
3071
|
+
var settings = getEntitySettings(entity, false);
|
|
3072
|
+
if (settings) {
|
|
3073
|
+
return remult_proxy_1.RemultProxy.defaultRemult.repo(entity).metadata;
|
|
3074
|
+
}
|
|
3075
|
+
return entity;
|
|
3076
|
+
}
|
|
3077
|
+
exports.getEntityMetadata = getEntityMetadata;
|
|
3078
|
+
function getRepository(entity) {
|
|
3079
|
+
var settings = getEntitySettings(entity, false);
|
|
3080
|
+
if (settings) {
|
|
3081
|
+
return remult_proxy_1.RemultProxy.defaultRemult.repo(entity);
|
|
3082
|
+
}
|
|
3083
|
+
return entity;
|
|
3084
|
+
}
|
|
3085
|
+
exports.getRepository = getRepository;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getId = void 0;
|
|
4
|
+
var column_1 = require("../column");
|
|
5
|
+
function getId(meta, instance) {
|
|
6
|
+
if (meta.idMetadata.field instanceof column_1.CompoundIdField)
|
|
7
|
+
return meta.idMetadata.field.getId(instance);
|
|
8
|
+
else
|
|
9
|
+
return instance[meta.idMetadata.field.key];
|
|
10
|
+
}
|
|
11
|
+
exports.getId = getId;
|