@memberjunction/version-history 6.2.0-edge.0 → 6.2.0-edge.2
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 +3 -0
- package/dist/DependencyGraphWalker.d.ts +3 -166
- package/dist/DependencyGraphWalker.d.ts.map +1 -1
- package/dist/DependencyGraphWalker.js +3 -503
- package/dist/DependencyGraphWalker.js.map +1 -1
- package/dist/DiffEngine.js +17 -17
- package/dist/LabelManager.js +8 -8
- package/dist/RestoreEngine.d.ts +3 -2
- package/dist/RestoreEngine.d.ts.map +1 -1
- package/dist/RestoreEngine.js +16 -52
- package/dist/RestoreEngine.js.map +1 -1
- package/dist/SnapshotBuilder.d.ts +1 -1
- package/dist/SnapshotBuilder.js +7 -7
- package/dist/VersionHistoryEngine.d.ts +7 -6
- package/dist/VersionHistoryEngine.d.ts.map +1 -1
- package/dist/VersionHistoryEngine.js +18 -18
- package/dist/VersionHistoryEngine.js.map +1 -1
- package/dist/constants.d.ts +5 -48
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +16 -73
- package/dist/constants.js.map +1 -1
- package/dist/types.d.ts +2 -35
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -4
package/dist/constants.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared constants and utilities for the version-history package.
|
|
3
3
|
*/
|
|
4
|
-
import { EscapeSQLString } from '@memberjunction/global';
|
|
5
4
|
// ---------------------------------------------------------------------------
|
|
6
5
|
// Entity name constants
|
|
7
6
|
// ---------------------------------------------------------------------------
|
|
@@ -14,75 +13,11 @@ export const ENTITY_VERSION_LABEL_RESTORES = 'MJ: Version Label Restores';
|
|
|
14
13
|
/** Entity name for Record Changes */
|
|
15
14
|
export const ENTITY_RECORD_CHANGES = 'MJ: Record Changes';
|
|
16
15
|
// ---------------------------------------------------------------------------
|
|
17
|
-
// SQL safety utilities
|
|
16
|
+
// SQL safety & Composite key utilities
|
|
17
|
+
// NOTE: Moved to @memberjunction/record-graph. Re-exported here for backward compatibility.
|
|
18
18
|
// ---------------------------------------------------------------------------
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
*
|
|
22
|
-
* @deprecated Import `EscapeSQLString` from `@memberjunction/global` instead — it is the one
|
|
23
|
-
* canonical escaper. This alias remains only so external callers do not break; it will be
|
|
24
|
-
* removed in the next major.
|
|
25
|
-
*/
|
|
26
|
-
export const escapeSqlString = (value) => EscapeSQLString(value);
|
|
27
|
-
/**
|
|
28
|
-
* Build a safe SQL equality filter: FieldName = 'escapedValue'
|
|
29
|
-
*/
|
|
30
|
-
export function sqlEquals(fieldName, value) {
|
|
31
|
-
return `${fieldName} = '${EscapeSQLString(value)}'`;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Build a safe SQL LIKE filter: FieldName LIKE '%escapedValue%'
|
|
35
|
-
*
|
|
36
|
-
* NOTE: `EscapeSQLString` neutralises quotes but NOT LIKE metacharacters — a `value` containing
|
|
37
|
-
* `%`, `_` or `[` is still interpreted as a wildcard pattern rather than as literal text. That is
|
|
38
|
-
* the long-standing behaviour of this helper and callers depend on it. If you need a literal
|
|
39
|
-
* match, escape the metacharacters and add `ESCAPE '\'` (see `escapeLikeValue()` in
|
|
40
|
-
* `@memberjunction/core`, `generic/runQuerySQLFilterImplementations.ts`).
|
|
41
|
-
*/
|
|
42
|
-
export function sqlContains(fieldName, value) {
|
|
43
|
-
return `${fieldName} LIKE '%${EscapeSQLString(value)}%'`;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Build a safe SQL IN filter: FieldName IN ('a','b','c')
|
|
47
|
-
*/
|
|
48
|
-
export function sqlIn(fieldName, values) {
|
|
49
|
-
const escaped = values.map(v => `'${EscapeSQLString(v)}'`).join(', ');
|
|
50
|
-
return `${fieldName} IN (${escaped})`;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Build a safe SQL NOT IN filter: FieldName NOT IN ('a','b','c')
|
|
54
|
-
*/
|
|
55
|
-
export function sqlNotIn(fieldName, values) {
|
|
56
|
-
const escaped = values.map(v => `'${EscapeSQLString(v)}'`).join(', ');
|
|
57
|
-
return `${fieldName} NOT IN (${escaped})`;
|
|
58
|
-
}
|
|
59
|
-
// ---------------------------------------------------------------------------
|
|
60
|
-
// Composite key utilities
|
|
61
|
-
// ---------------------------------------------------------------------------
|
|
62
|
-
import { CompositeKey } from '@memberjunction/core';
|
|
63
|
-
/**
|
|
64
|
-
* Build a CompositeKey from entity metadata and a record data object.
|
|
65
|
-
* Shared utility to avoid duplication across Walker and SnapshotBuilder.
|
|
66
|
-
*/
|
|
67
|
-
export function buildCompositeKeyFromRecord(entityInfo, record) {
|
|
68
|
-
return CompositeKey.FromEntityRecord(entityInfo, record);
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Build a CompositeKey for loading from a stored record id. Accepts the bare value of a
|
|
72
|
-
* single-column key (any column name) or the `Field1|Value1||Field2|Value2` segment Record
|
|
73
|
-
* Changes / Version Label Items persist, so composite keys load too.
|
|
74
|
-
*/
|
|
75
|
-
export function buildPrimaryKeyForLoad(entityInfo, value) {
|
|
76
|
-
return CompositeKey.FromURLSegment(entityInfo, value);
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Build a CompositeKey for an entity that we know uses 'ID' as PK.
|
|
80
|
-
* Only for MJ system entities (VersionLabel, VersionLabelItem, etc.)
|
|
81
|
-
* where we control the schema and know the PK is always 'ID'.
|
|
82
|
-
*/
|
|
83
|
-
export function buildIdKey(id) {
|
|
84
|
-
return CompositeKey.FromID(id); // first-pk-ok: documented for MJ system entities only (Version Labels / Label Items / Restores / Record Changes), whose key is ID
|
|
85
|
-
}
|
|
19
|
+
export { escapeSqlString, SqlEquals, sqlEquals, SqlContains, sqlContains, SqlIn, sqlIn, SqlNotIn, sqlNotIn, BuildCompositeKeyFromRecord, buildCompositeKeyFromRecord, BuildPrimaryKeyForLoad, buildPrimaryKeyForLoad, BuildIdKey, buildIdKey, } from '@memberjunction/record-graph';
|
|
20
|
+
import { SqlEquals, BuildPrimaryKeyForLoad } from '@memberjunction/record-graph';
|
|
86
21
|
// ---------------------------------------------------------------------------
|
|
87
22
|
// Record change utilities
|
|
88
23
|
// ---------------------------------------------------------------------------
|
|
@@ -92,11 +27,11 @@ import { Metadata, RunView, LogError } from '@memberjunction/core';
|
|
|
92
27
|
* Returns parsed JSON or null on failure.
|
|
93
28
|
* Shared by DiffEngine and RestoreEngine.
|
|
94
29
|
*/
|
|
95
|
-
export async function
|
|
30
|
+
export async function LoadRecordChangeSnapshot(recordChangeId, contextUser) {
|
|
96
31
|
const rv = new RunView();
|
|
97
32
|
const result = await rv.RunView({
|
|
98
33
|
EntityName: ENTITY_RECORD_CHANGES,
|
|
99
|
-
ExtraFilter:
|
|
34
|
+
ExtraFilter: SqlEquals('ID', recordChangeId),
|
|
100
35
|
// 'EntityID' is required, not decorative: field-level security projects a Record Change's
|
|
101
36
|
// payload against the entity the row is ABOUT, and a row arriving without EntityID cannot be
|
|
102
37
|
// resolved — so the payload is withheld. See guides/FIELD_LEVEL_SECURITY_GUIDE.md §3.2.
|
|
@@ -126,11 +61,15 @@ export async function loadRecordChangeSnapshot(recordChangeId, contextUser) {
|
|
|
126
61
|
return null;
|
|
127
62
|
}
|
|
128
63
|
}
|
|
64
|
+
/** @deprecated Use {@link LoadRecordChangeSnapshot}. */
|
|
65
|
+
export async function loadRecordChangeSnapshot(recordChangeId, contextUser) {
|
|
66
|
+
return LoadRecordChangeSnapshot(recordChangeId, contextUser);
|
|
67
|
+
}
|
|
129
68
|
/**
|
|
130
69
|
* Load a strongly-typed entity by its ID using InnerLoad with the entity's actual PK name.
|
|
131
70
|
* Returns null if not found or on error.
|
|
132
71
|
*/
|
|
133
|
-
export async function
|
|
72
|
+
export async function LoadEntityById(entityName, id, contextUser, provider) {
|
|
134
73
|
const md = provider ?? Metadata.Provider;
|
|
135
74
|
const entityInfo = md.EntityByName(entityName);
|
|
136
75
|
if (!entityInfo) {
|
|
@@ -138,10 +77,14 @@ export async function loadEntityById(entityName, id, contextUser, provider) {
|
|
|
138
77
|
return null;
|
|
139
78
|
}
|
|
140
79
|
const entity = await md.GetEntityObject(entityName, contextUser);
|
|
141
|
-
const key =
|
|
80
|
+
const key = BuildPrimaryKeyForLoad(entityInfo, id);
|
|
142
81
|
const loaded = await entity.InnerLoad(key);
|
|
143
82
|
if (!loaded)
|
|
144
83
|
return null;
|
|
145
84
|
return entity;
|
|
146
85
|
}
|
|
86
|
+
/** @deprecated Use {@link LoadEntityById}. */
|
|
87
|
+
export async function loadEntityById(entityName, id, contextUser, provider) {
|
|
88
|
+
return LoadEntityById(entityName, id, contextUser, provider);
|
|
89
|
+
}
|
|
147
90
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CompositeKey
|
|
1
|
+
import { CompositeKey } from '@memberjunction/core';
|
|
2
2
|
/**
|
|
3
3
|
* The breadth of a version label.
|
|
4
4
|
* - System: captures all tracked entities
|
|
@@ -112,40 +112,7 @@ export interface RecordSnapshot {
|
|
|
112
112
|
/** Full record data as parsed JSON */
|
|
113
113
|
FullRecordJSON: Record<string, unknown>;
|
|
114
114
|
}
|
|
115
|
-
|
|
116
|
-
* A node in a record dependency graph.
|
|
117
|
-
*/
|
|
118
|
-
export interface DependencyNode {
|
|
119
|
-
/** Entity name */
|
|
120
|
-
EntityName: string;
|
|
121
|
-
/** Entity metadata */
|
|
122
|
-
EntityInfo: EntityInfo;
|
|
123
|
-
/** The record's primary key */
|
|
124
|
-
RecordKey: CompositeKey;
|
|
125
|
-
/** The record's primary key as a concatenated string */
|
|
126
|
-
RecordID: string;
|
|
127
|
-
/** Current field values of the record */
|
|
128
|
-
RecordData: Record<string, unknown>;
|
|
129
|
-
/** Relationship from parent to this node (null for root) */
|
|
130
|
-
Relationship: EntityRelationshipInfo | null;
|
|
131
|
-
/** Child/dependent record nodes */
|
|
132
|
-
Children: DependencyNode[];
|
|
133
|
-
/** Depth in the graph (0 = root) */
|
|
134
|
-
Depth: number;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Options for walking the dependency graph.
|
|
138
|
-
*/
|
|
139
|
-
export interface WalkOptions {
|
|
140
|
-
/** Maximum recursion depth (default: 10) */
|
|
141
|
-
MaxDepth?: number;
|
|
142
|
-
/** Only include these entities */
|
|
143
|
-
EntityFilter?: string[];
|
|
144
|
-
/** Skip these entities */
|
|
145
|
-
ExcludeEntities?: string[];
|
|
146
|
-
/** Include soft-deleted records (default: false) */
|
|
147
|
-
IncludeDeleted?: boolean;
|
|
148
|
-
}
|
|
115
|
+
export type { DependencyNode, GraphNode, WalkOptions, WalkStats, GraphEdge, EdgeKind, } from '@memberjunction/record-graph';
|
|
149
116
|
/**
|
|
150
117
|
* The result of comparing two labels or a label to the current state.
|
|
151
118
|
*/
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/version-history",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "6.2.0-edge.
|
|
4
|
+
"version": "6.2.0-edge.2",
|
|
5
5
|
"description": "Server-side version history engine providing label-based versioning, dependency-graph snapshots, cross-entity diffs, and point-in-time restore for MemberJunction record changes",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -14,9 +14,10 @@
|
|
|
14
14
|
"typescript": "^5.9.3"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@memberjunction/core": "6.2.0-edge.
|
|
18
|
-
"@memberjunction/core-entities": "6.2.0-edge.
|
|
19
|
-
"@memberjunction/global": "6.2.0-edge.
|
|
17
|
+
"@memberjunction/core": "6.2.0-edge.2",
|
|
18
|
+
"@memberjunction/core-entities": "6.2.0-edge.2",
|
|
19
|
+
"@memberjunction/global": "6.2.0-edge.2",
|
|
20
|
+
"@memberjunction/record-graph": "6.2.0-edge.2"
|
|
20
21
|
},
|
|
21
22
|
"repository": {
|
|
22
23
|
"type": "git",
|