@memberjunction/core 6.1.0-edge.0 → 6.1.0-edge.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generic/baseEngineRegistry.d.ts +14 -0
- package/dist/generic/baseEngineRegistry.d.ts.map +1 -1
- package/dist/generic/baseEngineRegistry.js +32 -0
- package/dist/generic/baseEngineRegistry.js.map +1 -1
- package/dist/generic/baseEntity.d.ts +329 -26
- package/dist/generic/baseEntity.d.ts.map +1 -1
- package/dist/generic/baseEntity.js +788 -79
- package/dist/generic/baseEntity.js.map +1 -1
- package/dist/generic/databaseProviderBase.d.ts +44 -17
- package/dist/generic/databaseProviderBase.d.ts.map +1 -1
- package/dist/generic/databaseProviderBase.js +96 -52
- package/dist/generic/databaseProviderBase.js.map +1 -1
- package/dist/generic/entityCompanion.d.ts +218 -0
- package/dist/generic/entityCompanion.d.ts.map +1 -0
- package/dist/generic/entityCompanion.js +170 -0
- package/dist/generic/entityCompanion.js.map +1 -0
- package/dist/generic/entityInfo.d.ts +21 -0
- package/dist/generic/entityInfo.d.ts.map +1 -1
- package/dist/generic/entityInfo.js +21 -0
- package/dist/generic/entityInfo.js.map +1 -1
- package/dist/generic/entitySavePlan.d.ts +199 -0
- package/dist/generic/entitySavePlan.d.ts.map +1 -0
- package/dist/generic/entitySavePlan.js +213 -0
- package/dist/generic/entitySavePlan.js.map +1 -0
- package/dist/generic/entityTransactionScope.d.ts +125 -0
- package/dist/generic/entityTransactionScope.d.ts.map +1 -0
- package/dist/generic/entityTransactionScope.js +115 -0
- package/dist/generic/entityTransactionScope.js.map +1 -0
- package/dist/generic/interfaces.d.ts +93 -35
- package/dist/generic/interfaces.d.ts.map +1 -1
- package/dist/generic/interfaces.js +27 -0
- package/dist/generic/interfaces.js.map +1 -1
- package/dist/generic/providerBase.d.ts +13 -0
- package/dist/generic/providerBase.d.ts.map +1 -1
- package/dist/generic/providerBase.js +63 -4
- package/dist/generic/providerBase.js.map +1 -1
- package/dist/generic/relatedRecordBatchLoader.d.ts +39 -0
- package/dist/generic/relatedRecordBatchLoader.d.ts.map +1 -0
- package/dist/generic/relatedRecordBatchLoader.js +154 -0
- package/dist/generic/relatedRecordBatchLoader.js.map +1 -0
- package/dist/generic/relatedRecordCollection.d.ts +578 -0
- package/dist/generic/relatedRecordCollection.d.ts.map +1 -0
- package/dist/generic/relatedRecordCollection.js +1004 -0
- package/dist/generic/relatedRecordCollection.js.map +1 -0
- package/dist/generic/saveEntityGraphOperation.d.ts +148 -0
- package/dist/generic/saveEntityGraphOperation.d.ts.map +1 -0
- package/dist/generic/saveEntityGraphOperation.js +157 -0
- package/dist/generic/saveEntityGraphOperation.js.map +1 -0
- package/dist/generic/telemetryManager.d.ts +21 -1
- package/dist/generic/telemetryManager.d.ts.map +1 -1
- package/dist/generic/telemetryManager.js +21 -6
- package/dist/generic/telemetryManager.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/views/runView.d.ts +31 -0
- package/dist/views/runView.d.ts.map +1 -1
- package/dist/views/runView.js.map +1 -1
- package/package.json +3 -3
- package/readme.md +151 -1
- package/dist/generic/runReport.d.ts +0 -25
- package/dist/generic/runReport.d.ts.map +0 -1
- package/dist/generic/runReport.js +0 -38
- package/dist/generic/runReport.js.map +0 -1
|
@@ -25,7 +25,7 @@ export class DatabaseProviderBase extends ProviderBase {
|
|
|
25
25
|
super(...arguments);
|
|
26
26
|
this._dialect = null;
|
|
27
27
|
/**************************************************************************/
|
|
28
|
-
// END ----
|
|
28
|
+
// END ---- Record Duplicates & Merge
|
|
29
29
|
/**************************************************************************/
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
@@ -69,6 +69,91 @@ export class DatabaseProviderBase extends ProviderBase {
|
|
|
69
69
|
get IsInTransaction() {
|
|
70
70
|
return false;
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* The provider's current transaction nesting depth, for subclasses that track one.
|
|
74
|
+
*
|
|
75
|
+
* Distinct from {@link IsInTransaction}, which some providers deliberately leave `false` so
|
|
76
|
+
* that `RunMaybeSerial` keeps fanning out — SQL Server most notably. This accessor exists so
|
|
77
|
+
* the entity-transaction machinery can still see real nesting on those providers: it feeds
|
|
78
|
+
* {@link EntityTransactionScope.IsNested} and the out-of-order settle detection in
|
|
79
|
+
* {@link BeginEntityTransaction}. Defaults to 0 for providers that do not track depth.
|
|
80
|
+
*/
|
|
81
|
+
get CurrentTransactionDepth() {
|
|
82
|
+
return 0;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Database providers execute multi-record units of work atomically, in-process.
|
|
86
|
+
*
|
|
87
|
+
* @see ProviderBase.SupportsEntityTransactions for why the base default is `false`.
|
|
88
|
+
*/
|
|
89
|
+
get SupportsEntityTransactions() {
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Begins a transaction scope, or joins one already in flight on this provider.
|
|
94
|
+
*
|
|
95
|
+
* This is the single transaction primitive for all multi-record entity work — IS-A parent
|
|
96
|
+
* chains, composite save graphs and hand-written application cascades. It delegates to the
|
|
97
|
+
* provider's existing depth-counted {@link BeginTransaction} / {@link CommitTransaction} /
|
|
98
|
+
* {@link RollbackTransaction}, which already implement the join semantics: the outermost call
|
|
99
|
+
* issues a physical `BEGIN`, nested calls create savepoints, and only the outermost commit
|
|
100
|
+
* commits for real.
|
|
101
|
+
*
|
|
102
|
+
* Routing IS-A through here is what closed the torn-write bug described in
|
|
103
|
+
* {@link EntityTransactionScope} — the previous `BeginISATransaction()` opened a *second*
|
|
104
|
+
* physical transaction on the same pool, blind to any transaction the caller had already
|
|
105
|
+
* started.
|
|
106
|
+
*
|
|
107
|
+
* The returned scope is **settle-once**: the first `Commit()` or `Rollback()` wins and later
|
|
108
|
+
* calls are no-ops, so `try { ...; Commit() } catch { Rollback() }` is safe even when the work
|
|
109
|
+
* already unwound its own scope.
|
|
110
|
+
*
|
|
111
|
+
* @returns A scope bound to this provider's ambient transaction.
|
|
112
|
+
*/
|
|
113
|
+
async BeginEntityTransaction() {
|
|
114
|
+
// Capture nesting BEFORE beginning: once BeginTransaction() returns we are, by definition,
|
|
115
|
+
// in a transaction, so asking afterwards would always answer "nested". IsInTransaction is
|
|
116
|
+
// not enough on its own — SQL Server deliberately leaves it false (so RunMaybeSerial keeps
|
|
117
|
+
// fanning out), which made every scope on the flagship provider report IsNested === false
|
|
118
|
+
// even when joining. The depth accessor sees the truth on providers that track it.
|
|
119
|
+
const isNested = this.IsInTransaction || this.CurrentTransactionDepth > 0;
|
|
120
|
+
await this.BeginTransaction();
|
|
121
|
+
const depthAtBegin = this.CurrentTransactionDepth;
|
|
122
|
+
let settled = false;
|
|
123
|
+
const settle = async (commit) => {
|
|
124
|
+
if (settled) {
|
|
125
|
+
return; // settle-once: the first outcome wins
|
|
126
|
+
}
|
|
127
|
+
settled = true;
|
|
128
|
+
// Out-of-order settle detection. Depth pairing is strictly LIFO: a scope must settle
|
|
129
|
+
// while the provider sits at the depth its own begin produced. A mismatch means two
|
|
130
|
+
// units of work interleaved their scopes on ONE provider instance — concurrent
|
|
131
|
+
// transactional saves on a shared provider — so this commit/rollback is about to
|
|
132
|
+
// settle the WRONG savepoint, silently entangling both units' writes in one physical
|
|
133
|
+
// transaction. That corruption otherwise has no witness at all, so be loud about it.
|
|
134
|
+
// (Providers that do not track depth report 0/0 and never trip this.)
|
|
135
|
+
const depthNow = this.CurrentTransactionDepth;
|
|
136
|
+
if (depthAtBegin > 0 && depthNow !== depthAtBegin) {
|
|
137
|
+
LogError(`EntityTransactionScope settled out of order on ${this.constructor.name}: the scope began at ` +
|
|
138
|
+
`transaction depth ${depthAtBegin} but the provider is now at depth ${depthNow}. Two ` +
|
|
139
|
+
`transactional units of work are interleaving on one provider instance, so their writes share ` +
|
|
140
|
+
`one physical transaction and a rollback by either can silently undo the other's committed ` +
|
|
141
|
+
`work. Do not run concurrent transactional saves on a shared provider instance — use ` +
|
|
142
|
+
`per-request providers (as MJServer does) or serialize the units of work.`);
|
|
143
|
+
}
|
|
144
|
+
if (commit) {
|
|
145
|
+
await this.CommitTransaction();
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
await this.RollbackTransaction();
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
return {
|
|
152
|
+
IsNested: isNested,
|
|
153
|
+
Commit: () => settle(true),
|
|
154
|
+
Rollback: () => settle(false),
|
|
155
|
+
};
|
|
156
|
+
}
|
|
72
157
|
/**
|
|
73
158
|
* Returns the database platform key for this provider.
|
|
74
159
|
* Override in subclasses. Defaults to 'sqlserver' for backward compatibility.
|
|
@@ -632,14 +717,16 @@ export class DatabaseProviderBase extends ProviderBase {
|
|
|
632
717
|
// ISA overlapping-subtype record-change propagation is DB-agnostic: if the save SQL
|
|
633
718
|
// generation populated `overlappingChangeData` in extraData and the entity tracks
|
|
634
719
|
// record changes across multiple subtypes, fan the change record out to siblings.
|
|
635
|
-
//
|
|
636
|
-
//
|
|
720
|
+
//
|
|
721
|
+
// No explicit `connectionSource` is supplied: the sibling writes must land in the same
|
|
722
|
+
// transaction as the save that triggered them, and that is exactly what happens by default
|
|
723
|
+
// — every ExecuteSQL call without an explicit source runs on the provider's ambient
|
|
724
|
+
// transaction, which BeginEntityTransaction() opened (or joined) for this unit of work.
|
|
637
725
|
const overlappingChangeData = saveSQLResult.extraData?.overlappingChangeData;
|
|
638
726
|
if (overlappingChangeData &&
|
|
639
727
|
entity.EntityInfo.AllowMultipleSubtypes &&
|
|
640
728
|
entity.EntityInfo.TrackRecordChanges) {
|
|
641
|
-
|
|
642
|
-
await this.PropagateRecordChangesToSiblings(entity.EntityInfo, overlappingChangeData, entity.PrimaryKey.Values(), user?.ID ?? '', options.ISAActiveChildEntityName, transaction ? { connectionSource: transaction } : undefined);
|
|
729
|
+
await this.PropagateRecordChangesToSiblings(entity.EntityInfo, overlappingChangeData, entity.PrimaryKey.Values(), user?.ID ?? '', options.ISAActiveChildEntityName);
|
|
643
730
|
}
|
|
644
731
|
return null;
|
|
645
732
|
}
|
|
@@ -1344,9 +1431,12 @@ export class DatabaseProviderBase extends ProviderBase {
|
|
|
1344
1431
|
* @param baseType The operation type
|
|
1345
1432
|
* @param before True for before-hooks, false for after-hooks
|
|
1346
1433
|
* @param user The acting user
|
|
1434
|
+
* @param originatingEntityActionIDs Entity Actions that caused this save/delete, from
|
|
1435
|
+
* `EntitySaveOptions.OriginatingEntityActionIDs`. After-hooks skip them, so an action
|
|
1436
|
+
* writing back on the record that triggered it does not re-fire itself.
|
|
1347
1437
|
* @returns Array of action results (empty by default)
|
|
1348
1438
|
*/
|
|
1349
|
-
async HandleEntityActions(_entity, _baseType, _before, _user) {
|
|
1439
|
+
async HandleEntityActions(_entity, _baseType, _before, _user, _originatingEntityActionIDs) {
|
|
1350
1440
|
return [];
|
|
1351
1441
|
}
|
|
1352
1442
|
/**
|
|
@@ -1715,51 +1805,5 @@ export class DatabaseProviderBase extends ProviderBase {
|
|
|
1715
1805
|
LogError(err);
|
|
1716
1806
|
}
|
|
1717
1807
|
}
|
|
1718
|
-
/**************************************************************************/
|
|
1719
|
-
// END ---- Record Duplicates & Merge
|
|
1720
|
-
/**************************************************************************/
|
|
1721
|
-
/**************************************************************************/
|
|
1722
|
-
// START ---- RunReport
|
|
1723
|
-
/**************************************************************************/
|
|
1724
|
-
/**
|
|
1725
|
-
* Runs a report by looking up its SQL definition from vwReports and executing it.
|
|
1726
|
-
* Both SQL Server and PostgreSQL share this logic — the only dialect difference
|
|
1727
|
-
* is identifier quoting, handled by QuoteIdentifier/QuoteSchemaAndView.
|
|
1728
|
-
*
|
|
1729
|
-
* @param params Report parameters including ReportID
|
|
1730
|
-
* @param contextUser Optional context user for permission/audit purposes
|
|
1731
|
-
* @deprecated Reports are no longer supported and will eventually be removed. Interactive Components and Artifacts are replacements
|
|
1732
|
-
*/
|
|
1733
|
-
async RunReport(params, contextUser) {
|
|
1734
|
-
const reportID = params.ReportID;
|
|
1735
|
-
const safeReportID = reportID.replace(/'/g, "''");
|
|
1736
|
-
const sqlReport = `SELECT ${this.QuoteIdentifier('ReportSQL')} FROM ${this.QuoteSchemaAndView(this.MJCoreSchemaName, 'vwReports')} WHERE ${this.QuoteIdentifier('ID')} = '${safeReportID}'`;
|
|
1737
|
-
const reportInfo = await this.ExecuteSQL(sqlReport, undefined, undefined, contextUser);
|
|
1738
|
-
if (reportInfo && reportInfo.length > 0) {
|
|
1739
|
-
const start = Date.now();
|
|
1740
|
-
const sql = String(reportInfo[0].ReportSQL);
|
|
1741
|
-
const result = await this.ExecuteSQL(sql, undefined, undefined, contextUser);
|
|
1742
|
-
const end = Date.now();
|
|
1743
|
-
if (result)
|
|
1744
|
-
return {
|
|
1745
|
-
Success: true,
|
|
1746
|
-
ReportID: reportID,
|
|
1747
|
-
Results: result,
|
|
1748
|
-
RowCount: result.length,
|
|
1749
|
-
ExecutionTime: end - start,
|
|
1750
|
-
ErrorMessage: '',
|
|
1751
|
-
};
|
|
1752
|
-
else
|
|
1753
|
-
return {
|
|
1754
|
-
Success: false,
|
|
1755
|
-
ReportID: reportID,
|
|
1756
|
-
Results: [],
|
|
1757
|
-
RowCount: 0,
|
|
1758
|
-
ExecutionTime: end - start,
|
|
1759
|
-
ErrorMessage: 'Error running report SQL',
|
|
1760
|
-
};
|
|
1761
|
-
}
|
|
1762
|
-
return { Success: false, ReportID: reportID, Results: [], RowCount: 0, ExecutionTime: 0, ErrorMessage: 'Report not found' };
|
|
1763
|
-
}
|
|
1764
1808
|
}
|
|
1765
1809
|
//# sourceMappingURL=databaseProviderBase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"databaseProviderBase.js","sourceRoot":"","sources":["../../src/generic/databaseProviderBase.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"databaseProviderBase.js","sourceRoot":"","sources":["../../src/generic/databaseProviderBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Entity Companions — named, serialisable side-channels attached to a `BaseEntity`.
|
|
3
|
+
*
|
|
4
|
+
* ## What a companion is
|
|
5
|
+
*
|
|
6
|
+
* A companion is a piece of state that belongs to a record but is **not one of its fields**, and
|
|
7
|
+
* that needs to travel with the record across the client/server boundary, participate in its
|
|
8
|
+
* validation, and contribute work to its save.
|
|
9
|
+
*
|
|
10
|
+
* The canonical example is a child collection — an order's lines, a journal entry's lines, a
|
|
11
|
+
* payment's allocations — but the abstraction is deliberately not about children. It is about
|
|
12
|
+
* "extra state that rides with the record", because MemberJunction has grown that concept ad hoc
|
|
13
|
+
* three times already:
|
|
14
|
+
*
|
|
15
|
+
* - `OldValues___` on the generated GraphQL save input (concurrency check payload)
|
|
16
|
+
* - `RestoreContext___` on the same input (restore lineage for the RecordChange row)
|
|
17
|
+
* - `EntityObjectJSON` in the TransactionGroup wire format (a whole record as opaque JSON)
|
|
18
|
+
*
|
|
19
|
+
* Each solved its own problem with its own bespoke slot, resolver branch and hand-written
|
|
20
|
+
* serialisation. Companions give the next such need — and the ones already in flight — one
|
|
21
|
+
* mechanism instead of a fourth bespoke field.
|
|
22
|
+
*
|
|
23
|
+
* ## What a companion is not
|
|
24
|
+
*
|
|
25
|
+
* A companion is **not** a way to smuggle arbitrary untyped data through the platform. Every
|
|
26
|
+
* companion has a stable {@link EntityCompanion.Name}, a typed wire shape, and explicit control
|
|
27
|
+
* over what it contributes to validation and save. Data with no owner and no contract belongs in a
|
|
28
|
+
* field, not here.
|
|
29
|
+
*
|
|
30
|
+
* ## Lifecycle
|
|
31
|
+
*
|
|
32
|
+
* ```text
|
|
33
|
+
* declare → subclass constructor calls RegisterCompanion() (usually via DeclareRelatedRecords())
|
|
34
|
+
* load → BaseEntity.Load()/LoadFromData() gives eager companions a chance to populate
|
|
35
|
+
* mutate → application code works with the typed companion API
|
|
36
|
+
* validate → BaseEntity.Validate()/ValidateAsync() fans out to every companion
|
|
37
|
+
* save → companions contribute nodes to the EntitySavePlan; the graph executes atomically
|
|
38
|
+
* transport→ Serialize() on the way out, Deserialize() on the way in
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* @module @memberjunction/core
|
|
42
|
+
*/
|
|
43
|
+
import { BaseEntity } from './baseEntity.js';
|
|
44
|
+
import { ValidationResult } from './entityInfo.js';
|
|
45
|
+
import type { EntitySavePlan } from './entitySavePlan.js';
|
|
46
|
+
import type { EntitySaveOptions } from './interfaces.js';
|
|
47
|
+
/**
|
|
48
|
+
* The serialized form of a single companion as it crosses the wire.
|
|
49
|
+
*
|
|
50
|
+
* Deliberately minimal: a stable name plus an opaque JSON payload. Keeping the payload opaque is
|
|
51
|
+
* what lets a new companion type ship without touching the transport, the resolvers, or CodeGen.
|
|
52
|
+
*/
|
|
53
|
+
export type EntityCompanionPayload = {
|
|
54
|
+
/** The companion's stable {@link EntityCompanion.Name}. */
|
|
55
|
+
Name: string;
|
|
56
|
+
/** The companion's own serialized state, JSON-safe. */
|
|
57
|
+
Data: unknown;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* The property name under which companion payloads are carried inside the plain object produced by
|
|
61
|
+
* `BaseEntity.GetDataObject()` and consumed by `BaseEntity.LoadFromData()`.
|
|
62
|
+
*
|
|
63
|
+
* The trailing triple underscore follows the convention already set by `OldValues___` and
|
|
64
|
+
* `RestoreContext___`: it marks a reserved, non-field slot and makes accidental collision with a
|
|
65
|
+
* real column name effectively impossible.
|
|
66
|
+
*/
|
|
67
|
+
export declare const COMPANION_PAYLOAD_KEY = "Companions___";
|
|
68
|
+
/**
|
|
69
|
+
* Which direction a companion payload is travelling, which changes what the receiver must do with
|
|
70
|
+
* it.
|
|
71
|
+
*
|
|
72
|
+
* - `'request'` — the payload is a **caller's intent**, arriving at the tier that will persist it.
|
|
73
|
+
* Records that already exist must be loaded from the database first, so dirty tracking and
|
|
74
|
+
* old-value comparisons are computed against real stored values. Skipping that load makes an
|
|
75
|
+
* edited record look clean (old == new), its save is skipped, and the edit is silently lost.
|
|
76
|
+
* - `'result'` — the payload is **authoritative post-save state** coming back from the tier that
|
|
77
|
+
* just persisted it. It is adopted as-is: no queries, and the records land clean. Re-loading here
|
|
78
|
+
* would be one wasted round trip per record for data the sender already has.
|
|
79
|
+
*/
|
|
80
|
+
export type EntityCompanionDeserializeMode = 'request' | 'result';
|
|
81
|
+
/**
|
|
82
|
+
* Base class for all entity companions.
|
|
83
|
+
*
|
|
84
|
+
* Subclass this only when you need a genuinely new *kind* of companion. For the common case of a
|
|
85
|
+
* parent/child collection, use `RelatedRecordCollection<T>` via `BaseEntity.DeclareRelatedRecords()` rather than
|
|
86
|
+
* writing a companion by hand.
|
|
87
|
+
*
|
|
88
|
+
* @typeParam TWire - The JSON-safe shape this companion serializes to and from.
|
|
89
|
+
*
|
|
90
|
+
* @example Declaring a custom companion on a shared (client + server) entity subclass
|
|
91
|
+
* ```typescript
|
|
92
|
+
* class ApprovalTrailCompanion extends EntityCompanion<ApprovalWire> {
|
|
93
|
+
* public readonly Name = 'ApprovalTrail';
|
|
94
|
+
*
|
|
95
|
+
* public async Serialize(): Promise<ApprovalWire | null> {
|
|
96
|
+
* return this.entries.length ? { Entries: this.entries } : null;
|
|
97
|
+
* }
|
|
98
|
+
*
|
|
99
|
+
* public async Deserialize(data: ApprovalWire): Promise<void> {
|
|
100
|
+
* this.entries = data.Entries ?? [];
|
|
101
|
+
* }
|
|
102
|
+
* }
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
export declare abstract class EntityCompanion<TWire = unknown> {
|
|
106
|
+
/**
|
|
107
|
+
* The entity this companion is attached to. Set by {@link BaseEntity.RegisterCompanion}.
|
|
108
|
+
*/
|
|
109
|
+
readonly Owner: BaseEntity;
|
|
110
|
+
/**
|
|
111
|
+
* @param owner - The entity this companion belongs to.
|
|
112
|
+
*/
|
|
113
|
+
constructor(owner: BaseEntity);
|
|
114
|
+
/**
|
|
115
|
+
* Stable identifier for this companion, unique within its owning entity.
|
|
116
|
+
*
|
|
117
|
+
* This is the wire key: it appears in serialized payloads and is how the receiving tier finds
|
|
118
|
+
* the companion to deserialize into. **Treat it as a published contract** — renaming it breaks
|
|
119
|
+
* in-flight payloads and any persisted snapshot that captured them.
|
|
120
|
+
*/
|
|
121
|
+
abstract readonly Name: string;
|
|
122
|
+
/**
|
|
123
|
+
* Produces this companion's JSON-safe state for transport, or `null` when it has nothing to
|
|
124
|
+
* send.
|
|
125
|
+
*
|
|
126
|
+
* Returning `null` keeps the companion out of the payload entirely, which matters: a save that
|
|
127
|
+
* touches only header fields should not ship an empty children array and pay for it on every
|
|
128
|
+
* request.
|
|
129
|
+
*
|
|
130
|
+
* @returns The wire payload, or `null` to omit this companion.
|
|
131
|
+
*/
|
|
132
|
+
abstract Serialize(): Promise<TWire | null>;
|
|
133
|
+
/**
|
|
134
|
+
* Restores this companion's state from a wire payload produced by {@link Serialize} on the
|
|
135
|
+
* other tier.
|
|
136
|
+
*
|
|
137
|
+
* Implementations must be tolerant of payloads written by an older version of themselves —
|
|
138
|
+
* a companion is a wire contract, and rolling deploys mean both versions run at once.
|
|
139
|
+
*
|
|
140
|
+
* @param data - The payload previously produced by {@link Serialize}.
|
|
141
|
+
* @param mode - Whether this payload is an inbound request or an authoritative result. See
|
|
142
|
+
* {@link EntityCompanionDeserializeMode}; the distinction is load-bearing.
|
|
143
|
+
*/
|
|
144
|
+
abstract Deserialize(data: TWire, mode: EntityCompanionDeserializeMode): Promise<void>;
|
|
145
|
+
/**
|
|
146
|
+
* Whether this companion holds unsaved changes.
|
|
147
|
+
*
|
|
148
|
+
* Rolled up into `BaseEntity.Dirty`, which is what makes a save actually happen when only the
|
|
149
|
+
* companion changed. Before companions existed, a clean parent with three new children returned
|
|
150
|
+
* early from `Save()` and silently persisted nothing.
|
|
151
|
+
*
|
|
152
|
+
* @returns True when saving would produce work.
|
|
153
|
+
*/
|
|
154
|
+
get Dirty(): boolean;
|
|
155
|
+
/**
|
|
156
|
+
* Synchronous, in-memory validation contributed by this companion.
|
|
157
|
+
*
|
|
158
|
+
* Runs as part of the owner's `Validate()`, **before any write**, over the companion's complete
|
|
159
|
+
* state — including pending removals. That ordering is what lets cross-child invariants such as
|
|
160
|
+
* "debits must equal credits" be enforced correctly rather than after half the graph has landed.
|
|
161
|
+
*
|
|
162
|
+
* Push errors onto `result.Errors` and set `result.Success = false` to fail the save.
|
|
163
|
+
*
|
|
164
|
+
* @param _result - The accumulating validation result to contribute to.
|
|
165
|
+
*/
|
|
166
|
+
Validate(_result: ValidationResult): void;
|
|
167
|
+
/**
|
|
168
|
+
* Asynchronous validation contributed by this companion — anything that needs a round trip.
|
|
169
|
+
*
|
|
170
|
+
* @remarks
|
|
171
|
+
* Unlike an entity's own `ValidateAsync()`, this is **not** governed by
|
|
172
|
+
* `BaseEntity.DefaultSkipAsyncValidation`. That flag exists so an entity can opt out of its own
|
|
173
|
+
* expensive async rules; applying it to companions silently skipped cross-child invariants,
|
|
174
|
+
* which is how `OrderEntityServer.ValidateAsync` came to be dead code on every save. Companion
|
|
175
|
+
* validation runs whenever the companion is dirty.
|
|
176
|
+
*
|
|
177
|
+
* @param _result - The accumulating validation result to contribute to.
|
|
178
|
+
*/
|
|
179
|
+
ValidateAsync(_result: ValidationResult): Promise<void>;
|
|
180
|
+
/**
|
|
181
|
+
* Contributes this companion's work to the owner's save plan.
|
|
182
|
+
*
|
|
183
|
+
* Called after the owner's own node has been added, so implementations may assume the parent
|
|
184
|
+
* node exists and order their nodes relative to it. Add nothing when there is no work — an
|
|
185
|
+
* empty contribution keeps the save on the fast single-row path.
|
|
186
|
+
*
|
|
187
|
+
* @param _plan - The plan being assembled for this unit of work.
|
|
188
|
+
* @param _options - The caller's save options. Implementations that decide what counts as work
|
|
189
|
+
* (skipping clean children, most importantly) must honor flags such as
|
|
190
|
+
* `IgnoreDirtyState` that demand a full write-out.
|
|
191
|
+
*/
|
|
192
|
+
ContributeSaveWork(_plan: EntitySavePlan, _options?: EntitySaveOptions): void;
|
|
193
|
+
/**
|
|
194
|
+
* Contributes this companion's work to the owner's delete plan.
|
|
195
|
+
*
|
|
196
|
+
* Called before the owner's own node, because children must generally be removed before the
|
|
197
|
+
* parent row they point at. Implementations that rely on database-level cascade delete should
|
|
198
|
+
* contribute nothing.
|
|
199
|
+
*
|
|
200
|
+
* @param _plan - The plan being assembled for this unit of work.
|
|
201
|
+
*/
|
|
202
|
+
ContributeDeleteWork(_plan: EntitySavePlan): void;
|
|
203
|
+
/**
|
|
204
|
+
* Populates this companion from the database, when it is configured to load eagerly.
|
|
205
|
+
*
|
|
206
|
+
* Called by `BaseEntity.Load()` after the record's own fields are populated. **Never** called
|
|
207
|
+
* from `LoadFromData()` — that is the row-materialization path for
|
|
208
|
+
* `RunView(ResultType:'entity_object')`, so loading children there turns one view into an N+1
|
|
209
|
+
* storm. Set-oriented eager loading is handled by `RunView`'s batched child loading instead.
|
|
210
|
+
*/
|
|
211
|
+
LoadEager(): Promise<void>;
|
|
212
|
+
/**
|
|
213
|
+
* Resets the companion to its post-save state — clearing pending removals, rebasing dirty
|
|
214
|
+
* tracking, and so on. Called after the graph commits successfully.
|
|
215
|
+
*/
|
|
216
|
+
AcceptChanges(): void;
|
|
217
|
+
}
|
|
218
|
+
//# sourceMappingURL=entityCompanion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entityCompanion.d.ts","sourceRoot":"","sources":["../../src/generic/entityCompanion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,8BAA8B,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,8BAAsB,eAAe,CAAC,KAAK,GAAG,OAAO;IACjD;;OAEG;IACH,SAAgB,KAAK,EAAE,UAAU,CAAC;IAElC;;OAEG;gBACS,KAAK,EAAE,UAAU;IAI7B;;;;;;OAMG;IACH,kBAAyB,IAAI,EAAE,MAAM,CAAC;IAEtC;;;;;;;;;OASG;aACa,SAAS,IAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAElD;;;;;;;;;;OAUG;aACa,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAE7F;;;;;;;;OAQG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED;;;;;;;;;;OAUG;IACI,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAIhD;;;;;;;;;;;OAWG;IACU,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE;;;;;;;;;;;OAWG;IACI,kBAAkB,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAIpF;;;;;;;;OAQG;IACI,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAIxD;;;;;;;OAOG;IACU,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvC;;;OAGG;IACI,aAAa,IAAI,IAAI;CAG/B"}
|