@memberjunction/connector-netforum-enterprise 1.6.3 → 1.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/NetForumConnector.d.ts +76 -34
- package/dist/NetForumConnector.js +286 -96
- package/dist/NetForumConnector.js.map +1 -1
- package/package.json +1 -1
|
@@ -46,27 +46,33 @@ export declare class NetForumConnector extends BaseRESTIntegrationConnector {
|
|
|
46
46
|
*/
|
|
47
47
|
private readonly DiscoveredColumnsByObject;
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*/
|
|
69
|
-
private
|
|
49
|
+
* `<obj_key>` of each enumerated facade object, keyed by lowercased object name. It is the facade
|
|
50
|
+
* object's own GUID — the vendor's GetFacadeObjectList page shows
|
|
51
|
+
* `<obj_name>ProductSubscription</obj_name><obj_key>22210b27-2396-48f0-a6a7-5e1a8eb9bda6</obj_key>` —
|
|
52
|
+
* and NOT a column of the object. 1.6.3 read it as the key COLUMN: `ORDER BY 74a11d45-ec60-…` and a
|
|
53
|
+
* column list containing that GUID went to SQL Server for every enumerated object, which answered
|
|
54
|
+
* "Incorrect syntax near 'a11d45'" (its tokenizer splitting the GUID), "The floating point value
|
|
55
|
+
* '07e325' is out of the range of computer representation" (a hex fragment read as a float) and
|
|
56
|
+
* "Invalid query." — 975 faults and zero rows in one discovery on a live tenant (2026-09-24).
|
|
57
|
+
* Kept as METADATA only: it never reaches szColumnList, szWhereClause or szOrderBy, and it never
|
|
58
|
+
* marks a field IsPrimaryKey. The key comes from the object's own definition (DefinitionByObject).
|
|
59
|
+
*/
|
|
60
|
+
private readonly EnumeratedObjectIdByObject;
|
|
61
|
+
/**
|
|
62
|
+
* Parsed GetQueryDefinition per object (lowercased name), fetched at most once per instance per
|
|
63
|
+
* object: DiscoverFields needs the columns, FetchChanges needs the key column and the alias-
|
|
64
|
+
* qualified column list. `null` records a definite non-2xx answer so an object the account cannot
|
|
65
|
+
* describe is not asked again (xWeb counts faults, not calls, against the daily lock budget); a
|
|
66
|
+
* thrown network error is NOT cached, so a transient failure does not leave the object keyless for
|
|
67
|
+
* the life of the process.
|
|
68
|
+
*/
|
|
69
|
+
private readonly DefinitionByObject;
|
|
70
|
+
/**
|
|
71
|
+
* `<connection>|<object>` pairs xWeb has refused with "Account is not authorized to perform Select
|
|
72
|
+
* on <object> object". A grant does not appear between two calls of one run, and each retry is a
|
|
73
|
+
* ~7.5 s HTTP 500 that counts against the fault budget; the second and later calls fail locally.
|
|
74
|
+
*/
|
|
75
|
+
private readonly SelectNotAuthorized;
|
|
70
76
|
/**
|
|
71
77
|
* CompanyIntegration IDs whose xWeb default column list is unusable.
|
|
72
78
|
*
|
|
@@ -96,15 +102,9 @@ export declare class NetForumConnector extends BaseRESTIntegrationConnector {
|
|
|
96
102
|
/**
|
|
97
103
|
* One `GetFacadeObjectList` call: the enumerated object universe, or `null` when the source could
|
|
98
104
|
* not be asked — credential-free, network failure, parse failure, or the account not granted the
|
|
99
|
-
* method; the Declared baseline then stands alone, exactly as before.
|
|
100
|
-
* was made, successful or not, so a lazy caller never repeats it (see EnumerationAttempted).
|
|
105
|
+
* method; the Declared baseline then stands alone, exactly as before.
|
|
101
106
|
*/
|
|
102
107
|
private EnumerateFacadeObjects;
|
|
103
|
-
/**
|
|
104
|
-
* The key column the enumeration named for `objectName`, enumerating first if this instance has
|
|
105
|
-
* not done so yet. Undefined when the source never listed the object or named no key for it.
|
|
106
|
-
*/
|
|
107
|
-
private EnumeratedKeyFor;
|
|
108
108
|
/**
|
|
109
109
|
* The Declared baseline (engine cache of persisted IntegrationObject rows).
|
|
110
110
|
*
|
|
@@ -118,7 +118,8 @@ export declare class NetForumConnector extends BaseRESTIntegrationConnector {
|
|
|
118
118
|
*
|
|
119
119
|
* Verified shape (live, 2026-09-15): `<ObjectObjects>` containing one `<ObjectObject>` per facade,
|
|
120
120
|
* each carrying `<obj_name>`, `<obj_key>` and `<obj_description>`. 878 rows on a real tenant.
|
|
121
|
-
* `obj_key` is the facade's
|
|
121
|
+
* `obj_key` is the facade object's GUID (vendor documentation, and a live tenant's SQL faults
|
|
122
|
+
* quoting its fragments) — kept as an identifier (EnumeratedObjectIdByObject), never as a column.
|
|
122
123
|
*
|
|
123
124
|
* Enumerated-only objects are reported HONESTLY as unknown-capability: the list gives a name and
|
|
124
125
|
* a description, never a watermark field or a write path, so `SupportsIncrementalSync` and
|
|
@@ -159,6 +160,12 @@ export declare class NetForumConnector extends BaseRESTIntegrationConnector {
|
|
|
159
160
|
* any error, it degrades to the Declared fields (never throws, never bakes a catalog).
|
|
160
161
|
*/
|
|
161
162
|
DiscoverFields(ci: MJCompanyIntegrationEntity, objectName: string, cu: UserInfo): Promise<ExternalFieldSchema[]>;
|
|
163
|
+
/**
|
|
164
|
+
* The parsed GetQueryDefinition for `objectName`, fetched once per instance per object. A non-2xx
|
|
165
|
+
* answer is remembered as `null` (not asked again — faults are the budget xWeb locks the account
|
|
166
|
+
* on); a thrown network error is not remembered, so the next caller asks again.
|
|
167
|
+
*/
|
|
168
|
+
private DefinitionFor;
|
|
162
169
|
/**
|
|
163
170
|
* IntrospectSchema — resolves each object's columns in the contract's order:
|
|
164
171
|
* 1. DiscoverObjects — the endpoint's object list (GetFacadeObjectList), reconciled in 1.5.0
|
|
@@ -202,13 +209,40 @@ export declare class NetForumConnector extends BaseRESTIntegrationConnector {
|
|
|
202
209
|
protected DeclaredSchema(companyIntegration: MJCompanyIntegrationEntity, contextUser: UserInfo): Promise<SourceSchemaInfo>;
|
|
203
210
|
IntrospectSchema(companyIntegration: MJCompanyIntegrationEntity, contextUser: UserInfo): Promise<SourceSchemaInfo>;
|
|
204
211
|
/**
|
|
205
|
-
* Parses a GetQueryDefinition response
|
|
206
|
-
*
|
|
207
|
-
*
|
|
208
|
-
*
|
|
209
|
-
*
|
|
212
|
+
* Parses a GetQueryDefinition response into its tables, columns and default list, and names the
|
|
213
|
+
* object's key column when the definition allows it (see KeyColumnFromDefinition). Columns are
|
|
214
|
+
* deduplicated by name: netFORUM list tables join the same table more than once under aliases
|
|
215
|
+
* (Individual joins mb_membership as Membership, ChapterMembership and OrgMembership), so one
|
|
216
|
+
* column name can appear several times — the first occurrence wins, the main table's preferred.
|
|
217
|
+
* Element names per the vendor's own sample: lst_mdt_name, lsf_from_table, lsf_from_alias,
|
|
218
|
+
* mdc_name / mdc_description / mdc_data_type / mdc_nullable / mdc_table_name / mdc_width_max,
|
|
219
|
+
* lsc_mdc_name. A response without <ListFromTable> wrappers still yields its <Column>s.
|
|
210
220
|
*/
|
|
211
221
|
private ParseQueryDefinition;
|
|
222
|
+
/**
|
|
223
|
+
* The object's key column from its definition — or undefined when the definition cannot say.
|
|
224
|
+
*
|
|
225
|
+
* The rule, in the order the evidence is strong:
|
|
226
|
+
* 1. among the MAIN table's columns (mdc_table_name = lst_mdt_name, unaliased), the key-typed
|
|
227
|
+
* column (`av_key`, or `uniqueidentifier`) described "Primary Key" — the vendor's own sample
|
|
228
|
+
* marks `ind_cst_key` exactly so;
|
|
229
|
+
* 2. else the key-typed main-table column named `<prefix>_key`, then `<prefix>_cst_key`, where
|
|
230
|
+
* prefix is the main table's column prefix (netFORUM: arp_key, evt_key; the customer subclasses
|
|
231
|
+
* ind_cst_key / org_cst_key);
|
|
232
|
+
* 3. else the main table's first key-typed column in document order (the sample lists the PK first).
|
|
233
|
+
* Without a main table the naming rule alone is applied to all columns and nothing else is guessed:
|
|
234
|
+
* measured on a live tenant, 493 of 878 objects carry more than one `<x>_key` column, and the most
|
|
235
|
+
* frequent prefix is NOT the object's own (AccountingPeriod's would pick atc_key over arp_key) —
|
|
236
|
+
* so a key that cannot be anchored to the main table is left to the sample-based classifier.
|
|
237
|
+
*/
|
|
238
|
+
private KeyColumnFromDefinition;
|
|
239
|
+
/**
|
|
240
|
+
* The definition's columns as ExternalFieldSchema, overlaid on the declared baseline by name.
|
|
241
|
+
* IsPrimaryKey is the declared flag when the declaration carries a key, else the definition's key
|
|
242
|
+
* column — never anything the enumeration said. Declared fields the definition does not list are
|
|
243
|
+
* re-added (the provable-only baseline is never lost).
|
|
244
|
+
*/
|
|
245
|
+
private FieldsFromDefinition;
|
|
212
246
|
private MapSoapType;
|
|
213
247
|
/**
|
|
214
248
|
* Fetches a batch via the GetQuery door. Walks the IO's access path from Configuration: the door
|
|
@@ -253,6 +287,14 @@ export declare class NetForumConnector extends BaseRESTIntegrationConnector {
|
|
|
253
287
|
* original fault to surface rather than sending a request we cannot justify.
|
|
254
288
|
*/
|
|
255
289
|
private ExplicitColumnListFor;
|
|
290
|
+
/** "Account is not authorized to perform Select on <object> object" — a grant, not a query, failed. */
|
|
291
|
+
private IsSelectNotAuthorizedFault;
|
|
292
|
+
/**
|
|
293
|
+
* The shape of a GetQuery request for a fault message: which object and TOP, how many columns were
|
|
294
|
+
* named (or that the default list was asked for), the ORDER BY column, and how many WHERE
|
|
295
|
+
* predicates — never a literal value, so a key or watermark value is not copied into a log.
|
|
296
|
+
*/
|
|
297
|
+
private DescribeRequestShape;
|
|
256
298
|
private ColumnListFor;
|
|
257
299
|
/**
|
|
258
300
|
* Create via the SOAP operation named in the IO's CreateBodyKey / Configuration.writeOps.createOp
|
|
@@ -111,27 +111,33 @@ let NetForumConnector = class NetForumConnector extends BaseRESTIntegrationConne
|
|
|
111
111
|
*/
|
|
112
112
|
this.DiscoveredColumnsByObject = new Map();
|
|
113
113
|
/**
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
|
|
114
|
+
* `<obj_key>` of each enumerated facade object, keyed by lowercased object name. It is the facade
|
|
115
|
+
* object's own GUID — the vendor's GetFacadeObjectList page shows
|
|
116
|
+
* `<obj_name>ProductSubscription</obj_name><obj_key>22210b27-2396-48f0-a6a7-5e1a8eb9bda6</obj_key>` —
|
|
117
|
+
* and NOT a column of the object. 1.6.3 read it as the key COLUMN: `ORDER BY 74a11d45-ec60-…` and a
|
|
118
|
+
* column list containing that GUID went to SQL Server for every enumerated object, which answered
|
|
119
|
+
* "Incorrect syntax near 'a11d45'" (its tokenizer splitting the GUID), "The floating point value
|
|
120
|
+
* '07e325' is out of the range of computer representation" (a hex fragment read as a float) and
|
|
121
|
+
* "Invalid query." — 975 faults and zero rows in one discovery on a live tenant (2026-09-24).
|
|
122
|
+
* Kept as METADATA only: it never reaches szColumnList, szWhereClause or szOrderBy, and it never
|
|
123
|
+
* marks a field IsPrimaryKey. The key comes from the object's own definition (DefinitionByObject).
|
|
124
|
+
*/
|
|
125
|
+
this.EnumeratedObjectIdByObject = new Map();
|
|
126
|
+
/**
|
|
127
|
+
* Parsed GetQueryDefinition per object (lowercased name), fetched at most once per instance per
|
|
128
|
+
* object: DiscoverFields needs the columns, FetchChanges needs the key column and the alias-
|
|
129
|
+
* qualified column list. `null` records a definite non-2xx answer so an object the account cannot
|
|
130
|
+
* describe is not asked again (xWeb counts faults, not calls, against the daily lock budget); a
|
|
131
|
+
* thrown network error is NOT cached, so a transient failure does not leave the object keyless for
|
|
132
|
+
* the life of the process.
|
|
125
133
|
*/
|
|
126
|
-
this.
|
|
134
|
+
this.DefinitionByObject = new Map();
|
|
127
135
|
/**
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
* failing GetFacadeObjectList must never be retried per object: xWeb counts faults against the
|
|
132
|
-
* daily budget that locks the account, and 888 objects is nine times that budget.
|
|
136
|
+
* `<connection>|<object>` pairs xWeb has refused with "Account is not authorized to perform Select
|
|
137
|
+
* on <object> object". A grant does not appear between two calls of one run, and each retry is a
|
|
138
|
+
* ~7.5 s HTTP 500 that counts against the fault budget; the second and later calls fail locally.
|
|
133
139
|
*/
|
|
134
|
-
this.
|
|
140
|
+
this.SelectNotAuthorized = new Set();
|
|
135
141
|
/**
|
|
136
142
|
* CompanyIntegration IDs whose xWeb default column list is unusable.
|
|
137
143
|
*
|
|
@@ -278,11 +284,9 @@ let NetForumConnector = class NetForumConnector extends BaseRESTIntegrationConne
|
|
|
278
284
|
/**
|
|
279
285
|
* One `GetFacadeObjectList` call: the enumerated object universe, or `null` when the source could
|
|
280
286
|
* not be asked — credential-free, network failure, parse failure, or the account not granted the
|
|
281
|
-
* method; the Declared baseline then stands alone, exactly as before.
|
|
282
|
-
* was made, successful or not, so a lazy caller never repeats it (see EnumerationAttempted).
|
|
287
|
+
* method; the Declared baseline then stands alone, exactly as before.
|
|
283
288
|
*/
|
|
284
289
|
async EnumerateFacadeObjects(ci, cu) {
|
|
285
|
-
this.EnumerationAttempted = true;
|
|
286
290
|
try {
|
|
287
291
|
const auth = await this.Authenticate(ci, cu);
|
|
288
292
|
const url = `${auth.Config.BaseURL}${DEFAULT_SOAP_PATH}`;
|
|
@@ -298,15 +302,6 @@ let NetForumConnector = class NetForumConnector extends BaseRESTIntegrationConne
|
|
|
298
302
|
}
|
|
299
303
|
return null;
|
|
300
304
|
}
|
|
301
|
-
/**
|
|
302
|
-
* The key column the enumeration named for `objectName`, enumerating first if this instance has
|
|
303
|
-
* not done so yet. Undefined when the source never listed the object or named no key for it.
|
|
304
|
-
*/
|
|
305
|
-
async EnumeratedKeyFor(ci, cu, objectName) {
|
|
306
|
-
if (!this.EnumerationAttempted)
|
|
307
|
-
await this.EnumerateFacadeObjects(ci, cu);
|
|
308
|
-
return this.EnumeratedKeyByObject.get(objectName.toLowerCase());
|
|
309
|
-
}
|
|
310
305
|
/**
|
|
311
306
|
* The Declared baseline (engine cache of persisted IntegrationObject rows).
|
|
312
307
|
*
|
|
@@ -322,7 +317,8 @@ let NetForumConnector = class NetForumConnector extends BaseRESTIntegrationConne
|
|
|
322
317
|
*
|
|
323
318
|
* Verified shape (live, 2026-09-15): `<ObjectObjects>` containing one `<ObjectObject>` per facade,
|
|
324
319
|
* each carrying `<obj_name>`, `<obj_key>` and `<obj_description>`. 878 rows on a real tenant.
|
|
325
|
-
* `obj_key` is the facade's
|
|
320
|
+
* `obj_key` is the facade object's GUID (vendor documentation, and a live tenant's SQL faults
|
|
321
|
+
* quoting its fragments) — kept as an identifier (EnumeratedObjectIdByObject), never as a column.
|
|
326
322
|
*
|
|
327
323
|
* Enumerated-only objects are reported HONESTLY as unknown-capability: the list gives a name and
|
|
328
324
|
* a description, never a watermark field or a write path, so `SupportsIncrementalSync` and
|
|
@@ -343,7 +339,7 @@ let NetForumConnector = class NetForumConnector extends BaseRESTIntegrationConne
|
|
|
343
339
|
const description = this.ParseSoapScalar(row, 'obj_description');
|
|
344
340
|
const objKey = this.ParseSoapScalar(row, 'obj_key');
|
|
345
341
|
if (objKey)
|
|
346
|
-
this.
|
|
342
|
+
this.EnumeratedObjectIdByObject.set(key, objKey);
|
|
347
343
|
out.push({
|
|
348
344
|
Name: name,
|
|
349
345
|
Label: description || name,
|
|
@@ -423,26 +419,44 @@ let NetForumConnector = class NetForumConnector extends BaseRESTIntegrationConne
|
|
|
423
419
|
throw err;
|
|
424
420
|
declared = [];
|
|
425
421
|
}
|
|
426
|
-
const enumeratedKey = await this.EnumeratedKeyFor(ci, cu, objectName);
|
|
427
422
|
// The base FieldEntityToSchema folds PK into IsUniqueKey and never sets IsPrimaryKey, so
|
|
428
423
|
// re-derive the honest IsPrimaryKey from the cached IOF entities (which carry it explicitly).
|
|
429
424
|
const pkNames = this.DeclaredPrimaryKeyNames(ci, objectName);
|
|
430
425
|
const declaredByName = new Map(declared.map(f => [f.Name.toLowerCase(), { ...f, IsPrimaryKey: pkNames.has(f.Name.toLowerCase()) }]));
|
|
426
|
+
// The object's own definition names its columns AND its key (the main table's `av_key`
|
|
427
|
+
// column described "Primary Key", else the `<prefix>_key` naming convention). Nothing here
|
|
428
|
+
// enumerates the facade list: `obj_key` is not a column and has nothing to say about fields.
|
|
429
|
+
const def = await this.DefinitionFor(ci, cu, objectName);
|
|
430
|
+
if (def && def.Columns.length > 0)
|
|
431
|
+
return this.FieldsFromDefinition(def, declaredByName);
|
|
432
|
+
return declared;
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* The parsed GetQueryDefinition for `objectName`, fetched once per instance per object. A non-2xx
|
|
436
|
+
* answer is remembered as `null` (not asked again — faults are the budget xWeb locks the account
|
|
437
|
+
* on); a thrown network error is not remembered, so the next caller asks again.
|
|
438
|
+
*/
|
|
439
|
+
async DefinitionFor(ci, cu, objectName) {
|
|
440
|
+
const key = objectName.toLowerCase();
|
|
441
|
+
if (this.DefinitionByObject.has(key))
|
|
442
|
+
return this.DefinitionByObject.get(key) ?? null;
|
|
431
443
|
try {
|
|
432
444
|
const auth = await this.Authenticate(ci, cu);
|
|
433
445
|
const url = `${auth.Config.BaseURL}${DEFAULT_SOAP_PATH}`;
|
|
434
446
|
const body = this.BuildSoapEnvelope('GetQueryDefinition', { szObjectName: objectName }, auth.Token);
|
|
435
447
|
const r = await this.MakeRawHTTPRequest(url, 'POST', this.SoapHeaders('GetQueryDefinition'), body);
|
|
436
448
|
if (r.Status >= 200 && r.Status < 300) {
|
|
437
|
-
const
|
|
438
|
-
|
|
439
|
-
|
|
449
|
+
const parsed = this.ParseQueryDefinition(this.AsText(r.Body));
|
|
450
|
+
const def = parsed.Columns.length > 0 ? parsed : null;
|
|
451
|
+
this.DefinitionByObject.set(key, def);
|
|
452
|
+
return def;
|
|
440
453
|
}
|
|
454
|
+
this.DefinitionByObject.set(key, null); // a definite refusal — not retried per call
|
|
441
455
|
}
|
|
442
456
|
catch {
|
|
443
|
-
// credential-free / network / parse failure →
|
|
457
|
+
// credential-free / network / parse failure → nothing cached, nothing known
|
|
444
458
|
}
|
|
445
|
-
return
|
|
459
|
+
return null;
|
|
446
460
|
}
|
|
447
461
|
/**
|
|
448
462
|
* IntrospectSchema — resolves each object's columns in the contract's order:
|
|
@@ -522,52 +536,150 @@ let NetForumConnector = class NetForumConnector extends BaseRESTIntegrationConne
|
|
|
522
536
|
return schema;
|
|
523
537
|
}
|
|
524
538
|
/**
|
|
525
|
-
* Parses a GetQueryDefinition response
|
|
526
|
-
*
|
|
527
|
-
*
|
|
528
|
-
*
|
|
529
|
-
*
|
|
539
|
+
* Parses a GetQueryDefinition response into its tables, columns and default list, and names the
|
|
540
|
+
* object's key column when the definition allows it (see KeyColumnFromDefinition). Columns are
|
|
541
|
+
* deduplicated by name: netFORUM list tables join the same table more than once under aliases
|
|
542
|
+
* (Individual joins mb_membership as Membership, ChapterMembership and OrgMembership), so one
|
|
543
|
+
* column name can appear several times — the first occurrence wins, the main table's preferred.
|
|
544
|
+
* Element names per the vendor's own sample: lst_mdt_name, lsf_from_table, lsf_from_alias,
|
|
545
|
+
* mdc_name / mdc_description / mdc_data_type / mdc_nullable / mdc_table_name / mdc_width_max,
|
|
546
|
+
* lsc_mdc_name. A response without <ListFromTable> wrappers still yields its <Column>s.
|
|
530
547
|
*/
|
|
531
|
-
ParseQueryDefinition(xml
|
|
532
|
-
const
|
|
533
|
-
|
|
534
|
-
|
|
548
|
+
ParseQueryDefinition(xml) {
|
|
549
|
+
const mainTable = this.ParseSoapScalar(xml, 'lst_mdt_name') ?? null;
|
|
550
|
+
const columns = [];
|
|
551
|
+
const defaultList = [];
|
|
552
|
+
const readColumns = (scope, table, alias) => {
|
|
553
|
+
for (const colXml of this.ExtractElements(scope, 'Column')) {
|
|
554
|
+
const name = this.ParseSoapScalar(colXml, 'mdc_name');
|
|
555
|
+
if (!name)
|
|
556
|
+
continue;
|
|
557
|
+
const nullable = this.ParseSoapScalar(colXml, 'mdc_nullable');
|
|
558
|
+
const widthRaw = this.ParseSoapScalar(colXml, 'mdc_width_max');
|
|
559
|
+
columns.push({
|
|
560
|
+
Name: name,
|
|
561
|
+
Table: this.ParseSoapScalar(colXml, 'mdc_table_name') ?? table,
|
|
562
|
+
Alias: alias,
|
|
563
|
+
DataType: this.ParseSoapScalar(colXml, 'mdc_data_type') ?? null,
|
|
564
|
+
Description: this.ParseSoapScalar(colXml, 'mdc_description') || undefined,
|
|
565
|
+
// AllowsNull provable-only: 'mdc_nullable' is an explicit source flag. "0"/"false"/"no" ⇒ NOT NULL.
|
|
566
|
+
AllowsNull: nullable == null ? undefined : !/^(0|false|no|n)$/i.test(nullable.trim()),
|
|
567
|
+
MaxLength: widthRaw && /^\d+$/.test(widthRaw) ? Number(widthRaw) : null,
|
|
568
|
+
});
|
|
569
|
+
}
|
|
570
|
+
};
|
|
571
|
+
const fromTables = this.ExtractElements(xml, 'ListFromTable');
|
|
572
|
+
if (fromTables.length > 0) {
|
|
573
|
+
for (const lft of fromTables) {
|
|
574
|
+
const table = this.ParseSoapScalar(lft, 'lsf_from_table') ?? null;
|
|
575
|
+
const alias = this.ParseSoapScalar(lft, 'lsf_from_alias') || null; // <lsf_from_alias xsi:nil="true"/> → null
|
|
576
|
+
readColumns(lft, table, alias);
|
|
577
|
+
for (const dl of this.ExtractElements(lft, 'ListFromTableColumn')) {
|
|
578
|
+
const n = this.ParseSoapScalar(dl, 'lsc_mdc_name');
|
|
579
|
+
if (n)
|
|
580
|
+
defaultList.push(n);
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
else {
|
|
585
|
+
readColumns(xml, null, null);
|
|
586
|
+
}
|
|
587
|
+
// Dedupe by name; a main-table occurrence displaces an earlier joined-table one of the same name.
|
|
588
|
+
const byName = new Map();
|
|
589
|
+
const isMain = (c) => !!mainTable && !!c.Table && c.Table.toLowerCase() === mainTable.toLowerCase() && !c.Alias;
|
|
590
|
+
for (const c of columns) {
|
|
591
|
+
const k = c.Name.toLowerCase();
|
|
592
|
+
const prior = byName.get(k);
|
|
593
|
+
if (!prior || (isMain(c) && !isMain(prior)))
|
|
594
|
+
byName.set(k, c);
|
|
595
|
+
}
|
|
596
|
+
const deduped = [...byName.values()];
|
|
597
|
+
return {
|
|
598
|
+
MainTable: mainTable,
|
|
599
|
+
KeyColumn: this.KeyColumnFromDefinition(mainTable, deduped),
|
|
600
|
+
Columns: deduped,
|
|
601
|
+
DefaultListColumns: defaultList,
|
|
602
|
+
};
|
|
603
|
+
}
|
|
604
|
+
/**
|
|
605
|
+
* The object's key column from its definition — or undefined when the definition cannot say.
|
|
606
|
+
*
|
|
607
|
+
* The rule, in the order the evidence is strong:
|
|
608
|
+
* 1. among the MAIN table's columns (mdc_table_name = lst_mdt_name, unaliased), the key-typed
|
|
609
|
+
* column (`av_key`, or `uniqueidentifier`) described "Primary Key" — the vendor's own sample
|
|
610
|
+
* marks `ind_cst_key` exactly so;
|
|
611
|
+
* 2. else the key-typed main-table column named `<prefix>_key`, then `<prefix>_cst_key`, where
|
|
612
|
+
* prefix is the main table's column prefix (netFORUM: arp_key, evt_key; the customer subclasses
|
|
613
|
+
* ind_cst_key / org_cst_key);
|
|
614
|
+
* 3. else the main table's first key-typed column in document order (the sample lists the PK first).
|
|
615
|
+
* Without a main table the naming rule alone is applied to all columns and nothing else is guessed:
|
|
616
|
+
* measured on a live tenant, 493 of 878 objects carry more than one `<x>_key` column, and the most
|
|
617
|
+
* frequent prefix is NOT the object's own (AccountingPeriod's would pick atc_key over arp_key) —
|
|
618
|
+
* so a key that cannot be anchored to the main table is left to the sample-based classifier.
|
|
619
|
+
*/
|
|
620
|
+
KeyColumnFromDefinition(mainTable, columns) {
|
|
621
|
+
const isKeyType = (t) => !!t && /^(av_key|uniqueidentifier)$/i.test(t.trim());
|
|
622
|
+
const main = mainTable
|
|
623
|
+
? columns.filter(c => !!c.Table && c.Table.toLowerCase() === mainTable.toLowerCase() && !c.Alias)
|
|
624
|
+
: [];
|
|
625
|
+
const pool = main.length > 0 ? main : columns;
|
|
626
|
+
const keyed = pool.filter(c => isKeyType(c.DataType));
|
|
627
|
+
if (keyed.length === 0)
|
|
628
|
+
return undefined;
|
|
629
|
+
const described = keyed.find(c => /^primary\s+key$/i.test((c.Description ?? '').trim()));
|
|
630
|
+
if (main.length > 0 && described)
|
|
631
|
+
return described.Name;
|
|
632
|
+
const prefixCounts = new Map();
|
|
633
|
+
for (const c of pool) {
|
|
634
|
+
const p = c.Name.toLowerCase().split('_')[0];
|
|
635
|
+
if (p)
|
|
636
|
+
prefixCounts.set(p, (prefixCounts.get(p) ?? 0) + 1);
|
|
637
|
+
}
|
|
638
|
+
const prefix = [...prefixCounts.entries()].sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]))[0]?.[0];
|
|
639
|
+
if (prefix) {
|
|
640
|
+
const exact = keyed.find(c => c.Name.toLowerCase() === `${prefix}_key`);
|
|
641
|
+
if (exact)
|
|
642
|
+
return exact.Name;
|
|
643
|
+
const cst = keyed.find(c => c.Name.toLowerCase() === `${prefix}_cst_key`);
|
|
644
|
+
if (cst)
|
|
645
|
+
return cst.Name;
|
|
646
|
+
}
|
|
647
|
+
return main.length > 0 ? keyed[0].Name : undefined;
|
|
648
|
+
}
|
|
649
|
+
/**
|
|
650
|
+
* The definition's columns as ExternalFieldSchema, overlaid on the declared baseline by name.
|
|
651
|
+
* IsPrimaryKey is the declared flag when the declaration carries a key, else the definition's key
|
|
652
|
+
* column — never anything the enumeration said. Declared fields the definition does not list are
|
|
653
|
+
* re-added (the provable-only baseline is never lost).
|
|
654
|
+
*/
|
|
655
|
+
FieldsFromDefinition(def, declaredByName) {
|
|
535
656
|
const declaredHasKey = [...declaredByName.values()].some(f => f.IsPrimaryKey === true);
|
|
536
|
-
const
|
|
657
|
+
const keyLower = !declaredHasKey && def.KeyColumn ? def.KeyColumn.toLowerCase() : undefined;
|
|
658
|
+
const out = [];
|
|
537
659
|
const seen = new Set();
|
|
538
|
-
for (const
|
|
539
|
-
const
|
|
540
|
-
if (
|
|
660
|
+
for (const c of def.Columns) {
|
|
661
|
+
const k = c.Name.toLowerCase();
|
|
662
|
+
if (seen.has(k))
|
|
541
663
|
continue;
|
|
542
|
-
seen.add(
|
|
543
|
-
const declared = declaredByName.get(
|
|
544
|
-
const dataType = this.ParseSoapScalar(colXml, 'mdc_data_type');
|
|
545
|
-
const description = this.ParseSoapScalar(colXml, 'mdc_description');
|
|
546
|
-
const nullable = this.ParseSoapScalar(colXml, 'mdc_nullable');
|
|
547
|
-
const widthRaw = this.ParseSoapScalar(colXml, 'mdc_width_max');
|
|
548
|
-
const maxLength = widthRaw && /^\d+$/.test(widthRaw) ? Number(widthRaw) : null;
|
|
549
|
-
// AllowsNull provable-only: 'mdc_nullable' is an explicit source flag. "0"/"false"/"no" ⇒ NOT NULL.
|
|
550
|
-
const allowsNull = nullable == null
|
|
551
|
-
? undefined
|
|
552
|
-
: !/^(0|false|no|n)$/i.test(nullable.trim());
|
|
664
|
+
seen.add(k);
|
|
665
|
+
const declared = declaredByName.get(k);
|
|
553
666
|
out.push({
|
|
554
|
-
Name:
|
|
555
|
-
Label: declared?.Label ??
|
|
556
|
-
Description: declared?.Description ??
|
|
557
|
-
DataType: declared?.DataType ?? this.MapSoapType(
|
|
667
|
+
Name: c.Name,
|
|
668
|
+
Label: declared?.Label ?? c.Name,
|
|
669
|
+
Description: declared?.Description ?? c.Description,
|
|
670
|
+
DataType: declared?.DataType ?? this.MapSoapType(c.DataType),
|
|
558
671
|
IsRequired: declared?.IsRequired ?? false,
|
|
559
|
-
AllowsNull:
|
|
560
|
-
IsPrimaryKey: declared?.IsPrimaryKey === true ||
|
|
672
|
+
AllowsNull: c.AllowsNull,
|
|
673
|
+
IsPrimaryKey: declared?.IsPrimaryKey === true || k === keyLower,
|
|
561
674
|
IsUniqueKey: declared?.IsUniqueKey ?? false,
|
|
562
675
|
IsReadOnly: declared?.IsReadOnly ?? false,
|
|
563
676
|
IsForeignKey: declared?.IsForeignKey ?? false,
|
|
564
677
|
ForeignKeyTarget: declared?.ForeignKeyTarget ?? null,
|
|
565
|
-
MaxLength:
|
|
678
|
+
MaxLength: c.MaxLength,
|
|
566
679
|
});
|
|
567
680
|
}
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
if (!seen.has(key))
|
|
681
|
+
for (const [k, f] of declaredByName) {
|
|
682
|
+
if (!seen.has(k))
|
|
571
683
|
out.push(f);
|
|
572
684
|
}
|
|
573
685
|
return out;
|
|
@@ -578,13 +690,13 @@ let NetForumConnector = class NetForumConnector extends BaseRESTIntegrationConne
|
|
|
578
690
|
const t = sqlType.toLowerCase();
|
|
579
691
|
if (/(date|time)/.test(t))
|
|
580
692
|
return 'datetime';
|
|
581
|
-
if (/(int|bigint|smallint|tinyint)/.test(t))
|
|
693
|
+
if (/(int|bigint|smallint|tinyint|av_count|av_seq)/.test(t))
|
|
582
694
|
return 'number';
|
|
583
|
-
if (/(decimal|numeric|money|float|real)/.test(t))
|
|
695
|
+
if (/(decimal|numeric|money|float|real|av_percent)/.test(t))
|
|
584
696
|
return 'decimal';
|
|
585
|
-
if (/bit/.test(t))
|
|
697
|
+
if (/(bit|av_flag)/.test(t))
|
|
586
698
|
return 'boolean';
|
|
587
|
-
if (/uniqueidentifier/.test(t))
|
|
699
|
+
if (/(uniqueidentifier|av_key)/.test(t))
|
|
588
700
|
return 'string';
|
|
589
701
|
return 'string';
|
|
590
702
|
}
|
|
@@ -611,12 +723,17 @@ let NetForumConnector = class NetForumConnector extends BaseRESTIntegrationConne
|
|
|
611
723
|
const cfg = this.ParseObjectConfig(obj);
|
|
612
724
|
const accessPath = cfg.accessPath ?? {};
|
|
613
725
|
const queryObject = accessPath.queryObject ?? accessPath.doorArgs?.szObjectName ?? ctx.ObjectName;
|
|
614
|
-
// The key: the persisted catalog's primary key when it has one, else the key
|
|
615
|
-
//
|
|
616
|
-
//
|
|
617
|
-
//
|
|
618
|
-
|
|
619
|
-
const
|
|
726
|
+
// The key: the persisted catalog's primary key when it has one, else the key column the object's
|
|
727
|
+
// OWN definition names (GetQueryDefinition, one metadata call per object per instance). The
|
|
728
|
+
// second case is the first discovery — enumerated objects are sampled before their fields are
|
|
729
|
+
// persisted. NEVER the enumeration's obj_key: that is the facade object's GUID, not a column,
|
|
730
|
+
// and sending it as one is what faulted every read on a live tenant (EnumeratedObjectIdByObject).
|
|
731
|
+
const ci = ctx.CompanyIntegration;
|
|
732
|
+
const persistedKey = this.PrimaryKeyFieldName(obj);
|
|
733
|
+
const definedKey = persistedKey
|
|
734
|
+
? undefined
|
|
735
|
+
: (await this.DefinitionFor(ci, ctx.ContextUser, ctx.ObjectName))?.KeyColumn;
|
|
736
|
+
const pkField = persistedKey ?? definedKey;
|
|
620
737
|
const orderingKey = cfg.stableOrderingKey ?? pkField;
|
|
621
738
|
// Keyset pagination requires a total order to seek on. With one, we page via
|
|
622
739
|
// `@TOP <BatchSize>` + `WHERE <key> > <AfterKeyValue> ORDER BY <key>`; the metadata
|
|
@@ -678,12 +795,26 @@ let NetForumConnector = class NetForumConnector extends BaseRESTIntegrationConne
|
|
|
678
795
|
// reaches it, and — because netFORUM configures the default list PER OBJECT — an object whose
|
|
679
796
|
// own default is fine on a tenant where others are not still gets its normal request.
|
|
680
797
|
const faultKey = ctx.CompanyIntegration?.ID ?? '';
|
|
798
|
+
const grantKey = `${faultKey}|${ctx.ObjectName.toLowerCase()}`;
|
|
799
|
+
if (this.SelectNotAuthorized.has(grantKey)) {
|
|
800
|
+
throw new Error(`NetForum GetQuery(${ctx.ObjectName}) not attempted: this xWeb account is not authorized to ` +
|
|
801
|
+
`Select on "${ctx.ObjectName}" (xWeb said so earlier on this connection; a grant does not appear ` +
|
|
802
|
+
`between calls, and each retry is a fault against the daily budget that locks the account).`);
|
|
803
|
+
}
|
|
681
804
|
if (!args.szColumnList && this.DefaultColumnListUnusable.has(faultKey)) {
|
|
682
805
|
const known = this.ExplicitColumnListFor(obj, [pkField, orderingKey, watermarkField]);
|
|
683
806
|
if (known)
|
|
684
807
|
args.szColumnList = known;
|
|
685
808
|
}
|
|
809
|
+
// The vendor: "@TOP -1 ... specific, named fields must be passed ... in szColumnList". The
|
|
810
|
+
// legacy unbounded fetch of a keyless object therefore names its columns when it can.
|
|
811
|
+
if (!args.szColumnList && /@TOP\s+-1\b/i.test(szObjectName)) {
|
|
812
|
+
const named = this.ExplicitColumnListFor(obj, [pkField, orderingKey, watermarkField]);
|
|
813
|
+
if (named)
|
|
814
|
+
args.szColumnList = named;
|
|
815
|
+
}
|
|
686
816
|
const sentEmptyColumnList = !args.szColumnList;
|
|
817
|
+
let sentArgs = args;
|
|
687
818
|
let response = await this.MakeRawHTTPRequest(url, 'POST', this.SoapHeaders('GetQuery'), this.BuildSoapEnvelope('GetQuery', args, auth.Token));
|
|
688
819
|
// The door can reject ITS OWN default list. An empty szColumnList asks xWeb for the object's
|
|
689
820
|
// configured default columns, and on a tenant where that default is `*` the request faults with
|
|
@@ -703,11 +834,17 @@ let NetForumConnector = class NetForumConnector extends BaseRESTIntegrationConne
|
|
|
703
834
|
this.DefaultColumnListUnusable.add(faultKey);
|
|
704
835
|
const explicit = this.ExplicitColumnListFor(obj, [pkField, orderingKey, watermarkField]);
|
|
705
836
|
if (explicit) {
|
|
706
|
-
|
|
837
|
+
sentArgs = { ...args, szColumnList: explicit };
|
|
838
|
+
response = await this.MakeRawHTTPRequest(url, 'POST', this.SoapHeaders('GetQuery'), this.BuildSoapEnvelope('GetQuery', sentArgs, auth.Token));
|
|
707
839
|
}
|
|
708
840
|
}
|
|
709
841
|
if (response.Status < 200 || response.Status >= 300) {
|
|
710
|
-
|
|
842
|
+
if (this.IsSelectNotAuthorizedFault(response))
|
|
843
|
+
this.SelectNotAuthorized.add(grantKey);
|
|
844
|
+
// The fault text is SQL Server's or xWeb's; the SHAPE of what we sent is ours to report, or
|
|
845
|
+
// the next reader of the run log is left guessing which parameter the door rejected.
|
|
846
|
+
throw new Error(`NetForum GetQuery(${ctx.ObjectName}) failed: HTTP ${response.Status}${this.SoapFault(response.Body)}` +
|
|
847
|
+
` [sent: ${this.DescribeRequestShape(sentArgs)}]`);
|
|
711
848
|
}
|
|
712
849
|
const rows = this.NormalizeResponse(response.Body, null);
|
|
713
850
|
const warnings = [];
|
|
@@ -748,9 +885,22 @@ let NetForumConnector = class NetForumConnector extends BaseRESTIntegrationConne
|
|
|
748
885
|
});
|
|
749
886
|
}
|
|
750
887
|
// Highest ordering-key value seen → keyset resume position when no watermark exists.
|
|
888
|
+
// With no key known and the tenant's default list sent, the vendor guarantees "the primary key
|
|
889
|
+
// for the object will still be returned in the node as the first child" — so the first column
|
|
890
|
+
// of each row identifies the record, and its NAME is reported for the key classifier.
|
|
891
|
+
const firstColumn = !pkField && sentEmptyColumnList && rows.length > 0 ? Object.keys(rows[0])[0] : undefined;
|
|
892
|
+
if (firstColumn) {
|
|
893
|
+
warnings.push({
|
|
894
|
+
Code: 'KEY_FROM_DEFAULT_LIST_FIRST_COLUMN',
|
|
895
|
+
Message: `NetForum "${ctx.ObjectName}" has no known key column; with the tenant's default column list ` +
|
|
896
|
+
`xWeb returns the object's primary key as the first column of every row, so "${firstColumn}" ` +
|
|
897
|
+
`identifies these records.`,
|
|
898
|
+
Data: { ObjectName: ctx.ObjectName, FirstColumn: firstColumn },
|
|
899
|
+
});
|
|
900
|
+
}
|
|
751
901
|
let maxKey;
|
|
752
902
|
const records = rows.map(row => {
|
|
753
|
-
const externalID = pkField ? String(row[pkField] ?? '') : '';
|
|
903
|
+
const externalID = pkField ? String(row[pkField] ?? '') : (firstColumn ? String(row[firstColumn] ?? '') : '');
|
|
754
904
|
if (orderingKey) {
|
|
755
905
|
const v = row[orderingKey];
|
|
756
906
|
if (v != null) {
|
|
@@ -818,25 +968,65 @@ let NetForumConnector = class NetForumConnector extends BaseRESTIntegrationConne
|
|
|
818
968
|
* original fault to surface rather than sending a request we cannot justify.
|
|
819
969
|
*/
|
|
820
970
|
ExplicitColumnListFor(obj, required) {
|
|
971
|
+
// Preferred source: the object's definition, which knows each column's table and alias. The
|
|
972
|
+
// vendor requires the alias (or table) prefix wherever a table is joined more than once
|
|
973
|
+
// ("ambiguous column name" / "Object Reference Not Set" otherwise), so every column is sent
|
|
974
|
+
// qualified — `Membership.mbr_src_code`, `co_individual.ind_cst_key` — and each name once.
|
|
975
|
+
// The key column leads, so a row's first element is the key whichever list was sent.
|
|
976
|
+
const def = this.DefinitionByObject.get(obj.Name.toLowerCase()) ?? null;
|
|
977
|
+
const out = [];
|
|
978
|
+
const seen = new Set();
|
|
979
|
+
const add = (name, qualifier) => {
|
|
980
|
+
if (!name)
|
|
981
|
+
return;
|
|
982
|
+
const key = name.toLowerCase();
|
|
983
|
+
if (seen.has(key))
|
|
984
|
+
return;
|
|
985
|
+
seen.add(key);
|
|
986
|
+
out.push(qualifier ? `${qualifier}.${name}` : name);
|
|
987
|
+
};
|
|
988
|
+
if (def && def.Columns.length > 0) {
|
|
989
|
+
const qualifierOf = (c) => c.Alias ?? c.Table;
|
|
990
|
+
const lead = def.Columns.find(c => !!def.KeyColumn && c.Name.toLowerCase() === def.KeyColumn.toLowerCase());
|
|
991
|
+
if (lead)
|
|
992
|
+
add(lead.Name, qualifierOf(lead));
|
|
993
|
+
for (const c of def.Columns)
|
|
994
|
+
add(c.Name, qualifierOf(c));
|
|
995
|
+
for (const r of required)
|
|
996
|
+
add(r, null);
|
|
997
|
+
return out.join(',');
|
|
998
|
+
}
|
|
821
999
|
const discovered = this.DiscoveredColumnsByObject.get(obj.Name.toLowerCase()) ?? [];
|
|
822
1000
|
const known = discovered.length > 0
|
|
823
1001
|
? discovered
|
|
824
1002
|
: this.GetCachedFields(obj.ID).map(f => f.Name).filter((n) => !!n);
|
|
825
1003
|
if (known.length === 0)
|
|
826
1004
|
return '';
|
|
827
|
-
const
|
|
828
|
-
|
|
829
|
-
for (const c of [...known, ...required]) {
|
|
830
|
-
if (!c)
|
|
831
|
-
continue;
|
|
832
|
-
const key = c.toLowerCase();
|
|
833
|
-
if (seen.has(key))
|
|
834
|
-
continue;
|
|
835
|
-
seen.add(key);
|
|
836
|
-
out.push(c);
|
|
837
|
-
}
|
|
1005
|
+
for (const c of [...known, ...required])
|
|
1006
|
+
add(c ?? undefined, null);
|
|
838
1007
|
return out.join(',');
|
|
839
1008
|
}
|
|
1009
|
+
/** "Account is not authorized to perform Select on <object> object" — a grant, not a query, failed. */
|
|
1010
|
+
IsSelectNotAuthorizedFault(response) {
|
|
1011
|
+
if (response.Status < 400)
|
|
1012
|
+
return false;
|
|
1013
|
+
const fault = this.SoapFault(response.Body);
|
|
1014
|
+
return typeof fault === 'string' && /not authorized to perform select/i.test(fault);
|
|
1015
|
+
}
|
|
1016
|
+
/**
|
|
1017
|
+
* The shape of a GetQuery request for a fault message: which object and TOP, how many columns were
|
|
1018
|
+
* named (or that the default list was asked for), the ORDER BY column, and how many WHERE
|
|
1019
|
+
* predicates — never a literal value, so a key or watermark value is not copied into a log.
|
|
1020
|
+
*/
|
|
1021
|
+
DescribeRequestShape(args) {
|
|
1022
|
+
const cols = args.szColumnList
|
|
1023
|
+
? `${args.szColumnList.split(',').filter(c => c.trim().length > 0).length} named column(s)`
|
|
1024
|
+
: 'default list (empty szColumnList)';
|
|
1025
|
+
const where = args.szWhereClause
|
|
1026
|
+
? `${args.szWhereClause.split(/\s+AND\s+/i).length} predicate(s)`
|
|
1027
|
+
: 'none';
|
|
1028
|
+
return `szObjectName="${args.szObjectName}"; szColumnList=${cols}; szOrderBy=${args.szOrderBy ?? 'none'}; szWhereClause=${where}`;
|
|
1029
|
+
}
|
|
840
1030
|
ColumnListFor(cfg, required) {
|
|
841
1031
|
const declared = Array.isArray(cfg.columnList)
|
|
842
1032
|
? cfg.columnList.filter((c) => typeof c === 'string' && c.trim().length > 0).map(c => c.trim())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetForumConnector.js","sourceRoot":"","sources":["../src/NetForumConnector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NetForumConnector.js","sourceRoot":"","sources":["../src/NetForumConnector.ts"],"names":[],"mappings":"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"}
|