@memberjunction/connector-totara 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derived collections — expanding a parent object's embedded JSON arrays into
|
|
3
|
+
* first-class child objects, in the connector, on the engine versions tenants
|
|
4
|
+
* actually run.
|
|
5
|
+
*
|
|
6
|
+
* Why this exists (profiled live, 2026-08-19): Totara's read functions return
|
|
7
|
+
* nested arrays on their records — `Enrolled_Users.roles` / `.groups` (per-course
|
|
8
|
+
* role and group membership), `Users.customfields` (EAV custom fields: name,
|
|
9
|
+
* shortname, type, value), `Course_Contents.modules` (the modules of each course
|
|
10
|
+
* section), `Cohort_Members.userids` (a scalar id array, up to 12,697 elements on
|
|
11
|
+
* one row). With no way to express "this field is a collection", each landed as an
|
|
12
|
+
* NVARCHAR(MAX) column of JSON text — present, but unqueryable.
|
|
13
|
+
*
|
|
14
|
+
* A derived object is declared in metadata like any other integration object, with
|
|
15
|
+
* `Configuration.derivedCollection` naming the parent object and the array field.
|
|
16
|
+
* The connector serves its FetchChanges by running the PARENT's fetch (same
|
|
17
|
+
* pagination, same parent-scoping, same budgets — the parent cursor rides through
|
|
18
|
+
* unchanged) and exploding each record's array into child records. Discovery
|
|
19
|
+
* samples through the same path, so child fields are discovered from real
|
|
20
|
+
* elements, and the ordinary schema-sync → table → entity-map flow does the rest.
|
|
21
|
+
* No engine change is required anywhere.
|
|
22
|
+
*
|
|
23
|
+
* The element values themselves are carried into the child rows — this is
|
|
24
|
+
* expansion, not exclusion. What we deliberately do NOT expand: parents that
|
|
25
|
+
* embed a collection which already exists as its own synced object (Enrolled
|
|
26
|
+
* Users' `enrolledcourses` re-derives Enrolled Users itself) — declaring a
|
|
27
|
+
* derived object over one of those would duplicate a table we already have.
|
|
28
|
+
*/
|
|
29
|
+
import type { ExternalRecord } from '@memberjunction/integration-engine';
|
|
30
|
+
/** Parsed shape of `Configuration.derivedCollection` on a derived integration object. */
|
|
31
|
+
export interface DerivedCollectionConfig {
|
|
32
|
+
/** Name of the parent integration object (its `IntegrationObject.Name`) whose fetch is reused. */
|
|
33
|
+
parentObjectName: string;
|
|
34
|
+
/** The array-valued field on parent records to explode. */
|
|
35
|
+
collectionField: string;
|
|
36
|
+
/**
|
|
37
|
+
* Parent record fields carried onto every child row, renamed: parent field → child field
|
|
38
|
+
* (e.g. `{"id": "userid", "courseid": "courseid"}`). Renaming is how the parent's `id`
|
|
39
|
+
* avoids colliding with an element's own `id`.
|
|
40
|
+
*/
|
|
41
|
+
parentKeyMap: Record<string, string>;
|
|
42
|
+
/** 'object' — elements are objects whose keys become fields. 'scalar' — elements are bare values. */
|
|
43
|
+
elementKind: 'object' | 'scalar';
|
|
44
|
+
/** scalar only: the child field name that receives each element value. */
|
|
45
|
+
scalarFieldName?: string;
|
|
46
|
+
/**
|
|
47
|
+
* object only, optional: element key renames (e.g. `{"id": "groupid"}` where the element's
|
|
48
|
+
* `id` is the GROUP id and would otherwise read as ambiguous on the child row).
|
|
49
|
+
*/
|
|
50
|
+
elementKeyMap?: Record<string, string>;
|
|
51
|
+
}
|
|
52
|
+
/** Result of an explode pass: the child records plus counts for the run log. */
|
|
53
|
+
export interface ExplodeResult {
|
|
54
|
+
ChildFields: Record<string, unknown>[];
|
|
55
|
+
/** Parent records whose collection field was missing or not an array (absent ≠ empty). */
|
|
56
|
+
ParentsWithoutCollection: number;
|
|
57
|
+
/** Total elements skipped because their kind did not match the declaration. */
|
|
58
|
+
ElementsSkipped: number;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Parses and validates `Configuration.derivedCollection`. Returns null when absent;
|
|
62
|
+
* throws on a malformed declaration — a half-configured derived object must fail its
|
|
63
|
+
* sync loudly, not quietly emit zero records (the shape of bug that left objects
|
|
64
|
+
* "enabled and empty" for weeks with nobody able to say why).
|
|
65
|
+
*/
|
|
66
|
+
export declare function ParseDerivedCollectionConfig(raw: unknown): DerivedCollectionConfig | null;
|
|
67
|
+
/**
|
|
68
|
+
* Explodes parent records' collection field into child field-bags. Pure — identity
|
|
69
|
+
* (ExternalID) is stamped by the caller via the connector's ordinary
|
|
70
|
+
* `buildExternalRecord`, so child identity follows the same declared-PK-else-hash
|
|
71
|
+
* rule as every other object.
|
|
72
|
+
*
|
|
73
|
+
* An element that is null, or whose kind contradicts the declaration (a scalar in an
|
|
74
|
+
* object collection, an object in a scalar one), is counted and skipped — one odd
|
|
75
|
+
* element must not fail the page.
|
|
76
|
+
*/
|
|
77
|
+
export declare function ExplodeCollection(parentRecords: ReadonlyArray<ExternalRecord>, config: DerivedCollectionConfig): ExplodeResult;
|
|
78
|
+
/**
|
|
79
|
+
* Removes `Configuration.dropFields` keys from a raw source record before it is
|
|
80
|
+
* shaped into an ExternalRecord.
|
|
81
|
+
*
|
|
82
|
+
* For vendor payload that is configuration, not data: Totara `preferences` is
|
|
83
|
+
* Moodle UI widget state (file-picker recents, user-selector toggles — the same
|
|
84
|
+
* nine keys on 100% of rows), `courseformatoptions` is course theming. Dropping at
|
|
85
|
+
* the connector means the key never reaches discovery sampling (no column on fresh
|
|
86
|
+
* installs) nor the record stream (existing columns simply stop being written) —
|
|
87
|
+
* and, unlike deactivating a field map, it cannot be re-captured into
|
|
88
|
+
* CustomOverflow, because the key is gone before the engine ever sees it.
|
|
89
|
+
*
|
|
90
|
+
* Returns the ORIGINAL object when nothing matches — the common path allocates nothing.
|
|
91
|
+
*/
|
|
92
|
+
export declare function DropConfiguredFields(raw: Record<string, unknown>, dropFields: ReadonlyArray<string> | null | undefined): Record<string, unknown>;
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derived collections — expanding a parent object's embedded JSON arrays into
|
|
3
|
+
* first-class child objects, in the connector, on the engine versions tenants
|
|
4
|
+
* actually run.
|
|
5
|
+
*
|
|
6
|
+
* Why this exists (profiled live, 2026-08-19): Totara's read functions return
|
|
7
|
+
* nested arrays on their records — `Enrolled_Users.roles` / `.groups` (per-course
|
|
8
|
+
* role and group membership), `Users.customfields` (EAV custom fields: name,
|
|
9
|
+
* shortname, type, value), `Course_Contents.modules` (the modules of each course
|
|
10
|
+
* section), `Cohort_Members.userids` (a scalar id array, up to 12,697 elements on
|
|
11
|
+
* one row). With no way to express "this field is a collection", each landed as an
|
|
12
|
+
* NVARCHAR(MAX) column of JSON text — present, but unqueryable.
|
|
13
|
+
*
|
|
14
|
+
* A derived object is declared in metadata like any other integration object, with
|
|
15
|
+
* `Configuration.derivedCollection` naming the parent object and the array field.
|
|
16
|
+
* The connector serves its FetchChanges by running the PARENT's fetch (same
|
|
17
|
+
* pagination, same parent-scoping, same budgets — the parent cursor rides through
|
|
18
|
+
* unchanged) and exploding each record's array into child records. Discovery
|
|
19
|
+
* samples through the same path, so child fields are discovered from real
|
|
20
|
+
* elements, and the ordinary schema-sync → table → entity-map flow does the rest.
|
|
21
|
+
* No engine change is required anywhere.
|
|
22
|
+
*
|
|
23
|
+
* The element values themselves are carried into the child rows — this is
|
|
24
|
+
* expansion, not exclusion. What we deliberately do NOT expand: parents that
|
|
25
|
+
* embed a collection which already exists as its own synced object (Enrolled
|
|
26
|
+
* Users' `enrolledcourses` re-derives Enrolled Users itself) — declaring a
|
|
27
|
+
* derived object over one of those would duplicate a table we already have.
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* Parses and validates `Configuration.derivedCollection`. Returns null when absent;
|
|
31
|
+
* throws on a malformed declaration — a half-configured derived object must fail its
|
|
32
|
+
* sync loudly, not quietly emit zero records (the shape of bug that left objects
|
|
33
|
+
* "enabled and empty" for weeks with nobody able to say why).
|
|
34
|
+
*/
|
|
35
|
+
export function ParseDerivedCollectionConfig(raw) {
|
|
36
|
+
if (raw == null)
|
|
37
|
+
return null;
|
|
38
|
+
if (typeof raw !== 'object' || Array.isArray(raw)) {
|
|
39
|
+
throw new Error('derivedCollection must be an object');
|
|
40
|
+
}
|
|
41
|
+
const r = raw;
|
|
42
|
+
const parentObjectName = typeof r.parentObjectName === 'string' ? r.parentObjectName.trim() : '';
|
|
43
|
+
const collectionField = typeof r.collectionField === 'string' ? r.collectionField.trim() : '';
|
|
44
|
+
if (!parentObjectName)
|
|
45
|
+
throw new Error('derivedCollection.parentObjectName is required');
|
|
46
|
+
if (!collectionField)
|
|
47
|
+
throw new Error('derivedCollection.collectionField is required');
|
|
48
|
+
const elementKind = r.elementKind === 'scalar' ? 'scalar' : r.elementKind === 'object' ? 'object' : null;
|
|
49
|
+
if (!elementKind)
|
|
50
|
+
throw new Error(`derivedCollection.elementKind must be 'object' or 'scalar'`);
|
|
51
|
+
const parentKeyMap = asStringMap(r.parentKeyMap);
|
|
52
|
+
if (!parentKeyMap || Object.keys(parentKeyMap).length === 0) {
|
|
53
|
+
throw new Error('derivedCollection.parentKeyMap must map at least one parent field — child rows with no parent key are unjoinable');
|
|
54
|
+
}
|
|
55
|
+
const scalarFieldName = typeof r.scalarFieldName === 'string' ? r.scalarFieldName.trim() : '';
|
|
56
|
+
if (elementKind === 'scalar' && !scalarFieldName) {
|
|
57
|
+
throw new Error('derivedCollection.scalarFieldName is required when elementKind is scalar');
|
|
58
|
+
}
|
|
59
|
+
const elementKeyMap = asStringMap(r.elementKeyMap) ?? undefined;
|
|
60
|
+
return {
|
|
61
|
+
parentObjectName,
|
|
62
|
+
collectionField,
|
|
63
|
+
parentKeyMap,
|
|
64
|
+
elementKind,
|
|
65
|
+
scalarFieldName: scalarFieldName || undefined,
|
|
66
|
+
elementKeyMap,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function asStringMap(v) {
|
|
70
|
+
if (v == null || typeof v !== 'object' || Array.isArray(v))
|
|
71
|
+
return null;
|
|
72
|
+
const out = {};
|
|
73
|
+
for (const [k, val] of Object.entries(v)) {
|
|
74
|
+
if (typeof val === 'string' && val.trim().length > 0)
|
|
75
|
+
out[k] = val.trim();
|
|
76
|
+
}
|
|
77
|
+
return out;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Explodes parent records' collection field into child field-bags. Pure — identity
|
|
81
|
+
* (ExternalID) is stamped by the caller via the connector's ordinary
|
|
82
|
+
* `buildExternalRecord`, so child identity follows the same declared-PK-else-hash
|
|
83
|
+
* rule as every other object.
|
|
84
|
+
*
|
|
85
|
+
* An element that is null, or whose kind contradicts the declaration (a scalar in an
|
|
86
|
+
* object collection, an object in a scalar one), is counted and skipped — one odd
|
|
87
|
+
* element must not fail the page.
|
|
88
|
+
*/
|
|
89
|
+
export function ExplodeCollection(parentRecords, config) {
|
|
90
|
+
const out = [];
|
|
91
|
+
let parentsWithoutCollection = 0;
|
|
92
|
+
let elementsSkipped = 0;
|
|
93
|
+
for (const parent of parentRecords) {
|
|
94
|
+
const arr = parent.Fields?.[config.collectionField];
|
|
95
|
+
if (!Array.isArray(arr)) {
|
|
96
|
+
parentsWithoutCollection++;
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
// Parent keys resolved once per parent, applied to every element.
|
|
100
|
+
const parentKeys = {};
|
|
101
|
+
for (const [pField, cField] of Object.entries(config.parentKeyMap)) {
|
|
102
|
+
parentKeys[cField] = parent.Fields[pField];
|
|
103
|
+
}
|
|
104
|
+
for (const el of arr) {
|
|
105
|
+
if (el == null) {
|
|
106
|
+
elementsSkipped++;
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
if (config.elementKind === 'scalar') {
|
|
110
|
+
if (typeof el === 'object') {
|
|
111
|
+
elementsSkipped++;
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
out.push({ ...parentKeys, [config.scalarFieldName]: el });
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
if (typeof el !== 'object' || Array.isArray(el)) {
|
|
118
|
+
elementsSkipped++;
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
const child = { ...parentKeys };
|
|
122
|
+
for (const [k, v] of Object.entries(el)) {
|
|
123
|
+
const name = config.elementKeyMap?.[k] ?? k;
|
|
124
|
+
// Parent keys win a name collision: they are the join identity, and an
|
|
125
|
+
// element key that would shadow one is exactly why elementKeyMap exists.
|
|
126
|
+
if (name in parentKeys) {
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
child[name] = v;
|
|
130
|
+
}
|
|
131
|
+
out.push(child);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return { ChildFields: out, ParentsWithoutCollection: parentsWithoutCollection, ElementsSkipped: elementsSkipped };
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Removes `Configuration.dropFields` keys from a raw source record before it is
|
|
139
|
+
* shaped into an ExternalRecord.
|
|
140
|
+
*
|
|
141
|
+
* For vendor payload that is configuration, not data: Totara `preferences` is
|
|
142
|
+
* Moodle UI widget state (file-picker recents, user-selector toggles — the same
|
|
143
|
+
* nine keys on 100% of rows), `courseformatoptions` is course theming. Dropping at
|
|
144
|
+
* the connector means the key never reaches discovery sampling (no column on fresh
|
|
145
|
+
* installs) nor the record stream (existing columns simply stop being written) —
|
|
146
|
+
* and, unlike deactivating a field map, it cannot be re-captured into
|
|
147
|
+
* CustomOverflow, because the key is gone before the engine ever sees it.
|
|
148
|
+
*
|
|
149
|
+
* Returns the ORIGINAL object when nothing matches — the common path allocates nothing.
|
|
150
|
+
*/
|
|
151
|
+
export function DropConfiguredFields(raw, dropFields) {
|
|
152
|
+
if (!dropFields || dropFields.length === 0)
|
|
153
|
+
return raw;
|
|
154
|
+
let hit = false;
|
|
155
|
+
for (const k of dropFields) {
|
|
156
|
+
if (k in raw) {
|
|
157
|
+
hit = true;
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (!hit)
|
|
162
|
+
return raw;
|
|
163
|
+
const out = {};
|
|
164
|
+
const drop = new Set(dropFields);
|
|
165
|
+
for (const [k, v] of Object.entries(raw)) {
|
|
166
|
+
if (!drop.has(k))
|
|
167
|
+
out[k] = v;
|
|
168
|
+
}
|
|
169
|
+
return out;
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=DerivedCollections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DerivedCollections.js","sourceRoot":"","sources":["../src/DerivedCollections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAoCH;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAY;IACrD,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjG,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,IAAI,CAAC,gBAAgB;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACzF,IAAI,CAAC,eAAe;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAEvF,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACzG,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAEhG,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,kHAAkH,CAAC,CAAC;IACxI,CAAC;IACD,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,IAAI,WAAW,KAAK,QAAQ,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC;IAEhE,OAAO;QACH,gBAAgB;QAChB,eAAe;QACf,YAAY;QACZ,WAAW;QACX,eAAe,EAAE,eAAe,IAAI,SAAS;QAC7C,aAAa;KAChB,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAC,CAAU;IAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACxE,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAA4B,CAAC,EAAE,CAAC;QAClE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9E,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC7B,aAA4C,EAC5C,MAA+B;IAE/B,MAAM,GAAG,GAA8B,EAAE,CAAC;IAC1C,IAAI,wBAAwB,GAAG,CAAC,CAAC;IACjC,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,wBAAwB,EAAE,CAAC;YAC3B,SAAS;QACb,CAAC;QACD,kEAAkE;QAClE,MAAM,UAAU,GAA4B,EAAE,CAAC;QAC/C,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YACjE,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACnB,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;gBAAC,eAAe,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YAChD,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAClC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAAC,eAAe,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAC5D,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,MAAM,CAAC,eAAyB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACJ,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;oBAAC,eAAe,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBACjF,MAAM,KAAK,GAA4B,EAAE,GAAG,UAAU,EAAE,CAAC;gBACzD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAA6B,CAAC,EAAE,CAAC;oBACjE,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC5C,uEAAuE;oBACvE,yEAAyE;oBACzE,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;wBAAC,SAAS;oBAAC,CAAC;oBACrC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;AACtH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAChC,GAA4B,EAC5B,UAAoD;IAEpD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACvD,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YAAC,GAAG,GAAG,IAAI,CAAC;YAAC,MAAM;QAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IACrB,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACjC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import { type UserInfo } from '@memberjunction/core';
|
|
2
2
|
import type { MJCompanyIntegrationEntity } from '@memberjunction/core-entities';
|
|
3
3
|
import { BaseRESTIntegrationConnector, type RESTAuthContext, type RESTResponse, type PaginationState, type PaginationType, type ConnectionTestResult, type FetchContext, type FetchBatchResult, type CreateRecordContext, type UpdateRecordContext, type DeleteRecordContext, type CRUDResult, type SourceSchemaInfo } from '@memberjunction/integration-engine';
|
|
4
|
+
/** Accumulator for one derived child object's rows, filled during its parent's fetch. */
|
|
5
|
+
interface DerivedRowBuffer {
|
|
6
|
+
/** ms timestamp of the last append — staleness guard. */
|
|
7
|
+
At: number;
|
|
8
|
+
/** Exploded child field-bags, in parent-walk order. */
|
|
9
|
+
Rows: Record<string, unknown>[];
|
|
10
|
+
/** True once the parent's walk returned HasMore=false with this buffer live. */
|
|
11
|
+
Complete: boolean;
|
|
12
|
+
/** True when the row cap was hit; the buffer is unusable and children fall back. */
|
|
13
|
+
Overflowed: boolean;
|
|
14
|
+
}
|
|
4
15
|
/** Resolved connection settings (secret token + per-tenant base URL). NO tenant constants in code. */
|
|
5
16
|
interface TotaraConfig {
|
|
6
17
|
/** The per-user Web Service token (wstoken) — injected as a request PARAM, never a header. */
|
|
@@ -39,6 +50,22 @@ export declare class TotaraConnector extends BaseRESTIntegrationConnector {
|
|
|
39
50
|
IDs: string[];
|
|
40
51
|
At: number;
|
|
41
52
|
}>;
|
|
53
|
+
/**
|
|
54
|
+
* Child rows accumulated FROM THE PARENT'S OWN FETCH, as the data comes in.
|
|
55
|
+
*
|
|
56
|
+
* While a parent object's sync walks the vendor, every configured derived child of
|
|
57
|
+
* that parent is exploded from each page ON ARRIVAL and buffered here. When the
|
|
58
|
+
* child object's own sync runs later in the same run, it drains the buffer — zero
|
|
59
|
+
* additional vendor calls. The buffer is complete only when the parent walk reached
|
|
60
|
+
* HasMore=false; an incomplete or missing buffer makes the child fall back to
|
|
61
|
+
* walking the parent itself (correct, just slower), so ordering is an optimisation,
|
|
62
|
+
* never a correctness dependency.
|
|
63
|
+
*
|
|
64
|
+
* Keyed by integrationID + child object name. Reset when the parent's walk starts
|
|
65
|
+
* from the top (empty cursor). Row-capped: past the cap the buffer is dropped and
|
|
66
|
+
* marked overflowed rather than growing without bound.
|
|
67
|
+
*/
|
|
68
|
+
protected derivedRowBuffers: Map<string, DerivedRowBuffer>;
|
|
42
69
|
/** Verbatim MJ: Integrations.Name (three-way identity invariant). */
|
|
43
70
|
get IntegrationName(): string;
|
|
44
71
|
/** Create is wired (courses/users/cohorts/groups/groupings/notes/categories + association adds). */
|
|
@@ -314,6 +341,36 @@ export declare class TotaraConnector extends BaseRESTIntegrationConnector {
|
|
|
314
341
|
*/
|
|
315
342
|
private recordCollectionKeys;
|
|
316
343
|
private toRecordArray;
|
|
344
|
+
/** Staleness guard for buffered rows: a buffer older than this is ignored. Generous, because
|
|
345
|
+
* a large parent walk (Enrolled Users) legitimately takes a long time to complete. */
|
|
346
|
+
private static readonly DERIVED_BUFFER_TTL_MS;
|
|
347
|
+
/** Total buffered rows across all children of one integration. Past this, the newest buffer
|
|
348
|
+
* overflows and its child falls back to walking the parent itself. */
|
|
349
|
+
private static readonly DERIVED_BUFFER_MAX_ROWS;
|
|
350
|
+
private derivedBufferKey;
|
|
351
|
+
/**
|
|
352
|
+
* Called from every parent fetch path with the page's SHAPED records (post-transform,
|
|
353
|
+
* post-dropFields — exactly what the parent's own sync sees). Explodes each configured
|
|
354
|
+
* derived child of this parent from the arriving page and appends to its buffer.
|
|
355
|
+
*
|
|
356
|
+
* `walkStarting` (empty cursor) resets the buffers; `walkComplete` (HasMore=false)
|
|
357
|
+
* seals them. A page retried by the engine appends twice — the drain path dedupes by
|
|
358
|
+
* ExternalID, and the writer upserts by key, so duplication cannot reach the tables.
|
|
359
|
+
*/
|
|
360
|
+
private accumulateDerivedBuffers;
|
|
361
|
+
/** The derived children configured for a parent object, resolved from the engine's catalog. */
|
|
362
|
+
private derivedChildrenOf;
|
|
363
|
+
/**
|
|
364
|
+
* Serves a derived object's fetch. Preferred path: drain the rows its parent's fetch
|
|
365
|
+
* already buffered — as the data came in, zero additional vendor calls — paged by
|
|
366
|
+
* ctx.CurrentOffset and deduped by ExternalID (page retries append twice; identity
|
|
367
|
+
* collapses them). Fallback when the buffer is missing, stale, incomplete or
|
|
368
|
+
* overflowed: walk the parent's fetch directly (same pagination and budgets; the
|
|
369
|
+
* cursor rides through), exploding page by page.
|
|
370
|
+
*/
|
|
371
|
+
private fetchDerivedCollection;
|
|
372
|
+
/** Configuration.dropFields for this object, or null. Read once per shaping call. */
|
|
373
|
+
private dropFieldsFor;
|
|
317
374
|
/**
|
|
318
375
|
* §4 identity: the declared PK when EVERY component is present + non-empty, else a deterministic content
|
|
319
376
|
* hash (so PK-less / partial-key records stay syncable + dedupable). Full-record pass-through: Fields
|
package/dist/TotaraConnector.js
CHANGED
|
@@ -4,6 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
+
var TotaraConnector_1;
|
|
7
8
|
/**
|
|
8
9
|
* TotaraConnector — Totara LMS via the Moodle-inherited Web Services REST-RPC surface.
|
|
9
10
|
*
|
|
@@ -43,6 +44,7 @@ import { z } from 'zod';
|
|
|
43
44
|
import { BaseIntegrationConnector, BaseRESTIntegrationConnector, computeContentHash, serializeKeyValue, } from '@memberjunction/integration-engine';
|
|
44
45
|
import { IntegrationEngineBase } from '@memberjunction/integration-engine-base';
|
|
45
46
|
import { mergeDeclaredWithSampledFields } from '@memberjunction/connector-schema-merge';
|
|
47
|
+
import { ParseDerivedCollectionConfig, ExplodeCollection, DropConfiguredFields } from './DerivedCollections.js';
|
|
46
48
|
import { runIdWindowScan } from '@memberjunction/connector-id-window-scan';
|
|
47
49
|
// ─── Constants ─────────────────────────────────────────────────────────
|
|
48
50
|
const REST_ENDPOINT_SUFFIX = '/webservice/rest/server.php';
|
|
@@ -101,7 +103,24 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
|
|
|
101
103
|
this.authCache = new Map();
|
|
102
104
|
/** Parent-id lists per connection+parent function, so a resumed parent walk does not re-read them. */
|
|
103
105
|
this.parentIDCache = new Map();
|
|
106
|
+
/**
|
|
107
|
+
* Child rows accumulated FROM THE PARENT'S OWN FETCH, as the data comes in.
|
|
108
|
+
*
|
|
109
|
+
* While a parent object's sync walks the vendor, every configured derived child of
|
|
110
|
+
* that parent is exploded from each page ON ARRIVAL and buffered here. When the
|
|
111
|
+
* child object's own sync runs later in the same run, it drains the buffer — zero
|
|
112
|
+
* additional vendor calls. The buffer is complete only when the parent walk reached
|
|
113
|
+
* HasMore=false; an incomplete or missing buffer makes the child fall back to
|
|
114
|
+
* walking the parent itself (correct, just slower), so ordering is an optimisation,
|
|
115
|
+
* never a correctness dependency.
|
|
116
|
+
*
|
|
117
|
+
* Keyed by integrationID + child object name. Reset when the parent's walk starts
|
|
118
|
+
* from the top (empty cursor). Row-capped: past the cap the buffer is dropped and
|
|
119
|
+
* marked overflowed rather than growing without bound.
|
|
120
|
+
*/
|
|
121
|
+
this.derivedRowBuffers = new Map();
|
|
104
122
|
}
|
|
123
|
+
static { TotaraConnector_1 = this; }
|
|
105
124
|
// ── Identity + capabilities ──────────────────────────────────────
|
|
106
125
|
/** Verbatim MJ: Integrations.Name (three-way identity invariant). */
|
|
107
126
|
get IntegrationName() { return 'totara'; }
|
|
@@ -360,6 +379,14 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
|
|
|
360
379
|
const obj = this.GetCachedObject(ctx.CompanyIntegration.IntegrationID, ctx.ObjectName);
|
|
361
380
|
const fields = this.GetCachedFields(obj.ID);
|
|
362
381
|
const cfg = this.readIOConfig(obj);
|
|
382
|
+
// Derived-collection objects (Configuration.derivedCollection) don't fetch the vendor
|
|
383
|
+
// themselves at all — they run their PARENT object's fetch (same pagination, same
|
|
384
|
+
// parent-scoping, same budgets; the cursor rides through unchanged) and explode one of
|
|
385
|
+
// its array fields into child records. Delegate before every other path.
|
|
386
|
+
const derivedRaw = cfg['derivedCollection'];
|
|
387
|
+
if (derivedRaw != null) {
|
|
388
|
+
return this.fetchDerivedCollection(obj, ctx, derivedRaw, fields);
|
|
389
|
+
}
|
|
363
390
|
const wsfunction = this.readConfigString(cfg, 'wsfunction');
|
|
364
391
|
if (!wsfunction) {
|
|
365
392
|
return {
|
|
@@ -401,8 +428,11 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
|
|
|
401
428
|
rawRecords.push(...this.NormalizeResponse(response.Body, key));
|
|
402
429
|
}
|
|
403
430
|
const pkFieldNames = this.primaryKeyFieldNames(fields);
|
|
404
|
-
const
|
|
431
|
+
const dropFields = this.dropFieldsFor(cfg);
|
|
432
|
+
const records = rawRecords.map(r => this.buildExternalRecord(DropConfiguredFields(this.applyTransformPreservingKeys(r, obj, fields), dropFields), ctx.ObjectName, pkFieldNames));
|
|
405
433
|
const pagination = this.ExtractPaginationInfo(response.Body, obj.PaginationType, page, offset, pageSize);
|
|
434
|
+
// Derived children accumulate from this page AS IT ARRIVES — see derivedRowBuffers.
|
|
435
|
+
this.accumulateDerivedBuffers(obj, records, page <= 1 && offset === 0, !pagination.HasMore);
|
|
406
436
|
return {
|
|
407
437
|
Records: records,
|
|
408
438
|
HasMore: pagination.HasMore,
|
|
@@ -546,6 +576,7 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
|
|
|
546
576
|
const auth = await this.Authenticate(ctx.CompanyIntegration, ctx.ContextUser);
|
|
547
577
|
const fields = this.GetCachedFields(obj.ID);
|
|
548
578
|
const pkFieldNames = this.primaryKeyFieldNames(fields);
|
|
579
|
+
const dropFields = this.dropFieldsFor(cfg);
|
|
549
580
|
const warnings = [];
|
|
550
581
|
// 1) Parent ids from the parent's list wsfunction (bare array or single-collection envelope), CACHED.
|
|
551
582
|
// The walk is resumed once per batch and the list does not change between them, but re-reading it
|
|
@@ -686,7 +717,7 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
|
|
|
686
717
|
for (const raw of this.NormalizeResponse(resp.Body, key)) {
|
|
687
718
|
// tag the child with the parent FK so its row links back to the parent record
|
|
688
719
|
const tagged = raw[childIdField] != null ? raw : { ...raw, [childIdField]: parentID };
|
|
689
|
-
out.push(this.buildExternalRecord(this.applyTransformPreservingKeys(tagged, obj, fields), ctx.ObjectName, pkFieldNames));
|
|
720
|
+
out.push(this.buildExternalRecord(DropConfiguredFields(this.applyTransformPreservingKeys(tagged, obj, fields), dropFields), ctx.ObjectName, pkFieldNames));
|
|
690
721
|
pageCount++;
|
|
691
722
|
}
|
|
692
723
|
}
|
|
@@ -821,6 +852,8 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
|
|
|
821
852
|
// A parent held back for a retry is not covered, so the walk still has work even if the prefix reached
|
|
822
853
|
// the end of the batch — otherwise a transient failure on the last parent would end the walk early.
|
|
823
854
|
const hasMore = remaining.length > covered || carriedFails.size > 0 || carriedPartials.size > 0;
|
|
855
|
+
// Derived children accumulate from this page AS IT ARRIVES — see derivedRowBuffers.
|
|
856
|
+
this.accumulateDerivedBuffers(obj, out, !ctx.AfterKeyValue, !hasMore);
|
|
824
857
|
return {
|
|
825
858
|
Records: out,
|
|
826
859
|
HasMore: hasMore,
|
|
@@ -945,6 +978,7 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
|
|
|
945
978
|
const auth = await this.Authenticate(ctx.CompanyIntegration, ctx.ContextUser);
|
|
946
979
|
const fields = this.GetCachedFields(obj.ID);
|
|
947
980
|
const pkFieldNames = this.primaryKeyFieldNames(fields);
|
|
981
|
+
const dropFields = this.dropFieldsFor(_cfg);
|
|
948
982
|
const result = await runIdWindowScan({
|
|
949
983
|
ObjectName: obj.Name,
|
|
950
984
|
Config: {
|
|
@@ -971,8 +1005,11 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
|
|
|
971
1005
|
return this.NormalizeResponse(resp.Body, null);
|
|
972
1006
|
},
|
|
973
1007
|
});
|
|
1008
|
+
const shaped = result.Records.map((raw) => this.buildExternalRecord(DropConfiguredFields(this.applyTransformPreservingKeys(raw, obj, fields), dropFields), ctx.ObjectName, pkFieldNames));
|
|
1009
|
+
// Derived children accumulate from this page AS IT ARRIVES — see derivedRowBuffers.
|
|
1010
|
+
this.accumulateDerivedBuffers(obj, shaped, !ctx.AfterKeyValue, !result.HasMore);
|
|
974
1011
|
return {
|
|
975
|
-
Records:
|
|
1012
|
+
Records: shaped,
|
|
976
1013
|
HasMore: result.HasMore,
|
|
977
1014
|
...(result.NextAfterKeyValue !== undefined ? { NextAfterKeyValue: result.NextAfterKeyValue } : {}),
|
|
978
1015
|
...(result.Warnings ? { Warnings: result.Warnings } : {}),
|
|
@@ -1323,6 +1360,141 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
|
|
|
1323
1360
|
return [target];
|
|
1324
1361
|
return [];
|
|
1325
1362
|
}
|
|
1363
|
+
// ── Derived collections — child objects exploded from a parent's arrays ──
|
|
1364
|
+
/** Staleness guard for buffered rows: a buffer older than this is ignored. Generous, because
|
|
1365
|
+
* a large parent walk (Enrolled Users) legitimately takes a long time to complete. */
|
|
1366
|
+
static { this.DERIVED_BUFFER_TTL_MS = 6 * 60 * 60_000; }
|
|
1367
|
+
/** Total buffered rows across all children of one integration. Past this, the newest buffer
|
|
1368
|
+
* overflows and its child falls back to walking the parent itself. */
|
|
1369
|
+
static { this.DERIVED_BUFFER_MAX_ROWS = 3_000_000; }
|
|
1370
|
+
derivedBufferKey(integrationID, childObjectName) {
|
|
1371
|
+
return `${integrationID}\u0001${childObjectName}`;
|
|
1372
|
+
}
|
|
1373
|
+
/**
|
|
1374
|
+
* Called from every parent fetch path with the page's SHAPED records (post-transform,
|
|
1375
|
+
* post-dropFields — exactly what the parent's own sync sees). Explodes each configured
|
|
1376
|
+
* derived child of this parent from the arriving page and appends to its buffer.
|
|
1377
|
+
*
|
|
1378
|
+
* `walkStarting` (empty cursor) resets the buffers; `walkComplete` (HasMore=false)
|
|
1379
|
+
* seals them. A page retried by the engine appends twice — the drain path dedupes by
|
|
1380
|
+
* ExternalID, and the writer upserts by key, so duplication cannot reach the tables.
|
|
1381
|
+
*/
|
|
1382
|
+
accumulateDerivedBuffers(parentObj, records, walkStarting, walkComplete) {
|
|
1383
|
+
const children = this.derivedChildrenOf(parentObj);
|
|
1384
|
+
if (children.length === 0)
|
|
1385
|
+
return;
|
|
1386
|
+
let totalRows = 0;
|
|
1387
|
+
for (const b of this.derivedRowBuffers.values())
|
|
1388
|
+
totalRows += b.Rows.length;
|
|
1389
|
+
for (const { childName, config } of children) {
|
|
1390
|
+
const key = this.derivedBufferKey(parentObj.IntegrationID, childName);
|
|
1391
|
+
let buf = this.derivedRowBuffers.get(key);
|
|
1392
|
+
if (walkStarting || !buf) {
|
|
1393
|
+
buf = { At: this.nowMs(), Rows: [], Complete: false, Overflowed: false };
|
|
1394
|
+
this.derivedRowBuffers.set(key, buf);
|
|
1395
|
+
}
|
|
1396
|
+
if (!buf.Overflowed) {
|
|
1397
|
+
const exploded = ExplodeCollection(records, config);
|
|
1398
|
+
buf.Rows.push(...exploded.ChildFields);
|
|
1399
|
+
totalRows += exploded.ChildFields.length;
|
|
1400
|
+
if (totalRows > TotaraConnector_1.DERIVED_BUFFER_MAX_ROWS) {
|
|
1401
|
+
buf.Rows = [];
|
|
1402
|
+
buf.Overflowed = true;
|
|
1403
|
+
}
|
|
1404
|
+
}
|
|
1405
|
+
buf.At = this.nowMs();
|
|
1406
|
+
if (walkComplete)
|
|
1407
|
+
buf.Complete = true;
|
|
1408
|
+
}
|
|
1409
|
+
}
|
|
1410
|
+
/** The derived children configured for a parent object, resolved from the engine's catalog. */
|
|
1411
|
+
derivedChildrenOf(parentObj) {
|
|
1412
|
+
const out = [];
|
|
1413
|
+
for (const candidate of IntegrationEngineBase.Instance.GetIntegrationObjectsByIntegrationID(parentObj.IntegrationID)) {
|
|
1414
|
+
const cfg = this.readIOConfig(candidate);
|
|
1415
|
+
let parsed;
|
|
1416
|
+
try {
|
|
1417
|
+
parsed = ParseDerivedCollectionConfig(cfg['derivedCollection']);
|
|
1418
|
+
}
|
|
1419
|
+
catch {
|
|
1420
|
+
continue; // a malformed child fails ITS OWN sync loudly; it must not break the parent's
|
|
1421
|
+
}
|
|
1422
|
+
if (parsed && parsed.parentObjectName === parentObj.Name) {
|
|
1423
|
+
out.push({ childName: candidate.Name, config: parsed });
|
|
1424
|
+
}
|
|
1425
|
+
}
|
|
1426
|
+
return out;
|
|
1427
|
+
}
|
|
1428
|
+
/**
|
|
1429
|
+
* Serves a derived object's fetch. Preferred path: drain the rows its parent's fetch
|
|
1430
|
+
* already buffered — as the data came in, zero additional vendor calls — paged by
|
|
1431
|
+
* ctx.CurrentOffset and deduped by ExternalID (page retries append twice; identity
|
|
1432
|
+
* collapses them). Fallback when the buffer is missing, stale, incomplete or
|
|
1433
|
+
* overflowed: walk the parent's fetch directly (same pagination and budgets; the
|
|
1434
|
+
* cursor rides through), exploding page by page.
|
|
1435
|
+
*/
|
|
1436
|
+
async fetchDerivedCollection(obj, ctx, derivedRaw, fields) {
|
|
1437
|
+
const config = ParseDerivedCollectionConfig(derivedRaw);
|
|
1438
|
+
if (!config) {
|
|
1439
|
+
return { Records: [], HasMore: false, Warnings: [{ Code: 'DERIVED_CONFIG_MISSING', Message: `"${obj.Name}": empty derivedCollection`, Data: { object: obj.Name } }] };
|
|
1440
|
+
}
|
|
1441
|
+
const parentObj = this.GetCachedObject(ctx.CompanyIntegration.IntegrationID, config.parentObjectName);
|
|
1442
|
+
if (!parentObj) {
|
|
1443
|
+
// Loud, not empty: a wrong parent name must fail the sync, not present as an
|
|
1444
|
+
// enabled-and-empty object nobody can explain.
|
|
1445
|
+
throw new Error(`"${obj.Name}": derivedCollection.parentObjectName "${config.parentObjectName}" is not an integration object of this integration.`);
|
|
1446
|
+
}
|
|
1447
|
+
const pkFieldNames = this.primaryKeyFieldNames(fields);
|
|
1448
|
+
const key = this.derivedBufferKey(parentObj.IntegrationID, obj.Name);
|
|
1449
|
+
const buf = this.derivedRowBuffers.get(key);
|
|
1450
|
+
const fresh = buf && (this.nowMs() - buf.At) < TotaraConnector_1.DERIVED_BUFFER_TTL_MS;
|
|
1451
|
+
if (buf && fresh && buf.Complete && !buf.Overflowed) {
|
|
1452
|
+
const pageSize = Math.max(1, ctx.BatchSize);
|
|
1453
|
+
const offset = ctx.CurrentOffset ?? 0;
|
|
1454
|
+
if (offset === 0) {
|
|
1455
|
+
// Dedupe ONCE at drain start (page retries during accumulation append twice).
|
|
1456
|
+
const seen = new Map();
|
|
1457
|
+
for (const row of buf.Rows) {
|
|
1458
|
+
const r = this.buildExternalRecord(row, obj.Name, pkFieldNames);
|
|
1459
|
+
seen.set(r.ExternalID, row);
|
|
1460
|
+
}
|
|
1461
|
+
buf.Rows = Array.from(seen.values());
|
|
1462
|
+
}
|
|
1463
|
+
const slice = buf.Rows.slice(offset, offset + pageSize);
|
|
1464
|
+
const records = slice.map(row => this.buildExternalRecord(row, obj.Name, pkFieldNames));
|
|
1465
|
+
const nextOffset = offset + slice.length;
|
|
1466
|
+
return {
|
|
1467
|
+
Records: records,
|
|
1468
|
+
HasMore: nextOffset < buf.Rows.length,
|
|
1469
|
+
NextOffset: nextOffset,
|
|
1470
|
+
};
|
|
1471
|
+
}
|
|
1472
|
+
// Fallback: no usable buffer — walk the parent's own fetch and explode each page.
|
|
1473
|
+
const parentBatch = await this.FetchChanges({ ...ctx, ObjectName: parentObj.Name });
|
|
1474
|
+
const exploded = ExplodeCollection(parentBatch.Records, config);
|
|
1475
|
+
const records = exploded.ChildFields.map(f => this.buildExternalRecord(f, obj.Name, pkFieldNames));
|
|
1476
|
+
const warnings = [...(parentBatch.Warnings ?? [])];
|
|
1477
|
+
if (exploded.ElementsSkipped > 0) {
|
|
1478
|
+
warnings.push({
|
|
1479
|
+
Code: 'DERIVED_ELEMENTS_SKIPPED',
|
|
1480
|
+
Message: `"${obj.Name}": ${exploded.ElementsSkipped} element(s) did not match elementKind '${config.elementKind}' and were skipped.`,
|
|
1481
|
+
Data: { object: obj.Name, skipped: exploded.ElementsSkipped },
|
|
1482
|
+
});
|
|
1483
|
+
}
|
|
1484
|
+
return {
|
|
1485
|
+
Records: records,
|
|
1486
|
+
HasMore: parentBatch.HasMore,
|
|
1487
|
+
NextPage: parentBatch.NextPage,
|
|
1488
|
+
NextOffset: parentBatch.NextOffset,
|
|
1489
|
+
NextAfterKeyValue: parentBatch.NextAfterKeyValue,
|
|
1490
|
+
Warnings: warnings.length > 0 ? warnings : undefined,
|
|
1491
|
+
};
|
|
1492
|
+
}
|
|
1493
|
+
/** Configuration.dropFields for this object, or null. Read once per shaping call. */
|
|
1494
|
+
dropFieldsFor(cfg) {
|
|
1495
|
+
const v = this.readConfigStringArray(cfg, 'dropFields');
|
|
1496
|
+
return v && v.length > 0 ? v : null;
|
|
1497
|
+
}
|
|
1326
1498
|
/**
|
|
1327
1499
|
* §4 identity: the declared PK when EVERY component is present + non-empty, else a deterministic content
|
|
1328
1500
|
* hash (so PK-less / partial-key records stay syncable + dedupable). Full-record pass-through: Fields
|
|
@@ -1578,7 +1750,7 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
|
|
|
1578
1750
|
return null;
|
|
1579
1751
|
}
|
|
1580
1752
|
};
|
|
1581
|
-
TotaraConnector = __decorate([
|
|
1753
|
+
TotaraConnector = TotaraConnector_1 = __decorate([
|
|
1582
1754
|
RegisterClass(BaseIntegrationConnector, 'TotaraConnector')
|
|
1583
1755
|
], TotaraConnector);
|
|
1584
1756
|
export { TotaraConnector };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TotaraConnector.js","sourceRoot":"","sources":["../src/TotaraConnector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TotaraConnector.js","sourceRoot":"","sources":["../src/TotaraConnector.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/connector-totara",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "MemberJunction Totara connector.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"test": "vitest run"
|
|
14
14
|
},
|
|
15
15
|
"author": "MemberJunction.com",
|
|
16
|
-
"license": "
|
|
16
|
+
"license": "BUSL-1.1",
|
|
17
17
|
"peerDependencies": {
|
|
18
18
|
"@memberjunction/core": ">=5.43.0 <6.0.0",
|
|
19
19
|
"@memberjunction/core-entities": ">=5.43.0 <6.0.0",
|