@memberjunction/connector-elevate 0.2.0 → 0.3.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.
|
@@ -54,10 +54,25 @@ export declare class ElevateConnector extends BaseRESTIntegrationConnector {
|
|
|
54
54
|
private verifiedFieldNames;
|
|
55
55
|
/** One sampled value per discovered field name, used ONLY for runtime type inference. */
|
|
56
56
|
private discoveredSamples;
|
|
57
|
+
/**
|
|
58
|
+
* The tenant's own resource catalog, parsed from `<siteUrl>/api/reports`, per connection.
|
|
59
|
+
* `null` means we tried and the page was unusable — cached so a dead page is fetched once, not
|
|
60
|
+
* once per object.
|
|
61
|
+
*/
|
|
62
|
+
private catalogPage;
|
|
57
63
|
/** Field names this connection's door REJECTED — never requested again for that object. */
|
|
58
64
|
private rejectedFieldNames;
|
|
59
65
|
/** Declared resources this connection accepted a probe query for. Absence NEVER deactivates. */
|
|
60
66
|
private validatedResources;
|
|
67
|
+
/**
|
|
68
|
+
* Why the last probe for a given cache key failed, verbatim.
|
|
69
|
+
*
|
|
70
|
+
* `ValidateResource` deliberately does not throw — a rejection must never deactivate an object.
|
|
71
|
+
* But it also swallowed the REASON, so every distinct failure (a credential that would not load,
|
|
72
|
+
* a rejected key, an unroutable host) reached the operator as one sentence blaming the site URL
|
|
73
|
+
* and the API key. Keeping the text lets `TestConnection` say what actually happened.
|
|
74
|
+
*/
|
|
75
|
+
private lastProbeFailure;
|
|
61
76
|
/**
|
|
62
77
|
* `product_url` returned alongside a created registration, keyed by the new registration_id — the
|
|
63
78
|
* learner's link, which the generic `CRUDResult` has no slot for. Bounded (oldest evicted) so a long
|
|
@@ -399,6 +414,17 @@ export declare class ElevateConnector extends BaseRESTIntegrationConnector {
|
|
|
399
414
|
* present. A rejection is remembered and warned about but NEVER removes the object — with no describe
|
|
400
415
|
* endpoint, absence proves nothing, and deactivating on a thin result is tenant-visible data loss.
|
|
401
416
|
*/
|
|
417
|
+
/**
|
|
418
|
+
* Fetch and parse this connection's own resource catalog from `<siteUrl>/api/reports`.
|
|
419
|
+
*
|
|
420
|
+
* A plain GET of the URL the Report API posts to. No credential is sent — the page is not
|
|
421
|
+
* credential-gated on the deployment this was built against, and sending a key on a GET the
|
|
422
|
+
* vendor never documented would be inventing a protocol.
|
|
423
|
+
*
|
|
424
|
+
* Every failure path returns `null` and is cached, so an unusable page costs ONE request per
|
|
425
|
+
* connection and the declared catalog simply stands. Nothing here can remove an object.
|
|
426
|
+
*/
|
|
427
|
+
private LoadCatalogPage;
|
|
402
428
|
private ValidateResource;
|
|
403
429
|
/** Runs one read so the door's `response.labels` dictionary can be harvested for this connection. */
|
|
404
430
|
private LearnFieldsFromSource;
|
|
@@ -408,6 +434,24 @@ export declare class ElevateConnector extends BaseRESTIntegrationConnector {
|
|
|
408
434
|
private InferType;
|
|
409
435
|
/** Credential record first, connection Configuration second. No inline crypto; nothing is logged. */
|
|
410
436
|
private LoadCredentials;
|
|
437
|
+
/**
|
|
438
|
+
* The connection's site ROOT, with a door path removed if one was pasted in with it.
|
|
439
|
+
*
|
|
440
|
+
* `GetBaseURL` returns this verbatim and `JoinURL` then appends the object's own door
|
|
441
|
+
* (`/api/reports`), so a `siteUrl` that already carries the door produced
|
|
442
|
+
* `…/api/reports/api/reports`. That is a 404/405, `ValidateResource` swallows it, and
|
|
443
|
+
* `TestConnection` reports "rejected a minimal query — check the site URL and the API key" —
|
|
444
|
+
* naming two things that are both correct. Observed against a real tenant whose key and every
|
|
445
|
+
* declared resource worked (86,074 ProductRegistration rows) while the connection would not save.
|
|
446
|
+
*
|
|
447
|
+
* The door paths are the ones this connector can append: `/api/reports` (read, and its `/form`
|
|
448
|
+
* variant) and `/api/registrations` (write). Only a TRAILING occurrence is stripped, and only
|
|
449
|
+
* whole path segments, so a site genuinely hosted under a directory of another name is untouched.
|
|
450
|
+
*
|
|
451
|
+
* @param raw The configured value, which may be null/undefined.
|
|
452
|
+
* @returns The trimmed site root with no trailing slash, or '' when nothing was configured.
|
|
453
|
+
*/
|
|
454
|
+
private NormalizeSiteUrl;
|
|
411
455
|
/** Extracts the two Elevate credential fields from a credential/Configuration JSON string. */
|
|
412
456
|
private ParseCredentialJSON;
|
|
413
457
|
/** Merges the credential into the request body. The ONLY place the api_key ever touches the wire. */
|
package/dist/ElevateConnector.js
CHANGED
|
@@ -9,6 +9,7 @@ import { Metadata } from '@memberjunction/core';
|
|
|
9
9
|
import { IntegrationEngineBase } from '@memberjunction/integration-engine-base';
|
|
10
10
|
import { BaseIntegrationConnector, BaseRESTIntegrationConnector, ClassifyError, computeContentHash, serializeKeyValue, } from '@memberjunction/integration-engine';
|
|
11
11
|
import { mergeDeclaredWithSampledFields } from '@memberjunction/connector-schema-merge';
|
|
12
|
+
import { parseReportsCatalog } from './ReportsCatalogPage.js';
|
|
12
13
|
// ─── Design note — WHY THE GENERIC REST READ PATH IS OVERRIDDEN ────────────────
|
|
13
14
|
//
|
|
14
15
|
// Elevate's Report API is NOT a REST collection API and the base class's generic per-operation
|
|
@@ -101,10 +102,25 @@ let ElevateConnector = class ElevateConnector extends BaseRESTIntegrationConnect
|
|
|
101
102
|
this.verifiedFieldNames = new Map();
|
|
102
103
|
/** One sampled value per discovered field name, used ONLY for runtime type inference. */
|
|
103
104
|
this.discoveredSamples = new Map();
|
|
105
|
+
/**
|
|
106
|
+
* The tenant's own resource catalog, parsed from `<siteUrl>/api/reports`, per connection.
|
|
107
|
+
* `null` means we tried and the page was unusable — cached so a dead page is fetched once, not
|
|
108
|
+
* once per object.
|
|
109
|
+
*/
|
|
110
|
+
this.catalogPage = new Map();
|
|
104
111
|
/** Field names this connection's door REJECTED — never requested again for that object. */
|
|
105
112
|
this.rejectedFieldNames = new Map();
|
|
106
113
|
/** Declared resources this connection accepted a probe query for. Absence NEVER deactivates. */
|
|
107
114
|
this.validatedResources = new Map();
|
|
115
|
+
/**
|
|
116
|
+
* Why the last probe for a given cache key failed, verbatim.
|
|
117
|
+
*
|
|
118
|
+
* `ValidateResource` deliberately does not throw — a rejection must never deactivate an object.
|
|
119
|
+
* But it also swallowed the REASON, so every distinct failure (a credential that would not load,
|
|
120
|
+
* a rejected key, an unroutable host) reached the operator as one sentence blaming the site URL
|
|
121
|
+
* and the API key. Keeping the text lets `TestConnection` say what actually happened.
|
|
122
|
+
*/
|
|
123
|
+
this.lastProbeFailure = new Map();
|
|
108
124
|
/**
|
|
109
125
|
* `product_url` returned alongside a created registration, keyed by the new registration_id — the
|
|
110
126
|
* learner's link, which the generic `CRUDResult` has no slot for. Bounded (oldest evicted) so a long
|
|
@@ -219,6 +235,7 @@ let ElevateConnector = class ElevateConnector extends BaseRESTIntegrationConnect
|
|
|
219
235
|
*/
|
|
220
236
|
async DiscoverObjects(companyIntegration, contextUser) {
|
|
221
237
|
const declared = [];
|
|
238
|
+
const declaredWire = new Set();
|
|
222
239
|
for (const obj of this.getCachedObjects(companyIntegration.IntegrationID)) {
|
|
223
240
|
await this.ValidateResource(companyIntegration, contextUser, obj.Name);
|
|
224
241
|
declared.push({
|
|
@@ -229,6 +246,31 @@ let ElevateConnector = class ElevateConnector extends BaseRESTIntegrationConnect
|
|
|
229
246
|
SupportsIncrementalSync: obj.SupportsIncrementalSync,
|
|
230
247
|
SupportsWrite: obj.SupportsWrite,
|
|
231
248
|
});
|
|
249
|
+
try {
|
|
250
|
+
declaredWire.add(this.ReadRouteFor(obj).Resource.toLowerCase());
|
|
251
|
+
}
|
|
252
|
+
catch { /* no wire value declared */ }
|
|
253
|
+
declaredWire.add(obj.Name.toLowerCase());
|
|
254
|
+
}
|
|
255
|
+
// ADD whatever this site documents that the catalog does not. Purely additive: a resource the
|
|
256
|
+
// page omits is left exactly as declared, because this page is evidence of PRESENCE only —
|
|
257
|
+
// `DiscoveryIsAuthoritative` stays false and nothing here can deactivate.
|
|
258
|
+
const page = await this.LoadCatalogPage(companyIntegration, contextUser);
|
|
259
|
+
if (page) {
|
|
260
|
+
for (const resource of page) {
|
|
261
|
+
if (declaredWire.has(resource.Name.toLowerCase()))
|
|
262
|
+
continue;
|
|
263
|
+
declared.push({
|
|
264
|
+
Name: resource.Name,
|
|
265
|
+
Label: resource.Name,
|
|
266
|
+
Description: `Discovered from this site's Report API catalog (${resource.Fields.length} field(s)).`,
|
|
267
|
+
// The page states no watermark field and no write door, and inferring either from
|
|
268
|
+
// a field name is the kind of guess that ships a broken predicate. A discovered
|
|
269
|
+
// resource is read-only and full-sync until someone declares otherwise.
|
|
270
|
+
SupportsIncrementalSync: false,
|
|
271
|
+
SupportsWrite: false,
|
|
272
|
+
});
|
|
273
|
+
}
|
|
232
274
|
}
|
|
233
275
|
return declared;
|
|
234
276
|
}
|
|
@@ -263,6 +305,26 @@ let ElevateConnector = class ElevateConnector extends BaseRESTIntegrationConnect
|
|
|
263
305
|
const samples = this.discoveredSamples.get(key);
|
|
264
306
|
const rejected = this.rejectedFieldNames.get(key) ?? new Set();
|
|
265
307
|
const extra = [];
|
|
308
|
+
// The site's own catalog page documents this resource's full field list. Fold it in FIRST:
|
|
309
|
+
// it is the vendor's stated surface, whereas the streamed names below are whatever one probe
|
|
310
|
+
// happened to return. Still additive — a declared field the page omits is untouched.
|
|
311
|
+
const page = await this.LoadCatalogPage(companyIntegration, contextUser);
|
|
312
|
+
if (page) {
|
|
313
|
+
let wire = objectName;
|
|
314
|
+
try {
|
|
315
|
+
wire = this.ReadRouteFor(this.GetCachedObject(companyIntegration.IntegrationID, objectName)).Resource;
|
|
316
|
+
}
|
|
317
|
+
catch { /* discovered resources are named by their wire value */ }
|
|
318
|
+
const resource = page.find(r => r.Name.toLowerCase() === wire.toLowerCase())
|
|
319
|
+
?? page.find(r => r.Name.toLowerCase() === objectName.toLowerCase());
|
|
320
|
+
for (const f of resource?.Fields ?? []) {
|
|
321
|
+
if (claimed.has(f.Name.toLowerCase()) || rejected.has(f.Name))
|
|
322
|
+
continue;
|
|
323
|
+
claimed.add(f.Name.toLowerCase());
|
|
324
|
+
const schema = this.SchemaForDiscoveredField(f.Name, samples?.get(f.Name));
|
|
325
|
+
extra.push(f.Description ? { ...schema, Description: f.Description } : schema);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
266
328
|
for (const name of this.SortedNames(this.discoveredFieldNames.get(key))) {
|
|
267
329
|
if (claimed.has(name.toLowerCase()) || rejected.has(name))
|
|
268
330
|
continue;
|
|
@@ -309,10 +371,16 @@ let ElevateConnector = class ElevateConnector extends BaseRESTIntegrationConnect
|
|
|
309
371
|
const probed = objects[0].Name;
|
|
310
372
|
const accepted = await this.ValidateResource(companyIntegration, contextUser, probed);
|
|
311
373
|
if (!accepted) {
|
|
374
|
+
// Report the REASON, not a guess. The two named suspects were frequently both innocent:
|
|
375
|
+
// the most common failure here was a credential whose site root is stored under a key
|
|
376
|
+
// this connector did not read, which never reached the network at all.
|
|
377
|
+
const reason = this.lastProbeFailure.get(this.CacheKey(companyIntegration, probed));
|
|
312
378
|
return {
|
|
313
379
|
Success: false,
|
|
314
|
-
Message:
|
|
315
|
-
|
|
380
|
+
Message: reason
|
|
381
|
+
? `[elevate] Could not read resource "${probed}" on this connection: ${reason}`
|
|
382
|
+
: `[elevate] The Report API door rejected a minimal query for resource "${probed}", ` +
|
|
383
|
+
'and reported no reason.',
|
|
316
384
|
};
|
|
317
385
|
}
|
|
318
386
|
return {
|
|
@@ -407,7 +475,7 @@ let ElevateConnector = class ElevateConnector extends BaseRESTIntegrationConnect
|
|
|
407
475
|
if (cached)
|
|
408
476
|
return cached;
|
|
409
477
|
const creds = await this.LoadCredentials(companyIntegration, contextUser);
|
|
410
|
-
const siteUrl = (creds.SiteUrl
|
|
478
|
+
const siteUrl = this.NormalizeSiteUrl(creds.SiteUrl);
|
|
411
479
|
if (!siteUrl) {
|
|
412
480
|
throw new Error('[elevate] No Elevate site URL configured. Elevate is deployed PER CLIENT — there is no shared ' +
|
|
413
481
|
'vendor API host — so the connection must supply "siteUrl" (the client\'s own Elevate site root) ' +
|
|
@@ -1209,6 +1277,51 @@ let ElevateConnector = class ElevateConnector extends BaseRESTIntegrationConnect
|
|
|
1209
1277
|
* present. A rejection is remembered and warned about but NEVER removes the object — with no describe
|
|
1210
1278
|
* endpoint, absence proves nothing, and deactivating on a thin result is tenant-visible data loss.
|
|
1211
1279
|
*/
|
|
1280
|
+
/**
|
|
1281
|
+
* Fetch and parse this connection's own resource catalog from `<siteUrl>/api/reports`.
|
|
1282
|
+
*
|
|
1283
|
+
* A plain GET of the URL the Report API posts to. No credential is sent — the page is not
|
|
1284
|
+
* credential-gated on the deployment this was built against, and sending a key on a GET the
|
|
1285
|
+
* vendor never documented would be inventing a protocol.
|
|
1286
|
+
*
|
|
1287
|
+
* Every failure path returns `null` and is cached, so an unusable page costs ONE request per
|
|
1288
|
+
* connection and the declared catalog simply stands. Nothing here can remove an object.
|
|
1289
|
+
*/
|
|
1290
|
+
async LoadCatalogPage(companyIntegration, contextUser) {
|
|
1291
|
+
const key = companyIntegration.ID;
|
|
1292
|
+
const cached = this.catalogPage.get(key);
|
|
1293
|
+
if (cached !== undefined)
|
|
1294
|
+
return cached;
|
|
1295
|
+
let parsed = null;
|
|
1296
|
+
try {
|
|
1297
|
+
const auth = await this.Authenticate(companyIntegration, contextUser);
|
|
1298
|
+
const url = this.JoinURL(this.GetBaseURL(companyIntegration, auth), '/api/reports');
|
|
1299
|
+
const response = await fetch(url, { method: 'GET', headers: { Accept: 'text/html' } });
|
|
1300
|
+
if (response.ok) {
|
|
1301
|
+
// Gate on the resources the declared catalog already asserts: if the page does not
|
|
1302
|
+
// describe those, its shape is not the one this parser understands and every
|
|
1303
|
+
// conclusion from it is suspect.
|
|
1304
|
+
const known = this.getCachedObjects(companyIntegration.IntegrationID)
|
|
1305
|
+
.map(o => { try {
|
|
1306
|
+
return this.ReadRouteFor(o).Resource;
|
|
1307
|
+
}
|
|
1308
|
+
catch {
|
|
1309
|
+
return null;
|
|
1310
|
+
} })
|
|
1311
|
+
.filter((r) => r != null);
|
|
1312
|
+
parsed = parseReportsCatalog(await response.text(), known);
|
|
1313
|
+
}
|
|
1314
|
+
}
|
|
1315
|
+
catch {
|
|
1316
|
+
parsed = null;
|
|
1317
|
+
}
|
|
1318
|
+
if (parsed === null) {
|
|
1319
|
+
this.WarnOnce(`catalog-page:${key}`, '[elevate] Could not read this site\'s resource catalog at /api/reports — the declared ' +
|
|
1320
|
+
'catalog stands. Objects and fields this site has but the catalog does not will not appear.');
|
|
1321
|
+
}
|
|
1322
|
+
this.catalogPage.set(key, parsed);
|
|
1323
|
+
return parsed;
|
|
1324
|
+
}
|
|
1212
1325
|
async ValidateResource(companyIntegration, contextUser, objectName) {
|
|
1213
1326
|
const key = this.CacheKey(companyIntegration, objectName);
|
|
1214
1327
|
const cached = this.validatedResources.get(key);
|
|
@@ -1237,6 +1350,7 @@ let ElevateConnector = class ElevateConnector extends BaseRESTIntegrationConnect
|
|
|
1237
1350
|
accepted = true;
|
|
1238
1351
|
}
|
|
1239
1352
|
catch (err) {
|
|
1353
|
+
this.lastProbeFailure.set(key, this.SafeMessage(err));
|
|
1240
1354
|
this.WarnOnce(`probe-failed:${objectName}`, `[elevate] Declared resource "${objectName}" did not accept a minimal probe query on this ` +
|
|
1241
1355
|
`connection (${this.SafeMessage(err)}). It is STILL reported by discovery: Elevate publishes no ` +
|
|
1242
1356
|
'describe endpoint, so a rejection may be a per-tenant permission or a transient fault, and ' +
|
|
@@ -1302,13 +1416,46 @@ let ElevateConnector = class ElevateConnector extends BaseRESTIntegrationConnect
|
|
|
1302
1416
|
ApiKey: fromCredential?.ApiKey ?? fromConfig?.ApiKey,
|
|
1303
1417
|
};
|
|
1304
1418
|
}
|
|
1419
|
+
/**
|
|
1420
|
+
* The connection's site ROOT, with a door path removed if one was pasted in with it.
|
|
1421
|
+
*
|
|
1422
|
+
* `GetBaseURL` returns this verbatim and `JoinURL` then appends the object's own door
|
|
1423
|
+
* (`/api/reports`), so a `siteUrl` that already carries the door produced
|
|
1424
|
+
* `…/api/reports/api/reports`. That is a 404/405, `ValidateResource` swallows it, and
|
|
1425
|
+
* `TestConnection` reports "rejected a minimal query — check the site URL and the API key" —
|
|
1426
|
+
* naming two things that are both correct. Observed against a real tenant whose key and every
|
|
1427
|
+
* declared resource worked (86,074 ProductRegistration rows) while the connection would not save.
|
|
1428
|
+
*
|
|
1429
|
+
* The door paths are the ones this connector can append: `/api/reports` (read, and its `/form`
|
|
1430
|
+
* variant) and `/api/registrations` (write). Only a TRAILING occurrence is stripped, and only
|
|
1431
|
+
* whole path segments, so a site genuinely hosted under a directory of another name is untouched.
|
|
1432
|
+
*
|
|
1433
|
+
* @param raw The configured value, which may be null/undefined.
|
|
1434
|
+
* @returns The trimmed site root with no trailing slash, or '' when nothing was configured.
|
|
1435
|
+
*/
|
|
1436
|
+
NormalizeSiteUrl(raw) {
|
|
1437
|
+
return (raw ?? '')
|
|
1438
|
+
.trim()
|
|
1439
|
+
.replace(/\/+$/, '')
|
|
1440
|
+
.replace(/\/api\/reports\/form$/i, '')
|
|
1441
|
+
.replace(/\/api\/(?:reports|registrations)$/i, '')
|
|
1442
|
+
.replace(/\/+$/, '');
|
|
1443
|
+
}
|
|
1305
1444
|
/** Extracts the two Elevate credential fields from a credential/Configuration JSON string. */
|
|
1306
1445
|
ParseCredentialJSON(json) {
|
|
1307
1446
|
const parsed = this.ParseJSONObject(json);
|
|
1308
1447
|
if (!parsed)
|
|
1309
1448
|
return null;
|
|
1310
1449
|
return {
|
|
1311
|
-
|
|
1450
|
+
// `endpoint` is appended, NOT prepended: this integration declares CredentialTypeID
|
|
1451
|
+
// "API Key with Endpoint", whose schema is {apiKey, endpoint}, so every connection made
|
|
1452
|
+
// through the standard credential UI stores the site root under `endpoint`. That key was
|
|
1453
|
+
// missing here, so SiteUrl resolved to undefined and Authenticate threw "No Elevate site
|
|
1454
|
+
// URL configured" BEFORE any HTTP call — which ValidateResource reported as the door
|
|
1455
|
+
// rejecting the query. A correct key and a correct URL failed identically, and the
|
|
1456
|
+
// message blamed both. Adding it last keeps an explicitly-set siteUrl authoritative, so
|
|
1457
|
+
// this is purely additive for every connection that already works.
|
|
1458
|
+
SiteUrl: this.FirstString(parsed, ['siteUrl', 'SiteUrl', 'site_url', 'BaseURL', 'baseURL', 'BaseUrl', 'baseUrl', 'endpoint', 'Endpoint', 'endpointUrl', 'endpointURL']),
|
|
1312
1459
|
ApiKey: this.FirstString(parsed, ['apiKey', 'ApiKey', 'api_key', 'APIKey', 'key']),
|
|
1313
1460
|
};
|
|
1314
1461
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElevateConnector.js","sourceRoot":"","sources":["../src/ElevateConnector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ElevateConnector.js","sourceRoot":"","sources":["../src/ElevateConnector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The per-tenant resource catalog Cadmium Elevate actually publishes.
|
|
3
|
+
*
|
|
4
|
+
* This connector was built on the premise that Elevate "publishes no describe endpoint", so the
|
|
5
|
+
* hand-written metadata was the only truth. That premise is wrong. Every Elevate site serves a
|
|
6
|
+
* catalog of ITS OWN resources at `<siteUrl>/api/reports` — the same URL the Report API posts to,
|
|
7
|
+
* fetched with GET instead. It needs no API key, and the vendor's own prose on that page is the
|
|
8
|
+
* documented answer to "what can I query": *"In the docs area for each resource below, you will
|
|
9
|
+
* find Relations"*. There is no JSON alternative; this page is what Cadmium provides.
|
|
10
|
+
*
|
|
11
|
+
* It is HTML, not an API, so everything here is deliberately defensive:
|
|
12
|
+
*
|
|
13
|
+
* - The parse is ADDITIVE ONLY. Nothing it returns may remove or deactivate a declared object —
|
|
14
|
+
* `DiscoveryIsAuthoritative` stays false. A scraped page can be wrong in ways that look
|
|
15
|
+
* confident, and the cost of a wrong "absent" is deleting real metadata.
|
|
16
|
+
* - It is SANITY-GATED: the result is discarded wholesale unless it contains resources we already
|
|
17
|
+
* know exist. A page that parsed to something unrecognisable is a page whose shape changed, and
|
|
18
|
+
* half-believing it is worse than ignoring it.
|
|
19
|
+
* - Every failure is silent-and-fall-back, never fatal. A deployment that gates this page behind
|
|
20
|
+
* auth, disables it, or serves a different template gets exactly today's behaviour: the
|
|
21
|
+
* declared catalog.
|
|
22
|
+
*
|
|
23
|
+
* Only the ONE observed shape is parsed, and it is matched strictly rather than loosely, so a
|
|
24
|
+
* different template fails the gate instead of yielding plausible nonsense:
|
|
25
|
+
*
|
|
26
|
+
* <div id="productRegistration">
|
|
27
|
+
* <h3 ...>Resource productRegistration</h3>
|
|
28
|
+
* <h5>Fields</h5>
|
|
29
|
+
* <table> <tr><th>Name</th><th>Description</th></tr>
|
|
30
|
+
* <tr><td>id</td><td>ID</td></tr> ... </table>
|
|
31
|
+
* <h5>Relations</h5>
|
|
32
|
+
* <table> ... </table>
|
|
33
|
+
* </div>
|
|
34
|
+
*/
|
|
35
|
+
/** One field as the catalog page documents it. */
|
|
36
|
+
export interface CatalogField {
|
|
37
|
+
/** Wire name, exactly as the page spells it — this is what goes in the `fields` selector. */
|
|
38
|
+
Name: string;
|
|
39
|
+
/** The page's human label for the field, if it gave one. */
|
|
40
|
+
Description?: string;
|
|
41
|
+
}
|
|
42
|
+
/** One resource as the catalog page documents it. */
|
|
43
|
+
export interface CatalogResource {
|
|
44
|
+
/** Wire value for the request body's `resource` field, e.g. `productRegistration`. */
|
|
45
|
+
Name: string;
|
|
46
|
+
Fields: CatalogField[];
|
|
47
|
+
/**
|
|
48
|
+
* Resource names this one declares a built-in relationship with. The vendor's Relations table
|
|
49
|
+
* mixes relation tags, target resource names and prose labels in the same columns, so this is
|
|
50
|
+
* the INTERSECTION of that table's cells with the set of real resource names on the page —
|
|
51
|
+
* a name that is not itself a documented resource cannot be a relation target.
|
|
52
|
+
*/
|
|
53
|
+
Relations: string[];
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Parse the catalog page. Returns `null` when the page is not the shape we know — the caller then
|
|
57
|
+
* keeps the declared catalog. Never throws.
|
|
58
|
+
*/
|
|
59
|
+
export declare function parseReportsCatalog(html: string, knownResources?: readonly string[]): CatalogResource[] | null;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The per-tenant resource catalog Cadmium Elevate actually publishes.
|
|
3
|
+
*
|
|
4
|
+
* This connector was built on the premise that Elevate "publishes no describe endpoint", so the
|
|
5
|
+
* hand-written metadata was the only truth. That premise is wrong. Every Elevate site serves a
|
|
6
|
+
* catalog of ITS OWN resources at `<siteUrl>/api/reports` — the same URL the Report API posts to,
|
|
7
|
+
* fetched with GET instead. It needs no API key, and the vendor's own prose on that page is the
|
|
8
|
+
* documented answer to "what can I query": *"In the docs area for each resource below, you will
|
|
9
|
+
* find Relations"*. There is no JSON alternative; this page is what Cadmium provides.
|
|
10
|
+
*
|
|
11
|
+
* It is HTML, not an API, so everything here is deliberately defensive:
|
|
12
|
+
*
|
|
13
|
+
* - The parse is ADDITIVE ONLY. Nothing it returns may remove or deactivate a declared object —
|
|
14
|
+
* `DiscoveryIsAuthoritative` stays false. A scraped page can be wrong in ways that look
|
|
15
|
+
* confident, and the cost of a wrong "absent" is deleting real metadata.
|
|
16
|
+
* - It is SANITY-GATED: the result is discarded wholesale unless it contains resources we already
|
|
17
|
+
* know exist. A page that parsed to something unrecognisable is a page whose shape changed, and
|
|
18
|
+
* half-believing it is worse than ignoring it.
|
|
19
|
+
* - Every failure is silent-and-fall-back, never fatal. A deployment that gates this page behind
|
|
20
|
+
* auth, disables it, or serves a different template gets exactly today's behaviour: the
|
|
21
|
+
* declared catalog.
|
|
22
|
+
*
|
|
23
|
+
* Only the ONE observed shape is parsed, and it is matched strictly rather than loosely, so a
|
|
24
|
+
* different template fails the gate instead of yielding plausible nonsense:
|
|
25
|
+
*
|
|
26
|
+
* <div id="productRegistration">
|
|
27
|
+
* <h3 ...>Resource productRegistration</h3>
|
|
28
|
+
* <h5>Fields</h5>
|
|
29
|
+
* <table> <tr><th>Name</th><th>Description</th></tr>
|
|
30
|
+
* <tr><td>id</td><td>ID</td></tr> ... </table>
|
|
31
|
+
* <h5>Relations</h5>
|
|
32
|
+
* <table> ... </table>
|
|
33
|
+
* </div>
|
|
34
|
+
*/
|
|
35
|
+
/** Strip tags and collapse whitespace in one cell. */
|
|
36
|
+
function cellText(html) {
|
|
37
|
+
return html.replace(/<[^>]*>/g, '').replace(/&/g, '&').replace(/ /g, ' ').trim();
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Parse the catalog page. Returns `null` when the page is not the shape we know — the caller then
|
|
41
|
+
* keeps the declared catalog. Never throws.
|
|
42
|
+
*/
|
|
43
|
+
export function parseReportsCatalog(html, knownResources = []) {
|
|
44
|
+
try {
|
|
45
|
+
if (!html || html.length === 0)
|
|
46
|
+
return null;
|
|
47
|
+
// Split on the per-resource divs. A resource block runs until the next one starts.
|
|
48
|
+
const blocks = [...html.matchAll(/<div id="([A-Za-z][A-Za-z0-9_]*)"\s*>([\s\S]*?)(?=<div id="[A-Za-z][A-Za-z0-9_]*"\s*>|$)/g)];
|
|
49
|
+
if (blocks.length === 0)
|
|
50
|
+
return null;
|
|
51
|
+
const parsed = [];
|
|
52
|
+
for (const [, name, body] of blocks) {
|
|
53
|
+
// The heading is what distinguishes a RESOURCE block from any other div that happens to
|
|
54
|
+
// carry an id (the page's nav, layout wrappers, etc.).
|
|
55
|
+
if (!new RegExp(`Resource\\s+${name}\\b`).test(body))
|
|
56
|
+
continue;
|
|
57
|
+
const fieldsSection = body.split(/>\s*Relations\s*</)[0];
|
|
58
|
+
const fields = [];
|
|
59
|
+
for (const [, rawName, rawDesc] of fieldsSection.matchAll(/<tr>\s*<td>([\s\S]*?)<\/td>\s*<td>([\s\S]*?)<\/td>\s*<\/tr>/g)) {
|
|
60
|
+
const fieldName = cellText(rawName);
|
|
61
|
+
// A field name has to be usable as a wire selector; the header row and any prose row
|
|
62
|
+
// are rejected by that alone.
|
|
63
|
+
if (!/^[A-Za-z][A-Za-z0-9_.]*$/.test(fieldName))
|
|
64
|
+
continue;
|
|
65
|
+
const description = cellText(rawDesc);
|
|
66
|
+
fields.push(description ? { Name: fieldName, Description: description } : { Name: fieldName });
|
|
67
|
+
}
|
|
68
|
+
if (fields.length === 0)
|
|
69
|
+
continue;
|
|
70
|
+
const relationCells = [];
|
|
71
|
+
const relIdx = body.search(/>\s*Relations\s*</);
|
|
72
|
+
if (relIdx >= 0) {
|
|
73
|
+
for (const [, cell] of body.slice(relIdx).matchAll(/<td>([\s\S]*?)<\/td>/g)) {
|
|
74
|
+
const text = cellText(cell);
|
|
75
|
+
if (/^[A-Za-z][A-Za-z0-9_]*$/.test(text))
|
|
76
|
+
relationCells.push(text);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
parsed.push({ Name: name, Fields: fields, Relations: relationCells });
|
|
80
|
+
}
|
|
81
|
+
if (parsed.length === 0)
|
|
82
|
+
return null;
|
|
83
|
+
// Relations resolve only against real resources on this same page.
|
|
84
|
+
const names = new Set(parsed.map(r => r.Name));
|
|
85
|
+
for (const r of parsed) {
|
|
86
|
+
r.Relations = [...new Set(r.Relations.filter(n => n !== r.Name && names.has(n)))].sort();
|
|
87
|
+
}
|
|
88
|
+
// THE GATE. If the page does not describe the resources we already know this vendor has,
|
|
89
|
+
// it is not the page we think it is, and every conclusion drawn from it is suspect.
|
|
90
|
+
if (knownResources.length > 0) {
|
|
91
|
+
const missing = knownResources.filter(k => !names.has(k));
|
|
92
|
+
if (missing.length > 0)
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
return parsed;
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=ReportsCatalogPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReportsCatalogPage.js","sourceRoot":"","sources":["../src/ReportsCatalogPage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAwBH,sDAAsD;AACtD,SAAS,QAAQ,CAAC,IAAY;IAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,iBAAoC,EAAE;IACpF,IAAI,CAAC;QACD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5C,mFAAmF;QACnF,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,2FAA2F,CAAC,CAAC,CAAC;QAC/H,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAErC,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YAClC,wFAAwF;YACxF,uDAAuD;YACvD,IAAI,CAAC,IAAI,MAAM,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAS;YAE/D,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM,MAAM,GAAmB,EAAE,CAAC;YAClC,KAAK,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,8DAA8D,CAAC,EAAE,CAAC;gBACxH,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACpC,qFAAqF;gBACrF,8BAA8B;gBAC9B,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC;oBAAE,SAAS;gBAC1D,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACnG,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAElC,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAChD,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;gBACd,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;oBAC1E,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC5B,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;wBAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvE,CAAC;YACL,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAErC,mEAAmE;QACnE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACrB,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7F,CAAC;QAED,yFAAyF;QACzF,oFAAoF;QACpF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;QACxC,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC"}
|