@brokenrubik/n8n-nodes-ns 1.3.0 → 1.5.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.
- 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 +77 -11
- 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 +138 -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, _k;
|
|
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();
|
|
@@ -126,16 +162,18 @@ class NetSuiteService {
|
|
|
126
162
|
try {
|
|
127
163
|
errorData = JSON.parse(responseText);
|
|
128
164
|
errorMessage =
|
|
129
|
-
errorData.title ||
|
|
130
|
-
errorData.detail ||
|
|
131
|
-
errorData.message ||
|
|
132
|
-
response.statusText;
|
|
165
|
+
errorData.title || errorData.detail || errorData.message || response.statusText;
|
|
133
166
|
}
|
|
134
167
|
catch (e) {
|
|
135
|
-
|
|
168
|
+
(_d = this.logger) === null || _d === void 0 ? void 0 : _d.error('Error parsing error response', e);
|
|
136
169
|
errorMessage = responseText || response.statusText;
|
|
137
170
|
}
|
|
138
171
|
}
|
|
172
|
+
(_e = this.logger) === null || _e === void 0 ? void 0 : _e.debug('Error response parsed', {
|
|
173
|
+
status: response.status,
|
|
174
|
+
errorMessage,
|
|
175
|
+
errorData,
|
|
176
|
+
});
|
|
139
177
|
const error = new Error(`NetSuite API Error (${response.status}): ${errorMessage}`);
|
|
140
178
|
error.status = response.status;
|
|
141
179
|
error.statusCode = response.status;
|
|
@@ -144,32 +182,46 @@ class NetSuiteService {
|
|
|
144
182
|
if (retryAfterHeader) {
|
|
145
183
|
error.retryAfter = retryAfterHeader;
|
|
146
184
|
}
|
|
185
|
+
(_f = this.logger) === null || _f === void 0 ? void 0 : _f.error('API request failed', error);
|
|
147
186
|
throw error;
|
|
148
187
|
}
|
|
188
|
+
(_g = this.logger) === null || _g === void 0 ? void 0 : _g.info('API request successful', { endpoint, method, status: response.status });
|
|
149
189
|
if (responseText && responseText.trim().length > 0) {
|
|
150
190
|
try {
|
|
151
|
-
|
|
191
|
+
const parsed = JSON.parse(responseText);
|
|
192
|
+
(_h = this.logger) === null || _h === void 0 ? void 0 : _h.debug('Response parsed successfully', {
|
|
193
|
+
endpoint,
|
|
194
|
+
responseSize: responseText.length,
|
|
195
|
+
});
|
|
196
|
+
return parsed;
|
|
152
197
|
}
|
|
153
198
|
catch (e) {
|
|
154
|
-
|
|
199
|
+
(_j = this.logger) === null || _j === void 0 ? void 0 : _j.error('Error parsing success response', e);
|
|
155
200
|
return responseText;
|
|
156
201
|
}
|
|
157
202
|
}
|
|
158
203
|
else {
|
|
204
|
+
(_k = this.logger) === null || _k === void 0 ? void 0 : _k.debug('Empty response', { endpoint, status: response.status });
|
|
159
205
|
return {};
|
|
160
206
|
}
|
|
161
207
|
}, this.retryConfig);
|
|
162
208
|
}
|
|
163
209
|
async suitetalkRequest(endpoint, method, data, extraHeaders = {}) {
|
|
210
|
+
var _a;
|
|
211
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.audit('API endpoint called', { endpoint, method, hasData: !!data });
|
|
164
212
|
return this._makeRequest(endpoint, method, data, extraHeaders);
|
|
165
213
|
}
|
|
166
214
|
async executeSuiteQLQuery(query) {
|
|
215
|
+
var _a, _b;
|
|
167
216
|
const endpoint = '/services/rest/query/v1/suiteql';
|
|
168
217
|
const data = { q: query };
|
|
169
218
|
const extraHeaders = { Prefer: 'transient' };
|
|
219
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.audit('SuiteQL query executed', { query });
|
|
220
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug('SuiteQL query details', { endpoint, query });
|
|
170
221
|
return this._makeRequest(endpoint, 'POST', data, extraHeaders);
|
|
171
222
|
}
|
|
172
223
|
async listRecords(recordType, options) {
|
|
224
|
+
var _a, _b;
|
|
173
225
|
let endpoint = `/services/rest/record/v1/${recordType}`;
|
|
174
226
|
const params = new URLSearchParams();
|
|
175
227
|
if (options === null || options === void 0 ? void 0 : options.limit)
|
|
@@ -181,22 +233,36 @@ class NetSuiteService {
|
|
|
181
233
|
if (params.toString()) {
|
|
182
234
|
endpoint += `?${params.toString()}`;
|
|
183
235
|
}
|
|
236
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.audit('Records queried', { recordType, options });
|
|
237
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug('List records request', { endpoint, options });
|
|
184
238
|
return this._makeRequest(endpoint, 'GET');
|
|
185
239
|
}
|
|
186
240
|
async getRecord(recordType, recordId) {
|
|
241
|
+
var _a, _b;
|
|
187
242
|
const endpoint = `/services/rest/record/v1/${recordType}/${recordId}`;
|
|
243
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.audit('Record accessed', { recordType, recordId });
|
|
244
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug('Get record request', { endpoint });
|
|
188
245
|
return this._makeRequest(endpoint, 'GET');
|
|
189
246
|
}
|
|
190
247
|
async createRecord(recordType, recordData) {
|
|
248
|
+
var _a, _b;
|
|
191
249
|
const endpoint = `/services/rest/record/v1/${recordType}`;
|
|
250
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.audit('Record created', { recordType, recordData });
|
|
251
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug('Create record request', { endpoint, recordData });
|
|
192
252
|
return this._makeRequest(endpoint, 'POST', recordData);
|
|
193
253
|
}
|
|
194
254
|
async updateRecord(recordType, recordId, recordData) {
|
|
255
|
+
var _a, _b;
|
|
195
256
|
const endpoint = `/services/rest/record/v1/${recordType}/${recordId}`;
|
|
257
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.audit('Record updated', { recordType, recordId, recordData });
|
|
258
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug('Update record request', { endpoint, recordData });
|
|
196
259
|
return this._makeRequest(endpoint, 'PATCH', recordData);
|
|
197
260
|
}
|
|
198
261
|
async deleteRecord(recordType, recordId) {
|
|
262
|
+
var _a, _b;
|
|
199
263
|
const endpoint = `/services/rest/record/v1/${recordType}/${recordId}`;
|
|
264
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.audit('Record deleted', { recordType, recordId });
|
|
265
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug('Delete record request', { endpoint });
|
|
200
266
|
return this._makeRequest(endpoint, 'DELETE');
|
|
201
267
|
}
|
|
202
268
|
}
|
|
@@ -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"}
|