@spinajs/orm 2.0.481 → 2.0.484
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/README.md +72 -3
- package/lib/cjs/bootstrap.js +10 -0
- package/lib/cjs/bootstrap.js.map +1 -1
- package/lib/cjs/builders.d.ts +127 -11
- package/lib/cjs/builders.d.ts.map +1 -1
- package/lib/cjs/builders.js +368 -283
- package/lib/cjs/builders.js.map +1 -1
- package/lib/cjs/converters.d.ts +9 -2
- package/lib/cjs/converters.d.ts.map +1 -1
- package/lib/cjs/converters.js +48 -8
- package/lib/cjs/converters.js.map +1 -1
- package/lib/cjs/decorators.d.ts +26 -3
- package/lib/cjs/decorators.d.ts.map +1 -1
- package/lib/cjs/decorators.js +95 -42
- package/lib/cjs/decorators.js.map +1 -1
- package/lib/cjs/dehydrators.js +1 -1
- package/lib/cjs/dehydrators.js.map +1 -1
- package/lib/cjs/descriptor.d.ts +1 -0
- package/lib/cjs/descriptor.d.ts.map +1 -1
- package/lib/cjs/descriptor.js +16 -40
- package/lib/cjs/descriptor.js.map +1 -1
- package/lib/cjs/driver.d.ts +136 -7
- package/lib/cjs/driver.d.ts.map +1 -1
- package/lib/cjs/driver.js +279 -0
- package/lib/cjs/driver.js.map +1 -1
- package/lib/cjs/existsRelationHandlers.d.ts +29 -0
- package/lib/cjs/existsRelationHandlers.d.ts.map +1 -0
- package/lib/cjs/existsRelationHandlers.js +138 -0
- package/lib/cjs/existsRelationHandlers.js.map +1 -0
- package/lib/cjs/fp.d.ts.map +1 -1
- package/lib/cjs/fp.js +10 -15
- package/lib/cjs/fp.js.map +1 -1
- package/lib/cjs/hydrators.d.ts.map +1 -1
- package/lib/cjs/hydrators.js +29 -2
- package/lib/cjs/hydrators.js.map +1 -1
- package/lib/cjs/identity-map.d.ts +60 -0
- package/lib/cjs/identity-map.d.ts.map +1 -0
- package/lib/cjs/identity-map.js +135 -0
- package/lib/cjs/identity-map.js.map +1 -0
- package/lib/cjs/index.d.ts +12 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +12 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interfaces.d.ts +300 -10
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/interfaces.js +54 -1
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/cjs/metadata.d.ts.map +1 -1
- package/lib/cjs/metadata.js +4 -1
- package/lib/cjs/metadata.js.map +1 -1
- package/lib/cjs/metrics.d.ts +53 -0
- package/lib/cjs/metrics.d.ts.map +1 -0
- package/lib/cjs/metrics.js +82 -0
- package/lib/cjs/metrics.js.map +1 -0
- package/lib/cjs/middlewares.d.ts +13 -1
- package/lib/cjs/middlewares.d.ts.map +1 -1
- package/lib/cjs/middlewares.js +55 -15
- package/lib/cjs/middlewares.js.map +1 -1
- package/lib/cjs/model.d.ts +129 -13
- package/lib/cjs/model.d.ts.map +1 -1
- package/lib/cjs/model.js +449 -93
- package/lib/cjs/model.js.map +1 -1
- package/lib/cjs/orm.d.ts.map +1 -1
- package/lib/cjs/orm.js +12 -3
- package/lib/cjs/orm.js.map +1 -1
- package/lib/cjs/orphan.d.ts +27 -0
- package/lib/cjs/orphan.d.ts.map +1 -0
- package/lib/cjs/orphan.js +55 -0
- package/lib/cjs/orphan.js.map +1 -0
- package/lib/cjs/primary-keys.d.ts +60 -0
- package/lib/cjs/primary-keys.d.ts.map +1 -0
- package/lib/cjs/primary-keys.js +243 -0
- package/lib/cjs/primary-keys.js.map +1 -0
- package/lib/cjs/relation-objects.d.ts +101 -9
- package/lib/cjs/relation-objects.d.ts.map +1 -1
- package/lib/cjs/relation-objects.js +194 -43
- package/lib/cjs/relation-objects.js.map +1 -1
- package/lib/cjs/relations.d.ts +7 -1
- package/lib/cjs/relations.d.ts.map +1 -1
- package/lib/cjs/relations.js +16 -1
- package/lib/cjs/relations.js.map +1 -1
- package/lib/cjs/resilience.d.ts +50 -0
- package/lib/cjs/resilience.d.ts.map +1 -0
- package/lib/cjs/resilience.js +70 -0
- package/lib/cjs/resilience.js.map +1 -0
- package/lib/cjs/snapshot.d.ts +58 -0
- package/lib/cjs/snapshot.d.ts.map +1 -0
- package/lib/cjs/snapshot.js +125 -0
- package/lib/cjs/snapshot.js.map +1 -0
- package/lib/cjs/statements.d.ts +11 -1
- package/lib/cjs/statements.d.ts.map +1 -1
- package/lib/cjs/statements.js +13 -2
- package/lib/cjs/statements.js.map +1 -1
- package/lib/cjs/subject-builder.d.ts +79 -0
- package/lib/cjs/subject-builder.d.ts.map +1 -0
- package/lib/cjs/subject-builder.js +296 -0
- package/lib/cjs/subject-builder.js.map +1 -0
- package/lib/cjs/subject-executor.d.ts +122 -0
- package/lib/cjs/subject-executor.d.ts.map +1 -0
- package/lib/cjs/subject-executor.js +319 -0
- package/lib/cjs/subject-executor.js.map +1 -0
- package/lib/cjs/subject-sorter.d.ts +70 -0
- package/lib/cjs/subject-sorter.d.ts.map +1 -0
- package/lib/cjs/subject-sorter.js +173 -0
- package/lib/cjs/subject-sorter.js.map +1 -0
- package/lib/cjs/subject.d.ts +100 -0
- package/lib/cjs/subject.d.ts.map +1 -0
- package/lib/cjs/subject.js +89 -0
- package/lib/cjs/subject.js.map +1 -0
- package/lib/cjs/unit-of-work.d.ts +52 -0
- package/lib/cjs/unit-of-work.d.ts.map +1 -0
- package/lib/cjs/unit-of-work.js +170 -0
- package/lib/cjs/unit-of-work.js.map +1 -0
- package/lib/mjs/bootstrap.js +10 -0
- package/lib/mjs/bootstrap.js.map +1 -1
- package/lib/mjs/builders.d.ts +127 -11
- package/lib/mjs/builders.d.ts.map +1 -1
- package/lib/mjs/builders.js +370 -285
- package/lib/mjs/builders.js.map +1 -1
- package/lib/mjs/converters.d.ts +9 -2
- package/lib/mjs/converters.d.ts.map +1 -1
- package/lib/mjs/converters.js +48 -8
- package/lib/mjs/converters.js.map +1 -1
- package/lib/mjs/decorators.d.ts +26 -3
- package/lib/mjs/decorators.d.ts.map +1 -1
- package/lib/mjs/decorators.js +96 -44
- package/lib/mjs/decorators.js.map +1 -1
- package/lib/mjs/dehydrators.js +1 -1
- package/lib/mjs/dehydrators.js.map +1 -1
- package/lib/mjs/descriptor.d.ts +1 -0
- package/lib/mjs/descriptor.d.ts.map +1 -1
- package/lib/mjs/descriptor.js +17 -39
- package/lib/mjs/descriptor.js.map +1 -1
- package/lib/mjs/driver.d.ts +136 -7
- package/lib/mjs/driver.d.ts.map +1 -1
- package/lib/mjs/driver.js +279 -0
- package/lib/mjs/driver.js.map +1 -1
- package/lib/mjs/existsRelationHandlers.d.ts +29 -0
- package/lib/mjs/existsRelationHandlers.d.ts.map +1 -0
- package/lib/mjs/existsRelationHandlers.js +134 -0
- package/lib/mjs/existsRelationHandlers.js.map +1 -0
- package/lib/mjs/fp.d.ts.map +1 -1
- package/lib/mjs/fp.js +10 -15
- package/lib/mjs/fp.js.map +1 -1
- package/lib/mjs/hydrators.d.ts.map +1 -1
- package/lib/mjs/hydrators.js +29 -2
- package/lib/mjs/hydrators.js.map +1 -1
- package/lib/mjs/identity-map.d.ts +60 -0
- package/lib/mjs/identity-map.d.ts.map +1 -0
- package/lib/mjs/identity-map.js +130 -0
- package/lib/mjs/identity-map.js.map +1 -0
- package/lib/mjs/index.d.ts +12 -0
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +12 -0
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +300 -10
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/interfaces.js +53 -0
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/mjs/metadata.d.ts.map +1 -1
- package/lib/mjs/metadata.js +4 -1
- package/lib/mjs/metadata.js.map +1 -1
- package/lib/mjs/metrics.d.ts +53 -0
- package/lib/mjs/metrics.d.ts.map +1 -0
- package/lib/mjs/metrics.js +76 -0
- package/lib/mjs/metrics.js.map +1 -0
- package/lib/mjs/middlewares.d.ts +13 -1
- package/lib/mjs/middlewares.d.ts.map +1 -1
- package/lib/mjs/middlewares.js +55 -15
- package/lib/mjs/middlewares.js.map +1 -1
- package/lib/mjs/model.d.ts +129 -13
- package/lib/mjs/model.d.ts.map +1 -1
- package/lib/mjs/model.js +451 -95
- package/lib/mjs/model.js.map +1 -1
- package/lib/mjs/orm.d.ts.map +1 -1
- package/lib/mjs/orm.js +12 -3
- package/lib/mjs/orm.js.map +1 -1
- package/lib/mjs/orphan.d.ts +27 -0
- package/lib/mjs/orphan.d.ts.map +1 -0
- package/lib/mjs/orphan.js +52 -0
- package/lib/mjs/orphan.js.map +1 -0
- package/lib/mjs/primary-keys.d.ts +60 -0
- package/lib/mjs/primary-keys.d.ts.map +1 -0
- package/lib/mjs/primary-keys.js +223 -0
- package/lib/mjs/primary-keys.js.map +1 -0
- package/lib/mjs/relation-objects.d.ts +101 -9
- package/lib/mjs/relation-objects.d.ts.map +1 -1
- package/lib/mjs/relation-objects.js +194 -43
- package/lib/mjs/relation-objects.js.map +1 -1
- package/lib/mjs/relations.d.ts +7 -1
- package/lib/mjs/relations.d.ts.map +1 -1
- package/lib/mjs/relations.js +16 -1
- package/lib/mjs/relations.js.map +1 -1
- package/lib/mjs/resilience.d.ts +50 -0
- package/lib/mjs/resilience.d.ts.map +1 -0
- package/lib/mjs/resilience.js +64 -0
- package/lib/mjs/resilience.js.map +1 -0
- package/lib/mjs/snapshot.d.ts +58 -0
- package/lib/mjs/snapshot.d.ts.map +1 -0
- package/lib/mjs/snapshot.js +115 -0
- package/lib/mjs/snapshot.js.map +1 -0
- package/lib/mjs/statements.d.ts +11 -1
- package/lib/mjs/statements.d.ts.map +1 -1
- package/lib/mjs/statements.js +14 -3
- package/lib/mjs/statements.js.map +1 -1
- package/lib/mjs/subject-builder.d.ts +79 -0
- package/lib/mjs/subject-builder.d.ts.map +1 -0
- package/lib/mjs/subject-builder.js +292 -0
- package/lib/mjs/subject-builder.js.map +1 -0
- package/lib/mjs/subject-executor.d.ts +122 -0
- package/lib/mjs/subject-executor.d.ts.map +1 -0
- package/lib/mjs/subject-executor.js +312 -0
- package/lib/mjs/subject-executor.js.map +1 -0
- package/lib/mjs/subject-sorter.d.ts +70 -0
- package/lib/mjs/subject-sorter.d.ts.map +1 -0
- package/lib/mjs/subject-sorter.js +168 -0
- package/lib/mjs/subject-sorter.js.map +1 -0
- package/lib/mjs/subject.d.ts +100 -0
- package/lib/mjs/subject.d.ts.map +1 -0
- package/lib/mjs/subject.js +84 -0
- package/lib/mjs/subject.js.map +1 -0
- package/lib/mjs/unit-of-work.d.ts +52 -0
- package/lib/mjs/unit-of-work.d.ts.map +1 -0
- package/lib/mjs/unit-of-work.js +166 -0
- package/lib/mjs/unit-of-work.js.map +1 -0
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +10 -7
package/lib/cjs/interfaces.js
CHANGED
|
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.ObjectToSqlConverter = exports.ModelToSqlConverter = exports.QueryScope = exports.TableAliasCompiler = exports.SetValueConverter = exports.BooleanValueConverter = exports.TimeValueConverter = exports.DatetimeValueConverter = exports.ValueConverter = exports.ModelMiddleware = exports.QueryMiddleware = exports.RawSchemaQueryCompiler = exports.GroupByQueryCompiler = exports.OrderByQueryCompiler = exports.AlterColumnQueryCompiler = exports.ColumnQueryCompiler = exports.DropViewCompiler = exports.DropTableCompiler = exports.TableExistsCompiler = exports.AlterTableQueryCompiler = exports.DropEventQueryCompiler = exports.EventQueryCompiler = exports.TableCloneQueryCompiler = exports.TruncateTableQueryCompiler = exports.TableHistoryQueryCompiler = exports.TableQueryCompiler = exports.OnDuplicateQueryCompiler = exports.InsertQueryCompiler = exports.UpdateQueryCompiler = exports.DeleteQueryCompiler = exports.ForeignKeyQueryCompiler = exports.LimitQueryCompiler = exports.IndexQueryCompiler = exports.JoinQueryCompiler = exports.SelectQueryCompiler = exports.RecursiveQueryCompiler = exports.OrmMigration = exports.RelationType = exports.MigrationTransactionMode = exports.ReferentialAction = exports.InsertBehaviour = exports.DefaultValueBuilder = exports.ServerResponseMapper = exports.ColumnAlterationType = exports.QueryContext = void 0;
|
|
9
|
+
exports.ObjectToSqlConverter = exports.ModelToSqlConverter = exports.QueryScope = exports.TableAliasCompiler = exports.SetValueConverter = exports.BooleanValueConverter = exports.TimeValueConverter = exports.DatetimeValueConverter = exports.ValueConverter = exports.ModelMiddleware = exports.QueryMiddleware = exports.RawSchemaQueryCompiler = exports.GroupByQueryCompiler = exports.OrderByQueryCompiler = exports.AlterColumnQueryCompiler = exports.ColumnQueryCompiler = exports.DropViewCompiler = exports.DropTableCompiler = exports.TableExistsCompiler = exports.AlterTableQueryCompiler = exports.DropEventQueryCompiler = exports.EventQueryCompiler = exports.TableCloneQueryCompiler = exports.TruncateTableQueryCompiler = exports.TableHistoryQueryCompiler = exports.TableQueryCompiler = exports.OnDuplicateQueryCompiler = exports.InsertQueryCompiler = exports.UpdateQueryCompiler = exports.DeleteQueryCompiler = exports.ForeignKeyQueryCompiler = exports.LimitQueryCompiler = exports.IndexQueryCompiler = exports.JoinQueryCompiler = exports.SelectQueryCompiler = exports.RecursiveQueryCompiler = exports.OrmMigration = exports.OrphanPolicy = exports.RelationType = exports.MigrationTransactionMode = exports.ReferentialAction = exports.InsertBehaviour = exports.DefaultValueBuilder = exports.ServerResponseMapper = exports.ColumnAlterationType = exports.QueryContext = void 0;
|
|
10
10
|
const di_1 = require("@spinajs/di");
|
|
11
11
|
const exceptions_1 = require("@spinajs/exceptions");
|
|
12
12
|
var QueryContext;
|
|
@@ -19,6 +19,8 @@ var QueryContext;
|
|
|
19
19
|
QueryContext[QueryContext["Transaction"] = 5] = "Transaction";
|
|
20
20
|
// Insert or UPDATE
|
|
21
21
|
QueryContext[QueryContext["Upsert"] = 6] = "Upsert";
|
|
22
|
+
/** INSERT that carries a RETURNING clause and therefore resolves with rows, not a status packet. */
|
|
23
|
+
QueryContext[QueryContext["InsertReturning"] = 7] = "InsertReturning";
|
|
22
24
|
})(QueryContext || (exports.QueryContext = QueryContext = {}));
|
|
23
25
|
var ColumnAlterationType;
|
|
24
26
|
(function (ColumnAlterationType) {
|
|
@@ -26,7 +28,25 @@ var ColumnAlterationType;
|
|
|
26
28
|
ColumnAlterationType[ColumnAlterationType["Modify"] = 1] = "Modify";
|
|
27
29
|
ColumnAlterationType[ColumnAlterationType["Rename"] = 2] = "Rename";
|
|
28
30
|
})(ColumnAlterationType || (exports.ColumnAlterationType = ColumnAlterationType = {}));
|
|
31
|
+
/**
|
|
32
|
+
* Normalizes a driver's raw insert response into {@link DbServerResponse}.
|
|
33
|
+
*
|
|
34
|
+
* Every driver MUST register an implementation against this token in its container — the
|
|
35
|
+
* shape of an insert response is dialect-specific and there is no meaningful default.
|
|
36
|
+
* Declared as a concrete class that throws rather than as an abstract method, so a container
|
|
37
|
+
* missing the registration reports which contract was not implemented instead of dying with
|
|
38
|
+
* `read is not a function` several frames deep inside a result middleware.
|
|
39
|
+
*/
|
|
29
40
|
class ServerResponseMapper {
|
|
41
|
+
/**
|
|
42
|
+
* Normalizes a driver's raw insert response.
|
|
43
|
+
*
|
|
44
|
+
* @param response - whatever the driver's executeOnDb resolved with
|
|
45
|
+
* @param pkNames - primary key column names, used to read a key out of RETURNING rows
|
|
46
|
+
*/
|
|
47
|
+
read(_response, _pkNames) {
|
|
48
|
+
throw new exceptions_1.MethodNotImplemented(`no ServerResponseMapper is registered for this connection. Every driver must register one: container.register(MyMapper).as(ServerResponseMapper)`);
|
|
49
|
+
}
|
|
30
50
|
}
|
|
31
51
|
exports.ServerResponseMapper = ServerResponseMapper;
|
|
32
52
|
class DefaultValueBuilder {
|
|
@@ -81,6 +101,21 @@ var RelationType;
|
|
|
81
101
|
RelationType[RelationType["Query"] = 3] = "Query";
|
|
82
102
|
RelationType[RelationType["Virtual"] = 4] = "Virtual";
|
|
83
103
|
})(RelationType || (exports.RelationType = RelationType = {}));
|
|
104
|
+
/**
|
|
105
|
+
* What `save()` does with a row that was removed from a relation.
|
|
106
|
+
*
|
|
107
|
+
* - `nullify` — clear the child's foreign key, leaving the row. The default.
|
|
108
|
+
* - `delete` — delete the child row.
|
|
109
|
+
* - `soft-delete` — stamp the child's `@SoftDelete` column. Requires the target to carry one.
|
|
110
|
+
* - `disable` — do nothing; the caller manages orphans by hand.
|
|
111
|
+
*/
|
|
112
|
+
var OrphanPolicy;
|
|
113
|
+
(function (OrphanPolicy) {
|
|
114
|
+
OrphanPolicy["Nullify"] = "nullify";
|
|
115
|
+
OrphanPolicy["Delete"] = "delete";
|
|
116
|
+
OrphanPolicy["SoftDelete"] = "soft-delete";
|
|
117
|
+
OrphanPolicy["Disable"] = "disable";
|
|
118
|
+
})(OrphanPolicy || (exports.OrphanPolicy = OrphanPolicy = {}));
|
|
84
119
|
let OrmMigration = class OrmMigration {
|
|
85
120
|
/**
|
|
86
121
|
* Migrate data - execute AFTER orm module has been initialized
|
|
@@ -247,6 +282,24 @@ exports.RawSchemaQueryCompiler = RawSchemaQueryCompiler;
|
|
|
247
282
|
exports.RawSchemaQueryCompiler = RawSchemaQueryCompiler = __decorate([
|
|
248
283
|
(0, di_1.NewInstance)()
|
|
249
284
|
], RawSchemaQueryCompiler);
|
|
285
|
+
/**
|
|
286
|
+
* Hooks into the lifetime of every query builder. Both hooks run for EVERY builder type —
|
|
287
|
+
* select, insert, update and delete.
|
|
288
|
+
*
|
|
289
|
+
* The two differ in what the query is guaranteed to contain, and that difference is
|
|
290
|
+
* load-bearing rather than stylistic:
|
|
291
|
+
*
|
|
292
|
+
* - `afterQueryCreation` runs from the builder's CONSTRUCTOR. The model and the query context
|
|
293
|
+
* are set; nothing the caller does afterwards has happened yet — no `where()`, no
|
|
294
|
+
* `update()`, no `values()`. It is the place to ADD a constraint (rbac appends its owner
|
|
295
|
+
* `WHERE` here) and the wrong place to read or amend the payload, which does not exist yet.
|
|
296
|
+
* - `beforeQueryExecution` runs once per builder, immediately before the driver is called, so
|
|
297
|
+
* the query is complete. It is the place to inspect or rewrite what is about to be written
|
|
298
|
+
* (rbac stamps the owner column of an INSERT here, because a value written at construction
|
|
299
|
+
* would be overwritten by the caller's own `values()` call).
|
|
300
|
+
*
|
|
301
|
+
* A middleware that throws from either hook aborts the query.
|
|
302
|
+
*/
|
|
250
303
|
class QueryMiddleware {
|
|
251
304
|
}
|
|
252
305
|
exports.QueryMiddleware = QueryMiddleware;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;;;;;;;AAQA,oCAA8E;AAE9E,oDAA2D;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAK9D;;;;;GAKG;AACH,8BAAsB,aAAa,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACxE,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;IACtB,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IAGhB,EAAE,EAAE,MAAM,CAAC;IAIX,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IAE7E,IACW,KAAK,IAIQ,GAAG,CAF1B;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,GAAG,EAG1B;IAED,IAAW,GAAG,IAIQ,MAAM,CAF3B;IAED,IAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAE3B;IAED,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU;
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAK9D;;;;;GAKG;AACH,8BAAsB,aAAa,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACxE,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;IACtB,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IAGhB,EAAE,EAAE,MAAM,CAAC;IAIX,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IAE7E,IACW,KAAK,IAIQ,GAAG,CAF1B;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,GAAG,EAG1B;IAED,IAAW,GAAG,IAIQ,MAAM,CAF3B;IAED,IAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAE3B;IAED,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU;CAe7F;AAED;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,CAAE,SAAQ,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC;IACnH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IAEnB;;;;;;OAMG;IACU,MAAM,CAAC,GAAG,EAAE,MAAM;gBAiBnB,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE;CAuDnE"}
|
package/lib/cjs/metadata.js
CHANGED
|
@@ -44,6 +44,9 @@ class MetadataModel extends model_js_1.ModelBase {
|
|
|
44
44
|
if (val instanceof luxon_1.DateTime) {
|
|
45
45
|
return 'datetime';
|
|
46
46
|
}
|
|
47
|
+
if (val === null || val === undefined) {
|
|
48
|
+
return 'string';
|
|
49
|
+
}
|
|
47
50
|
if (typeof val === 'object') {
|
|
48
51
|
return 'json';
|
|
49
52
|
}
|
|
@@ -83,7 +86,7 @@ class MetadataRelation extends relation_objects_js_1.OneToManyRelationList {
|
|
|
83
86
|
const k = (0, util_1._check_arg)((0, util_1._non_empty)())(key, 'key');
|
|
84
87
|
const model = await this.Relation.TargetModel.where({
|
|
85
88
|
Key: k,
|
|
86
|
-
|
|
89
|
+
[this.Relation.ForeignKey]: this.Owner.PrimaryKeyValue,
|
|
87
90
|
}).first();
|
|
88
91
|
if (lodash_1.default.isNil(model)) {
|
|
89
92
|
return;
|
package/lib/cjs/metadata.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wCAAiE;AAEjE,yCAAuC;AACvC,mDAA8D;AAC9D,+DAA8D;AAC9D,oEAA0C;AAC1C,oDAAuB;AACvB,iCAAiC;AAEjC;;;;;GAKG;AACH,MAAsB,aAAiB,SAAQ,oBAA2B;IAWxE,IACW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAW,KAAK,CAAC,KAAU;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAW,GAAG,CAAC,KAAa;QAC1B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAES,OAAO,CAAC,GAAQ;QACxB,IAAI,GAAG,YAAY,gBAAQ,EAAE,CAAC;YAC5B,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,iBAAiB,EAAS,CAAC;IACjD,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { MetricMap, Gauge, Histogram } from '@spinajs/telemetry-common';
|
|
2
|
+
/**
|
|
3
|
+
* Point-in-time view of a driver's connection pool.
|
|
4
|
+
*/
|
|
5
|
+
export interface IPoolMetrics {
|
|
6
|
+
/** Connections currently open ( idle + in use ). */
|
|
7
|
+
Size: number;
|
|
8
|
+
/** Connections currently checked out by a query. */
|
|
9
|
+
InUse: number;
|
|
10
|
+
/** Callers waiting for a free connection. */
|
|
11
|
+
Waiting: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Prefix `Metrics.defineMetrics` puts in front of every name below.
|
|
15
|
+
*/
|
|
16
|
+
export declare const ORM_METRIC_PREFIX = "orm";
|
|
17
|
+
/** Key of a metric inside the {@link MetricMap} — the name WITHOUT the `orm_` prefix. */
|
|
18
|
+
export declare const ORM_METRIC_KEY_POOL_SIZE = "pool_size";
|
|
19
|
+
export declare const ORM_METRIC_KEY_POOL_IN_USE = "pool_in_use";
|
|
20
|
+
export declare const ORM_METRIC_KEY_POOL_WAITING = "pool_waiting";
|
|
21
|
+
export declare const ORM_METRIC_KEY_ACQUIRE_SECONDS = "pool_acquire_seconds";
|
|
22
|
+
export declare const ORM_METRIC_KEY_CONNECTION_STATE = "connection_state";
|
|
23
|
+
/** Fully qualified metric names, as they appear in the Prometheus exposition text. */
|
|
24
|
+
export declare const ORM_METRIC_POOL_SIZE = "orm_pool_size";
|
|
25
|
+
export declare const ORM_METRIC_POOL_IN_USE = "orm_pool_in_use";
|
|
26
|
+
export declare const ORM_METRIC_POOL_WAITING = "orm_pool_waiting";
|
|
27
|
+
export declare const ORM_METRIC_ACQUIRE_SECONDS = "orm_pool_acquire_seconds";
|
|
28
|
+
export declare const ORM_METRIC_CONNECTION_STATE = "orm_connection_state";
|
|
29
|
+
/**
|
|
30
|
+
* Acquiring a pooled connection is normally sub-millisecond and only becomes interesting once the
|
|
31
|
+
* pool saturates, so the buckets are dense at the bottom and reach far enough to show a caller
|
|
32
|
+
* that queued for seconds. prom-client's linear default ( 1..10 SECONDS ) would put every healthy
|
|
33
|
+
* acquire in the first bucket and tell us nothing.
|
|
34
|
+
*/
|
|
35
|
+
export declare const ORM_ACQUIRE_BUCKETS_SECONDS: number[];
|
|
36
|
+
/**
|
|
37
|
+
* The ORM's metric set, built against the shared `Metrics` service from
|
|
38
|
+
* `@spinajs/telemetry-common`.
|
|
39
|
+
*
|
|
40
|
+
* The ORM deliberately depends on `-common` and NOT on `@spinajs/telemetry`: that package pulls in
|
|
41
|
+
* `@spinajs/http`, `@spinajs/log`, `@spinajs/validation` and `@spinajs/configuration`, and putting
|
|
42
|
+
* the HTTP stack underneath every database connection inverts the dependency graph. `-common`
|
|
43
|
+
* needs nothing but `@spinajs/di` and prom-client. `@spinajs/telemetry` re-exports it, so the
|
|
44
|
+
* `/metrics` endpoint renders the very registry these metrics land in — no wiring needed.
|
|
45
|
+
*
|
|
46
|
+
* Returns null rather than throwing when the service cannot be resolved: publishing a metric must
|
|
47
|
+
* never be able to fail a query or a health probe.
|
|
48
|
+
*/
|
|
49
|
+
export declare function ormMetrics(): MetricMap | null;
|
|
50
|
+
/** Narrowing helpers: `defineMetrics` is typed by its declarations, not by the values it returns. */
|
|
51
|
+
export declare function ormGauge(map: MetricMap, key: string): Gauge<string>;
|
|
52
|
+
export declare function ormHistogram(map: MetricMap, key: string): Histogram<string>;
|
|
53
|
+
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/metrics.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE5F;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IAEb,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IAEd,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC,yFAAyF;AACzF,eAAO,MAAM,wBAAwB,cAAc,CAAC;AACpD,eAAO,MAAM,0BAA0B,gBAAgB,CAAC;AACxD,eAAO,MAAM,2BAA2B,iBAAiB,CAAC;AAC1D,eAAO,MAAM,8BAA8B,yBAAyB,CAAC;AACrE,eAAO,MAAM,+BAA+B,qBAAqB,CAAC;AAElE,sFAAsF;AACtF,eAAO,MAAM,oBAAoB,kBAAqD,CAAC;AACvF,eAAO,MAAM,sBAAsB,oBAAuD,CAAC;AAC3F,eAAO,MAAM,uBAAuB,qBAAwD,CAAC;AAC7F,eAAO,MAAM,0BAA0B,6BAA2D,CAAC;AACnG,eAAO,MAAM,2BAA2B,yBAA4D,CAAC;AAErG;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,UAAoE,CAAC;AAkB7G;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,IAAI,SAAS,GAAG,IAAI,CAc7C;AAED,qGAAqG;AACrG,wBAAgB,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAGnE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAG3E"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ORM_ACQUIRE_BUCKETS_SECONDS = exports.ORM_METRIC_CONNECTION_STATE = exports.ORM_METRIC_ACQUIRE_SECONDS = exports.ORM_METRIC_POOL_WAITING = exports.ORM_METRIC_POOL_IN_USE = exports.ORM_METRIC_POOL_SIZE = exports.ORM_METRIC_KEY_CONNECTION_STATE = exports.ORM_METRIC_KEY_ACQUIRE_SECONDS = exports.ORM_METRIC_KEY_POOL_WAITING = exports.ORM_METRIC_KEY_POOL_IN_USE = exports.ORM_METRIC_KEY_POOL_SIZE = exports.ORM_METRIC_PREFIX = void 0;
|
|
4
|
+
exports.ormMetrics = ormMetrics;
|
|
5
|
+
exports.ormGauge = ormGauge;
|
|
6
|
+
exports.ormHistogram = ormHistogram;
|
|
7
|
+
const di_1 = require("@spinajs/di");
|
|
8
|
+
const telemetry_common_1 = require("@spinajs/telemetry-common");
|
|
9
|
+
/**
|
|
10
|
+
* Prefix `Metrics.defineMetrics` puts in front of every name below.
|
|
11
|
+
*/
|
|
12
|
+
exports.ORM_METRIC_PREFIX = 'orm';
|
|
13
|
+
/** Key of a metric inside the {@link MetricMap} — the name WITHOUT the `orm_` prefix. */
|
|
14
|
+
exports.ORM_METRIC_KEY_POOL_SIZE = 'pool_size';
|
|
15
|
+
exports.ORM_METRIC_KEY_POOL_IN_USE = 'pool_in_use';
|
|
16
|
+
exports.ORM_METRIC_KEY_POOL_WAITING = 'pool_waiting';
|
|
17
|
+
exports.ORM_METRIC_KEY_ACQUIRE_SECONDS = 'pool_acquire_seconds';
|
|
18
|
+
exports.ORM_METRIC_KEY_CONNECTION_STATE = 'connection_state';
|
|
19
|
+
/** Fully qualified metric names, as they appear in the Prometheus exposition text. */
|
|
20
|
+
exports.ORM_METRIC_POOL_SIZE = `${exports.ORM_METRIC_PREFIX}_${exports.ORM_METRIC_KEY_POOL_SIZE}`;
|
|
21
|
+
exports.ORM_METRIC_POOL_IN_USE = `${exports.ORM_METRIC_PREFIX}_${exports.ORM_METRIC_KEY_POOL_IN_USE}`;
|
|
22
|
+
exports.ORM_METRIC_POOL_WAITING = `${exports.ORM_METRIC_PREFIX}_${exports.ORM_METRIC_KEY_POOL_WAITING}`;
|
|
23
|
+
exports.ORM_METRIC_ACQUIRE_SECONDS = `${exports.ORM_METRIC_PREFIX}_${exports.ORM_METRIC_KEY_ACQUIRE_SECONDS}`;
|
|
24
|
+
exports.ORM_METRIC_CONNECTION_STATE = `${exports.ORM_METRIC_PREFIX}_${exports.ORM_METRIC_KEY_CONNECTION_STATE}`;
|
|
25
|
+
/**
|
|
26
|
+
* Acquiring a pooled connection is normally sub-millisecond and only becomes interesting once the
|
|
27
|
+
* pool saturates, so the buckets are dense at the bottom and reach far enough to show a caller
|
|
28
|
+
* that queued for seconds. prom-client's linear default ( 1..10 SECONDS ) would put every healthy
|
|
29
|
+
* acquire in the first bucket and tell us nothing.
|
|
30
|
+
*/
|
|
31
|
+
exports.ORM_ACQUIRE_BUCKETS_SECONDS = [0.0005, 0.001, 0.005, 0.01, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10];
|
|
32
|
+
const ORM_METRIC_DEFS = [
|
|
33
|
+
{ name: exports.ORM_METRIC_KEY_POOL_SIZE, help: 'Open ORM pool connections', type: 'gauge', labelNames: ['connection'] },
|
|
34
|
+
{ name: exports.ORM_METRIC_KEY_POOL_IN_USE, help: 'ORM pool connections checked out by a query', type: 'gauge', labelNames: ['connection'] },
|
|
35
|
+
{ name: exports.ORM_METRIC_KEY_POOL_WAITING, help: 'Callers waiting for a free ORM pool connection', type: 'gauge', labelNames: ['connection'] },
|
|
36
|
+
{ name: exports.ORM_METRIC_KEY_CONNECTION_STATE, help: 'ORM connection state: 1 connected, 0 otherwise', type: 'gauge', labelNames: ['connection'] },
|
|
37
|
+
{ name: exports.ORM_METRIC_KEY_ACQUIRE_SECONDS, help: 'Seconds spent acquiring an ORM pool connection', type: 'histogram', labelNames: ['connection'], buckets: exports.ORM_ACQUIRE_BUCKETS_SECONDS },
|
|
38
|
+
];
|
|
39
|
+
/**
|
|
40
|
+
* `defineMetrics` REBUILDS the metric objects on every call — a second call would silently reset
|
|
41
|
+
* every value — so each `Metrics` service gets its metric set built exactly once. Keyed by the
|
|
42
|
+
* service instance rather than a module-level flag so that `DI.clearCache()` ( tests, or a second
|
|
43
|
+
* SpinaJS app in one process ) starts from a fresh registry without leaking metrics across it.
|
|
44
|
+
*/
|
|
45
|
+
const DEFINED = new WeakMap();
|
|
46
|
+
/**
|
|
47
|
+
* The ORM's metric set, built against the shared `Metrics` service from
|
|
48
|
+
* `@spinajs/telemetry-common`.
|
|
49
|
+
*
|
|
50
|
+
* The ORM deliberately depends on `-common` and NOT on `@spinajs/telemetry`: that package pulls in
|
|
51
|
+
* `@spinajs/http`, `@spinajs/log`, `@spinajs/validation` and `@spinajs/configuration`, and putting
|
|
52
|
+
* the HTTP stack underneath every database connection inverts the dependency graph. `-common`
|
|
53
|
+
* needs nothing but `@spinajs/di` and prom-client. `@spinajs/telemetry` re-exports it, so the
|
|
54
|
+
* `/metrics` endpoint renders the very registry these metrics land in — no wiring needed.
|
|
55
|
+
*
|
|
56
|
+
* Returns null rather than throwing when the service cannot be resolved: publishing a metric must
|
|
57
|
+
* never be able to fail a query or a health probe.
|
|
58
|
+
*/
|
|
59
|
+
function ormMetrics() {
|
|
60
|
+
try {
|
|
61
|
+
const service = di_1.DI.get(telemetry_common_1.Metrics) ?? di_1.DI.resolve(telemetry_common_1.Metrics);
|
|
62
|
+
let map = DEFINED.get(service);
|
|
63
|
+
if (!map) {
|
|
64
|
+
map = service.defineMetrics(exports.ORM_METRIC_PREFIX, ORM_METRIC_DEFS);
|
|
65
|
+
DEFINED.set(service, map);
|
|
66
|
+
}
|
|
67
|
+
return map;
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/** Narrowing helpers: `defineMetrics` is typed by its declarations, not by the values it returns. */
|
|
74
|
+
function ormGauge(map, key) {
|
|
75
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
76
|
+
return map[key];
|
|
77
|
+
}
|
|
78
|
+
function ormHistogram(map, key) {
|
|
79
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
80
|
+
return map[key];
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/metrics.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/middlewares.d.ts
CHANGED
|
@@ -43,7 +43,19 @@ export declare class HasManyToManyRelationMiddleware implements IBuilderMiddlewa
|
|
|
43
43
|
protected _relationQuery: ISelectQueryBuilder;
|
|
44
44
|
protected _description: IRelationDescriptor;
|
|
45
45
|
protected _targetModelDescriptor: IModelDescriptor;
|
|
46
|
-
|
|
46
|
+
protected _relationDescriptor?: IRelationDescriptor | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* @param _relationQuery - the join query through the junction table
|
|
49
|
+
* @param _description - the *synthetic* owner -> junction descriptor built by
|
|
50
|
+
* `ManyToManyRelation.compile()`. It says `Type: Many` and its `ForeignKey` is the
|
|
51
|
+
* junction's source column, which is what the row-matching below needs.
|
|
52
|
+
* @param _targetModelDescriptor - descriptor of the model on the far side of the junction
|
|
53
|
+
* @param _relationDescriptor - the model's own `@HasManyToMany` descriptor. Optional so no
|
|
54
|
+
* existing caller breaks, but without it the `ManyToManyRelationList` handed to the
|
|
55
|
+
* user carries the synthetic descriptor instead — no `JunctionModel`, no junction
|
|
56
|
+
* key names — and `sync()` / `update()` / the set operations all fail on it.
|
|
57
|
+
*/
|
|
58
|
+
constructor(_relationQuery: ISelectQueryBuilder, _description: IRelationDescriptor, _targetModelDescriptor: IModelDescriptor, _relationDescriptor?: IRelationDescriptor | undefined);
|
|
47
59
|
afterQuery(data: any[]): any[];
|
|
48
60
|
modelCreation(_: any): ModelBase | null;
|
|
49
61
|
afterHydration(data: ModelBase[]): Promise<any[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/middlewares.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAgB,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC/H,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAKtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,qBAAa,yBAA0B,YAAW,kBAAkB;IACtD,SAAS,CAAC,cAAc,EAAE,mBAAmB;IAAE,SAAS,CAAC,YAAY,EAAE,mBAAmB;IAAE,SAAS,CAAC,KAAK,EAAE,MAAM;gBAAzG,cAAc,EAAE,mBAAmB,EAAY,YAAY,EAAE,mBAAmB,EAAY,KAAK,EAAE,MAAM;IAExH,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;IAI9B,aAAa,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI;IAIjC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/middlewares.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/middlewares.js
CHANGED
|
@@ -57,6 +57,12 @@ class HasManyRelationMiddleware {
|
|
|
57
57
|
d[self._description.Name] = di_1.DI.resolve(self._description.RelationClass, [d, self._description, relData]);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
+
// The contents came from the database, so this relation is populated — even when
|
|
61
|
+
// the batched query returned no rows for this particular owner. `Populated` is what
|
|
62
|
+
// tells "loaded and empty" from "never loaded", and unit-of-work `save()` skips the
|
|
63
|
+
// latter entirely ( the empty-array anti-footgun ).
|
|
64
|
+
d[self._description.Name].Populated = true;
|
|
65
|
+
d.snapshotRelation(self._description.Name);
|
|
60
66
|
});
|
|
61
67
|
},
|
|
62
68
|
};
|
|
@@ -184,10 +190,22 @@ class VirtualRelationMiddleware {
|
|
|
184
190
|
}
|
|
185
191
|
exports.VirtualRelationMiddleware = VirtualRelationMiddleware;
|
|
186
192
|
class HasManyToManyRelationMiddleware {
|
|
187
|
-
|
|
193
|
+
/**
|
|
194
|
+
* @param _relationQuery - the join query through the junction table
|
|
195
|
+
* @param _description - the *synthetic* owner -> junction descriptor built by
|
|
196
|
+
* `ManyToManyRelation.compile()`. It says `Type: Many` and its `ForeignKey` is the
|
|
197
|
+
* junction's source column, which is what the row-matching below needs.
|
|
198
|
+
* @param _targetModelDescriptor - descriptor of the model on the far side of the junction
|
|
199
|
+
* @param _relationDescriptor - the model's own `@HasManyToMany` descriptor. Optional so no
|
|
200
|
+
* existing caller breaks, but without it the `ManyToManyRelationList` handed to the
|
|
201
|
+
* user carries the synthetic descriptor instead — no `JunctionModel`, no junction
|
|
202
|
+
* key names — and `sync()` / `update()` / the set operations all fail on it.
|
|
203
|
+
*/
|
|
204
|
+
constructor(_relationQuery, _description, _targetModelDescriptor, _relationDescriptor) {
|
|
188
205
|
this._relationQuery = _relationQuery;
|
|
189
206
|
this._description = _description;
|
|
190
207
|
this._targetModelDescriptor = _targetModelDescriptor;
|
|
208
|
+
this._relationDescriptor = _relationDescriptor;
|
|
191
209
|
}
|
|
192
210
|
afterQuery(data) {
|
|
193
211
|
return data;
|
|
@@ -209,7 +227,15 @@ class HasManyToManyRelationMiddleware {
|
|
|
209
227
|
relationData.forEach((d) => (d.__relationKey__ = self._description.Name));
|
|
210
228
|
data.forEach((d) => {
|
|
211
229
|
const relData = relationData.filter((rd) => rd.JunctionModel[self._description.ForeignKey] === d[self._description.PrimaryKey]);
|
|
212
|
-
|
|
230
|
+
// The real @HasManyToMany descriptor, not the synthetic join one — see the
|
|
231
|
+
// constructor doc. Falls back to the synthetic descriptor so a caller that does
|
|
232
|
+
// not supply it keeps the previous ( broken but unchanged ) behaviour.
|
|
233
|
+
const list = new relation_objects_js_1.ManyToManyRelationList(d, self._relationDescriptor ?? self._description, relData);
|
|
234
|
+
// See the note in HasManyRelationMiddleware: loaded-and-empty must be
|
|
235
|
+
// distinguishable from never-loaded.
|
|
236
|
+
list.Populated = true;
|
|
237
|
+
d[self._description.Name] = list;
|
|
238
|
+
d.snapshotRelation(self._description.Name);
|
|
213
239
|
});
|
|
214
240
|
relationData.forEach((d) => delete d.JunctionModel);
|
|
215
241
|
},
|
|
@@ -247,19 +273,28 @@ class BelongsToPopulateDataMiddleware {
|
|
|
247
273
|
}
|
|
248
274
|
afterHydration(data) {
|
|
249
275
|
const relData = data.map((d) => d[this._description.Name].Value).filter((x) => x !== null && x !== undefined);
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
//
|
|
258
|
-
//
|
|
259
|
-
// Somewhere else in code is bug that causes multiple same middlewares to be added to the query
|
|
276
|
+
// Every relation created on a builder stores that builder as `_query`
|
|
277
|
+
// ( SelectQueryBuilder._getRelationInstance passes `this` ), so N nested relations under
|
|
278
|
+
// one belongsTo all point at the *same* `_middlewares` array. Concatenating per relation
|
|
279
|
+
// therefore repeated the whole array N times — the duplication a `_.uniqBy` on relation
|
|
280
|
+
// name used to paper over, too coarsely ( it collapsed two genuinely distinct middlewares
|
|
281
|
+
// that happened to share a relation name ) and unsafely
|
|
282
|
+
// ( BelongsToRelationResultTransformMiddleware has no `_description` at all, and
|
|
283
|
+
// DiscriminationMapMiddleware's is an IModelDescriptor, so the key compared a *model*
|
|
284
|
+
// name against a *relation* name ).
|
|
260
285
|
//
|
|
261
|
-
//
|
|
262
|
-
|
|
286
|
+
// Collect each distinct middleware object once, in first-seen order.
|
|
287
|
+
const seen = new Set();
|
|
288
|
+
const middlewares = [];
|
|
289
|
+
for (const relation of this.relation._relationQuery.Relations) {
|
|
290
|
+
for (const middleware of (relation._query?._middlewares ?? [])) {
|
|
291
|
+
if (!seen.has(middleware)) {
|
|
292
|
+
seen.add(middleware);
|
|
293
|
+
middlewares.push(middleware);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
return Promise.all(middlewares.map((x) => {
|
|
263
298
|
return x.afterHydration(relData);
|
|
264
299
|
}));
|
|
265
300
|
}
|
|
@@ -268,7 +303,12 @@ exports.BelongsToPopulateDataMiddleware = BelongsToPopulateDataMiddleware;
|
|
|
268
303
|
class BelongsToRelationResultTransformMiddleware {
|
|
269
304
|
afterQuery(data) {
|
|
270
305
|
return data.map((d) => {
|
|
271
|
-
|
|
306
|
+
// A real copy. `Object.assign(d)` with one argument returns `d` itself, so this used
|
|
307
|
+
// to nest keys into and delete keys from the caller's own row object. The pipeline
|
|
308
|
+
// writes whatever this returns back into the result array
|
|
309
|
+
// ( builders.ts, `Object.assign(transformedResult, m.afterQuery(...))` ), so returning
|
|
310
|
+
// fresh objects is transparent to everything downstream.
|
|
311
|
+
const transformedData = { ...d };
|
|
272
312
|
for (const key in transformedData) {
|
|
273
313
|
if (key.startsWith('$')) {
|
|
274
314
|
this.setDeep(transformedData, this.keyTransform(key), d[key]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middlewares.js","sourceRoot":"","sources":["../../src/middlewares.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"middlewares.js","sourceRoot":"","sources":["../../src/middlewares.ts"],"names":[],"mappings":"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"}
|