@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/decorators.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.forwardRef = exports.MIGRATION_DESCRIPTION_SYMBOL = exports.MODEL_DESCTRIPTION_SYMBOL = void 0;
|
|
4
4
|
exports._prepareColumnDesc = _prepareColumnDesc;
|
|
5
|
+
exports._relationDefaultKey = _relationDefaultKey;
|
|
5
6
|
exports.extractDecoratorPropertyDescriptor = extractDecoratorPropertyDescriptor;
|
|
6
7
|
exports.extractDecoratorDescriptor = extractDecoratorDescriptor;
|
|
7
8
|
exports.Migration = Migration;
|
|
@@ -64,37 +65,59 @@ function _prepareColumnDesc(initialize) {
|
|
|
64
65
|
Virtual: false
|
|
65
66
|
}, initialize);
|
|
66
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Resolves the single column a relation joins on. A relation's PrimaryKey / ForeignKey each
|
|
70
|
+
* name exactly one column ( the JOIN compiler emits a one-column ON predicate ), so a composite
|
|
71
|
+
* primary key has no defensible default and must be named explicitly by the developer.
|
|
72
|
+
*/
|
|
73
|
+
function _relationDefaultKey(descriptor, relationName, optionName) {
|
|
74
|
+
const keys = descriptor.PrimaryKey ?? [];
|
|
75
|
+
if (keys.length > 1) {
|
|
76
|
+
throw new exceptions_1.InvalidOperation(`relation ${relationName} cannot default its join column: model ${descriptor.Name} has a composite primary key (${keys.join(', ')}). Pass ${optionName} explicitly.`);
|
|
77
|
+
}
|
|
78
|
+
return keys[0];
|
|
79
|
+
}
|
|
67
80
|
function _getMetadataFrom(target) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
* @Decorator({ a: 2})
|
|
80
|
-
* class B extends A {}
|
|
81
|
-
*
|
|
82
|
-
* @Decorator({ a: 3})
|
|
83
|
-
* class C extends A {}
|
|
84
|
-
*
|
|
85
|
-
* Normally metadata is created for class A due import order. Reflect.metadata() searches in prototype chain, so
|
|
86
|
-
* when class B gets decorator executed it will find already defined from class A. Then class C decorator will overwrite
|
|
87
|
-
* decorator for class A ( B decorator is lost ).
|
|
88
|
-
*
|
|
89
|
-
* This is becouse decorator is saerched in protype chain of object.
|
|
90
|
-
*
|
|
91
|
-
* When we need metadata value, we collapse this object with proper inheritance object
|
|
92
|
-
*/
|
|
93
|
-
if (!metadata.hasOwnProperty(target.name)) {
|
|
94
|
-
metadata[target.name] = (0, descriptor_js_1.extractModelDescriptorInherited)(target);
|
|
81
|
+
// Sampled BEFORE getInheritedDescriptor, which stores own metadata as a side
|
|
82
|
+
// effect - so this is only true on the very first decorator to touch `target`.
|
|
83
|
+
const isFirstDecorator = !Reflect.getOwnMetadata(symbols_js_1.MODEL_DESCTRIPTION_SYMBOL, target);
|
|
84
|
+
// Own metadata per class - see @spinajs/di getInheritedDescriptor. Replaces
|
|
85
|
+
// the previous name-keyed container, which collapsed two classes sharing a
|
|
86
|
+
// name into a single slot.
|
|
87
|
+
const descriptor = (0, di_1.getInheritedDescriptor)(target, symbols_js_1.MODEL_DESCTRIPTION_SYMBOL, descriptor_js_1.createDefaultModelDescriptor);
|
|
88
|
+
// Name is this class's own, never inherited from the base
|
|
89
|
+
descriptor.Name = target.name;
|
|
90
|
+
if (isFirstDecorator) {
|
|
91
|
+
detachInheritedModelMembers(descriptor);
|
|
95
92
|
}
|
|
96
|
-
|
|
97
|
-
|
|
93
|
+
return descriptor;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* The collapse merger ( @spinajs/di ) rebuilds Columns / Relations and the
|
|
97
|
+
* option objects one level deep, but their ELEMENTS stay shared by reference
|
|
98
|
+
* with the parent model. Decorators such as @Ignore / @Uuid ( `columnDesc.Ignore = true` ),
|
|
99
|
+
* @Recursive ( `relation.Recursive = true` ) and @CreatedAt / @SoftDelete /
|
|
100
|
+
* @DiscriminationMap ( `model.<option>.<field> = ...` ) mutate a found element
|
|
101
|
+
* in place - on an INHERITED member that would write straight through to the
|
|
102
|
+
* base model's descriptor. Give this class its own shallow copies of exactly
|
|
103
|
+
* the structures that get mutated in place. ( same hazard @spinajs/http closes
|
|
104
|
+
* with detachInheritedRoutes; Converters / JunctionModelProperties are only
|
|
105
|
+
* ever set/pushed with fresh values, so they need no copy. )
|
|
106
|
+
*/
|
|
107
|
+
function detachInheritedModelMembers(descriptor) {
|
|
108
|
+
descriptor.Columns = descriptor.Columns.map((c) => ({ ...c }));
|
|
109
|
+
// NOT `{ ...relation }`. A relation descriptor may carry a lazily-defined `PrimaryKey`
|
|
110
|
+
// accessor ( @BelongsTo / @HasManyToMany with a string target model, which cannot be
|
|
111
|
+
// resolved until the Orm is up ). Spreading INVOKES that getter — here, at decoration
|
|
112
|
+
// time, when DI.get(Orm) is still undefined — and then freezes whatever it returned into
|
|
113
|
+
// a plain value, defeating the laziness even when it does not throw. Copying property
|
|
114
|
+
// descriptors detaches the mutable data properties ( Recursive, etc. ) while leaving
|
|
115
|
+
// accessors as accessors.
|
|
116
|
+
descriptor.Relations = new Map([...descriptor.Relations].map(([name, relation]) => [name, Object.create(Object.getPrototypeOf(relation), Object.getOwnPropertyDescriptors(relation))]));
|
|
117
|
+
descriptor.Timestamps = { ...descriptor.Timestamps };
|
|
118
|
+
descriptor.SoftDelete = { ...descriptor.SoftDelete };
|
|
119
|
+
descriptor.Archived = { ...descriptor.Archived };
|
|
120
|
+
descriptor.DiscriminationMap = { ...descriptor.DiscriminationMap };
|
|
98
121
|
}
|
|
99
122
|
function extractDecoratorPropertyDescriptor(callback) {
|
|
100
123
|
return (target, propertyKey, indexOrDescriptor) => {
|
|
@@ -225,11 +248,20 @@ function Archived() {
|
|
|
225
248
|
});
|
|
226
249
|
}
|
|
227
250
|
/**
|
|
228
|
-
*
|
|
251
|
+
* Marks a field as part of the primary key. Applying it to more than one property of the same
|
|
252
|
+
* model declares a composite key; the columns are ordered by decorator evaluation order.
|
|
253
|
+
*
|
|
254
|
+
* NOTE: @Primary() is additive across an inheritance chain. A subclass cannot *replace* a base
|
|
255
|
+
* class's primary key, only extend it. Declare @Primary() on every key column of the concrete model.
|
|
256
|
+
*
|
|
257
|
+
* @param options.generated - key generation strategy, defaults to `auto` ( database identity ).
|
|
229
258
|
*/
|
|
230
|
-
function Primary() {
|
|
259
|
+
function Primary(options) {
|
|
231
260
|
return extractDecoratorPropertyDescriptor((model, _target, propertyKey) => {
|
|
232
|
-
model.PrimaryKey
|
|
261
|
+
if (!model.PrimaryKey.includes(propertyKey)) {
|
|
262
|
+
model.PrimaryKey.push(propertyKey);
|
|
263
|
+
}
|
|
264
|
+
model.PrimaryKeyGeneration.set(propertyKey, options?.generated ?? 'auto');
|
|
233
265
|
});
|
|
234
266
|
}
|
|
235
267
|
/**
|
|
@@ -314,17 +346,36 @@ exports.forwardRef = forwardRef;
|
|
|
314
346
|
*/
|
|
315
347
|
function BelongsTo(targetModel, foreignKey, primaryKey) {
|
|
316
348
|
return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
|
|
317
|
-
const
|
|
318
|
-
model.Relations.set(propertyKey, {
|
|
349
|
+
const descriptor = {
|
|
319
350
|
Name: propertyKey,
|
|
320
351
|
Type: interfaces_js_1.RelationType.One,
|
|
321
352
|
SourceModel: target,
|
|
322
353
|
TargetModelType: targetModel,
|
|
323
354
|
TargetModel: undefined,
|
|
324
355
|
ForeignKey: foreignKey ?? `${propertyKey.toLowerCase()}_id`,
|
|
325
|
-
|
|
356
|
+
// default PK must come from the TARGET model, not the source ( fixed below )
|
|
357
|
+
PrimaryKey: primaryKey ?? _relationDefaultKey(model, propertyKey, 'primaryKey'),
|
|
326
358
|
Recursive: false,
|
|
327
|
-
}
|
|
359
|
+
};
|
|
360
|
+
if (!primaryKey) {
|
|
361
|
+
if (typeof targetModel === 'string') {
|
|
362
|
+
// target resolved by name at runtime - read its PK lazily ( same pattern as HasManyToMany )
|
|
363
|
+
const getModel = function () {
|
|
364
|
+
return (0, descriptor_js_1.extractModelDescriptor)(di_1.DI.get(orm_js_1.Orm).Models.find((x) => x.name === targetModel).type);
|
|
365
|
+
};
|
|
366
|
+
Object.defineProperty(descriptor, 'PrimaryKey', {
|
|
367
|
+
get: function () {
|
|
368
|
+
const target = getModel();
|
|
369
|
+
return target ? _relationDefaultKey(target, propertyKey, 'primaryKey') : _relationDefaultKey(model, propertyKey, 'primaryKey');
|
|
370
|
+
},
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
374
|
+
const targetModelDesc = (0, descriptor_js_1.extractModelDescriptor)(targetModel);
|
|
375
|
+
descriptor.PrimaryKey = targetModelDesc ? _relationDefaultKey(targetModelDesc, propertyKey, 'primaryKey') : _relationDefaultKey(model, propertyKey, 'primaryKey');
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
model.Relations.set(propertyKey, descriptor);
|
|
328
379
|
});
|
|
329
380
|
}
|
|
330
381
|
function Virtual(virtualRelation) {
|
|
@@ -385,7 +436,7 @@ function ForwardBelongsTo(forwardRef, foreignKey, primaryKey) {
|
|
|
385
436
|
TargetModelType: forwardRef.forwardRef,
|
|
386
437
|
TargetModel: undefined,
|
|
387
438
|
ForeignKey: foreignKey ?? `${propertyKey.toLowerCase()}_id`,
|
|
388
|
-
PrimaryKey: primaryKey ?? model
|
|
439
|
+
PrimaryKey: primaryKey ?? _relationDefaultKey(model, propertyKey, 'primaryKey'),
|
|
389
440
|
Recursive: false,
|
|
390
441
|
});
|
|
391
442
|
});
|
|
@@ -408,8 +459,9 @@ function HasMany(targetModel, options) {
|
|
|
408
459
|
TargetModelType: targetModel,
|
|
409
460
|
TargetModel: undefined,
|
|
410
461
|
ForeignKey: options ? options.foreignKey ?? `${model.Name.toLowerCase()}_id` : `${model.Name.toLowerCase()}_id`,
|
|
411
|
-
PrimaryKey: options
|
|
462
|
+
PrimaryKey: options?.primaryKey ?? _relationDefaultKey(model, propertyKey, 'options.primaryKey'),
|
|
412
463
|
Recursive: false,
|
|
464
|
+
Orphan: options?.orphan,
|
|
413
465
|
Factory: options?.factory ? options.factory : undefined,
|
|
414
466
|
RelationClass: options?.type ? options.type : () => di_1.DI.resolve('__orm_relation_has_many_factory__', [type]),
|
|
415
467
|
});
|
|
@@ -423,8 +475,8 @@ function Historical(targetModel) {
|
|
|
423
475
|
SourceModel: target,
|
|
424
476
|
TargetModelType: targetModel,
|
|
425
477
|
TargetModel: undefined,
|
|
426
|
-
ForeignKey: model
|
|
427
|
-
PrimaryKey: model
|
|
478
|
+
ForeignKey: _relationDefaultKey(model, propertyKey, 'primaryKey'),
|
|
479
|
+
PrimaryKey: _relationDefaultKey(model, propertyKey, 'primaryKey'),
|
|
428
480
|
Recursive: false,
|
|
429
481
|
});
|
|
430
482
|
});
|
|
@@ -440,13 +492,14 @@ function HasManyToMany(junctionModel, targetModel, options) {
|
|
|
440
492
|
const descriptor = {
|
|
441
493
|
Name: propertyKey,
|
|
442
494
|
Recursive: false,
|
|
495
|
+
Orphan: options?.orphan,
|
|
443
496
|
Type: interfaces_js_1.RelationType.ManyToMany,
|
|
444
497
|
SourceModel: target,
|
|
445
498
|
TargetModelType: targetModel,
|
|
446
499
|
TargetModel: undefined,
|
|
447
500
|
ForeignKey: '',
|
|
448
501
|
// ForeignKey: options?.targetModelPKey ?? targetModelDescriptor.PrimaryKey,
|
|
449
|
-
PrimaryKey: options?.sourceModelPKey ?? model.
|
|
502
|
+
PrimaryKey: options?.sourceModelPKey ?? _relationDefaultKey(model, propertyKey, 'options.sourceModelPKey'),
|
|
450
503
|
JunctionModel: junctionModel,
|
|
451
504
|
// JunctionModelTargetModelFKey_Name: options?.junctionModelTargetPk ?? `${targetModelDescriptor.Name.toLowerCase()}_id`,
|
|
452
505
|
JunctionModelTargetModelFKey_Name: '',
|
|
@@ -476,7 +529,7 @@ function HasManyToMany(junctionModel, targetModel, options) {
|
|
|
476
529
|
}
|
|
477
530
|
else {
|
|
478
531
|
const targetModelDescriptor = (0, descriptor_js_1.extractModelDescriptor)(targetModel);
|
|
479
|
-
descriptor.ForeignKey = options?.targetModelPKey ?? targetModelDescriptor.
|
|
532
|
+
descriptor.ForeignKey = options?.targetModelPKey ?? _relationDefaultKey(targetModelDescriptor, propertyKey, 'options.targetModelPKey');
|
|
480
533
|
descriptor.JunctionModelTargetModelFKey_Name = options?.junctionModelTargetPk ?? `${targetModelDescriptor.Name.toLowerCase()}_id`;
|
|
481
534
|
}
|
|
482
535
|
let type = Reflect.getMetadata('design:type', target.prototype, propertyKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/dehydrators.js
CHANGED
|
@@ -44,7 +44,7 @@ class StandardModelWithRelationsDehydrator extends StandardModelDehydrator {
|
|
|
44
44
|
continue;
|
|
45
45
|
}
|
|
46
46
|
if (val.Type === interfaces_js_1.RelationType.One) {
|
|
47
|
-
if (model[val.Name]
|
|
47
|
+
if (model[val.Name]?.Value) {
|
|
48
48
|
obj[val.Name] = model[val.Name].Value.dehydrateWithRelations({
|
|
49
49
|
...options,
|
|
50
50
|
omit: []
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dehydrators.js","sourceRoot":"","sources":["../../src/dehydrators.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAC/C,mDAAkE;AAIlE,MAAsB,eAAe;CAEpC;AAFD,0CAEC;AAED,MAAa,uBAAwB,SAAQ,eAAe;IACnD,SAAS,CAAC,KAAgB,EAAE,OAA2B;QAC5D,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,eAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAE9D,KAAK,CAAC,eAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5C,2DAA2D;YAC3D,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9H,OAAO;YACT,CAAC;YAED,MAAM,GAAG,GAAI,KAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,cAAc,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;gBAClH,MAAM,IAAI,4BAAY,CAAC,SAAS,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,eAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC/H,IAAI,OAAO,EAAE,QAAQ,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,IAAI,OAAO,EAAE,aAAa,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC9C,OAAO;YACT,CAAC;YAED,IAAI,OAAO,EAAE,cAAc,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;gBACpE,OAAO;YACT,CAAC;YAEA,GAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAlCD,0DAkCC;AAED,MAAa,oCAAqC,SAAQ,uBAAuB;IACxE,SAAS,CAAC,KAAyB,EAAE,OAA2B;QACrE,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,eAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAE9D,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC5D,SAAS;YACX,CAAC;YAED,IAAI,GAAG,CAAC,IAAI,KAAK,4BAAY,CAAC,GAAG,EAAE,CAAC;gBAClC,IAAK,KAAa,CAAC,GAAG,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"dehydrators.js","sourceRoot":"","sources":["../../src/dehydrators.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/descriptor.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IModelDescriptor } from "./interfaces.js";
|
|
2
|
+
export declare function createDefaultModelDescriptor(): IModelDescriptor;
|
|
2
3
|
export declare function extractModelDescriptorInherited(targetOrForward: any): IModelDescriptor | null;
|
|
3
4
|
export declare function extractModelDescriptor(targetOrForward: any): IModelDescriptor | null;
|
|
4
5
|
//# sourceMappingURL=descriptor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../src/descriptor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../src/descriptor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,wBAAgB,4BAA4B,IAAI,gBAAgB,CA4B/D;AAED,wBAAgB,+BAA+B,CAAC,eAAe,EAAE,GAAG,GAAG,gBAAgB,GAAG,IAAI,CAgB7F;AAED,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,GAAG,GAAG,gBAAgB,GAAG,IAAI,CAapF"}
|
package/lib/cjs/descriptor.js
CHANGED
|
@@ -1,28 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createDefaultModelDescriptor = createDefaultModelDescriptor;
|
|
6
4
|
exports.extractModelDescriptorInherited = extractModelDescriptorInherited;
|
|
7
5
|
exports.extractModelDescriptor = extractModelDescriptor;
|
|
8
6
|
const di_1 = require("@spinajs/di");
|
|
9
7
|
const symbols_js_1 = require("./symbols.js");
|
|
10
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
11
|
-
function getConstructorChain(obj) {
|
|
12
|
-
var cs = [obj.name], pt = obj;
|
|
13
|
-
do {
|
|
14
|
-
if ((pt = Object.getPrototypeOf(pt)))
|
|
15
|
-
cs.push(pt.name || null);
|
|
16
|
-
} while (pt != null);
|
|
17
|
-
return cs.filter((x) => x !== 'Function' && x !== 'Object' && x !== null);
|
|
18
|
-
}
|
|
19
8
|
function createDefaultModelDescriptor() {
|
|
20
9
|
return {
|
|
21
10
|
Driver: null,
|
|
22
11
|
Converters: new Map(),
|
|
23
12
|
Columns: [],
|
|
24
13
|
Connection: null,
|
|
25
|
-
PrimaryKey:
|
|
14
|
+
PrimaryKey: [],
|
|
15
|
+
PrimaryKeyGeneration: new Map(),
|
|
26
16
|
SoftDelete: {
|
|
27
17
|
DeletedAt: '',
|
|
28
18
|
},
|
|
@@ -49,32 +39,14 @@ function extractModelDescriptorInherited(targetOrForward) {
|
|
|
49
39
|
if (!target) {
|
|
50
40
|
return null;
|
|
51
41
|
}
|
|
52
|
-
|
|
53
|
-
//
|
|
54
|
-
|
|
55
|
-
const merger = (a, b) => {
|
|
56
|
-
if (lodash_1.default.isArray(a) || lodash_1.default.isArray(b)) {
|
|
57
|
-
return [...(a ?? []), ...(b ?? [])];
|
|
58
|
-
}
|
|
59
|
-
if (!(lodash_1.default.isNil(a) || lodash_1.default.isEmpty(a)) && (lodash_1.default.isNil(b) || lodash_1.default.isEmpty(b))) {
|
|
60
|
-
return a;
|
|
61
|
-
}
|
|
62
|
-
if (lodash_1.default.isMap(a)) {
|
|
63
|
-
return new Map([...a, ...b]);
|
|
64
|
-
}
|
|
65
|
-
return b;
|
|
66
|
-
};
|
|
42
|
+
// Only the NEAREST own descriptor is collapsed onto a fresh default, and every stored
|
|
43
|
+
// descriptor is already collapsed, so array fields ( Columns, PrimaryKey ) gain no duplicate
|
|
44
|
+
// per inheritance level - the de-duplication the name-keyed reader needed is now structural.
|
|
67
45
|
return {
|
|
68
|
-
...
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
Converters: new Map([...(prev.Converters ?? []), ...(metadata[c] ? metadata[c].Converters : [])]),
|
|
73
|
-
};
|
|
74
|
-
}, {}) : {}),
|
|
75
|
-
...{
|
|
76
|
-
Name: target.name
|
|
77
|
-
}
|
|
46
|
+
...(0, di_1.collapseInheritedDescriptor)(target, symbols_js_1.MODEL_DESCTRIPTION_SYMBOL, createDefaultModelDescriptor),
|
|
47
|
+
// Name is always this class's own, never inherited - the merger would
|
|
48
|
+
// otherwise keep the parent's non-empty name over the child's default ''
|
|
49
|
+
Name: target.name,
|
|
78
50
|
};
|
|
79
51
|
}
|
|
80
52
|
function extractModelDescriptor(targetOrForward) {
|
|
@@ -82,7 +54,11 @@ function extractModelDescriptor(targetOrForward) {
|
|
|
82
54
|
if (!target) {
|
|
83
55
|
return null;
|
|
84
56
|
}
|
|
85
|
-
|
|
86
|
-
|
|
57
|
+
// master's own-metadata-per-class read. MUST stay paired with the write side in
|
|
58
|
+
// decorators.ts `_getMetadataFrom`, which replaced the old name-keyed container —
|
|
59
|
+
// that container collapsed two classes sharing a name into one slot (A9 in the
|
|
60
|
+
// ORM analysis). Reading name-keyed here against an own-metadata write returns null
|
|
61
|
+
// for every model.
|
|
62
|
+
return Reflect.getOwnMetadata(symbols_js_1.MODEL_DESCTRIPTION_SYMBOL, target) ?? null;
|
|
87
63
|
}
|
|
88
64
|
//# sourceMappingURL=descriptor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptor.js","sourceRoot":"","sources":["../../src/descriptor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"descriptor.js","sourceRoot":"","sources":["../../src/descriptor.ts"],"names":[],"mappings":";;AAIA,oEA4BC;AAED,0EAgBC;AAED,wDAaC;AAjED,oCAAyE;AAEzE,6CAAyD;AAEzD,SAAgB,4BAA4B;IAC1C,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,IAAI,GAAG,EAAE;QACrB,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,EAAE;QACd,oBAAoB,EAAE,IAAI,GAAG,EAAE;QAC/B,UAAU,EAAE;YACV,SAAS,EAAE,EAAE;SACd;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,EAAE;SACf;QACD,SAAS,EAAE,EAAE;QACb,UAAU,EAAE;YACV,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,EAAE;SACd;QACD,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,IAAI,GAAG,EAAE;QACpB,uBAAuB,EAAE,EAAE;QAC3B,iBAAiB,EAAE;YACjB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,IAAI;SACb;QACD,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED,SAAgB,+BAA+B,CAAC,eAAoB;IAClE,MAAM,MAAM,GAAG,CAAC,IAAA,kBAAa,EAAC,eAAe,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;IAExG,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sFAAsF;IACtF,6FAA6F;IAC7F,6FAA6F;IAC7F,OAAO;QACL,GAAG,IAAA,gCAA2B,EAAC,MAAM,EAAE,sCAAyB,EAAE,4BAA4B,CAAC;QAC/F,sEAAsE;QACtE,yEAAyE;QACzE,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC;AACJ,CAAC;AAED,SAAgB,sBAAsB,CAAC,eAAoB;IACzD,MAAM,MAAM,GAAG,CAAC,IAAA,kBAAa,EAAC,eAAe,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;IAExG,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gFAAgF;IAChF,kFAAkF;IAClF,+EAA+E;IAC/E,oFAAoF;IACpF,mBAAmB;IACnB,OAAQ,OAAO,CAAC,cAAc,CAAC,sCAAyB,EAAE,MAAM,CAAsB,IAAI,IAAI,CAAC;AACjG,CAAC"}
|
package/lib/cjs/driver.d.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { Log } from '@spinajs/log-common';
|
|
2
|
-
import { IColumnDescriptor, IDriverOptions, ISupportedFeature,
|
|
2
|
+
import { IColumnDescriptor, IDriverOptions, IPoolOptions, ISupportedFeature, IsolationLevel, ITransactionContext, ITransactionOptions } from './interfaces.js';
|
|
3
3
|
import { SyncService, IContainer, Container } from '@spinajs/di';
|
|
4
|
-
import { UpdateQueryBuilder, SelectQueryBuilder, IndexQueryBuilder, DeleteQueryBuilder, InsertQueryBuilder, SchemaQueryBuilder,
|
|
4
|
+
import { UpdateQueryBuilder, SelectQueryBuilder, IndexQueryBuilder, DeleteQueryBuilder, InsertQueryBuilder, SchemaQueryBuilder, TruncateTableQueryBuilder, Builder } from './builders.js';
|
|
5
|
+
import { AsyncLocalStorage } from 'async_hooks';
|
|
6
|
+
import { ConnectionState, IConnectionResilienceOptions } from './resilience.js';
|
|
7
|
+
import { IPoolMetrics } from './metrics.js';
|
|
5
8
|
import './hydrators.js';
|
|
6
9
|
import './dehydrators.js';
|
|
7
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Body of a transaction. Whatever it resolves with becomes the result of `transaction()`.
|
|
12
|
+
*/
|
|
13
|
+
export type TransactionCallback<R = any> = (driver: OrmDriver) => Promise<R>;
|
|
8
14
|
export declare abstract class OrmDriver<T extends IDriverOptions = IDriverOptions> extends SyncService {
|
|
9
15
|
/**
|
|
10
16
|
* Connection options
|
|
@@ -13,6 +19,25 @@ export declare abstract class OrmDriver<T extends IDriverOptions = IDriverOption
|
|
|
13
19
|
Container: IContainer;
|
|
14
20
|
protected RootContainer: Container;
|
|
15
21
|
protected Log: Log;
|
|
22
|
+
/**
|
|
23
|
+
* Ambient transaction context.
|
|
24
|
+
*
|
|
25
|
+
* Statements executed inside a `transaction()` callback must run on that transaction's
|
|
26
|
+
* connection. This lives on the abstract driver — rather than being a MySQL implementation
|
|
27
|
+
* detail, as it used to be — so the guarantee is part of the contract and every driver
|
|
28
|
+
* inherits it.
|
|
29
|
+
*/
|
|
30
|
+
protected TransactionStorage: AsyncLocalStorage<ITransactionContext>;
|
|
31
|
+
/**
|
|
32
|
+
* Isolation levels this driver honours. Empty by default: a driver that declares nothing
|
|
33
|
+
* rejects every explicitly requested isolation level rather than quietly ignoring it.
|
|
34
|
+
*/
|
|
35
|
+
readonly SupportedIsolationLevels: IsolationLevel[];
|
|
36
|
+
/**
|
|
37
|
+
* The transaction currently in scope on this async execution path, or `undefined` outside
|
|
38
|
+
* a transaction.
|
|
39
|
+
*/
|
|
40
|
+
get CurrentTransaction(): ITransactionContext | undefined;
|
|
16
41
|
constructor(options: T);
|
|
17
42
|
/**
|
|
18
43
|
* Executes query on database
|
|
@@ -42,6 +67,68 @@ export declare abstract class OrmDriver<T extends IDriverOptions = IDriverOption
|
|
|
42
67
|
abstract supportedFeatures(): ISupportedFeature;
|
|
43
68
|
abstract tableInfo(name: string, schema?: string): Promise<IColumnDescriptor[]>;
|
|
44
69
|
resolve(): void;
|
|
70
|
+
/**
|
|
71
|
+
* Effective pool settings: `Pool.*` when given, then the deprecated `PoolLimit` for `Max`,
|
|
72
|
+
* then the defaults. Resolved in one place so every driver agrees on what "unset" means.
|
|
73
|
+
*/
|
|
74
|
+
protected resolvedPoolOptions(): Required<IPoolOptions>;
|
|
75
|
+
private _state;
|
|
76
|
+
/**
|
|
77
|
+
* Current connection lifecycle state.
|
|
78
|
+
*/
|
|
79
|
+
get State(): ConnectionState;
|
|
80
|
+
/**
|
|
81
|
+
* Records a state transition and logs it. Repeat transitions to the same state are ignored.
|
|
82
|
+
*/
|
|
83
|
+
protected setState(state: ConnectionState): void;
|
|
84
|
+
/**
|
|
85
|
+
* Effective resilience settings with defaults applied.
|
|
86
|
+
*/
|
|
87
|
+
protected resolvedResilienceOptions(): Required<IConnectionResilienceOptions>;
|
|
88
|
+
/**
|
|
89
|
+
* True when the error means the transport died rather than the statement being wrong.
|
|
90
|
+
* Drivers override to add dialect-specific codes.
|
|
91
|
+
*/
|
|
92
|
+
protected isRetryableError(err: unknown): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Runs `operation`, and on a retryable transport failure reconnects and retries with bounded
|
|
95
|
+
* exponential backoff. Query errors propagate on the first attempt untouched.
|
|
96
|
+
*/
|
|
97
|
+
protected withReconnect<R>(operation: () => Promise<R>): Promise<R>;
|
|
98
|
+
private _healthCheckTimer;
|
|
99
|
+
/**
|
|
100
|
+
* Starts the periodic health probe. Replaces the single startup `ping()` — a connection that
|
|
101
|
+
* was healthy at boot tells you nothing about a pool holding sockets to a database that has
|
|
102
|
+
* since restarted. No-op when `Resilience.HealthCheckInterval` is 0. Idempotent.
|
|
103
|
+
*/
|
|
104
|
+
startHealthCheck(): void;
|
|
105
|
+
/**
|
|
106
|
+
* Stops the periodic health probe. Idempotent.
|
|
107
|
+
*/
|
|
108
|
+
stopHealthCheck(): void;
|
|
109
|
+
/**
|
|
110
|
+
* One health probe. A failed probe degrades the driver and attempts a single reconnect; it
|
|
111
|
+
* never throws, because it runs on a timer with no caller to receive the error.
|
|
112
|
+
*/
|
|
113
|
+
protected runHealthCheck(): Promise<void>;
|
|
114
|
+
/**
|
|
115
|
+
* Point-in-time pool state. The base implementation reports an empty pool; drivers that own a
|
|
116
|
+
* real pool override it. Must never throw — it runs on the health-check timer.
|
|
117
|
+
*/
|
|
118
|
+
poolMetrics(): IPoolMetrics;
|
|
119
|
+
/**
|
|
120
|
+
* Pushes the current pool state and connection state to the shared `Metrics` registry from
|
|
121
|
+
* `@spinajs/telemetry-common`. Nothing has to be wired for this to work — `Metrics` owns a
|
|
122
|
+
* private registry and `@spinajs/telemetry`'s `/metrics` endpoint renders that same singleton.
|
|
123
|
+
*/
|
|
124
|
+
publishPoolMetrics(): void;
|
|
125
|
+
/**
|
|
126
|
+
* Records one pool-acquire wait, in SECONDS ( prometheus convention ). Drivers that own a real
|
|
127
|
+
* pool call this from the acquire callback; keeping the prom-client objects behind this method
|
|
128
|
+
* is what stops every driver from needing to know about `@spinajs/telemetry-common`. Never
|
|
129
|
+
* throws, for the same reason `publishPoolMetrics` never throws.
|
|
130
|
+
*/
|
|
131
|
+
observeAcquireSeconds(seconds: number): void;
|
|
45
132
|
/**
|
|
46
133
|
* Creates select query builder associated with this connection.
|
|
47
134
|
* This can be used to execute raw queries to db without orm model layer
|
|
@@ -77,11 +164,53 @@ export declare abstract class OrmDriver<T extends IDriverOptions = IDriverOption
|
|
|
77
164
|
*/
|
|
78
165
|
index(): IndexQueryBuilder;
|
|
79
166
|
/**
|
|
80
|
-
*
|
|
167
|
+
* Opens a transaction and returns its per-transaction context. Drivers that pool connections
|
|
168
|
+
* acquire one here and put it on the context; drivers with a single shared handle return a
|
|
169
|
+
* context without a connection.
|
|
170
|
+
*/
|
|
171
|
+
protected abstract _begin(options?: ITransactionOptions): Promise<ITransactionContext>;
|
|
172
|
+
/**
|
|
173
|
+
* Commits the transaction described by `ctx`.
|
|
174
|
+
*/
|
|
175
|
+
protected abstract _commit(ctx: ITransactionContext): Promise<void>;
|
|
176
|
+
/**
|
|
177
|
+
* Rolls the transaction described by `ctx` back.
|
|
178
|
+
*/
|
|
179
|
+
protected abstract _rollback(ctx: ITransactionContext): Promise<void>;
|
|
180
|
+
/**
|
|
181
|
+
* Takes a named savepoint inside the transaction described by `ctx`.
|
|
182
|
+
*/
|
|
183
|
+
protected abstract _savepoint(ctx: ITransactionContext, name: string): Promise<void>;
|
|
184
|
+
/**
|
|
185
|
+
* Releases a named savepoint — the nested block succeeded and its changes fold into the
|
|
186
|
+
* enclosing transaction.
|
|
187
|
+
*/
|
|
188
|
+
protected abstract _releaseSavepoint(ctx: ITransactionContext, name: string): Promise<void>;
|
|
189
|
+
/**
|
|
190
|
+
* Discards everything done since a named savepoint, leaving the enclosing transaction intact.
|
|
191
|
+
*/
|
|
192
|
+
protected abstract _rollbackToSavepoint(ctx: ITransactionContext, name: string): Promise<void>;
|
|
193
|
+
/**
|
|
194
|
+
* Releases whatever `_begin` acquired. Called exactly once per transaction, on every exit
|
|
195
|
+
* path. A no-op for drivers that acquire nothing.
|
|
196
|
+
*/
|
|
197
|
+
protected abstract _dispose(ctx: ITransactionContext): Promise<void>;
|
|
198
|
+
/**
|
|
199
|
+
* Runs `cb` inside a transaction and owns its whole lifecycle: commits when the callback
|
|
200
|
+
* resolves, rolls back when it throws, and releases the connection exactly once either way.
|
|
201
|
+
* Resolves with whatever the callback returned.
|
|
202
|
+
*
|
|
203
|
+
* Statements issued inside the callback run on this transaction's connection automatically —
|
|
204
|
+
* the context is carried through `AsyncLocalStorage`, so nothing has to be threaded through
|
|
205
|
+
* by hand.
|
|
206
|
+
*
|
|
207
|
+
* Calling it again while a transaction is already in scope on this async path does **not**
|
|
208
|
+
* open a second, independent transaction: it takes a savepoint, so a failing nested block
|
|
209
|
+
* rolls back only its own work.
|
|
81
210
|
*
|
|
82
|
-
* @param
|
|
83
|
-
*
|
|
211
|
+
* @param cb - the transaction body
|
|
212
|
+
* @param options - optional isolation level, validated against {@link SupportedIsolationLevels}
|
|
84
213
|
*/
|
|
85
|
-
|
|
214
|
+
transaction<R>(cb: TransactionCallback<R>, options?: ITransactionOptions): Promise<R>;
|
|
86
215
|
}
|
|
87
216
|
//# sourceMappingURL=driver.d.ts.map
|
package/lib/cjs/driver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/driver.ts"],"names":[],"mappings":"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"}
|