@memberjunction/integration-connectors 6.1.4 → 6.2.0-edge.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.
|
@@ -104,7 +104,7 @@ export declare abstract class BaseExternalDataSourceConnector extends BaseIntegr
|
|
|
104
104
|
/** Build a column-name → FK-edge map from an object's referencing-side relationships. */
|
|
105
105
|
protected BuildForeignKeyMap(obj: ExternalSchemaObject): Map<string, ForeignKeyEdge>;
|
|
106
106
|
/** Common "last-changed" column names, normalized (letters only) for a forgiving match. */
|
|
107
|
-
private static readonly
|
|
107
|
+
private static readonly watermarkNameHints;
|
|
108
108
|
/**
|
|
109
109
|
* Best-effort default watermark column, matched by NAME only (engine-neutral — never inferred from a
|
|
110
110
|
* native type, since e.g. Postgres `timestamp` is a plain datetime, not a rowversion). Only sets the
|
|
@@ -317,7 +317,7 @@ export class BaseExternalDataSourceConnector extends BaseIntegrationConnector {
|
|
|
317
317
|
}
|
|
318
318
|
// ─── Watermark detection (conservative, name-based default; operator-overridable) ─
|
|
319
319
|
/** Common "last-changed" column names, normalized (letters only) for a forgiving match. */
|
|
320
|
-
static { this.
|
|
320
|
+
static { this.watermarkNameHints = new Set([
|
|
321
321
|
'modifiedat', 'updatedat', 'lastmodified', 'lastupdated', 'modified', 'updated',
|
|
322
322
|
'datemodified', 'dateupdated', 'lastmodifieddate', 'lastupdateddate', 'changedate',
|
|
323
323
|
'mjupdatedat', 'rowlastupdated', 'lastchange', 'lastchanged',
|
|
@@ -330,7 +330,7 @@ export class BaseExternalDataSourceConnector extends BaseIntegrationConnector {
|
|
|
330
330
|
*/
|
|
331
331
|
DetectWatermarkField(obj) {
|
|
332
332
|
const normalize = (name) => name.toLowerCase().replace(/[^a-z]/g, '');
|
|
333
|
-
const match = obj.Columns.find(c => BaseExternalDataSourceConnector.
|
|
333
|
+
const match = obj.Columns.find(c => BaseExternalDataSourceConnector.watermarkNameHints.has(normalize(c.Name)));
|
|
334
334
|
return match?.Name;
|
|
335
335
|
}
|
|
336
336
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/integration-connectors",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "6.1
|
|
4
|
+
"version": "6.2.0-edge.1",
|
|
5
5
|
"description": "MemberJunction External Data Source connector base classes. Concrete vendor connectors ship from the MemberJunction/Integrations repo as individual Open Apps.",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
"/dist"
|
|
10
10
|
],
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@memberjunction/core": "6.1
|
|
13
|
-
"@memberjunction/core-entities": "6.1
|
|
14
|
-
"@memberjunction/external-data-sources": "6.1
|
|
15
|
-
"@memberjunction/integration-engine": "6.1
|
|
16
|
-
"@memberjunction/integration-engine-base": "6.1
|
|
12
|
+
"@memberjunction/core": "6.2.0-edge.1",
|
|
13
|
+
"@memberjunction/core-entities": "6.2.0-edge.1",
|
|
14
|
+
"@memberjunction/external-data-sources": "6.2.0-edge.1",
|
|
15
|
+
"@memberjunction/integration-engine": "6.2.0-edge.1",
|
|
16
|
+
"@memberjunction/integration-engine-base": "6.2.0-edge.1"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"typescript": "^5.9.3",
|