@memberjunction/connector-totara 0.3.2 → 0.4.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.
@@ -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
@@ -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'; }
@@ -339,13 +358,22 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
339
358
  */
340
359
  async IntrospectSchema(companyIntegration, contextUser) {
341
360
  const info = await super.IntrospectSchema(companyIntegration, contextUser);
342
- await Promise.all(info.Objects.map(async (obj) => {
361
+ // BOUNDED, not Promise.all. Sampling every object at once issues one live request per object
362
+ // simultaneously, honouring neither MaxConcurrency nor the rate limiter — while this same class
363
+ // runs its FetchChanges walk through runParentBounded precisely to avoid that. On a real catalog
364
+ // it is a burst from a single Node process: the event loop stops serving anything else, the
365
+ // platform's cheap reads time out, and its per-env circuit breaker reports the whole workspace
366
+ // unavailable. IntrospectSchema receives no FetchContext, so there is no MaxConcurrency to read
367
+ // here — 4 is a fixed ceiling: quick enough for discovery, low enough that it cannot starve the
368
+ // process. Ordering and best-effort semantics are unchanged.
369
+ const SAMPLE_CONCURRENCY = 4;
370
+ await this.runParentBounded(info.Objects, SAMPLE_CONCURRENCY, async (obj) => {
343
371
  try {
344
372
  const sampled = await this.DiscoverFieldsViaFetch(companyIntegration, obj.ExternalName, contextUser);
345
373
  obj.Fields = mergeDeclaredWithSampledFields(obj.Fields, sampled);
346
374
  }
347
375
  catch { /* best-effort — declared fields remain authoritative on a sampling failure */ }
348
- }));
376
+ });
349
377
  return info;
350
378
  }
351
379
  // ── FetchChanges — Moodle REST-RPC read ───────────────────────────
@@ -360,6 +388,14 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
360
388
  const obj = this.GetCachedObject(ctx.CompanyIntegration.IntegrationID, ctx.ObjectName);
361
389
  const fields = this.GetCachedFields(obj.ID);
362
390
  const cfg = this.readIOConfig(obj);
391
+ // Derived-collection objects (Configuration.derivedCollection) don't fetch the vendor
392
+ // themselves at all — they run their PARENT object's fetch (same pagination, same
393
+ // parent-scoping, same budgets; the cursor rides through unchanged) and explode one of
394
+ // its array fields into child records. Delegate before every other path.
395
+ const derivedRaw = cfg['derivedCollection'];
396
+ if (derivedRaw != null) {
397
+ return this.fetchDerivedCollection(obj, ctx, derivedRaw, fields);
398
+ }
363
399
  const wsfunction = this.readConfigString(cfg, 'wsfunction');
364
400
  if (!wsfunction) {
365
401
  return {
@@ -401,8 +437,11 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
401
437
  rawRecords.push(...this.NormalizeResponse(response.Body, key));
402
438
  }
403
439
  const pkFieldNames = this.primaryKeyFieldNames(fields);
404
- const records = rawRecords.map(r => this.buildExternalRecord(this.applyTransformPreservingKeys(r, obj, fields), ctx.ObjectName, pkFieldNames));
440
+ const dropFields = this.dropFieldsFor(cfg);
441
+ const records = rawRecords.map(r => this.buildExternalRecord(DropConfiguredFields(this.applyTransformPreservingKeys(r, obj, fields), dropFields), ctx.ObjectName, pkFieldNames));
405
442
  const pagination = this.ExtractPaginationInfo(response.Body, obj.PaginationType, page, offset, pageSize);
443
+ // Derived children accumulate from this page AS IT ARRIVES — see derivedRowBuffers.
444
+ this.accumulateDerivedBuffers(obj, records, page <= 1 && offset === 0, !pagination.HasMore);
406
445
  return {
407
446
  Records: records,
408
447
  HasMore: pagination.HasMore,
@@ -546,6 +585,7 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
546
585
  const auth = await this.Authenticate(ctx.CompanyIntegration, ctx.ContextUser);
547
586
  const fields = this.GetCachedFields(obj.ID);
548
587
  const pkFieldNames = this.primaryKeyFieldNames(fields);
588
+ const dropFields = this.dropFieldsFor(cfg);
549
589
  const warnings = [];
550
590
  // 1) Parent ids from the parent's list wsfunction (bare array or single-collection envelope), CACHED.
551
591
  // The walk is resumed once per batch and the list does not change between them, but re-reading it
@@ -686,7 +726,7 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
686
726
  for (const raw of this.NormalizeResponse(resp.Body, key)) {
687
727
  // tag the child with the parent FK so its row links back to the parent record
688
728
  const tagged = raw[childIdField] != null ? raw : { ...raw, [childIdField]: parentID };
689
- out.push(this.buildExternalRecord(this.applyTransformPreservingKeys(tagged, obj, fields), ctx.ObjectName, pkFieldNames));
729
+ out.push(this.buildExternalRecord(DropConfiguredFields(this.applyTransformPreservingKeys(tagged, obj, fields), dropFields), ctx.ObjectName, pkFieldNames));
690
730
  pageCount++;
691
731
  }
692
732
  }
@@ -821,6 +861,8 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
821
861
  // A parent held back for a retry is not covered, so the walk still has work even if the prefix reached
822
862
  // the end of the batch — otherwise a transient failure on the last parent would end the walk early.
823
863
  const hasMore = remaining.length > covered || carriedFails.size > 0 || carriedPartials.size > 0;
864
+ // Derived children accumulate from this page AS IT ARRIVES — see derivedRowBuffers.
865
+ this.accumulateDerivedBuffers(obj, out, !ctx.AfterKeyValue, !hasMore);
824
866
  return {
825
867
  Records: out,
826
868
  HasMore: hasMore,
@@ -945,6 +987,7 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
945
987
  const auth = await this.Authenticate(ctx.CompanyIntegration, ctx.ContextUser);
946
988
  const fields = this.GetCachedFields(obj.ID);
947
989
  const pkFieldNames = this.primaryKeyFieldNames(fields);
990
+ const dropFields = this.dropFieldsFor(_cfg);
948
991
  const result = await runIdWindowScan({
949
992
  ObjectName: obj.Name,
950
993
  Config: {
@@ -971,8 +1014,11 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
971
1014
  return this.NormalizeResponse(resp.Body, null);
972
1015
  },
973
1016
  });
1017
+ const shaped = result.Records.map((raw) => this.buildExternalRecord(DropConfiguredFields(this.applyTransformPreservingKeys(raw, obj, fields), dropFields), ctx.ObjectName, pkFieldNames));
1018
+ // Derived children accumulate from this page AS IT ARRIVES — see derivedRowBuffers.
1019
+ this.accumulateDerivedBuffers(obj, shaped, !ctx.AfterKeyValue, !result.HasMore);
974
1020
  return {
975
- Records: result.Records.map((raw) => this.buildExternalRecord(this.applyTransformPreservingKeys(raw, obj, fields), ctx.ObjectName, pkFieldNames)),
1021
+ Records: shaped,
976
1022
  HasMore: result.HasMore,
977
1023
  ...(result.NextAfterKeyValue !== undefined ? { NextAfterKeyValue: result.NextAfterKeyValue } : {}),
978
1024
  ...(result.Warnings ? { Warnings: result.Warnings } : {}),
@@ -1323,6 +1369,141 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
1323
1369
  return [target];
1324
1370
  return [];
1325
1371
  }
1372
+ // ── Derived collections — child objects exploded from a parent's arrays ──
1373
+ /** Staleness guard for buffered rows: a buffer older than this is ignored. Generous, because
1374
+ * a large parent walk (Enrolled Users) legitimately takes a long time to complete. */
1375
+ static { this.DERIVED_BUFFER_TTL_MS = 6 * 60 * 60_000; }
1376
+ /** Total buffered rows across all children of one integration. Past this, the newest buffer
1377
+ * overflows and its child falls back to walking the parent itself. */
1378
+ static { this.DERIVED_BUFFER_MAX_ROWS = 3_000_000; }
1379
+ derivedBufferKey(integrationID, childObjectName) {
1380
+ return `${integrationID}\u0001${childObjectName}`;
1381
+ }
1382
+ /**
1383
+ * Called from every parent fetch path with the page's SHAPED records (post-transform,
1384
+ * post-dropFields — exactly what the parent's own sync sees). Explodes each configured
1385
+ * derived child of this parent from the arriving page and appends to its buffer.
1386
+ *
1387
+ * `walkStarting` (empty cursor) resets the buffers; `walkComplete` (HasMore=false)
1388
+ * seals them. A page retried by the engine appends twice — the drain path dedupes by
1389
+ * ExternalID, and the writer upserts by key, so duplication cannot reach the tables.
1390
+ */
1391
+ accumulateDerivedBuffers(parentObj, records, walkStarting, walkComplete) {
1392
+ const children = this.derivedChildrenOf(parentObj);
1393
+ if (children.length === 0)
1394
+ return;
1395
+ let totalRows = 0;
1396
+ for (const b of this.derivedRowBuffers.values())
1397
+ totalRows += b.Rows.length;
1398
+ for (const { childName, config } of children) {
1399
+ const key = this.derivedBufferKey(parentObj.IntegrationID, childName);
1400
+ let buf = this.derivedRowBuffers.get(key);
1401
+ if (walkStarting || !buf) {
1402
+ buf = { At: this.nowMs(), Rows: [], Complete: false, Overflowed: false };
1403
+ this.derivedRowBuffers.set(key, buf);
1404
+ }
1405
+ if (!buf.Overflowed) {
1406
+ const exploded = ExplodeCollection(records, config);
1407
+ buf.Rows.push(...exploded.ChildFields);
1408
+ totalRows += exploded.ChildFields.length;
1409
+ if (totalRows > TotaraConnector_1.DERIVED_BUFFER_MAX_ROWS) {
1410
+ buf.Rows = [];
1411
+ buf.Overflowed = true;
1412
+ }
1413
+ }
1414
+ buf.At = this.nowMs();
1415
+ if (walkComplete)
1416
+ buf.Complete = true;
1417
+ }
1418
+ }
1419
+ /** The derived children configured for a parent object, resolved from the engine's catalog. */
1420
+ derivedChildrenOf(parentObj) {
1421
+ const out = [];
1422
+ for (const candidate of IntegrationEngineBase.Instance.GetIntegrationObjectsByIntegrationID(parentObj.IntegrationID)) {
1423
+ const cfg = this.readIOConfig(candidate);
1424
+ let parsed;
1425
+ try {
1426
+ parsed = ParseDerivedCollectionConfig(cfg['derivedCollection']);
1427
+ }
1428
+ catch {
1429
+ continue; // a malformed child fails ITS OWN sync loudly; it must not break the parent's
1430
+ }
1431
+ if (parsed && parsed.parentObjectName === parentObj.Name) {
1432
+ out.push({ childName: candidate.Name, config: parsed });
1433
+ }
1434
+ }
1435
+ return out;
1436
+ }
1437
+ /**
1438
+ * Serves a derived object's fetch. Preferred path: drain the rows its parent's fetch
1439
+ * already buffered — as the data came in, zero additional vendor calls — paged by
1440
+ * ctx.CurrentOffset and deduped by ExternalID (page retries append twice; identity
1441
+ * collapses them). Fallback when the buffer is missing, stale, incomplete or
1442
+ * overflowed: walk the parent's fetch directly (same pagination and budgets; the
1443
+ * cursor rides through), exploding page by page.
1444
+ */
1445
+ async fetchDerivedCollection(obj, ctx, derivedRaw, fields) {
1446
+ const config = ParseDerivedCollectionConfig(derivedRaw);
1447
+ if (!config) {
1448
+ return { Records: [], HasMore: false, Warnings: [{ Code: 'DERIVED_CONFIG_MISSING', Message: `"${obj.Name}": empty derivedCollection`, Data: { object: obj.Name } }] };
1449
+ }
1450
+ const parentObj = this.GetCachedObject(ctx.CompanyIntegration.IntegrationID, config.parentObjectName);
1451
+ if (!parentObj) {
1452
+ // Loud, not empty: a wrong parent name must fail the sync, not present as an
1453
+ // enabled-and-empty object nobody can explain.
1454
+ throw new Error(`"${obj.Name}": derivedCollection.parentObjectName "${config.parentObjectName}" is not an integration object of this integration.`);
1455
+ }
1456
+ const pkFieldNames = this.primaryKeyFieldNames(fields);
1457
+ const key = this.derivedBufferKey(parentObj.IntegrationID, obj.Name);
1458
+ const buf = this.derivedRowBuffers.get(key);
1459
+ const fresh = buf && (this.nowMs() - buf.At) < TotaraConnector_1.DERIVED_BUFFER_TTL_MS;
1460
+ if (buf && fresh && buf.Complete && !buf.Overflowed) {
1461
+ const pageSize = Math.max(1, ctx.BatchSize);
1462
+ const offset = ctx.CurrentOffset ?? 0;
1463
+ if (offset === 0) {
1464
+ // Dedupe ONCE at drain start (page retries during accumulation append twice).
1465
+ const seen = new Map();
1466
+ for (const row of buf.Rows) {
1467
+ const r = this.buildExternalRecord(row, obj.Name, pkFieldNames);
1468
+ seen.set(r.ExternalID, row);
1469
+ }
1470
+ buf.Rows = Array.from(seen.values());
1471
+ }
1472
+ const slice = buf.Rows.slice(offset, offset + pageSize);
1473
+ const records = slice.map(row => this.buildExternalRecord(row, obj.Name, pkFieldNames));
1474
+ const nextOffset = offset + slice.length;
1475
+ return {
1476
+ Records: records,
1477
+ HasMore: nextOffset < buf.Rows.length,
1478
+ NextOffset: nextOffset,
1479
+ };
1480
+ }
1481
+ // Fallback: no usable buffer — walk the parent's own fetch and explode each page.
1482
+ const parentBatch = await this.FetchChanges({ ...ctx, ObjectName: parentObj.Name });
1483
+ const exploded = ExplodeCollection(parentBatch.Records, config);
1484
+ const records = exploded.ChildFields.map(f => this.buildExternalRecord(f, obj.Name, pkFieldNames));
1485
+ const warnings = [...(parentBatch.Warnings ?? [])];
1486
+ if (exploded.ElementsSkipped > 0) {
1487
+ warnings.push({
1488
+ Code: 'DERIVED_ELEMENTS_SKIPPED',
1489
+ Message: `"${obj.Name}": ${exploded.ElementsSkipped} element(s) did not match elementKind '${config.elementKind}' and were skipped.`,
1490
+ Data: { object: obj.Name, skipped: exploded.ElementsSkipped },
1491
+ });
1492
+ }
1493
+ return {
1494
+ Records: records,
1495
+ HasMore: parentBatch.HasMore,
1496
+ NextPage: parentBatch.NextPage,
1497
+ NextOffset: parentBatch.NextOffset,
1498
+ NextAfterKeyValue: parentBatch.NextAfterKeyValue,
1499
+ Warnings: warnings.length > 0 ? warnings : undefined,
1500
+ };
1501
+ }
1502
+ /** Configuration.dropFields for this object, or null. Read once per shaping call. */
1503
+ dropFieldsFor(cfg) {
1504
+ const v = this.readConfigStringArray(cfg, 'dropFields');
1505
+ return v && v.length > 0 ? v : null;
1506
+ }
1326
1507
  /**
1327
1508
  * §4 identity: the declared PK when EVERY component is present + non-empty, else a deterministic content
1328
1509
  * hash (so PK-less / partial-key records stay syncable + dedupable). Full-record pass-through: Fields
@@ -1578,7 +1759,7 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
1578
1759
  return null;
1579
1760
  }
1580
1761
  };
1581
- TotaraConnector = __decorate([
1762
+ TotaraConnector = TotaraConnector_1 = __decorate([
1582
1763
  RegisterClass(BaseIntegrationConnector, 'TotaraConnector')
1583
1764
  ], TotaraConnector);
1584
1765
  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.2",
3
+ "version": "0.4.1",
4
4
  "description": "MemberJunction Totara connector.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",