@memberjunction/connector-netsuite 1.4.0 → 1.4.2
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.
|
@@ -3,6 +3,13 @@ import type { MJCompanyIntegrationEntity } from '@memberjunction/core-entities';
|
|
|
3
3
|
import { BaseRESTIntegrationConnector, type RESTAuthContext, type RESTResponse, type PaginationState, type PaginationType, type ConnectionTestResult, type FetchContext, type FetchBatchResult, type ExternalObjectSchema, type ExternalFieldSchema, type RateLimitPolicy, type SourceSchemaInfo } from '@memberjunction/integration-engine';
|
|
4
4
|
export declare class NetSuiteConnector extends BaseRESTIntegrationConnector {
|
|
5
5
|
private oauth2Manager;
|
|
6
|
+
/**
|
|
7
|
+
* Connections (auth mode + account) whose credentials this process has ALREADY seen NetSuite
|
|
8
|
+
* accept — the precondition for reading a later 401 as a throttle rather than an auth failure
|
|
9
|
+
* (see Is401UnderLoad). Holds a derived, non-secret key per account: never a token, never a
|
|
10
|
+
* secret. Bounded by the number of accounts the process serves.
|
|
11
|
+
*/
|
|
12
|
+
private readonly provenConnections;
|
|
6
13
|
get IntegrationName(): string;
|
|
7
14
|
get SupportsCreate(): boolean;
|
|
8
15
|
get SupportsUpdate(): boolean;
|
|
@@ -39,6 +46,21 @@ export declare class NetSuiteConnector extends BaseRESTIntegrationConnector {
|
|
|
39
46
|
* usable for keyset/seek resume.
|
|
40
47
|
*/
|
|
41
48
|
StableOrderingKey(_objectName: string): string | null;
|
|
49
|
+
/**
|
|
50
|
+
* Per-page operation timeout the engine wraps around each FetchChanges call.
|
|
51
|
+
*
|
|
52
|
+
* Without a declaration every fresh connection runs at the framework default (30s), and a
|
|
53
|
+
* SuiteQL page on a large transaction table that takes longer is killed mid-flight, retried,
|
|
54
|
+
* killed again, and the object finishes INCOMPLETE with pages skipped — while the request
|
|
55
|
+
* itself was healthy (the connector's own per-request abort is 90s). Engine precedence is
|
|
56
|
+
* connection `Configuration.fetchTimeoutMs` → this → framework default, so a deployment keeps
|
|
57
|
+
* the last word.
|
|
58
|
+
*
|
|
59
|
+
* Read by the engine duck-typed (same posture as the `OBJECT_UNAVAILABLE` error code): the
|
|
60
|
+
* base class this connector compiles against does not declare it, so there is no `override`
|
|
61
|
+
* here, and an engine that predates the per-connector timeout hook simply ignores it.
|
|
62
|
+
*/
|
|
63
|
+
get FetchChangesTimeoutMs(): number;
|
|
42
64
|
/** Parse NetSuite's 429 Retry-After (seconds) into ms; concurrency limit errors carry no precise hint. */
|
|
43
65
|
ExtractRetryAfterMs(error: unknown): number | undefined;
|
|
44
66
|
private ParseConfig;
|
|
@@ -72,6 +94,34 @@ export declare class NetSuiteConnector extends BaseRESTIntegrationConnector {
|
|
|
72
94
|
/** Base URL = host root; the IO's APIPath already carries the full /services/rest/... path. */
|
|
73
95
|
protected GetBaseURL(_companyIntegration: MJCompanyIntegrationEntity, auth: RESTAuthContext): string;
|
|
74
96
|
protected MakeHTTPRequest(auth: RESTAuthContext, url: string, method: string, headers: Record<string, string>, body?: unknown, onThrottle?: (err: unknown) => void): Promise<RESTResponse>;
|
|
97
|
+
/**
|
|
98
|
+
* Whether a 401 should be read as a THROTTLE rather than an auth failure.
|
|
99
|
+
*
|
|
100
|
+
* The heuristic: NetSuite governs by CONCURRENT requests per account, and past the grant it does
|
|
101
|
+
* not always answer 429. Under 8 concurrent fetches it intermittently answered 401 "Invalid login
|
|
102
|
+
* attempt" mid-walk, on objects whose EARLIER pages had just succeeded with the SAME token — the
|
|
103
|
+
* credential was demonstrably valid microseconds earlier and nothing about it changed. Treated as
|
|
104
|
+
* a persistent auth error the page was skipped, the object ended INCOMPLETE, and ~58s of retry
|
|
105
|
+
* budget was burned per hit (41 stalls of >=10s summed 19.9 of one 59.8-minute run).
|
|
106
|
+
*
|
|
107
|
+
* So: a 401 is a genuine auth failure UNTIL this process has watched NetSuite serve a 2xx for this
|
|
108
|
+
* connection (auth mode + account). After that, a 401 is congestion — it is retried with backoff
|
|
109
|
+
* and reported through `onThrottle`, which is what halves the engine's adaptive fetch gate, so the
|
|
110
|
+
* account's real concurrency grant is found instead of guessed.
|
|
111
|
+
*
|
|
112
|
+
* What stays a genuine auth failure, by construction:
|
|
113
|
+
* - the FIRST request on a connection (bad or missing credentials never reach a 2xx, so the flag
|
|
114
|
+
* is never set and the 401 is surfaced immediately);
|
|
115
|
+
* - anything from TestConnection (`IsConnectionTest`), whose entire purpose is to report the
|
|
116
|
+
* credential verdict.
|
|
117
|
+
*
|
|
118
|
+
* Cost of the one wrong call it can make — a token revoked or expired MID-run — is bounded: three
|
|
119
|
+
* backoff retries (~7s) before the 401 is surfaced unchanged. That is the deliberate trade against
|
|
120
|
+
* losing whole objects to a throttle that merely looked like an auth error.
|
|
121
|
+
*/
|
|
122
|
+
private Is401UnderLoad;
|
|
123
|
+
/** Non-secret identity of one connection: auth mode + account (realm; host root as fallback). */
|
|
124
|
+
private ConnectionKey;
|
|
75
125
|
/**
|
|
76
126
|
* The `WWW-Authenticate` response header plus `o:errorDetails` name the PRECISE auth
|
|
77
127
|
* failure (token_rejected vs invalid_signature vs timestamp_refused ...). Without them
|
|
@@ -158,10 +208,46 @@ export declare class NetSuiteConnector extends BaseRESTIntegrationConnector {
|
|
|
158
208
|
* The watermark predicate still narrows an incremental run; the seek walks within it.
|
|
159
209
|
*/
|
|
160
210
|
private BuildSuiteQL;
|
|
161
|
-
/**
|
|
211
|
+
/**
|
|
212
|
+
* Renders a watermark as an explicit SuiteQL date literal.
|
|
213
|
+
*
|
|
214
|
+
* SuiteQL is Oracle-flavoured, where comparing a date column against a bare string leans on the
|
|
215
|
+
* session's NLS format to convert it — so the same predicate can work on one account and fail on
|
|
216
|
+
* another. TO_DATE with an explicit mask states the format outright. (This method's own doc
|
|
217
|
+
* already claimed it emitted TO_DATE; it never did.)
|
|
218
|
+
*/
|
|
162
219
|
private QuoteSuiteQLDate;
|
|
163
|
-
/**
|
|
164
|
-
private
|
|
220
|
+
/** Per-scan running max of the change field, keyed by connection + object. */
|
|
221
|
+
private readonly _scanWatermarks;
|
|
222
|
+
/** When each in-flight scan began, by the same key — the clamp ceiling for its watermark. */
|
|
223
|
+
private readonly _scanStarts;
|
|
224
|
+
/**
|
|
225
|
+
* Resolves the field whose value means "when this record last changed", from evidence only.
|
|
226
|
+
*
|
|
227
|
+
* The IO's declaration wins. Otherwise the object's own described fields are searched for
|
|
228
|
+
* NetSuite's standard change columns — which covers custom records, whose IO rows carry no
|
|
229
|
+
* declaration. When neither says anything, the answer is "this object has no change field":
|
|
230
|
+
* no predicate, no watermark, a full re-fetch every run. That is the CORRECT behaviour for such
|
|
231
|
+
* an object, and far better than guessing a column name into the WHERE clause.
|
|
232
|
+
*/
|
|
233
|
+
private ResolveWatermarkField;
|
|
234
|
+
/**
|
|
235
|
+
* Reads a record's change stamp. SuiteQL lower-cases the keys it returns, so a case-sensitive
|
|
236
|
+
* lookup by the DECLARED name silently missed every row — the whole reason watermarks never
|
|
237
|
+
* advanced. Matching case-insensitively is immune to that regardless of how the field was
|
|
238
|
+
* declared.
|
|
239
|
+
*/
|
|
240
|
+
private ReadChangeStamp;
|
|
241
|
+
/**
|
|
242
|
+
* Folds this page into the scan's running max and returns the value to store — clamped to when
|
|
243
|
+
* the scan started (see FetchChanges) and normalised to ISO.
|
|
244
|
+
*
|
|
245
|
+
* A stamp this connector cannot PARSE is never emitted. The stored value goes straight back into
|
|
246
|
+
* the next run's predicate, so emitting something unparseable would either silently narrow the
|
|
247
|
+
* window or break the query outright; keeping today's "no watermark, full re-fetch" behaviour is
|
|
248
|
+
* the safe failure, and it is visible in the run events rather than silent.
|
|
249
|
+
*/
|
|
250
|
+
private TrackScanWatermark;
|
|
165
251
|
/**
|
|
166
252
|
* Builds an ExternalRecord carrying the FULL source record in Fields (full-record pass-through, so the
|
|
167
253
|
* framework's custom-column capture sees every key) and the universal `id` as the ExternalID. Mirrors
|
|
@@ -79,6 +79,12 @@ import { z } from 'zod';
|
|
|
79
79
|
const NS_DEFAULT_PAGE_SIZE = 100;
|
|
80
80
|
const NS_MAX_RETRIES = 3;
|
|
81
81
|
const NS_REQUEST_TIMEOUT_MS = 90_000;
|
|
82
|
+
// Per-PAGE budget the engine applies around one FetchChanges call (see FetchChangesTimeoutMs).
|
|
83
|
+
// A SuiteQL page on a large transaction table routinely runs past the framework's 30s default
|
|
84
|
+
// under account-level queueing while the request itself is healthy — the connector's own
|
|
85
|
+
// per-request abort above is 90s. 120s outlasts one slow request plus headroom, and still cuts a
|
|
86
|
+
// genuinely hung page instead of holding the sync lock forever.
|
|
87
|
+
const NS_FETCH_CHANGES_TIMEOUT_MS = 120_000;
|
|
82
88
|
const NS_RECORD_BASE_PATH = '/services/rest/record/v1';
|
|
83
89
|
const NS_SUITEQL_PATH = '/services/rest/query/v1/suiteql';
|
|
84
90
|
const NS_METADATA_CATALOG_PATH = '/services/rest/record/v1/metadata-catalog';
|
|
@@ -127,6 +133,17 @@ let NetSuiteConnector = class NetSuiteConnector extends BaseRESTIntegrationConne
|
|
|
127
133
|
constructor() {
|
|
128
134
|
super(...arguments);
|
|
129
135
|
this.oauth2Manager = new OAuth2TokenManager();
|
|
136
|
+
/**
|
|
137
|
+
* Connections (auth mode + account) whose credentials this process has ALREADY seen NetSuite
|
|
138
|
+
* accept — the precondition for reading a later 401 as a throttle rather than an auth failure
|
|
139
|
+
* (see Is401UnderLoad). Holds a derived, non-secret key per account: never a token, never a
|
|
140
|
+
* secret. Bounded by the number of accounts the process serves.
|
|
141
|
+
*/
|
|
142
|
+
this.provenConnections = new Set();
|
|
143
|
+
/** Per-scan running max of the change field, keyed by connection + object. */
|
|
144
|
+
this._scanWatermarks = new Map();
|
|
145
|
+
/** When each in-flight scan began, by the same key — the clamp ceiling for its watermark. */
|
|
146
|
+
this._scanStarts = new Map();
|
|
130
147
|
}
|
|
131
148
|
// ── Identity + capabilities ──────────────────────────────────────────
|
|
132
149
|
get IntegrationName() { return 'NetSuite'; }
|
|
@@ -165,6 +182,21 @@ let NetSuiteConnector = class NetSuiteConnector extends BaseRESTIntegrationConne
|
|
|
165
182
|
* usable for keyset/seek resume.
|
|
166
183
|
*/
|
|
167
184
|
StableOrderingKey(_objectName) { return 'id'; }
|
|
185
|
+
/**
|
|
186
|
+
* Per-page operation timeout the engine wraps around each FetchChanges call.
|
|
187
|
+
*
|
|
188
|
+
* Without a declaration every fresh connection runs at the framework default (30s), and a
|
|
189
|
+
* SuiteQL page on a large transaction table that takes longer is killed mid-flight, retried,
|
|
190
|
+
* killed again, and the object finishes INCOMPLETE with pages skipped — while the request
|
|
191
|
+
* itself was healthy (the connector's own per-request abort is 90s). Engine precedence is
|
|
192
|
+
* connection `Configuration.fetchTimeoutMs` → this → framework default, so a deployment keeps
|
|
193
|
+
* the last word.
|
|
194
|
+
*
|
|
195
|
+
* Read by the engine duck-typed (same posture as the `OBJECT_UNAVAILABLE` error code): the
|
|
196
|
+
* base class this connector compiles against does not declare it, so there is no `override`
|
|
197
|
+
* here, and an engine that predates the per-connector timeout hook simply ignores it.
|
|
198
|
+
*/
|
|
199
|
+
get FetchChangesTimeoutMs() { return NS_FETCH_CHANGES_TIMEOUT_MS; }
|
|
168
200
|
/** Parse NetSuite's 429 Retry-After (seconds) into ms; concurrency limit errors carry no precise hint. */
|
|
169
201
|
ExtractRetryAfterMs(error) {
|
|
170
202
|
const msg = error instanceof Error ? error.message : String(error);
|
|
@@ -348,10 +380,59 @@ let NetSuiteConnector = class NetSuiteConnector extends BaseRESTIntegrationConne
|
|
|
348
380
|
await this.Sleep(retryAfter ?? this.BackoffDelay(attempt));
|
|
349
381
|
continue;
|
|
350
382
|
}
|
|
383
|
+
// A 401 on a connection NetSuite has already served in this process is over-concurrency
|
|
384
|
+
// reported as an auth failure — back off and retry it exactly like a 429.
|
|
385
|
+
if (response.status === 401 && attempt < NS_MAX_RETRIES && this.Is401UnderLoad(nsAuth)) {
|
|
386
|
+
const retryAfter = this.ParseRetryAfterHeader(response);
|
|
387
|
+
onThrottle?.(new Error(retryAfter !== undefined
|
|
388
|
+
? `NetSuite 401 on an already-authenticated connection — treating as a concurrency throttle — Retry-After: ${Math.ceil(retryAfter / 1000)}`
|
|
389
|
+
: 'NetSuite 401 on an already-authenticated connection — treating as a concurrency throttle'));
|
|
390
|
+
await this.Sleep(retryAfter ?? this.BackoffDelay(attempt));
|
|
391
|
+
continue;
|
|
392
|
+
}
|
|
393
|
+
// Proof the credentials were accepted, for the heuristic above. Deliberately 2xx only:
|
|
394
|
+
// a 4xx says nothing unambiguous about the credential, and this flag must not be set by
|
|
395
|
+
// anything short of NetSuite actually serving the request.
|
|
396
|
+
if (response.status >= 200 && response.status < 300)
|
|
397
|
+
this.provenConnections.add(this.ConnectionKey(nsAuth));
|
|
351
398
|
return this.BuildRESTResponse(response);
|
|
352
399
|
}
|
|
353
400
|
throw new Error(`NetSuite request failed after ${NS_MAX_RETRIES + 1} attempts: ${url}`);
|
|
354
401
|
}
|
|
402
|
+
/**
|
|
403
|
+
* Whether a 401 should be read as a THROTTLE rather than an auth failure.
|
|
404
|
+
*
|
|
405
|
+
* The heuristic: NetSuite governs by CONCURRENT requests per account, and past the grant it does
|
|
406
|
+
* not always answer 429. Under 8 concurrent fetches it intermittently answered 401 "Invalid login
|
|
407
|
+
* attempt" mid-walk, on objects whose EARLIER pages had just succeeded with the SAME token — the
|
|
408
|
+
* credential was demonstrably valid microseconds earlier and nothing about it changed. Treated as
|
|
409
|
+
* a persistent auth error the page was skipped, the object ended INCOMPLETE, and ~58s of retry
|
|
410
|
+
* budget was burned per hit (41 stalls of >=10s summed 19.9 of one 59.8-minute run).
|
|
411
|
+
*
|
|
412
|
+
* So: a 401 is a genuine auth failure UNTIL this process has watched NetSuite serve a 2xx for this
|
|
413
|
+
* connection (auth mode + account). After that, a 401 is congestion — it is retried with backoff
|
|
414
|
+
* and reported through `onThrottle`, which is what halves the engine's adaptive fetch gate, so the
|
|
415
|
+
* account's real concurrency grant is found instead of guessed.
|
|
416
|
+
*
|
|
417
|
+
* What stays a genuine auth failure, by construction:
|
|
418
|
+
* - the FIRST request on a connection (bad or missing credentials never reach a 2xx, so the flag
|
|
419
|
+
* is never set and the 401 is surfaced immediately);
|
|
420
|
+
* - anything from TestConnection (`IsConnectionTest`), whose entire purpose is to report the
|
|
421
|
+
* credential verdict.
|
|
422
|
+
*
|
|
423
|
+
* Cost of the one wrong call it can make — a token revoked or expired MID-run — is bounded: three
|
|
424
|
+
* backoff retries (~7s) before the 401 is surfaced unchanged. That is the deliberate trade against
|
|
425
|
+
* losing whole objects to a throttle that merely looked like an auth error.
|
|
426
|
+
*/
|
|
427
|
+
Is401UnderLoad(auth) {
|
|
428
|
+
if (auth.IsConnectionTest)
|
|
429
|
+
return false;
|
|
430
|
+
return this.provenConnections.has(this.ConnectionKey(auth));
|
|
431
|
+
}
|
|
432
|
+
/** Non-secret identity of one connection: auth mode + account (realm; host root as fallback). */
|
|
433
|
+
ConnectionKey(auth) {
|
|
434
|
+
return `${auth.Mode ?? ''}|${auth.Realm ?? auth.HostBaseURL ?? ''}`;
|
|
435
|
+
}
|
|
355
436
|
/**
|
|
356
437
|
* The `WWW-Authenticate` response header plus `o:errorDetails` name the PRECISE auth
|
|
357
438
|
* failure (token_rejected vs invalid_signature vs timestamp_refused ...). Without them
|
|
@@ -441,6 +522,9 @@ let NetSuiteConnector = class NetSuiteConnector extends BaseRESTIntegrationConne
|
|
|
441
522
|
async TestConnection(companyIntegration, contextUser) {
|
|
442
523
|
try {
|
|
443
524
|
const auth = await this.Authenticate(companyIntegration, contextUser);
|
|
525
|
+
// A connection test's whole job is to report whether the credentials work, so its 401
|
|
526
|
+
// is never re-read as a throttle no matter what this account has served before.
|
|
527
|
+
auth.IsConnectionTest = true;
|
|
444
528
|
// serverTime is the cheapest authenticated read and seeds the incremental watermark.
|
|
445
529
|
const url = `${auth.HostBaseURL}${NS_SERVERTIME_PATH}`;
|
|
446
530
|
const headers = this.BuildHeaders(auth);
|
|
@@ -681,7 +765,11 @@ let NetSuiteConnector = class NetSuiteConnector extends BaseRESTIntegrationConne
|
|
|
681
765
|
const cfg = this.ReadIOConfig(obj);
|
|
682
766
|
// SuiteQL table = the IO's configured suiteQLTable; fall back to the catalog slug (collapsed name).
|
|
683
767
|
const table = cfg.suiteQLTable ?? this.ResolveRecordTypeSlug(ctx.CompanyIntegration.IntegrationID, ctx.ObjectName);
|
|
684
|
-
|
|
768
|
+
// Resolve the change field from EVIDENCE, never a guess. The old `?? 'lastModifiedDate'`
|
|
769
|
+
// fallback was latent: it only reaches the SQL once a watermark exists, and no watermark
|
|
770
|
+
// ever persisted (below), so every custom table that lacks the column was one working
|
|
771
|
+
// watermark away from failing its predicate — the same shape as the ORDER BY 400s.
|
|
772
|
+
const watermarkField = this.ResolveWatermarkField(obj, fields);
|
|
685
773
|
const offset = ctx.CurrentOffset ?? 0;
|
|
686
774
|
const pageSize = obj.DefaultPageSize ?? cfg.defaultPageSize ?? NS_DEFAULT_PAGE_SIZE;
|
|
687
775
|
// Keyset (seek) paging instead of OFFSET. `?offset=N` makes NetSuite re-evaluate and SKIP
|
|
@@ -698,11 +786,29 @@ let NetSuiteConnector = class NetSuiteConnector extends BaseRESTIntegrationConne
|
|
|
698
786
|
'Content-Type': 'application/json',
|
|
699
787
|
'Prefer': 'transient',
|
|
700
788
|
};
|
|
789
|
+
// Anchor the scan's clock BEFORE reading. `ORDER BY id` walks ids ascending, so a record
|
|
790
|
+
// edited during the walk at an id we have already passed is not re-read — and if we then
|
|
791
|
+
// stored the max modstamp we saw, the next incremental run would start after that edit and
|
|
792
|
+
// never collect it. Clamping the stored watermark to when the scan STARTED means such an
|
|
793
|
+
// edit is always inside the next run's window. Re-reading a few records is free (the
|
|
794
|
+
// content hash skips them); missing one is not.
|
|
795
|
+
const scanStartedAt = afterKey === null ? new Date() : this._scanStarts.get(`${ctx.CompanyIntegration.ID}:${ctx.ObjectName}`);
|
|
796
|
+
if (afterKey === null)
|
|
797
|
+
this._scanStarts.set(`${ctx.CompanyIntegration.ID}:${ctx.ObjectName}`, scanStartedAt);
|
|
701
798
|
// A 429 the retry loop absorbs still reaches the engine through RateLimitReport, so its
|
|
702
799
|
// adaptive concurrency cap learns the account's real grant instead of re-hitting it.
|
|
703
800
|
const response = await this.MakeHTTPRequest(auth, url, 'POST', headers, { q: sql }, (err) => ctx.RateLimitReport?.(err));
|
|
704
801
|
if (response.Status < 200 || response.Status >= 300) {
|
|
705
|
-
|
|
802
|
+
const preview = this.PreviewBody(response.Body);
|
|
803
|
+
// "Record 'x' was not found" means the record type exists in the catalog but is not
|
|
804
|
+
// enabled for THIS account — a permanent fact, not a failure to retry. Marking it lets
|
|
805
|
+
// the engine record it once and stop asking, instead of spending a request, an error and
|
|
806
|
+
// a retry ladder on it every run forever. The code is duck-typed on purpose: the engine
|
|
807
|
+
// recognises it without this connector importing anything from a matching engine version.
|
|
808
|
+
if (/Record '[^']*' was not found/i.test(preview)) {
|
|
809
|
+
throw Object.assign(new Error(`NetSuite cannot serve "${ctx.ObjectName}" for this account: ${preview}`), { code: 'OBJECT_UNAVAILABLE' });
|
|
810
|
+
}
|
|
811
|
+
throw new Error(`NetSuite SuiteQL read failed for "${ctx.ObjectName}": HTTP ${response.Status} — ${preview}`);
|
|
706
812
|
}
|
|
707
813
|
const body = response.Body;
|
|
708
814
|
const rawRecords = this.NormalizeResponse(body, null);
|
|
@@ -724,10 +830,22 @@ let NetSuiteConnector = class NetSuiteConnector extends BaseRESTIntegrationConne
|
|
|
724
830
|
const lastRaw = rawRecords.length > 0 ? rawRecords[rawRecords.length - 1] : undefined;
|
|
725
831
|
const nextKey = lastRaw !== undefined && lastRaw !== null ? lastRaw['id'] : undefined;
|
|
726
832
|
const nextAfterKey = hasMore && nextKey !== undefined && nextKey !== null ? String(nextKey) : undefined;
|
|
727
|
-
//
|
|
728
|
-
//
|
|
729
|
-
//
|
|
730
|
-
|
|
833
|
+
// The watermark is the running max across the WHOLE scan, not the max of one page.
|
|
834
|
+
//
|
|
835
|
+
// Two bugs lived here. The lookup read the record by the DECLARED field name, but SuiteQL
|
|
836
|
+
// returns its keys lower-cased, so `lastModifiedDate` matched nothing and every scan emitted
|
|
837
|
+
// undefined — which is why no watermark ever advanced and every "incremental" run re-fetched
|
|
838
|
+
// the entire object. And the value was computed over the final page only, which under
|
|
839
|
+
// `ORDER BY id` is not the scan's max at all.
|
|
840
|
+
//
|
|
841
|
+
// The engine keeps the last non-null value it is handed and persists it when the query
|
|
842
|
+
// completes, so emitting the running max every page is both correct and resume-friendly.
|
|
843
|
+
const scanKey = `${ctx.CompanyIntegration.ID}:${ctx.ObjectName}`;
|
|
844
|
+
if (afterKey === null)
|
|
845
|
+
this._scanWatermarks.delete(scanKey); // a fresh scan starts a fresh max
|
|
846
|
+
const newWatermark = watermarkField
|
|
847
|
+
? this.TrackScanWatermark(scanKey, rawRecords, watermarkField, scanStartedAt)
|
|
848
|
+
: undefined;
|
|
731
849
|
return {
|
|
732
850
|
Records: records,
|
|
733
851
|
HasMore: hasMore,
|
|
@@ -746,8 +864,10 @@ let NetSuiteConnector = class NetSuiteConnector extends BaseRESTIntegrationConne
|
|
|
746
864
|
*/
|
|
747
865
|
BuildSuiteQL(table, watermarkField, watermark, afterKey) {
|
|
748
866
|
const clauses = [];
|
|
749
|
-
|
|
750
|
-
|
|
867
|
+
// No resolved change field means the object has no incremental story — scan it whole rather
|
|
868
|
+
// than narrowing on a column name nobody has evidence exists.
|
|
869
|
+
if (watermark && watermarkField)
|
|
870
|
+
clauses.push(`${watermarkField} >= ${this.QuoteSuiteQLDate(watermark)}`);
|
|
751
871
|
// Numeric-only: a non-numeric key would be a SuiteQL injection vector and cannot be a
|
|
752
872
|
// NetSuite id. Falls back to an unseeked page rather than emitting bad SQL.
|
|
753
873
|
if (afterKey !== undefined && afterKey !== null && /^\d+$/.test(String(afterKey))) {
|
|
@@ -756,20 +876,91 @@ let NetSuiteConnector = class NetSuiteConnector extends BaseRESTIntegrationConne
|
|
|
756
876
|
const where = clauses.length > 0 ? ` WHERE ${clauses.join(' AND ')}` : '';
|
|
757
877
|
return `SELECT * FROM ${table}${where} ORDER BY id`;
|
|
758
878
|
}
|
|
759
|
-
/**
|
|
879
|
+
/**
|
|
880
|
+
* Renders a watermark as an explicit SuiteQL date literal.
|
|
881
|
+
*
|
|
882
|
+
* SuiteQL is Oracle-flavoured, where comparing a date column against a bare string leans on the
|
|
883
|
+
* session's NLS format to convert it — so the same predicate can work on one account and fail on
|
|
884
|
+
* another. TO_DATE with an explicit mask states the format outright. (This method's own doc
|
|
885
|
+
* already claimed it emitted TO_DATE; it never did.)
|
|
886
|
+
*/
|
|
760
887
|
QuoteSuiteQLDate(value) {
|
|
761
|
-
const
|
|
762
|
-
|
|
888
|
+
const parsed = Date.parse(value);
|
|
889
|
+
// Only ever reached with a value this connector emitted (already ISO), but a stored value can
|
|
890
|
+
// predate this code — fall back to the literal rather than emitting a malformed date.
|
|
891
|
+
if (!Number.isFinite(parsed)) {
|
|
892
|
+
return `'${value.replace(/'/g, "''")}'`;
|
|
893
|
+
}
|
|
894
|
+
const d = new Date(parsed);
|
|
895
|
+
const pad = (n, w = 2) => String(n).padStart(w, '0');
|
|
896
|
+
const formatted = `${d.getUTCFullYear()}-${pad(d.getUTCMonth() + 1)}-${pad(d.getUTCDate())} ` +
|
|
897
|
+
`${pad(d.getUTCHours())}:${pad(d.getUTCMinutes())}:${pad(d.getUTCSeconds())}`;
|
|
898
|
+
return `TO_DATE('${formatted}', 'YYYY-MM-DD HH24:MI:SS')`;
|
|
899
|
+
}
|
|
900
|
+
/**
|
|
901
|
+
* Resolves the field whose value means "when this record last changed", from evidence only.
|
|
902
|
+
*
|
|
903
|
+
* The IO's declaration wins. Otherwise the object's own described fields are searched for
|
|
904
|
+
* NetSuite's standard change columns — which covers custom records, whose IO rows carry no
|
|
905
|
+
* declaration. When neither says anything, the answer is "this object has no change field":
|
|
906
|
+
* no predicate, no watermark, a full re-fetch every run. That is the CORRECT behaviour for such
|
|
907
|
+
* an object, and far better than guessing a column name into the WHERE clause.
|
|
908
|
+
*/
|
|
909
|
+
ResolveWatermarkField(obj, fields) {
|
|
910
|
+
if (obj.IncrementalWatermarkField)
|
|
911
|
+
return obj.IncrementalWatermarkField;
|
|
912
|
+
const byLower = new Map(fields.map(f => [f.Name.toLowerCase(), f.Name]));
|
|
913
|
+
for (const candidate of ['lastmodifieddate', 'lastmodified']) {
|
|
914
|
+
const hit = byLower.get(candidate);
|
|
915
|
+
if (hit)
|
|
916
|
+
return hit;
|
|
917
|
+
}
|
|
918
|
+
return undefined;
|
|
919
|
+
}
|
|
920
|
+
/**
|
|
921
|
+
* Reads a record's change stamp. SuiteQL lower-cases the keys it returns, so a case-sensitive
|
|
922
|
+
* lookup by the DECLARED name silently missed every row — the whole reason watermarks never
|
|
923
|
+
* advanced. Matching case-insensitively is immune to that regardless of how the field was
|
|
924
|
+
* declared.
|
|
925
|
+
*/
|
|
926
|
+
ReadChangeStamp(record, field) {
|
|
927
|
+
const direct = record[field];
|
|
928
|
+
if (typeof direct === 'string' && direct.length > 0)
|
|
929
|
+
return direct;
|
|
930
|
+
const wanted = field.toLowerCase();
|
|
931
|
+
for (const [k, v] of Object.entries(record)) {
|
|
932
|
+
if (k.toLowerCase() === wanted && typeof v === 'string' && v.length > 0)
|
|
933
|
+
return v;
|
|
934
|
+
}
|
|
935
|
+
return undefined;
|
|
763
936
|
}
|
|
764
|
-
/**
|
|
765
|
-
|
|
766
|
-
|
|
937
|
+
/**
|
|
938
|
+
* Folds this page into the scan's running max and returns the value to store — clamped to when
|
|
939
|
+
* the scan started (see FetchChanges) and normalised to ISO.
|
|
940
|
+
*
|
|
941
|
+
* A stamp this connector cannot PARSE is never emitted. The stored value goes straight back into
|
|
942
|
+
* the next run's predicate, so emitting something unparseable would either silently narrow the
|
|
943
|
+
* window or break the query outright; keeping today's "no watermark, full re-fetch" behaviour is
|
|
944
|
+
* the safe failure, and it is visible in the run events rather than silent.
|
|
945
|
+
*/
|
|
946
|
+
TrackScanWatermark(scanKey, records, field, scanStartedAt) {
|
|
947
|
+
let max = this._scanWatermarks.get(scanKey);
|
|
767
948
|
for (const r of records) {
|
|
768
|
-
const
|
|
769
|
-
if (
|
|
770
|
-
|
|
949
|
+
const raw = this.ReadChangeStamp(r, field);
|
|
950
|
+
if (raw === undefined)
|
|
951
|
+
continue;
|
|
952
|
+
const parsed = Date.parse(raw);
|
|
953
|
+
if (!Number.isFinite(parsed))
|
|
954
|
+
continue;
|
|
955
|
+
if (max === undefined || parsed > max)
|
|
956
|
+
max = parsed;
|
|
771
957
|
}
|
|
772
|
-
|
|
958
|
+
if (max === undefined)
|
|
959
|
+
return undefined;
|
|
960
|
+
this._scanWatermarks.set(scanKey, max);
|
|
961
|
+
const ceiling = scanStartedAt?.getTime();
|
|
962
|
+
const clamped = ceiling !== undefined && ceiling < max ? ceiling : max;
|
|
963
|
+
return new Date(clamped).toISOString();
|
|
773
964
|
}
|
|
774
965
|
/**
|
|
775
966
|
* 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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"}
|