@memberjunction/connector-netsuite 1.3.2 → 1.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.
|
@@ -71,7 +71,7 @@ export declare class NetSuiteConnector extends BaseRESTIntegrationConnector {
|
|
|
71
71
|
private BuildAuthorizationHeader;
|
|
72
72
|
/** Base URL = host root; the IO's APIPath already carries the full /services/rest/... path. */
|
|
73
73
|
protected GetBaseURL(_companyIntegration: MJCompanyIntegrationEntity, auth: RESTAuthContext): string;
|
|
74
|
-
protected MakeHTTPRequest(auth: RESTAuthContext, url: string, method: string, headers: Record<string, string>, body?: unknown): Promise<RESTResponse>;
|
|
74
|
+
protected MakeHTTPRequest(auth: RESTAuthContext, url: string, method: string, headers: Record<string, string>, body?: unknown, onThrottle?: (err: unknown) => void): Promise<RESTResponse>;
|
|
75
75
|
/**
|
|
76
76
|
* The `WWW-Authenticate` response header plus `o:errorDetails` name the PRECISE auth
|
|
77
77
|
* failure (token_rejected vs invalid_signature vs timestamp_refused ...). Without them
|
|
@@ -150,12 +150,54 @@ export declare class NetSuiteConnector extends BaseRESTIntegrationConnector {
|
|
|
150
150
|
private MapSchemaType;
|
|
151
151
|
private HumanizeName;
|
|
152
152
|
FetchChanges(ctx: FetchContext): Promise<FetchBatchResult>;
|
|
153
|
-
/**
|
|
153
|
+
/**
|
|
154
|
+
* Builds the SuiteQL SELECT: incremental watermark predicate + keyset seek predicate,
|
|
155
|
+
* ORDER BY id. Ordering by `id` (not the watermark) is what makes the seek exact: id is
|
|
156
|
+
* unique, so no tie-break is needed and no row can be skipped or repeated at a page
|
|
157
|
+
* boundary — a timestamp cannot promise that, since rows sharing a modstamp straddle pages.
|
|
158
|
+
* The watermark predicate still narrows an incremental run; the seek walks within it.
|
|
159
|
+
*/
|
|
154
160
|
private BuildSuiteQL;
|
|
155
|
-
/**
|
|
161
|
+
/**
|
|
162
|
+
* Renders a watermark as an explicit SuiteQL date literal.
|
|
163
|
+
*
|
|
164
|
+
* SuiteQL is Oracle-flavoured, where comparing a date column against a bare string leans on the
|
|
165
|
+
* session's NLS format to convert it — so the same predicate can work on one account and fail on
|
|
166
|
+
* another. TO_DATE with an explicit mask states the format outright. (This method's own doc
|
|
167
|
+
* already claimed it emitted TO_DATE; it never did.)
|
|
168
|
+
*/
|
|
156
169
|
private QuoteSuiteQLDate;
|
|
157
|
-
/**
|
|
158
|
-
private
|
|
170
|
+
/** Per-scan running max of the change field, keyed by connection + object. */
|
|
171
|
+
private readonly _scanWatermarks;
|
|
172
|
+
/** When each in-flight scan began, by the same key — the clamp ceiling for its watermark. */
|
|
173
|
+
private readonly _scanStarts;
|
|
174
|
+
/**
|
|
175
|
+
* Resolves the field whose value means "when this record last changed", from evidence only.
|
|
176
|
+
*
|
|
177
|
+
* The IO's declaration wins. Otherwise the object's own described fields are searched for
|
|
178
|
+
* NetSuite's standard change columns — which covers custom records, whose IO rows carry no
|
|
179
|
+
* declaration. When neither says anything, the answer is "this object has no change field":
|
|
180
|
+
* no predicate, no watermark, a full re-fetch every run. That is the CORRECT behaviour for such
|
|
181
|
+
* an object, and far better than guessing a column name into the WHERE clause.
|
|
182
|
+
*/
|
|
183
|
+
private ResolveWatermarkField;
|
|
184
|
+
/**
|
|
185
|
+
* Reads a record's change stamp. SuiteQL lower-cases the keys it returns, so a case-sensitive
|
|
186
|
+
* lookup by the DECLARED name silently missed every row — the whole reason watermarks never
|
|
187
|
+
* advanced. Matching case-insensitively is immune to that regardless of how the field was
|
|
188
|
+
* declared.
|
|
189
|
+
*/
|
|
190
|
+
private ReadChangeStamp;
|
|
191
|
+
/**
|
|
192
|
+
* Folds this page into the scan's running max and returns the value to store — clamped to when
|
|
193
|
+
* the scan started (see FetchChanges) and normalised to ISO.
|
|
194
|
+
*
|
|
195
|
+
* A stamp this connector cannot PARSE is never emitted. The stored value goes straight back into
|
|
196
|
+
* the next run's predicate, so emitting something unparseable would either silently narrow the
|
|
197
|
+
* window or break the query outright; keeping today's "no watermark, full re-fetch" behaviour is
|
|
198
|
+
* the safe failure, and it is visible in the run events rather than silent.
|
|
199
|
+
*/
|
|
200
|
+
private TrackScanWatermark;
|
|
159
201
|
/**
|
|
160
202
|
* Builds an ExternalRecord carrying the FULL source record in Fields (full-record pass-through, so the
|
|
161
203
|
* framework's custom-column capture sees every key) and the universal `id` as the ExternalID. Mirrors
|
|
@@ -41,8 +41,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
41
41
|
* override is needed or written.
|
|
42
42
|
*
|
|
43
43
|
* ── Pagination ─────────────────────────────────────────────────────────────────────────────────
|
|
44
|
-
*
|
|
45
|
-
*
|
|
44
|
+
* SuiteQL reads use KEYSET (seek) paging: `WHERE id > <last seen> ORDER BY id`, limit=100 —
|
|
45
|
+
* every page reads only frontier rows (offset paging re-skips N rows per page, O(n²) walks) and
|
|
46
|
+
* the position round-trips through the engine's AfterKeyValue for durable resume + prefetch.
|
|
47
|
+
* Generic REST GETs still carry the HATEOAS envelope { items, count, totalResults, hasMore,
|
|
48
|
+
* offset, links:[{rel:'next',href}] } — surfaced in NormalizeResponse + ExtractPaginationInfo.
|
|
46
49
|
*
|
|
47
50
|
* ── Incremental ────────────────────────────────────────────────────────────────────────────────
|
|
48
51
|
* lastModifiedDate watermark (via WatermarkService in the engine; the connector applies the IO's
|
|
@@ -67,7 +70,13 @@ import { BaseIntegrationConnector, BaseRESTIntegrationConnector, OAuth1aSigner,
|
|
|
67
70
|
import { mergeDeclaredWithSampledFields } from '@memberjunction/connector-schema-merge';
|
|
68
71
|
import { z } from 'zod';
|
|
69
72
|
// ─── Constants ────────────────────────────────────────────────────────────
|
|
70
|
-
|
|
73
|
+
// SuiteQL page size. NetSuite serves many object types in pages well below a large requested
|
|
74
|
+
// limit (pages of 100-200 against limit=1000, observed live), and on a CONCURRENCY-governed API a
|
|
75
|
+
// long-running request holds one of the account's few concurrent slots for its whole duration.
|
|
76
|
+
// Requesting 100 matches what the server actually serves, keeps each request short so slots
|
|
77
|
+
// recycle quickly, and costs nothing under keyset paging (every page seeks, none re-skips).
|
|
78
|
+
// Per-object DefaultPageSize / config defaultPageSize still override.
|
|
79
|
+
const NS_DEFAULT_PAGE_SIZE = 100;
|
|
71
80
|
const NS_MAX_RETRIES = 3;
|
|
72
81
|
const NS_REQUEST_TIMEOUT_MS = 90_000;
|
|
73
82
|
const NS_RECORD_BASE_PATH = '/services/rest/record/v1';
|
|
@@ -76,8 +85,11 @@ const NS_METADATA_CATALOG_PATH = '/services/rest/record/v1/metadata-catalog';
|
|
|
76
85
|
const NS_SERVERTIME_PATH = '/services/rest/system/v1/serverTime';
|
|
77
86
|
// NetSuite REST media type for record bodies (per docs: application/vnd.oracle.resource+json).
|
|
78
87
|
const NS_RECORD_MEDIA_TYPE = 'application/vnd.oracle.resource+json';
|
|
79
|
-
// Concurrency-governed API (no RPS); the smallest documented tier
|
|
80
|
-
|
|
88
|
+
// Concurrency-governed API (no RPS); the smallest documented tier grants 5 concurrent requests.
|
|
89
|
+
// Declare the grant itself: the engine's adaptive fetch gate starts at this ceiling and halves on
|
|
90
|
+
// any detected throttle, so it converges downward if the account's real grant is lower — sitting
|
|
91
|
+
// below the grant permanently would just waste slots on accounts that have them.
|
|
92
|
+
const NS_MAX_CONCURRENCY = 5;
|
|
81
93
|
// ─── Config (typed via Zod) ─────────────────────────────────────────────────
|
|
82
94
|
/**
|
|
83
95
|
* The per-connection config the connector reads from the credential JSON or
|
|
@@ -115,6 +127,10 @@ let NetSuiteConnector = class NetSuiteConnector extends BaseRESTIntegrationConne
|
|
|
115
127
|
constructor() {
|
|
116
128
|
super(...arguments);
|
|
117
129
|
this.oauth2Manager = new OAuth2TokenManager();
|
|
130
|
+
/** Per-scan running max of the change field, keyed by connection + object. */
|
|
131
|
+
this._scanWatermarks = new Map();
|
|
132
|
+
/** When each in-flight scan began, by the same key — the clamp ceiling for its watermark. */
|
|
133
|
+
this._scanStarts = new Map();
|
|
118
134
|
}
|
|
119
135
|
// ── Identity + capabilities ──────────────────────────────────────────
|
|
120
136
|
get IntegrationName() { return 'NetSuite'; }
|
|
@@ -291,7 +307,7 @@ let NetSuiteConnector = class NetSuiteConnector extends BaseRESTIntegrationConne
|
|
|
291
307
|
return auth.HostBaseURL;
|
|
292
308
|
}
|
|
293
309
|
// ── HTTP transport ───────────────────────────────────────────────────
|
|
294
|
-
async MakeHTTPRequest(auth, url, method, headers, body) {
|
|
310
|
+
async MakeHTTPRequest(auth, url, method, headers, body, onThrottle) {
|
|
295
311
|
const nsAuth = auth;
|
|
296
312
|
const effectiveHeaders = { ...headers, 'Authorization': this.BuildAuthorizationHeader(nsAuth, url, method) };
|
|
297
313
|
if (body !== undefined && method !== 'GET' && method !== 'DELETE') {
|
|
@@ -322,6 +338,17 @@ let NetSuiteConnector = class NetSuiteConnector extends BaseRESTIntegrationConne
|
|
|
322
338
|
// Concurrency-limit rejection (429) or transient 5xx — back off + retry within budget.
|
|
323
339
|
if ((response.status === 429 || response.status >= 500) && attempt < NS_MAX_RETRIES) {
|
|
324
340
|
const retryAfter = this.ParseRetryAfterHeader(response);
|
|
341
|
+
if (response.status === 429) {
|
|
342
|
+
// Surface the throttle BEFORE absorbing it. This retry makes a 429 invisible
|
|
343
|
+
// to the engine — the fetch ultimately "succeeds" — so without this report the
|
|
344
|
+
// engine's adaptive limiter and fetch-concurrency gate would keep firing at a
|
|
345
|
+
// rate the account just rejected, and the backoff below would repeat forever
|
|
346
|
+
// instead of the in-flight cap coming down. The message carries Retry-After in
|
|
347
|
+
// seconds because ExtractRetryAfterMs parses exactly that shape.
|
|
348
|
+
onThrottle?.(new Error(retryAfter !== undefined
|
|
349
|
+
? `NetSuite 429 concurrency limit — Retry-After: ${Math.ceil(retryAfter / 1000)}`
|
|
350
|
+
: 'NetSuite 429 concurrency limit rejected the request'));
|
|
351
|
+
}
|
|
325
352
|
await this.Sleep(retryAfter ?? this.BackoffDelay(attempt));
|
|
326
353
|
continue;
|
|
327
354
|
}
|
|
@@ -658,57 +685,202 @@ let NetSuiteConnector = class NetSuiteConnector extends BaseRESTIntegrationConne
|
|
|
658
685
|
const cfg = this.ReadIOConfig(obj);
|
|
659
686
|
// SuiteQL table = the IO's configured suiteQLTable; fall back to the catalog slug (collapsed name).
|
|
660
687
|
const table = cfg.suiteQLTable ?? this.ResolveRecordTypeSlug(ctx.CompanyIntegration.IntegrationID, ctx.ObjectName);
|
|
661
|
-
|
|
688
|
+
// Resolve the change field from EVIDENCE, never a guess. The old `?? 'lastModifiedDate'`
|
|
689
|
+
// fallback was latent: it only reaches the SQL once a watermark exists, and no watermark
|
|
690
|
+
// ever persisted (below), so every custom table that lacks the column was one working
|
|
691
|
+
// watermark away from failing its predicate — the same shape as the ORDER BY 400s.
|
|
692
|
+
const watermarkField = this.ResolveWatermarkField(obj, fields);
|
|
662
693
|
const offset = ctx.CurrentOffset ?? 0;
|
|
663
694
|
const pageSize = obj.DefaultPageSize ?? cfg.defaultPageSize ?? NS_DEFAULT_PAGE_SIZE;
|
|
664
|
-
|
|
665
|
-
|
|
695
|
+
// Keyset (seek) paging instead of OFFSET. `?offset=N` makes NetSuite re-evaluate and SKIP
|
|
696
|
+
// N rows on every page, so a full walk costs O(n²) and each successive page is slower than
|
|
697
|
+
// the last. `id` is NetSuite's universal monotonic key (declared via StableOrderingKey),
|
|
698
|
+
// so seeking `WHERE id > <last seen>` reads only frontier rows — every page costs the
|
|
699
|
+
// same. The engine feeds the position back as ctx.AfterKeyValue.
|
|
700
|
+
const afterKey = ctx.AfterKeyValue ?? null;
|
|
701
|
+
const sql = this.BuildSuiteQL(table, watermarkField, ctx.WatermarkValue, afterKey);
|
|
702
|
+
const url = `${auth.HostBaseURL}${NS_SUITEQL_PATH}?limit=${pageSize}`;
|
|
666
703
|
// SuiteQL bodies are plain JSON and REQUIRE the `Prefer: transient` header.
|
|
667
704
|
const headers = {
|
|
668
705
|
...this.BuildHeaders(auth),
|
|
669
706
|
'Content-Type': 'application/json',
|
|
670
707
|
'Prefer': 'transient',
|
|
671
708
|
};
|
|
672
|
-
|
|
709
|
+
// Anchor the scan's clock BEFORE reading. `ORDER BY id` walks ids ascending, so a record
|
|
710
|
+
// edited during the walk at an id we have already passed is not re-read — and if we then
|
|
711
|
+
// stored the max modstamp we saw, the next incremental run would start after that edit and
|
|
712
|
+
// never collect it. Clamping the stored watermark to when the scan STARTED means such an
|
|
713
|
+
// edit is always inside the next run's window. Re-reading a few records is free (the
|
|
714
|
+
// content hash skips them); missing one is not.
|
|
715
|
+
const scanStartedAt = afterKey === null ? new Date() : this._scanStarts.get(`${ctx.CompanyIntegration.ID}:${ctx.ObjectName}`);
|
|
716
|
+
if (afterKey === null)
|
|
717
|
+
this._scanStarts.set(`${ctx.CompanyIntegration.ID}:${ctx.ObjectName}`, scanStartedAt);
|
|
718
|
+
// A 429 the retry loop absorbs still reaches the engine through RateLimitReport, so its
|
|
719
|
+
// adaptive concurrency cap learns the account's real grant instead of re-hitting it.
|
|
720
|
+
const response = await this.MakeHTTPRequest(auth, url, 'POST', headers, { q: sql }, (err) => ctx.RateLimitReport?.(err));
|
|
673
721
|
if (response.Status < 200 || response.Status >= 300) {
|
|
674
|
-
|
|
722
|
+
const preview = this.PreviewBody(response.Body);
|
|
723
|
+
// "Record 'x' was not found" means the record type exists in the catalog but is not
|
|
724
|
+
// enabled for THIS account — a permanent fact, not a failure to retry. Marking it lets
|
|
725
|
+
// the engine record it once and stop asking, instead of spending a request, an error and
|
|
726
|
+
// a retry ladder on it every run forever. The code is duck-typed on purpose: the engine
|
|
727
|
+
// recognises it without this connector importing anything from a matching engine version.
|
|
728
|
+
if (/Record '[^']*' was not found/i.test(preview)) {
|
|
729
|
+
throw Object.assign(new Error(`NetSuite cannot serve "${ctx.ObjectName}" for this account: ${preview}`), { code: 'OBJECT_UNAVAILABLE' });
|
|
730
|
+
}
|
|
731
|
+
throw new Error(`NetSuite SuiteQL read failed for "${ctx.ObjectName}": HTTP ${response.Status} — ${preview}`);
|
|
675
732
|
}
|
|
676
733
|
const body = response.Body;
|
|
677
734
|
const rawRecords = this.NormalizeResponse(body, null);
|
|
678
735
|
const pkFieldNames = fields.filter(f => f.IsPrimaryKey).map(f => f.Name);
|
|
679
736
|
const records = rawRecords.map(raw => this.BuildExternalRecord(raw, ctx.ObjectName, pkFieldNames));
|
|
680
737
|
const hasMore = body.hasMore ?? (rawRecords.length >= pageSize);
|
|
681
|
-
//
|
|
682
|
-
//
|
|
683
|
-
|
|
738
|
+
// Return the keyset position AND a cursor. Two engine features are dark for a keyset
|
|
739
|
+
// connector that returns only NextOffset:
|
|
740
|
+
//
|
|
741
|
+
// * Durable resume. StableOrderingKey('id') makes the engine treat this as a KEYSET
|
|
742
|
+
// connector, which disables its watermark-save branch — but with no NextAfterKeyValue
|
|
743
|
+
// the keyset branch has nothing to save either, so no position persists by either
|
|
744
|
+
// route and every run restarts from zero.
|
|
745
|
+
// * Prefetch pipelining, gated on `HasMore === true && NextCursor` — page N+1 never
|
|
746
|
+
// downloads while page N is being processed.
|
|
747
|
+
//
|
|
748
|
+
// Rows come back ORDER BY id, so the LAST row's id is the frontier. Both fields carry it:
|
|
749
|
+
// NextAfterKeyValue is what the engine persists, NextCursor is what arms the prefetch.
|
|
750
|
+
const lastRaw = rawRecords.length > 0 ? rawRecords[rawRecords.length - 1] : undefined;
|
|
751
|
+
const nextKey = lastRaw !== undefined && lastRaw !== null ? lastRaw['id'] : undefined;
|
|
752
|
+
const nextAfterKey = hasMore && nextKey !== undefined && nextKey !== null ? String(nextKey) : undefined;
|
|
753
|
+
// The watermark is the running max across the WHOLE scan, not the max of one page.
|
|
754
|
+
//
|
|
755
|
+
// Two bugs lived here. The lookup read the record by the DECLARED field name, but SuiteQL
|
|
756
|
+
// returns its keys lower-cased, so `lastModifiedDate` matched nothing and every scan emitted
|
|
757
|
+
// undefined — which is why no watermark ever advanced and every "incremental" run re-fetched
|
|
758
|
+
// the entire object. And the value was computed over the final page only, which under
|
|
759
|
+
// `ORDER BY id` is not the scan's max at all.
|
|
760
|
+
//
|
|
761
|
+
// The engine keeps the last non-null value it is handed and persists it when the query
|
|
762
|
+
// completes, so emitting the running max every page is both correct and resume-friendly.
|
|
763
|
+
const scanKey = `${ctx.CompanyIntegration.ID}:${ctx.ObjectName}`;
|
|
764
|
+
if (afterKey === null)
|
|
765
|
+
this._scanWatermarks.delete(scanKey); // a fresh scan starts a fresh max
|
|
766
|
+
const newWatermark = watermarkField
|
|
767
|
+
? this.TrackScanWatermark(scanKey, rawRecords, watermarkField, scanStartedAt)
|
|
768
|
+
: undefined;
|
|
684
769
|
return {
|
|
685
770
|
Records: records,
|
|
686
771
|
HasMore: hasMore,
|
|
687
772
|
NextOffset: offset + rawRecords.length,
|
|
773
|
+
NextAfterKeyValue: nextAfterKey,
|
|
774
|
+
NextCursor: nextAfterKey,
|
|
688
775
|
NewWatermarkValue: newWatermark,
|
|
689
776
|
};
|
|
690
777
|
}
|
|
691
|
-
/**
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
778
|
+
/**
|
|
779
|
+
* Builds the SuiteQL SELECT: incremental watermark predicate + keyset seek predicate,
|
|
780
|
+
* ORDER BY id. Ordering by `id` (not the watermark) is what makes the seek exact: id is
|
|
781
|
+
* unique, so no tie-break is needed and no row can be skipped or repeated at a page
|
|
782
|
+
* boundary — a timestamp cannot promise that, since rows sharing a modstamp straddle pages.
|
|
783
|
+
* The watermark predicate still narrows an incremental run; the seek walks within it.
|
|
784
|
+
*/
|
|
785
|
+
BuildSuiteQL(table, watermarkField, watermark, afterKey) {
|
|
786
|
+
const clauses = [];
|
|
787
|
+
// No resolved change field means the object has no incremental story — scan it whole rather
|
|
788
|
+
// than narrowing on a column name nobody has evidence exists.
|
|
789
|
+
if (watermark && watermarkField)
|
|
790
|
+
clauses.push(`${watermarkField} >= ${this.QuoteSuiteQLDate(watermark)}`);
|
|
791
|
+
// Numeric-only: a non-numeric key would be a SuiteQL injection vector and cannot be a
|
|
792
|
+
// NetSuite id. Falls back to an unseeked page rather than emitting bad SQL.
|
|
793
|
+
if (afterKey !== undefined && afterKey !== null && /^\d+$/.test(String(afterKey))) {
|
|
794
|
+
clauses.push(`id > ${String(afterKey)}`);
|
|
795
|
+
}
|
|
796
|
+
const where = clauses.length > 0 ? ` WHERE ${clauses.join(' AND ')}` : '';
|
|
797
|
+
return `SELECT * FROM ${table}${where} ORDER BY id`;
|
|
697
798
|
}
|
|
698
|
-
/**
|
|
799
|
+
/**
|
|
800
|
+
* Renders a watermark as an explicit SuiteQL date literal.
|
|
801
|
+
*
|
|
802
|
+
* SuiteQL is Oracle-flavoured, where comparing a date column against a bare string leans on the
|
|
803
|
+
* session's NLS format to convert it — so the same predicate can work on one account and fail on
|
|
804
|
+
* another. TO_DATE with an explicit mask states the format outright. (This method's own doc
|
|
805
|
+
* already claimed it emitted TO_DATE; it never did.)
|
|
806
|
+
*/
|
|
699
807
|
QuoteSuiteQLDate(value) {
|
|
700
|
-
const
|
|
701
|
-
|
|
808
|
+
const parsed = Date.parse(value);
|
|
809
|
+
// Only ever reached with a value this connector emitted (already ISO), but a stored value can
|
|
810
|
+
// predate this code — fall back to the literal rather than emitting a malformed date.
|
|
811
|
+
if (!Number.isFinite(parsed)) {
|
|
812
|
+
return `'${value.replace(/'/g, "''")}'`;
|
|
813
|
+
}
|
|
814
|
+
const d = new Date(parsed);
|
|
815
|
+
const pad = (n, w = 2) => String(n).padStart(w, '0');
|
|
816
|
+
const formatted = `${d.getUTCFullYear()}-${pad(d.getUTCMonth() + 1)}-${pad(d.getUTCDate())} ` +
|
|
817
|
+
`${pad(d.getUTCHours())}:${pad(d.getUTCMinutes())}:${pad(d.getUTCSeconds())}`;
|
|
818
|
+
return `TO_DATE('${formatted}', 'YYYY-MM-DD HH24:MI:SS')`;
|
|
702
819
|
}
|
|
703
|
-
/**
|
|
704
|
-
|
|
705
|
-
|
|
820
|
+
/**
|
|
821
|
+
* Resolves the field whose value means "when this record last changed", from evidence only.
|
|
822
|
+
*
|
|
823
|
+
* The IO's declaration wins. Otherwise the object's own described fields are searched for
|
|
824
|
+
* NetSuite's standard change columns — which covers custom records, whose IO rows carry no
|
|
825
|
+
* declaration. When neither says anything, the answer is "this object has no change field":
|
|
826
|
+
* no predicate, no watermark, a full re-fetch every run. That is the CORRECT behaviour for such
|
|
827
|
+
* an object, and far better than guessing a column name into the WHERE clause.
|
|
828
|
+
*/
|
|
829
|
+
ResolveWatermarkField(obj, fields) {
|
|
830
|
+
if (obj.IncrementalWatermarkField)
|
|
831
|
+
return obj.IncrementalWatermarkField;
|
|
832
|
+
const byLower = new Map(fields.map(f => [f.Name.toLowerCase(), f.Name]));
|
|
833
|
+
for (const candidate of ['lastmodifieddate', 'lastmodified']) {
|
|
834
|
+
const hit = byLower.get(candidate);
|
|
835
|
+
if (hit)
|
|
836
|
+
return hit;
|
|
837
|
+
}
|
|
838
|
+
return undefined;
|
|
839
|
+
}
|
|
840
|
+
/**
|
|
841
|
+
* Reads a record's change stamp. SuiteQL lower-cases the keys it returns, so a case-sensitive
|
|
842
|
+
* lookup by the DECLARED name silently missed every row — the whole reason watermarks never
|
|
843
|
+
* advanced. Matching case-insensitively is immune to that regardless of how the field was
|
|
844
|
+
* declared.
|
|
845
|
+
*/
|
|
846
|
+
ReadChangeStamp(record, field) {
|
|
847
|
+
const direct = record[field];
|
|
848
|
+
if (typeof direct === 'string' && direct.length > 0)
|
|
849
|
+
return direct;
|
|
850
|
+
const wanted = field.toLowerCase();
|
|
851
|
+
for (const [k, v] of Object.entries(record)) {
|
|
852
|
+
if (k.toLowerCase() === wanted && typeof v === 'string' && v.length > 0)
|
|
853
|
+
return v;
|
|
854
|
+
}
|
|
855
|
+
return undefined;
|
|
856
|
+
}
|
|
857
|
+
/**
|
|
858
|
+
* Folds this page into the scan's running max and returns the value to store — clamped to when
|
|
859
|
+
* the scan started (see FetchChanges) and normalised to ISO.
|
|
860
|
+
*
|
|
861
|
+
* A stamp this connector cannot PARSE is never emitted. The stored value goes straight back into
|
|
862
|
+
* the next run's predicate, so emitting something unparseable would either silently narrow the
|
|
863
|
+
* window or break the query outright; keeping today's "no watermark, full re-fetch" behaviour is
|
|
864
|
+
* the safe failure, and it is visible in the run events rather than silent.
|
|
865
|
+
*/
|
|
866
|
+
TrackScanWatermark(scanKey, records, field, scanStartedAt) {
|
|
867
|
+
let max = this._scanWatermarks.get(scanKey);
|
|
706
868
|
for (const r of records) {
|
|
707
|
-
const
|
|
708
|
-
if (
|
|
709
|
-
|
|
869
|
+
const raw = this.ReadChangeStamp(r, field);
|
|
870
|
+
if (raw === undefined)
|
|
871
|
+
continue;
|
|
872
|
+
const parsed = Date.parse(raw);
|
|
873
|
+
if (!Number.isFinite(parsed))
|
|
874
|
+
continue;
|
|
875
|
+
if (max === undefined || parsed > max)
|
|
876
|
+
max = parsed;
|
|
710
877
|
}
|
|
711
|
-
|
|
878
|
+
if (max === undefined)
|
|
879
|
+
return undefined;
|
|
880
|
+
this._scanWatermarks.set(scanKey, max);
|
|
881
|
+
const ceiling = scanStartedAt?.getTime();
|
|
882
|
+
const clamped = ceiling !== undefined && ceiling < max ? ceiling : max;
|
|
883
|
+
return new Date(clamped).toISOString();
|
|
712
884
|
}
|
|
713
885
|
/**
|
|
714
886
|
* Builds an ExternalRecord carrying the FULL source record in Fields (full-record pass-through, so the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetSuiteConnector.js","sourceRoot":"","sources":["../src/NetSuiteConnector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NetSuiteConnector.js","sourceRoot":"","sources":["../src/NetSuiteConnector.ts"],"names":[],"mappings":"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"}
|