@brokenrubik/n8n-nodes-ns 1.3.0 → 1.5.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.
- package/dist/nodes/NetSuite/NetSuite.node.js +24 -2
- package/dist/nodes/NetSuite/NetSuite.node.js.map +1 -1
- package/dist/nodes/NetSuite/NetSuite.node.options.js +13 -13
- package/dist/nodes/NetSuite/NetSuite.node.options.js.map +1 -1
- package/dist/nodes/NetSuite/NetSuite.service.d.ts +3 -1
- package/dist/nodes/NetSuite/NetSuite.service.js +91 -13
- package/dist/nodes/NetSuite/NetSuite.service.js.map +1 -1
- package/dist/nodes/NetSuite/operations/getRecord.js +8 -3
- package/dist/nodes/NetSuite/operations/getRecord.js.map +1 -1
- package/dist/nodes/NetSuite/operations/insertRecord.js +7 -3
- package/dist/nodes/NetSuite/operations/insertRecord.js.map +1 -1
- package/dist/nodes/NetSuite/operations/listRecords.js +18 -4
- package/dist/nodes/NetSuite/operations/listRecords.js.map +1 -1
- package/dist/nodes/NetSuite/operations/rawRequest.js +11 -2
- package/dist/nodes/NetSuite/operations/rawRequest.js.map +1 -1
- package/dist/nodes/NetSuite/operations/removeRecord.js +7 -3
- package/dist/nodes/NetSuite/operations/removeRecord.js.map +1 -1
- package/dist/nodes/NetSuite/operations/runSuiteQL.js +14 -4
- package/dist/nodes/NetSuite/operations/runSuiteQL.js.map +1 -1
- package/dist/nodes/NetSuite/operations/updateRecord.js +7 -3
- package/dist/nodes/NetSuite/operations/updateRecord.js.map +1 -1
- package/dist/nodes/NetSuite/types/index.d.ts +1 -0
- package/dist/nodes/NetSuite/types/index.js +1 -0
- package/dist/nodes/NetSuite/types/index.js.map +1 -1
- package/dist/nodes/NetSuite/types/logger.types.d.ts +22 -0
- package/dist/nodes/NetSuite/types/logger.types.js +3 -0
- package/dist/nodes/NetSuite/types/logger.types.js.map +1 -0
- package/dist/nodes/NetSuite/types/operation.types.d.ts +37 -0
- package/dist/nodes/NetSuite/utils/index.d.ts +4 -0
- package/dist/nodes/NetSuite/utils/index.js +21 -0
- package/dist/nodes/NetSuite/utils/index.js.map +1 -0
- package/dist/nodes/NetSuite/utils/logger.d.ts +25 -0
- package/dist/nodes/NetSuite/utils/logger.js +143 -0
- package/dist/nodes/NetSuite/utils/logger.js.map +1 -0
- package/dist/nodes/NetSuite/utils/response-handler.d.ts +2 -1
- package/dist/nodes/NetSuite/utils/response-handler.js +29 -2
- package/dist/nodes/NetSuite/utils/response-handler.js.map +1 -1
- package/dist/nodes/NetSuite/utils/retry-handler.d.ts +2 -0
- package/dist/nodes/NetSuite/utils/retry-handler.js +21 -9
- package/dist/nodes/NetSuite/utils/retry-handler.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -5,24 +5,37 @@ const util_1 = require("util");
|
|
|
5
5
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
6
6
|
const NetSuite_node_options_1 = require("./NetSuite.node.options");
|
|
7
7
|
const operations_1 = require("./operations");
|
|
8
|
+
const logger_1 = require("./utils/logger");
|
|
8
9
|
const debug = (0, util_1.debuglog)('n8n-nodes-netsuite');
|
|
9
10
|
class NetSuite {
|
|
10
11
|
constructor() {
|
|
11
12
|
this.description = NetSuite_node_options_1.nodeDescription;
|
|
12
13
|
}
|
|
13
14
|
async execute() {
|
|
15
|
+
var _a;
|
|
16
|
+
const logger = (0, logger_1.createLogger)(this);
|
|
17
|
+
logger.info('Node execution started', { operation: 'execute' });
|
|
14
18
|
const credentials = (await this.getCredentials('netSuiteApi'));
|
|
15
19
|
const operation = this.getNodeParameter('operation', 0);
|
|
16
20
|
const items = this.getInputData();
|
|
17
21
|
const returnData = [];
|
|
22
|
+
logger.info('Starting operation', { operation, itemCount: items.length });
|
|
23
|
+
logger.debug('Input data structure', {
|
|
24
|
+
items: items.map((item) => ({ json: Object.keys(item.json) })),
|
|
25
|
+
});
|
|
18
26
|
for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
|
|
19
27
|
const item = items[itemIndex];
|
|
20
28
|
let data;
|
|
21
29
|
try {
|
|
22
30
|
debug(`Processing ${operation} for ${itemIndex + 1} of ${items.length}`);
|
|
31
|
+
logger.debug(`Processing item ${itemIndex + 1} of ${items.length}`, {
|
|
32
|
+
operation,
|
|
33
|
+
itemIndex,
|
|
34
|
+
});
|
|
23
35
|
const nodeOptions = this.getNodeParameter('options', itemIndex, {});
|
|
24
|
-
const maxRetries = nodeOptions.maxRetries
|
|
25
|
-
|
|
36
|
+
const maxRetries = (_a = nodeOptions.maxRetries) !== null && _a !== void 0 ? _a : 5;
|
|
37
|
+
logger.debug('Retry configuration', { maxRetries });
|
|
38
|
+
const options = { item, fns: this, credentials, itemIndex, maxRetries, logger };
|
|
26
39
|
switch (operation) {
|
|
27
40
|
case 'getRecord':
|
|
28
41
|
data = await (0, operations_1.getRecord)(options);
|
|
@@ -47,6 +60,7 @@ class NetSuite {
|
|
|
47
60
|
break;
|
|
48
61
|
default:
|
|
49
62
|
const error = `The operation "${operation}" is not supported!`;
|
|
63
|
+
logger.error('Unsupported operation', error, { operation });
|
|
50
64
|
if (this.continueOnFail() !== true) {
|
|
51
65
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), error);
|
|
52
66
|
}
|
|
@@ -56,13 +70,19 @@ class NetSuite {
|
|
|
56
70
|
break;
|
|
57
71
|
}
|
|
58
72
|
if (Array.isArray(data)) {
|
|
73
|
+
logger.debug(`Item ${itemIndex + 1} returned ${data.length} records`, {
|
|
74
|
+
itemIndex,
|
|
75
|
+
recordCount: data.length,
|
|
76
|
+
});
|
|
59
77
|
returnData.push(...data);
|
|
60
78
|
}
|
|
61
79
|
else {
|
|
80
|
+
logger.debug(`Item ${itemIndex + 1} returned single record`, { itemIndex });
|
|
62
81
|
returnData.push(data);
|
|
63
82
|
}
|
|
64
83
|
}
|
|
65
84
|
catch (error) {
|
|
85
|
+
logger.error(`Error processing item ${itemIndex + 1}`, error, { operation, itemIndex });
|
|
66
86
|
if (this.continueOnFail()) {
|
|
67
87
|
returnData.push({
|
|
68
88
|
json: {
|
|
@@ -77,6 +97,8 @@ class NetSuite {
|
|
|
77
97
|
}
|
|
78
98
|
}
|
|
79
99
|
}
|
|
100
|
+
logger.audit('Operation completed', { operation, totalProcessed: returnData.length });
|
|
101
|
+
logger.info('Node execution completed', { operation, totalProcessed: returnData.length });
|
|
80
102
|
return this.prepareOutputData(returnData);
|
|
81
103
|
}
|
|
82
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetSuite.node.js","sourceRoot":"","sources":["../../../nodes/NetSuite/NetSuite.node.ts"],"names":[],"mappings":";;;AAOA,+BAAgC;AAOhC,+CAAgE;AAChE,mEAA0D;AAE1D,6CAQsB;
|
|
1
|
+
{"version":3,"file":"NetSuite.node.js","sourceRoot":"","sources":["../../../nodes/NetSuite/NetSuite.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,8 +27,8 @@ exports.nodeDescription = {
|
|
|
27
27
|
noDataExpression: true,
|
|
28
28
|
options: [
|
|
29
29
|
{
|
|
30
|
-
name: '
|
|
31
|
-
value: '
|
|
30
|
+
name: 'Execute SuiteQL',
|
|
31
|
+
value: 'runSuiteQL',
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
name: 'Get Record',
|
|
@@ -39,20 +39,20 @@ exports.nodeDescription = {
|
|
|
39
39
|
value: 'insertRecord',
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
|
-
name: '
|
|
43
|
-
value: '
|
|
42
|
+
name: 'List Records',
|
|
43
|
+
value: 'listRecords',
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
|
-
name: '
|
|
47
|
-
value: '
|
|
46
|
+
name: 'Raw Request',
|
|
47
|
+
value: 'rawRequest',
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
|
-
name: '
|
|
51
|
-
value: '
|
|
50
|
+
name: 'Remove Record',
|
|
51
|
+
value: 'removeRecord',
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
|
-
name: '
|
|
55
|
-
value: '
|
|
54
|
+
name: 'Update Record',
|
|
55
|
+
value: 'updateRecord',
|
|
56
56
|
},
|
|
57
57
|
],
|
|
58
58
|
default: 'getRecord',
|
|
@@ -225,7 +225,7 @@ exports.nodeDescription = {
|
|
|
225
225
|
operation: ['insertRecord', 'updateRecord'],
|
|
226
226
|
},
|
|
227
227
|
},
|
|
228
|
-
description: 'The names of sublists on this record. All sublist lines will be replaced with lines specified in
|
|
228
|
+
description: 'The names of sublists on this record. All sublist lines will be replaced with lines specified in request. The sublists not specified here will have lines added to the record. The names are delimited by comma.',
|
|
229
229
|
},
|
|
230
230
|
{
|
|
231
231
|
displayName: 'Replace Selected Fields',
|
|
@@ -353,12 +353,12 @@ exports.nodeDescription = {
|
|
|
353
353
|
displayName: 'Max Retries',
|
|
354
354
|
name: 'maxRetries',
|
|
355
355
|
type: 'number',
|
|
356
|
-
default:
|
|
356
|
+
default: 5,
|
|
357
357
|
typeOptions: {
|
|
358
358
|
minValue: 0,
|
|
359
359
|
maxValue: 10,
|
|
360
360
|
},
|
|
361
|
-
description: 'Number of times to retry on rate limit (429) errors. Each retry waits exponentially longer (1s, 2s, 4s...). Set to 0 to disable retries.',
|
|
361
|
+
description: 'Number of times to retry on rate limit (429) and server errors. Each retry waits exponentially longer (1s, 2s, 4s...). Set to 0 to disable retries.',
|
|
362
362
|
},
|
|
363
363
|
],
|
|
364
364
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetSuite.node.options.js","sourceRoot":"","sources":["../../../nodes/NetSuite/NetSuite.node.options.ts"],"names":[],"mappings":";;;AAKa,QAAA,eAAe,GAAyB;IACpD,WAAW,EAAE,oBAAoB;IACjC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE;QACT,IAAI,EAAE,oBAAoB;KAC1B;IACD,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,QAAyB;IACjC,OAAO,EAAE,QAAyB;IAClC,WAAW,EAAE;QACZ;YACC,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,IAAI;SACd;KACD;IACD,UAAU,EAAE;QACX;YACC,WAAW,EAAE,WAAW;YACxB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;YACtB,OAAO,EAAE;gBACR;oBACC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"NetSuite.node.options.js","sourceRoot":"","sources":["../../../nodes/NetSuite/NetSuite.node.options.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NetSuiteHttpMethod } from './types';
|
|
2
|
+
import type { ILogger } from './types/logger.types';
|
|
2
3
|
interface NetSuiteCredentials {
|
|
3
4
|
accountId: string;
|
|
4
5
|
integrationClientId: string;
|
|
@@ -13,7 +14,8 @@ export declare class NetSuiteService {
|
|
|
13
14
|
private authEndpointUrl;
|
|
14
15
|
private tokenCache;
|
|
15
16
|
private retryConfig;
|
|
16
|
-
|
|
17
|
+
private logger?;
|
|
18
|
+
constructor(credentials: NetSuiteCredentials, maxRetries?: number, logger?: ILogger);
|
|
17
19
|
private createClientAssertion;
|
|
18
20
|
private getAccessToken;
|
|
19
21
|
private _makeRequest;
|
|
@@ -41,16 +41,19 @@ const jwt = __importStar(require("jsonwebtoken"));
|
|
|
41
41
|
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
42
42
|
const retry_handler_1 = require("./utils/retry-handler");
|
|
43
43
|
class NetSuiteService {
|
|
44
|
-
constructor(credentials, maxRetries =
|
|
44
|
+
constructor(credentials, maxRetries = 5, logger) {
|
|
45
45
|
this.tokenCache = null;
|
|
46
46
|
this.accountId = credentials.accountId;
|
|
47
47
|
this.integrationClientId = credentials.integrationClientId;
|
|
48
48
|
this.certificateId = credentials.certificateId;
|
|
49
49
|
this.privateKey = credentials.privateKey;
|
|
50
|
+
this.logger = logger;
|
|
50
51
|
this.authEndpointUrl = `https://${this.accountId.toLowerCase().replace('_', '-')}.suitetalk.api.netsuite.com/services/rest/auth/oauth2/v1/token`;
|
|
51
|
-
this.retryConfig = { maxRetries };
|
|
52
|
+
this.retryConfig = { maxRetries, logger };
|
|
52
53
|
}
|
|
53
54
|
createClientAssertion() {
|
|
55
|
+
var _a, _b;
|
|
56
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug('Creating JWT client assertion');
|
|
54
57
|
const payload = {
|
|
55
58
|
iss: this.integrationClientId,
|
|
56
59
|
scope: 'rest_webservices',
|
|
@@ -66,17 +69,28 @@ class NetSuiteService {
|
|
|
66
69
|
kid: this.certificateId,
|
|
67
70
|
},
|
|
68
71
|
});
|
|
72
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug('JWT client assertion created', {
|
|
73
|
+
clientId: this.integrationClientId,
|
|
74
|
+
certificateId: this.certificateId,
|
|
75
|
+
});
|
|
69
76
|
return token;
|
|
70
77
|
}
|
|
71
78
|
async getAccessToken() {
|
|
79
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
72
80
|
if (this.tokenCache && this.tokenCache.expiresAt > Date.now()) {
|
|
81
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug('Using cached access token', {
|
|
82
|
+
expiresAt: new Date(this.tokenCache.expiresAt).toISOString(),
|
|
83
|
+
});
|
|
73
84
|
return this.tokenCache.accessToken;
|
|
74
85
|
}
|
|
86
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.info('Requesting new access token');
|
|
87
|
+
(_c = this.logger) === null || _c === void 0 ? void 0 : _c.audit('Authentication token request initiated');
|
|
75
88
|
const clientAssertion = this.createClientAssertion();
|
|
76
89
|
const params = new URLSearchParams();
|
|
77
90
|
params.append('grant_type', 'client_credentials');
|
|
78
91
|
params.append('client_assertion_type', 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer');
|
|
79
92
|
params.append('client_assertion', clientAssertion);
|
|
93
|
+
(_d = this.logger) === null || _d === void 0 ? void 0 : _d.debug('Sending token request', { endpoint: this.authEndpointUrl });
|
|
80
94
|
const response = await (0, node_fetch_1.default)(this.authEndpointUrl, {
|
|
81
95
|
method: 'POST',
|
|
82
96
|
headers: {
|
|
@@ -86,7 +100,10 @@ class NetSuiteService {
|
|
|
86
100
|
});
|
|
87
101
|
if (!response.ok) {
|
|
88
102
|
const errorData = await response.json();
|
|
89
|
-
|
|
103
|
+
const error = new Error(`Error obtaining access token: ${errorData.error_description || response.statusText}`);
|
|
104
|
+
error.status = response.status;
|
|
105
|
+
(_e = this.logger) === null || _e === void 0 ? void 0 : _e.error('Failed to obtain access token', error);
|
|
106
|
+
throw error;
|
|
90
107
|
}
|
|
91
108
|
const data = await response.json();
|
|
92
109
|
const expiresIn = data.expires_in || 3600;
|
|
@@ -94,13 +111,28 @@ class NetSuiteService {
|
|
|
94
111
|
accessToken: data.access_token,
|
|
95
112
|
expiresAt: Date.now() + expiresIn * 1000 - 60000,
|
|
96
113
|
};
|
|
114
|
+
(_f = this.logger) === null || _f === void 0 ? void 0 : _f.info('Access token obtained successfully', { expiresIn });
|
|
115
|
+
(_g = this.logger) === null || _g === void 0 ? void 0 : _g.audit('Authentication successful', {
|
|
116
|
+
clientId: this.integrationClientId,
|
|
117
|
+
expiresIn,
|
|
118
|
+
});
|
|
97
119
|
return data.access_token;
|
|
98
120
|
}
|
|
99
121
|
async _makeRequest(endpoint, method, data, extraHeaders = {}) {
|
|
122
|
+
var _a, _b;
|
|
123
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug('Making API request', { endpoint, method, hasBody: !!data });
|
|
124
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.info('API request initiated', { endpoint, method });
|
|
100
125
|
return (0, retry_handler_1.executeWithRetry)(async () => {
|
|
126
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
101
127
|
const accessToken = await this.getAccessToken();
|
|
102
128
|
const accountIdFormatted = this.accountId.toLowerCase().replace('_', '-');
|
|
103
129
|
const url = `https://${accountIdFormatted}.suitetalk.api.netsuite.com${endpoint}`;
|
|
130
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug('Request details', {
|
|
131
|
+
url,
|
|
132
|
+
method,
|
|
133
|
+
headers: { 'Content-Type': extraHeaders['Content-Type'] || 'application/json' },
|
|
134
|
+
body: data,
|
|
135
|
+
});
|
|
104
136
|
const headers = {
|
|
105
137
|
'Content-Type': 'application/json',
|
|
106
138
|
Authorization: `Bearer ${accessToken}`,
|
|
@@ -113,9 +145,13 @@ class NetSuiteService {
|
|
|
113
145
|
headers,
|
|
114
146
|
body: data ? JSON.stringify(data) : undefined,
|
|
115
147
|
});
|
|
148
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug('Response received', {
|
|
149
|
+
status: response.status,
|
|
150
|
+
statusText: response.statusText,
|
|
151
|
+
});
|
|
116
152
|
}
|
|
117
153
|
catch (e) {
|
|
118
|
-
|
|
154
|
+
(_c = this.logger) === null || _c === void 0 ? void 0 : _c.error('Connection error', e);
|
|
119
155
|
throw new Error('Could not connect to NetSuite API');
|
|
120
156
|
}
|
|
121
157
|
const responseText = await response.text();
|
|
@@ -125,18 +161,33 @@ class NetSuiteService {
|
|
|
125
161
|
if (responseText && responseText.trim().length > 0) {
|
|
126
162
|
try {
|
|
127
163
|
errorData = JSON.parse(responseText);
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
164
|
+
const errorDetails = errorData['o:errorDetails'];
|
|
165
|
+
if (Array.isArray(errorDetails) && errorDetails.length > 0) {
|
|
166
|
+
const details = errorDetails
|
|
167
|
+
.map((e) => {
|
|
168
|
+
const code = e['o:errorCode'] || '';
|
|
169
|
+
const detail = e.detail || '';
|
|
170
|
+
const path = e['o:errorPath'] || e['o:urlPath'] || '';
|
|
171
|
+
return `${code ? code + ': ' : ''}${detail}${path ? ' (path: ' + path + ')' : ''}`;
|
|
172
|
+
})
|
|
173
|
+
.join('; ');
|
|
174
|
+
errorMessage = details || errorData.title || response.statusText;
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
errorMessage =
|
|
178
|
+
errorData.title || errorData.detail || errorData.message || response.statusText;
|
|
179
|
+
}
|
|
133
180
|
}
|
|
134
181
|
catch (e) {
|
|
135
|
-
|
|
182
|
+
(_d = this.logger) === null || _d === void 0 ? void 0 : _d.warn('Failed to parse error response', { raw: responseText });
|
|
136
183
|
errorMessage = responseText || response.statusText;
|
|
137
184
|
}
|
|
138
185
|
}
|
|
139
|
-
|
|
186
|
+
(_e = this.logger) === null || _e === void 0 ? void 0 : _e.warn('NetSuite API error', {
|
|
187
|
+
status: response.status,
|
|
188
|
+
message: errorMessage,
|
|
189
|
+
});
|
|
190
|
+
const error = new Error(errorMessage);
|
|
140
191
|
error.status = response.status;
|
|
141
192
|
error.statusCode = response.status;
|
|
142
193
|
error.body = errorData;
|
|
@@ -146,30 +197,43 @@ class NetSuiteService {
|
|
|
146
197
|
}
|
|
147
198
|
throw error;
|
|
148
199
|
}
|
|
200
|
+
(_f = this.logger) === null || _f === void 0 ? void 0 : _f.info('API request successful', { endpoint, method, status: response.status });
|
|
149
201
|
if (responseText && responseText.trim().length > 0) {
|
|
150
202
|
try {
|
|
151
|
-
|
|
203
|
+
const parsed = JSON.parse(responseText);
|
|
204
|
+
(_g = this.logger) === null || _g === void 0 ? void 0 : _g.debug('Response parsed successfully', {
|
|
205
|
+
endpoint,
|
|
206
|
+
responseSize: responseText.length,
|
|
207
|
+
});
|
|
208
|
+
return parsed;
|
|
152
209
|
}
|
|
153
210
|
catch (e) {
|
|
154
|
-
|
|
211
|
+
(_h = this.logger) === null || _h === void 0 ? void 0 : _h.error('Error parsing success response', e);
|
|
155
212
|
return responseText;
|
|
156
213
|
}
|
|
157
214
|
}
|
|
158
215
|
else {
|
|
216
|
+
(_j = this.logger) === null || _j === void 0 ? void 0 : _j.debug('Empty response', { endpoint, status: response.status });
|
|
159
217
|
return {};
|
|
160
218
|
}
|
|
161
219
|
}, this.retryConfig);
|
|
162
220
|
}
|
|
163
221
|
async suitetalkRequest(endpoint, method, data, extraHeaders = {}) {
|
|
222
|
+
var _a;
|
|
223
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.audit('API endpoint called', { endpoint, method, hasData: !!data });
|
|
164
224
|
return this._makeRequest(endpoint, method, data, extraHeaders);
|
|
165
225
|
}
|
|
166
226
|
async executeSuiteQLQuery(query) {
|
|
227
|
+
var _a, _b;
|
|
167
228
|
const endpoint = '/services/rest/query/v1/suiteql';
|
|
168
229
|
const data = { q: query };
|
|
169
230
|
const extraHeaders = { Prefer: 'transient' };
|
|
231
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.audit('SuiteQL query executed', { query });
|
|
232
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug('SuiteQL query details', { endpoint, query });
|
|
170
233
|
return this._makeRequest(endpoint, 'POST', data, extraHeaders);
|
|
171
234
|
}
|
|
172
235
|
async listRecords(recordType, options) {
|
|
236
|
+
var _a, _b;
|
|
173
237
|
let endpoint = `/services/rest/record/v1/${recordType}`;
|
|
174
238
|
const params = new URLSearchParams();
|
|
175
239
|
if (options === null || options === void 0 ? void 0 : options.limit)
|
|
@@ -181,22 +245,36 @@ class NetSuiteService {
|
|
|
181
245
|
if (params.toString()) {
|
|
182
246
|
endpoint += `?${params.toString()}`;
|
|
183
247
|
}
|
|
248
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.audit('Records queried', { recordType, options });
|
|
249
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug('List records request', { endpoint, options });
|
|
184
250
|
return this._makeRequest(endpoint, 'GET');
|
|
185
251
|
}
|
|
186
252
|
async getRecord(recordType, recordId) {
|
|
253
|
+
var _a, _b;
|
|
187
254
|
const endpoint = `/services/rest/record/v1/${recordType}/${recordId}`;
|
|
255
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.audit('Record accessed', { recordType, recordId });
|
|
256
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug('Get record request', { endpoint });
|
|
188
257
|
return this._makeRequest(endpoint, 'GET');
|
|
189
258
|
}
|
|
190
259
|
async createRecord(recordType, recordData) {
|
|
260
|
+
var _a, _b;
|
|
191
261
|
const endpoint = `/services/rest/record/v1/${recordType}`;
|
|
262
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.audit('Record created', { recordType, recordData });
|
|
263
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug('Create record request', { endpoint, recordData });
|
|
192
264
|
return this._makeRequest(endpoint, 'POST', recordData);
|
|
193
265
|
}
|
|
194
266
|
async updateRecord(recordType, recordId, recordData) {
|
|
267
|
+
var _a, _b;
|
|
195
268
|
const endpoint = `/services/rest/record/v1/${recordType}/${recordId}`;
|
|
269
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.audit('Record updated', { recordType, recordId, recordData });
|
|
270
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug('Update record request', { endpoint, recordData });
|
|
196
271
|
return this._makeRequest(endpoint, 'PATCH', recordData);
|
|
197
272
|
}
|
|
198
273
|
async deleteRecord(recordType, recordId) {
|
|
274
|
+
var _a, _b;
|
|
199
275
|
const endpoint = `/services/rest/record/v1/${recordType}/${recordId}`;
|
|
276
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.audit('Record deleted', { recordType, recordId });
|
|
277
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug('Delete record request', { endpoint });
|
|
200
278
|
return this._makeRequest(endpoint, 'DELETE');
|
|
201
279
|
}
|
|
202
280
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetSuite.service.js","sourceRoot":"","sources":["../../../nodes/NetSuite/NetSuite.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,kDAAoC;AACpC,4DAA6C;AAG7C,yDAAsE;
|
|
1
|
+
{"version":3,"file":"NetSuite.service.js","sourceRoot":"","sources":["../../../nodes/NetSuite/NetSuite.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,8 @@ const NetSuite_service_1 = require("../NetSuite.service");
|
|
|
5
5
|
const response_handler_1 = require("../utils/response-handler");
|
|
6
6
|
const helpers_1 = require("../utils/helpers");
|
|
7
7
|
async function getRecord(options) {
|
|
8
|
-
|
|
8
|
+
var _a;
|
|
9
|
+
const { item, fns, credentials, itemIndex, logger } = options;
|
|
9
10
|
const params = new URLSearchParams();
|
|
10
11
|
const expandSubResources = fns.getNodeParameter('expandSubResources', itemIndex);
|
|
11
12
|
const simpleEnumFormat = fns.getNodeParameter('simpleEnumFormat', itemIndex);
|
|
@@ -24,13 +25,16 @@ async function getRecord(options) {
|
|
|
24
25
|
}
|
|
25
26
|
const q = params.toString();
|
|
26
27
|
const endpoint = `/services/rest/record/${apiVersion}/${recordType}/${internalId}${q ? `?${q}` : ''}`;
|
|
28
|
+
logger === null || logger === void 0 ? void 0 : logger.info('Get record request initiated', { recordType, recordId: internalId, itemIndex }, { operation: 'getRecord', recordType, recordId: internalId });
|
|
29
|
+
logger === null || logger === void 0 ? void 0 : logger.debug('Request parameters', { expandSubResources, simpleEnumFormat, fields, endpoint }, { operation: 'getRecord' });
|
|
27
30
|
const netsuiteService = new NetSuite_service_1.NetSuiteService({
|
|
28
31
|
accountId: credentials.accountId,
|
|
29
32
|
integrationClientId: credentials.integrationClientId,
|
|
30
33
|
certificateId: credentials.certificateId,
|
|
31
34
|
privateKey: credentials.pemContent,
|
|
32
|
-
}, options.maxRetries
|
|
35
|
+
}, (_a = options.maxRetries) !== null && _a !== void 0 ? _a : 5, logger);
|
|
33
36
|
const responseData = await netsuiteService.suitetalkRequest(endpoint, 'GET');
|
|
37
|
+
logger === null || logger === void 0 ? void 0 : logger.info('Get record response received', { recordType, recordId: internalId }, { operation: 'getRecord', recordType, recordId: internalId });
|
|
34
38
|
const mockResponse = {
|
|
35
39
|
statusCode: 200,
|
|
36
40
|
statusText: 'OK',
|
|
@@ -40,7 +44,8 @@ async function getRecord(options) {
|
|
|
40
44
|
};
|
|
41
45
|
if (item) {
|
|
42
46
|
mockResponse.body.orderNo = item.json.orderNo;
|
|
47
|
+
logger === null || logger === void 0 ? void 0 : logger.debug('Added orderNo to response', { orderNo: item.json.orderNo }, { operation: 'getRecord' });
|
|
43
48
|
}
|
|
44
|
-
return (0, response_handler_1.handleNetsuiteResponse)(fns, mockResponse);
|
|
49
|
+
return (0, response_handler_1.handleNetsuiteResponse)(fns, mockResponse, logger);
|
|
45
50
|
}
|
|
46
51
|
//# sourceMappingURL=getRecord.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRecord.js","sourceRoot":"","sources":["../../../../nodes/NetSuite/operations/getRecord.ts"],"names":[],"mappings":";;AAUA,
|
|
1
|
+
{"version":3,"file":"getRecord.js","sourceRoot":"","sources":["../../../../nodes/NetSuite/operations/getRecord.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,14 @@ const NetSuite_service_1 = require("../NetSuite.service");
|
|
|
5
5
|
const response_handler_1 = require("../utils/response-handler");
|
|
6
6
|
const helpers_1 = require("../utils/helpers");
|
|
7
7
|
async function insertRecord(options) {
|
|
8
|
-
|
|
8
|
+
var _a;
|
|
9
|
+
const { fns, credentials, itemIndex, item, logger } = options;
|
|
9
10
|
const apiVersion = fns.getNodeParameter('version', itemIndex);
|
|
10
11
|
const recordType = (0, helpers_1.getRecordType)(options);
|
|
11
12
|
const replace = fns.getNodeParameter('replace', itemIndex, '');
|
|
12
13
|
const query = item ? item.json : undefined;
|
|
14
|
+
logger === null || logger === void 0 ? void 0 : logger.info('Insert record request initiated', { recordType }, { operation: 'insertRecord', recordType });
|
|
15
|
+
logger === null || logger === void 0 ? void 0 : logger.debug('Insert record data', { recordType, replace, query }, { operation: 'insertRecord', recordType });
|
|
13
16
|
let endpoint = `/services/rest/record/${apiVersion}/${recordType}`;
|
|
14
17
|
if (replace && replace.trim() !== '') {
|
|
15
18
|
endpoint += `?replace=${encodeURIComponent(replace)}`;
|
|
@@ -19,8 +22,9 @@ async function insertRecord(options) {
|
|
|
19
22
|
integrationClientId: credentials.integrationClientId,
|
|
20
23
|
certificateId: credentials.certificateId,
|
|
21
24
|
privateKey: credentials.pemContent,
|
|
22
|
-
}, options.maxRetries
|
|
25
|
+
}, (_a = options.maxRetries) !== null && _a !== void 0 ? _a : 5, logger);
|
|
23
26
|
const responseData = await netsuiteService.suitetalkRequest(endpoint, 'POST', query);
|
|
27
|
+
logger === null || logger === void 0 ? void 0 : logger.info('Insert record response received', { recordType }, { operation: 'insertRecord', recordType });
|
|
24
28
|
const mockResponse = {
|
|
25
29
|
statusCode: 201,
|
|
26
30
|
statusText: 'Created',
|
|
@@ -28,6 +32,6 @@ async function insertRecord(options) {
|
|
|
28
32
|
body: responseData,
|
|
29
33
|
request: { options: { method: 'POST' } },
|
|
30
34
|
};
|
|
31
|
-
return (0, response_handler_1.handleNetsuiteResponse)(fns, mockResponse);
|
|
35
|
+
return (0, response_handler_1.handleNetsuiteResponse)(fns, mockResponse, logger);
|
|
32
36
|
}
|
|
33
37
|
//# sourceMappingURL=insertRecord.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insertRecord.js","sourceRoot":"","sources":["../../../../nodes/NetSuite/operations/insertRecord.ts"],"names":[],"mappings":";;AAUA,
|
|
1
|
+
{"version":3,"file":"insertRecord.js","sourceRoot":"","sources":["../../../../nodes/NetSuite/operations/insertRecord.ts"],"names":[],"mappings":";;AAUA,oCA0DC;AA/DD,0DAAsD;AACtD,gEAAmE;AACnE,8CAAiD;AAG1C,KAAK,UAAU,YAAY,CACjC,OAAkC;;IAElC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,UAAU,GAAG,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAW,CAAC;IACxE,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CAAW,CAAC;IAEzE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3C,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CACX,iCAAiC,EACjC,EAAE,UAAU,EAAE,EACd,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,CACzC,CAAC;IACF,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CACZ,oBAAoB,EACpB,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,EAC9B,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,CACzC,CAAC;IAGF,IAAI,QAAQ,GAAG,yBAAyB,UAAU,IAAI,UAAU,EAAE,CAAC;IAGnE,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACtC,QAAQ,IAAI,YAAY,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;IACvD,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,kCAAe,CAC1C;QACC,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;QACpD,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,UAAU,EAAE,WAAW,CAAC,UAAU;KAClC,EACD,MAAA,OAAO,CAAC,UAAU,mCAAI,CAAC,EACvB,MAAM,CACN,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAErF,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CACX,iCAAiC,EACjC,EAAE,UAAU,EAAE,EACd,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,CACzC,CAAC;IAGF,MAAM,YAAY,GAAsB;QACvC,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;KACxC,CAAC;IAEF,OAAO,IAAA,yCAAsB,EAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC"}
|