n8n-nodes-sqlaccounting 1.0.0 → 1.1.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.
- package/README.md +119 -93
- package/dist/credentials/SqlAccountingApi.credentials.d.ts.map +1 -1
- package/dist/credentials/SqlAccountingApi.credentials.js +32 -27
- package/dist/nodes/SqlAccounting/SqlAccounting.node.d.ts +3 -0
- package/dist/nodes/SqlAccounting/SqlAccounting.node.d.ts.map +1 -1
- package/dist/nodes/SqlAccounting/SqlAccounting.node.js +23 -318
- package/dist/nodes/SqlAccounting/config.d.ts +8 -0
- package/dist/nodes/SqlAccounting/config.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/config.js +12 -0
- package/dist/nodes/SqlAccounting/contractTypes.d.ts +48 -0
- package/dist/nodes/SqlAccounting/contractTypes.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/contractTypes.js +12 -0
- package/dist/nodes/SqlAccounting/errors.d.ts +17 -0
- package/dist/nodes/SqlAccounting/errors.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/errors.js +47 -0
- package/dist/nodes/SqlAccounting/execute/readBody.d.ts +6 -0
- package/dist/nodes/SqlAccounting/execute/readBody.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/execute/readBody.js +67 -0
- package/dist/nodes/SqlAccounting/execute/readFilters.d.ts +4 -0
- package/dist/nodes/SqlAccounting/execute/readFilters.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/execute/readFilters.js +11 -0
- package/dist/nodes/SqlAccounting/execute/runOperation.d.ts +13 -0
- package/dist/nodes/SqlAccounting/execute/runOperation.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/execute/runOperation.js +68 -0
- package/dist/nodes/SqlAccounting/lookups.d.ts +6 -0
- package/dist/nodes/SqlAccounting/lookups.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/lookups.js +53 -0
- package/dist/nodes/SqlAccounting/normalize.d.ts +5 -0
- package/dist/nodes/SqlAccounting/normalize.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/normalize.js +18 -0
- package/dist/nodes/SqlAccounting/pagination.d.ts +10 -0
- package/dist/nodes/SqlAccounting/pagination.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/pagination.js +29 -0
- package/dist/nodes/SqlAccounting/registry.d.ts +30 -0
- package/dist/nodes/SqlAccounting/registry.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/registry.generated.d.ts +17 -0
- package/dist/nodes/SqlAccounting/registry.generated.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/registry.generated.js +1251 -0
- package/dist/nodes/SqlAccounting/registry.js +61 -0
- package/dist/nodes/SqlAccounting/request.d.ts +9 -0
- package/dist/nodes/SqlAccounting/request.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/request.js +44 -0
- package/dist/nodes/SqlAccounting/schema/assets.d.ts +3 -0
- package/dist/nodes/SqlAccounting/schema/assets.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/schema/assets.js +34 -0
- package/dist/nodes/SqlAccounting/schema/cast.d.ts +5 -0
- package/dist/nodes/SqlAccounting/schema/cast.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/schema/cast.js +99 -0
- package/dist/nodes/SqlAccounting/schema/documents.d.ts +3 -0
- package/dist/nodes/SqlAccounting/schema/documents.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/schema/documents.js +93 -0
- package/dist/nodes/SqlAccounting/schema/finance.d.ts +3 -0
- package/dist/nodes/SqlAccounting/schema/finance.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/schema/finance.js +81 -0
- package/dist/nodes/SqlAccounting/schema/index.d.ts +8 -0
- package/dist/nodes/SqlAccounting/schema/index.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/schema/index.js +48 -0
- package/dist/nodes/SqlAccounting/schema/parties.d.ts +3 -0
- package/dist/nodes/SqlAccounting/schema/parties.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/schema/parties.js +64 -0
- package/dist/nodes/SqlAccounting/schema/simple.d.ts +11 -0
- package/dist/nodes/SqlAccounting/schema/simple.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/schema/simple.js +41 -0
- package/dist/nodes/SqlAccounting/schema/stock.d.ts +3 -0
- package/dist/nodes/SqlAccounting/schema/stock.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/schema/stock.js +46 -0
- package/dist/nodes/SqlAccounting/schema/types.d.ts +31 -0
- package/dist/nodes/SqlAccounting/schema/types.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/schema/types.js +3 -0
- package/dist/nodes/SqlAccounting/templates.d.ts +2 -0
- package/dist/nodes/SqlAccounting/templates.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/templates.js +50 -0
- package/dist/nodes/SqlAccounting/transport.d.ts +6 -0
- package/dist/nodes/SqlAccounting/transport.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/transport.js +30 -0
- package/dist/nodes/SqlAccounting/ui/fieldProps.d.ts +5 -0
- package/dist/nodes/SqlAccounting/ui/fieldProps.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/ui/fieldProps.js +35 -0
- package/dist/nodes/SqlAccounting/ui/names.d.ts +15 -0
- package/dist/nodes/SqlAccounting/ui/names.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/ui/names.js +28 -0
- package/dist/nodes/SqlAccounting/ui/properties.d.ts +3 -0
- package/dist/nodes/SqlAccounting/ui/properties.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/ui/properties.js +296 -0
- package/dist/nodes/SqlAccounting/validation.d.ts +7 -0
- package/dist/nodes/SqlAccounting/validation.d.ts.map +1 -0
- package/dist/nodes/SqlAccounting/validation.js +74 -0
- package/package.json +22 -8
- package/dist/nodes/SqlAccounting/operations.d.ts +0 -34
- package/dist/nodes/SqlAccounting/operations.d.ts.map +0 -1
- package/dist/nodes/SqlAccounting/operations.js +0 -177
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SqlAccounting = void 0;
|
|
4
4
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
const
|
|
5
|
+
const errors_1 = require("./errors");
|
|
6
|
+
const registry_1 = require("./registry");
|
|
7
|
+
const runOperation_1 = require("./execute/runOperation");
|
|
8
|
+
const lookups_1 = require("./lookups");
|
|
9
|
+
const properties_1 = require("./ui/properties");
|
|
8
10
|
class SqlAccounting {
|
|
9
11
|
constructor() {
|
|
10
12
|
this.description = {
|
|
@@ -14,338 +16,41 @@ class SqlAccounting {
|
|
|
14
16
|
group: ['transform'],
|
|
15
17
|
version: 1,
|
|
16
18
|
subtitle: '={{$parameter["resource"] + ": " + $parameter["operation"]}}',
|
|
17
|
-
description: 'Interact with the SQL Accounting REST API via the SQL Accounting n8n Node
|
|
19
|
+
description: 'Interact with the SQL Accounting REST API via the SQL Accounting n8n Node service.',
|
|
18
20
|
defaults: { name: 'SQL Accounting' },
|
|
19
21
|
inputs: ['main'],
|
|
20
22
|
outputs: ['main'],
|
|
21
|
-
credentials: [
|
|
22
|
-
|
|
23
|
-
name: 'sqlAccountingApi',
|
|
24
|
-
required: true,
|
|
25
|
-
},
|
|
26
|
-
],
|
|
27
|
-
properties: [
|
|
28
|
-
// ── Resource dropdown ────────────────────────────────────────────────
|
|
29
|
-
{
|
|
30
|
-
displayName: 'Resource',
|
|
31
|
-
name: 'resource',
|
|
32
|
-
type: 'options',
|
|
33
|
-
noDataExpression: true,
|
|
34
|
-
options: operations_1.RESOURCES.map((r) => ({
|
|
35
|
-
name: r.name,
|
|
36
|
-
value: r.value,
|
|
37
|
-
})),
|
|
38
|
-
default: 'profile',
|
|
39
|
-
required: true,
|
|
40
|
-
},
|
|
41
|
-
// ── Operation dropdown — one per resource ────────────────────────────
|
|
42
|
-
...operations_1.RESOURCES.map((resource) => {
|
|
43
|
-
var _a, _b;
|
|
44
|
-
return ({
|
|
45
|
-
displayName: 'Operation',
|
|
46
|
-
name: 'operation',
|
|
47
|
-
type: 'options',
|
|
48
|
-
noDataExpression: true,
|
|
49
|
-
displayOptions: { show: { resource: [resource.value] } },
|
|
50
|
-
options: resource.operations.map((op) => ({
|
|
51
|
-
name: op.name,
|
|
52
|
-
value: op.key,
|
|
53
|
-
description: op.description,
|
|
54
|
-
action: op.description,
|
|
55
|
-
})),
|
|
56
|
-
default: (_b = (_a = resource.operations[0]) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : '',
|
|
57
|
-
});
|
|
58
|
-
}),
|
|
59
|
-
// ── Record ID — shown for Get / Update / Delete ──────────────────────
|
|
60
|
-
{
|
|
61
|
-
displayName: 'Record ID',
|
|
62
|
-
name: 'pathParam',
|
|
63
|
-
type: 'string',
|
|
64
|
-
default: '',
|
|
65
|
-
required: true,
|
|
66
|
-
description: 'The CODE, DocKey, or AutoKey of the record to get, update, or delete',
|
|
67
|
-
displayOptions: { show: { operation: operations_1.OPS_WITH_PATH_PARAM } },
|
|
68
|
-
},
|
|
69
|
-
// ── Offset — shown for List operations ───────────────────────────────
|
|
70
|
-
{
|
|
71
|
-
displayName: 'Offset',
|
|
72
|
-
name: 'offset',
|
|
73
|
-
type: 'number',
|
|
74
|
-
default: 0,
|
|
75
|
-
description: 'Pagination offset. Each page returns up to 100 records. Increment by 100 for the next page.',
|
|
76
|
-
displayOptions: { show: { operation: operations_1.OPS_GET_NO_PARAM } },
|
|
77
|
-
},
|
|
78
|
-
// ── Return All — shown for List (not reports) ────────────────────────
|
|
79
|
-
{
|
|
80
|
-
displayName: 'Return All',
|
|
81
|
-
name: 'returnAll',
|
|
82
|
-
type: 'boolean',
|
|
83
|
-
default: false,
|
|
84
|
-
description: 'Whether to return all results or only up to a given limit',
|
|
85
|
-
displayOptions: { show: { operation: operations_1.OPS_LIST } },
|
|
86
|
-
},
|
|
87
|
-
// ── Filters — optional query params for List operations ──────────────
|
|
88
|
-
{
|
|
89
|
-
displayName: 'Filters',
|
|
90
|
-
name: 'filters',
|
|
91
|
-
type: 'fixedCollection',
|
|
92
|
-
typeOptions: { multipleValues: true },
|
|
93
|
-
default: {},
|
|
94
|
-
placeholder: 'Add Filter',
|
|
95
|
-
description: 'Optional query filters. See the SQL Accounting API docs for available filter fields per resource.',
|
|
96
|
-
displayOptions: { show: { operation: operations_1.OPS_GET_NO_PARAM } },
|
|
97
|
-
options: [
|
|
98
|
-
{
|
|
99
|
-
name: 'filter',
|
|
100
|
-
displayName: 'Filter',
|
|
101
|
-
values: [
|
|
102
|
-
{
|
|
103
|
-
displayName: 'Field',
|
|
104
|
-
name: 'field',
|
|
105
|
-
type: 'string',
|
|
106
|
-
default: '',
|
|
107
|
-
placeholder: 'e.g. code, description, isactive',
|
|
108
|
-
description: 'The filter field name',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
displayName: 'Value',
|
|
112
|
-
name: 'value',
|
|
113
|
-
type: 'string',
|
|
114
|
-
default: '',
|
|
115
|
-
description: 'The filter value',
|
|
116
|
-
},
|
|
117
|
-
],
|
|
118
|
-
},
|
|
119
|
-
],
|
|
120
|
-
},
|
|
121
|
-
// ── Raw JSON Body — shown for transactional Create / Update ──────────
|
|
122
|
-
{
|
|
123
|
-
displayName: 'Request Body (JSON)',
|
|
124
|
-
name: 'rawBody',
|
|
125
|
-
type: 'json',
|
|
126
|
-
default: '{}',
|
|
127
|
-
required: true,
|
|
128
|
-
description: 'Full JSON body for this document. Include the sdsdocdetail array for line items. See the README for schema examples per document type.',
|
|
129
|
-
displayOptions: { show: { operation: operations_1.OPS_RAW_JSON } },
|
|
130
|
-
},
|
|
131
|
-
// ── Guided Fields — shown for master data Create / Update ────────────
|
|
132
|
-
{
|
|
133
|
-
displayName: 'Fields',
|
|
134
|
-
name: 'guidedFields',
|
|
135
|
-
type: 'fixedCollection',
|
|
136
|
-
typeOptions: { multipleValues: true },
|
|
137
|
-
default: {},
|
|
138
|
-
placeholder: 'Add Field',
|
|
139
|
-
description: 'Fields to set on this record. See the SQL Accounting API docs for available fields per resource.',
|
|
140
|
-
displayOptions: { show: { operation: operations_1.OPS_GUIDED } },
|
|
141
|
-
options: [
|
|
142
|
-
{
|
|
143
|
-
name: 'field',
|
|
144
|
-
displayName: 'Field',
|
|
145
|
-
values: [
|
|
146
|
-
{
|
|
147
|
-
displayName: 'Field Name',
|
|
148
|
-
name: 'name',
|
|
149
|
-
type: 'string',
|
|
150
|
-
default: '',
|
|
151
|
-
placeholder: 'e.g. code, description, isactive',
|
|
152
|
-
description: 'The field name as defined in the SQL Accounting API',
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
displayName: 'Value',
|
|
156
|
-
name: 'value',
|
|
157
|
-
type: 'string',
|
|
158
|
-
default: '',
|
|
159
|
-
description: 'The value to set for this field',
|
|
160
|
-
},
|
|
161
|
-
],
|
|
162
|
-
},
|
|
163
|
-
],
|
|
164
|
-
},
|
|
165
|
-
],
|
|
23
|
+
credentials: [{ name: 'sqlAccountingApi', required: true }],
|
|
24
|
+
properties: (0, properties_1.buildProperties)(),
|
|
166
25
|
};
|
|
26
|
+
this.methods = { loadOptions: lookups_1.lookupMethods };
|
|
167
27
|
}
|
|
168
|
-
// ── execute() ─────────────────────────────────────────────────────────────
|
|
169
28
|
async execute() {
|
|
170
|
-
var _a, _b, _c;
|
|
171
29
|
const items = this.getInputData();
|
|
172
|
-
const
|
|
173
|
-
|
|
174
|
-
// injected automatically by httpRequestWithAuthentication via authenticate{})
|
|
175
|
-
const credentials = await this.getCredentials('sqlAccountingApi');
|
|
176
|
-
const sqlAccessKey = credentials.sqlAccessKey;
|
|
177
|
-
const sqlSecretKey = credentials.sqlSecretKey;
|
|
178
|
-
const service = credentials.service || 'sqlaccount';
|
|
179
|
-
const region = credentials.region || 'ap-southeast-5';
|
|
30
|
+
const output = [];
|
|
31
|
+
const creds = (await this.getCredentials('sqlAccountingApi'));
|
|
180
32
|
for (let i = 0; i < items.length; i++) {
|
|
181
33
|
try {
|
|
182
|
-
const
|
|
183
|
-
const
|
|
184
|
-
|
|
185
|
-
if (!opDef) {
|
|
186
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unknown operation: ${operationKey}`, { itemIndex: i });
|
|
187
|
-
}
|
|
188
|
-
// ── Build path (inject path param for Get/Update/Delete) ─────────
|
|
189
|
-
let resolvedPath = opDef.path;
|
|
190
|
-
if (opDef.pathParam !== null) {
|
|
191
|
-
const paramValue = this.getNodeParameter('pathParam', i);
|
|
192
|
-
if (!(paramValue === null || paramValue === void 0 ? void 0 : paramValue.trim())) {
|
|
193
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Record ID is required for the ${opDef.name} operation.`, { itemIndex: i });
|
|
194
|
-
}
|
|
195
|
-
resolvedPath = `${opDef.path}/${encodeURIComponent(paramValue.trim())}`;
|
|
196
|
-
}
|
|
197
|
-
// ── Build query string (List / Report operations) ────────────────
|
|
198
|
-
let queryString = '';
|
|
199
|
-
if (opDef.pathParam === null && opDef.method === 'GET') {
|
|
200
|
-
const queryParts = [];
|
|
201
|
-
const offset = this.getNodeParameter('offset', i, 0);
|
|
202
|
-
queryParts.push(`offset=${offset}`);
|
|
203
|
-
const filtersData = this.getNodeParameter('filters', i, {});
|
|
204
|
-
const filterItems = (_a = filtersData.filter) !== null && _a !== void 0 ? _a : [];
|
|
205
|
-
for (const f of filterItems) {
|
|
206
|
-
const fieldName = (_b = f.field) === null || _b === void 0 ? void 0 : _b.trim();
|
|
207
|
-
const fieldValue = f.value;
|
|
208
|
-
if (fieldName && fieldValue !== undefined && fieldValue !== '') {
|
|
209
|
-
queryParts.push(`${encodeURIComponent(fieldName)}=${encodeURIComponent(fieldValue)}`);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
queryString = queryParts.join('&');
|
|
213
|
-
}
|
|
214
|
-
// ── Build request body ───────────────────────────────────────────
|
|
215
|
-
let bodyString = '';
|
|
216
|
-
if (opDef.bodyMode === 'raw_json') {
|
|
217
|
-
const rawBody = this.getNodeParameter('rawBody', i);
|
|
218
|
-
bodyString =
|
|
219
|
-
typeof rawBody === 'string' ? rawBody : JSON.stringify(rawBody);
|
|
220
|
-
}
|
|
221
|
-
else if (opDef.bodyMode === 'guided') {
|
|
222
|
-
const guidedData = this.getNodeParameter('guidedFields', i, {});
|
|
223
|
-
const fieldItems = (_c = guidedData.field) !== null && _c !== void 0 ? _c : [];
|
|
224
|
-
const bodyObj = {};
|
|
225
|
-
for (const f of fieldItems) {
|
|
226
|
-
if (f.name)
|
|
227
|
-
bodyObj[f.name] = f.value;
|
|
228
|
-
}
|
|
229
|
-
bodyString = JSON.stringify(bodyObj);
|
|
230
|
-
}
|
|
231
|
-
// ── Handle Return All (auto-paginate) ────────────────────────────
|
|
232
|
-
const isListOp = opDef.pathParam === null &&
|
|
233
|
-
opDef.method === 'GET' &&
|
|
234
|
-
opDef.docType !== 'report';
|
|
235
|
-
const returnAll = isListOp
|
|
236
|
-
? this.getNodeParameter('returnAll', i, false)
|
|
237
|
-
: false;
|
|
238
|
-
if (returnAll) {
|
|
239
|
-
const allResults = [];
|
|
240
|
-
let currentOffset = 0;
|
|
241
|
-
let hasMore = true;
|
|
242
|
-
while (hasMore) {
|
|
243
|
-
const pageQuery = queryString
|
|
244
|
-
? queryString.replace(/offset=\d+/, `offset=${currentOffset}`)
|
|
245
|
-
: `offset=${currentOffset}`;
|
|
246
|
-
const pageResult = await callEdge(this, sqlAccessKey, sqlSecretKey, service, region, operationKey, opDef.method, resolvedPath, pageQuery, '');
|
|
247
|
-
const pageData = Array.isArray(pageResult)
|
|
248
|
-
? pageResult
|
|
249
|
-
: [pageResult];
|
|
250
|
-
if (pageData.length === 0) {
|
|
251
|
-
hasMore = false;
|
|
252
|
-
}
|
|
253
|
-
else {
|
|
254
|
-
allResults.push(...pageData);
|
|
255
|
-
currentOffset += 100;
|
|
256
|
-
// Safety cap — prevent infinite loops on bad responses
|
|
257
|
-
if (currentOffset > 100000)
|
|
258
|
-
hasMore = false;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
for (const record of allResults) {
|
|
262
|
-
returnData.push({
|
|
263
|
-
json: record,
|
|
264
|
-
pairedItem: { item: i },
|
|
265
|
-
});
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
else {
|
|
269
|
-
// ── Single call ────────────────────────────────────────────
|
|
270
|
-
const result = await callEdge(this, sqlAccessKey, sqlSecretKey, service, region, operationKey, opDef.method, resolvedPath, queryString, bodyString);
|
|
271
|
-
if (Array.isArray(result)) {
|
|
272
|
-
for (const record of result) {
|
|
273
|
-
returnData.push({
|
|
274
|
-
json: record,
|
|
275
|
-
pairedItem: { item: i },
|
|
276
|
-
});
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
else {
|
|
280
|
-
returnData.push({
|
|
281
|
-
json: result,
|
|
282
|
-
pairedItem: { item: i },
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
}
|
|
34
|
+
const op = (0, registry_1.getOperation)(this.getNodeParameter('operation', i));
|
|
35
|
+
const rows = await (0, runOperation_1.runOperation)(this, i, op, creds);
|
|
36
|
+
output.push(...rows.map((json) => ({ json, pairedItem: { item: i } })));
|
|
286
37
|
}
|
|
287
38
|
catch (error) {
|
|
288
|
-
// continueOnFail support — required by n8n linter
|
|
289
39
|
if (this.continueOnFail()) {
|
|
290
|
-
|
|
291
|
-
json: { error: error.message },
|
|
292
|
-
pairedItem: { item: i },
|
|
293
|
-
});
|
|
40
|
+
output.push({ json: (0, runOperation_1.errorToJson)(error), pairedItem: { item: i } });
|
|
294
41
|
continue;
|
|
295
42
|
}
|
|
43
|
+
if (error instanceof errors_1.ValidationError) {
|
|
44
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Some inputs are invalid.', {
|
|
45
|
+
itemIndex: i,
|
|
46
|
+
description: error.issues.join('\n'),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
296
49
|
throw error;
|
|
297
50
|
}
|
|
298
51
|
}
|
|
299
|
-
return [
|
|
52
|
+
return [output];
|
|
300
53
|
}
|
|
301
54
|
}
|
|
302
55
|
exports.SqlAccounting = SqlAccounting;
|
|
303
|
-
|
|
304
|
-
// Edge Function caller
|
|
305
|
-
//
|
|
306
|
-
// Uses this.helpers.httpRequestWithAuthentication() — the n8n-approved method
|
|
307
|
-
// that satisfies the no-http-request-with-manual-auth linter rule.
|
|
308
|
-
// The Authorization: Bearer <platformApiKey> header is injected automatically
|
|
309
|
-
// from the credential's authenticate{} property. We never touch it here.
|
|
310
|
-
// ─────────────────────────────────────────────────────────────────────────────
|
|
311
|
-
async function callEdge(ctx, accessKey, secretKey, service, region, operation, method, path, query, body) {
|
|
312
|
-
var _a;
|
|
313
|
-
const options = {
|
|
314
|
-
method: 'POST',
|
|
315
|
-
url: EDGE_FUNCTION_URL,
|
|
316
|
-
headers: {
|
|
317
|
-
'Content-Type': 'application/json',
|
|
318
|
-
},
|
|
319
|
-
body: {
|
|
320
|
-
access_key: accessKey,
|
|
321
|
-
secret_key: secretKey,
|
|
322
|
-
service,
|
|
323
|
-
region,
|
|
324
|
-
operation,
|
|
325
|
-
method,
|
|
326
|
-
path,
|
|
327
|
-
query,
|
|
328
|
-
body,
|
|
329
|
-
},
|
|
330
|
-
json: true,
|
|
331
|
-
};
|
|
332
|
-
let response;
|
|
333
|
-
try {
|
|
334
|
-
// httpRequestWithAuthentication auto-injects the Bearer token from
|
|
335
|
-
// the credential's authenticate{} definition — no manual header needed.
|
|
336
|
-
response = (await ctx.helpers.httpRequestWithAuthentication.call(ctx, 'sqlAccountingApi', options));
|
|
337
|
-
}
|
|
338
|
-
catch (error) {
|
|
339
|
-
// Parse n8n's wrapped HTTP error to give the user a clear message
|
|
340
|
-
const msg = (_a = error.message) !== null && _a !== void 0 ? _a : '';
|
|
341
|
-
if (msg.includes('401') || msg.includes('invalid_api_key')) {
|
|
342
|
-
throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), 'Authentication failed. Check your Platform API Key in the credential.');
|
|
343
|
-
}
|
|
344
|
-
if (msg.includes('402') || msg.includes('insufficient_credits')) {
|
|
345
|
-
throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), 'Insufficient credits. Top up your balance at the portal before retrying.');
|
|
346
|
-
}
|
|
347
|
-
throw error;
|
|
348
|
-
}
|
|
349
|
-
return response;
|
|
350
|
-
}
|
|
351
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsQWNjb3VudGluZy5ub2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZXMvU3FsQWNjb3VudGluZy9TcWxBY2NvdW50aW5nLm5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBUUEsK0NBQWtEO0FBRWxELDZDQVFzQjtBQUV0QixpRkFBaUY7QUFDakYsTUFBTSxpQkFBaUIsR0FDdEIsa0VBQWtFLENBQUM7QUFFcEUsTUFBYSxhQUFhO0lBQTFCO1FBQ0MsZ0JBQVcsR0FBeUI7WUFDbkMsV0FBVyxFQUFFLGdCQUFnQjtZQUM3QixJQUFJLEVBQUUsZUFBZTtZQUNyQixJQUFJLEVBQUUsd0JBQXdCO1lBQzlCLEtBQUssRUFBRSxDQUFDLFdBQVcsQ0FBQztZQUNwQixPQUFPLEVBQUUsQ0FBQztZQUNWLFFBQVEsRUFBRSw4REFBOEQ7WUFDeEUsV0FBVyxFQUNWLHFGQUFxRjtZQUN0RixRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDcEMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2hCLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixXQUFXLEVBQUU7Z0JBQ1o7b0JBQ0MsSUFBSSxFQUFFLGtCQUFrQjtvQkFDeEIsUUFBUSxFQUFFLElBQUk7aUJBQ2Q7YUFDRDtZQUNELFVBQVUsRUFBRTtnQkFDWCx3RUFBd0U7Z0JBQ3hFO29CQUNDLFdBQVcsRUFBRSxVQUFVO29CQUN2QixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsZ0JBQWdCLEVBQUUsSUFBSTtvQkFDdEIsT0FBTyxFQUFFLHNCQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUM5QixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7d0JBQ1osS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNkLENBQUMsQ0FBQztvQkFDSCxPQUFPLEVBQUUsU0FB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
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsQWNjb3VudGluZy5ub2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZXMvU3FsQWNjb3VudGluZy9TcWxBY2NvdW50aW5nLm5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0NBQWtEO0FBQ2xELHFDQUEyQztBQUMzQyx5Q0FBMEM7QUFDMUMseURBQW1GO0FBQ25GLHVDQUEwQztBQUMxQyxnREFBa0Q7QUFFbEQsTUFBYSxhQUFhO0lBQTFCO1FBQ0MsZ0JBQVcsR0FBeUI7WUFDbkMsV0FBVyxFQUFFLGdCQUFnQjtZQUM3QixJQUFJLEVBQUUsZUFBZTtZQUNyQixJQUFJLEVBQUUsd0JBQXdCO1lBQzlCLEtBQUssRUFBRSxDQUFDLFdBQVcsQ0FBQztZQUNwQixPQUFPLEVBQUUsQ0FBQztZQUNWLFFBQVEsRUFBRSw4REFBOEQ7WUFDeEUsV0FBVyxFQUFFLG9GQUFvRjtZQUNqRyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDcEMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2hCLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixXQUFXLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDM0QsVUFBVSxFQUFFLElBQUEsNEJBQWUsR0FBRTtTQUM3QixDQUFDO1FBRUYsWUFBTyxHQUFHLEVBQUUsV0FBVyxFQUFFLHVCQUFhLEVBQUUsQ0FBQztJQTRCMUMsQ0FBQztJQTFCQSxLQUFLLENBQUMsT0FBTztRQUNaLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsQyxNQUFNLE1BQU0sR0FBeUIsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLENBQThCLENBQUM7UUFFM0YsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUM7Z0JBQ0osTUFBTSxFQUFFLEdBQUcsSUFBQSx1QkFBWSxFQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFXLENBQUMsQ0FBQztnQkFDekUsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFBLDJCQUFZLEVBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3BELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pFLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNoQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO29CQUMzQixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUEsMEJBQVcsRUFBQyxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUNuRSxTQUFTO2dCQUNWLENBQUM7Z0JBQ0QsSUFBSSxLQUFLLFlBQVksd0JBQWUsRUFBRSxDQUFDO29CQUN0QyxNQUFNLElBQUksaUNBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLDBCQUEwQixFQUFFO3dCQUN4RSxTQUFTLEVBQUUsQ0FBQzt3QkFDWixXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO3FCQUNwQyxDQUFDLENBQUM7Z0JBQ0osQ0FBQztnQkFDRCxNQUFNLEtBQUssQ0FBQztZQUNiLENBQUM7UUFDRixDQUFDO1FBQ0QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7Q0FDRDtBQTVDRCxzQ0E0Q0MifQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const PROXY_BASE_URL = "https://uqiwmllzftxzsjkxigtk.supabase.co";
|
|
2
|
+
export declare const PROXY_PATH = "/functions/v1/sqlaccount";
|
|
3
|
+
export declare const DEFAULT_REGION = "ap-southeast-5";
|
|
4
|
+
export declare const DEFAULT_SERVICE = "sqlaccount";
|
|
5
|
+
export declare const MAX_PAGES_DEFAULT = 1000;
|
|
6
|
+
export declare const LOOKUP_MAX_PAGES = 20;
|
|
7
|
+
export declare const LOOKUP_CACHE_MS = 60000;
|
|
8
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../nodes/SqlAccounting/config.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,6CAA6C,CAAC;AACzE,eAAO,MAAM,UAAU,6BAA6B,CAAC;AACrD,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LOOKUP_CACHE_MS = exports.LOOKUP_MAX_PAGES = exports.MAX_PAGES_DEFAULT = exports.DEFAULT_SERVICE = exports.DEFAULT_REGION = exports.PROXY_PATH = exports.PROXY_BASE_URL = void 0;
|
|
4
|
+
// Single place for the production proxy URL. Users may override it in the credential (self-host / local mock).
|
|
5
|
+
exports.PROXY_BASE_URL = 'https://uqiwmllzftxzsjkxigtk.supabase.co';
|
|
6
|
+
exports.PROXY_PATH = '/functions/v1/sqlaccount';
|
|
7
|
+
exports.DEFAULT_REGION = 'ap-southeast-5';
|
|
8
|
+
exports.DEFAULT_SERVICE = 'sqlaccount';
|
|
9
|
+
exports.MAX_PAGES_DEFAULT = 1000;
|
|
10
|
+
exports.LOOKUP_MAX_PAGES = 20;
|
|
11
|
+
exports.LOOKUP_CACHE_MS = 60000;
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZXMvU3FsQWNjb3VudGluZy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0dBQStHO0FBQ2xHLFFBQUEsY0FBYyxHQUFHLDBDQUEwQyxDQUFDO0FBQzVELFFBQUEsVUFBVSxHQUFHLDBCQUEwQixDQUFDO0FBQ3hDLFFBQUEsY0FBYyxHQUFHLGdCQUFnQixDQUFDO0FBQ2xDLFFBQUEsZUFBZSxHQUFHLFlBQVksQ0FBQztBQUMvQixRQUFBLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUN6QixRQUFBLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztBQUN0QixRQUFBLGVBQWUsR0FBRyxLQUFLLENBQUMifQ==
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export interface SqlCredentialsPayload {
|
|
2
|
+
access_key: string;
|
|
3
|
+
secret_key: string;
|
|
4
|
+
region: string;
|
|
5
|
+
service: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ProxyRequest {
|
|
8
|
+
contract_version: number;
|
|
9
|
+
sql: SqlCredentialsPayload;
|
|
10
|
+
operation: string;
|
|
11
|
+
path_param: string | number | null;
|
|
12
|
+
query: Record<string, string | number | boolean>;
|
|
13
|
+
body: Record<string, unknown> | null;
|
|
14
|
+
}
|
|
15
|
+
export interface Pagination {
|
|
16
|
+
offset: number;
|
|
17
|
+
limit: number;
|
|
18
|
+
count: number;
|
|
19
|
+
has_more: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface ProxySuccess {
|
|
22
|
+
ok: true;
|
|
23
|
+
data: unknown;
|
|
24
|
+
pagination?: Pagination;
|
|
25
|
+
meta: {
|
|
26
|
+
request_id: string;
|
|
27
|
+
upstream_status: number;
|
|
28
|
+
contract_version: number;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export interface ProxyErrorDetail {
|
|
32
|
+
code: string;
|
|
33
|
+
message: string;
|
|
34
|
+
field?: string | null;
|
|
35
|
+
hint?: string | null;
|
|
36
|
+
upstream_status?: number | null;
|
|
37
|
+
}
|
|
38
|
+
export interface ProxyErrorBody {
|
|
39
|
+
ok: false;
|
|
40
|
+
error: ProxyErrorDetail;
|
|
41
|
+
meta: {
|
|
42
|
+
request_id: string;
|
|
43
|
+
contract_version?: number;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export type ProxyResponse = ProxySuccess | ProxyErrorBody;
|
|
47
|
+
export declare function isProxyResponse(v: unknown): v is ProxyResponse;
|
|
48
|
+
//# sourceMappingURL=contractTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contractTypes.d.ts","sourceRoot":"","sources":["../../../nodes/SqlAccounting/contractTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,qBAAqB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACjD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;CAChF;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,CAAC;AAE1D,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa,CAK9D"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isProxyResponse = isProxyResponse;
|
|
4
|
+
function isProxyResponse(v) {
|
|
5
|
+
if (typeof v !== 'object' || v === null)
|
|
6
|
+
return false;
|
|
7
|
+
const o = v;
|
|
8
|
+
if (o.ok === true)
|
|
9
|
+
return true;
|
|
10
|
+
return o.ok === false && typeof o.error === 'object' && o.error !== null;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RUeXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVzL1NxbEFjY291bnRpbmcvY29udHJhY3RUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQThDQSwwQ0FLQztBQUxELFNBQWdCLGVBQWUsQ0FBQyxDQUFVO0lBQ3pDLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDdEQsTUFBTSxDQUFDLEdBQUcsQ0FBc0MsQ0FBQztJQUNqRCxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSTtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQy9CLE9BQU8sQ0FBQyxDQUFDLEVBQUUsS0FBSyxLQUFLLElBQUksT0FBTyxDQUFDLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQztBQUMxRSxDQUFDIn0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { INode } from 'n8n-workflow';
|
|
2
|
+
import { NodeOperationError } from 'n8n-workflow';
|
|
3
|
+
import type { ProxyErrorDetail } from './contractTypes';
|
|
4
|
+
export declare function describeProxyError(e: ProxyErrorDetail, requestId?: string): {
|
|
5
|
+
message: string;
|
|
6
|
+
description: string;
|
|
7
|
+
};
|
|
8
|
+
export declare class ProxyCallError extends NodeOperationError {
|
|
9
|
+
readonly proxyCode: string;
|
|
10
|
+
readonly field?: string;
|
|
11
|
+
constructor(node: INode, detail: ProxyErrorDetail, requestId?: string);
|
|
12
|
+
}
|
|
13
|
+
export declare class ValidationError extends Error {
|
|
14
|
+
readonly issues: string[];
|
|
15
|
+
constructor(issues: string[]);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../nodes/SqlAccounting/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAiBxD,wBAAgB,kBAAkB,CACjC,CAAC,EAAE,gBAAgB,EACnB,SAAS,CAAC,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAU1C;AAED,qBAAa,cAAe,SAAQ,kBAAkB;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEZ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,MAAM;CAMrE;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAEd,MAAM,EAAE,MAAM,EAAE;CAK5B"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ValidationError = exports.ProxyCallError = void 0;
|
|
4
|
+
exports.describeProxyError = describeProxyError;
|
|
5
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
6
|
+
const MESSAGES = {
|
|
7
|
+
invalid_token: 'Platform token is invalid or revoked. Check the Platform Token in the SQL Accounting API credential.',
|
|
8
|
+
subscription_inactive: 'Your subscription is not active. Renew it in the SQL Accounting n8n Node portal, then retry.',
|
|
9
|
+
rate_limited: 'Rate limit reached. Wait a moment and retry.',
|
|
10
|
+
validation_failed: 'The request was rejected as invalid.',
|
|
11
|
+
unknown_operation: 'This operation is not supported by the proxy.',
|
|
12
|
+
unsupported_version: 'Node and proxy versions are incompatible. Update the node.',
|
|
13
|
+
sql_auth_failed: 'SQL Account rejected your keys. Check the SQL Access Key and SQL Secret Key in the credential.',
|
|
14
|
+
upstream_error: 'SQL Account returned an error.',
|
|
15
|
+
internal_error: 'Proxy internal error. Quote the request id when contacting support.',
|
|
16
|
+
};
|
|
17
|
+
function describeProxyError(e, requestId) {
|
|
18
|
+
var _a;
|
|
19
|
+
const message = (_a = MESSAGES[e.code]) !== null && _a !== void 0 ? _a : `Unexpected error code "${e.code}".`;
|
|
20
|
+
const parts = [
|
|
21
|
+
e.message && e.message !== message ? e.message : null,
|
|
22
|
+
e.field ? `Field: ${e.field}.` : null,
|
|
23
|
+
e.hint ? `Hint: ${e.hint}` : null,
|
|
24
|
+
e.upstream_status ? `Upstream status: ${e.upstream_status}.` : null,
|
|
25
|
+
requestId ? `Request id: ${requestId}.` : null,
|
|
26
|
+
].filter((p) => p !== null);
|
|
27
|
+
return { message, description: parts.join(' ') };
|
|
28
|
+
}
|
|
29
|
+
class ProxyCallError extends n8n_workflow_1.NodeOperationError {
|
|
30
|
+
constructor(node, detail, requestId) {
|
|
31
|
+
var _a;
|
|
32
|
+
const d = describeProxyError(detail, requestId);
|
|
33
|
+
super(node, d.message, { description: d.description });
|
|
34
|
+
this.proxyCode = detail.code;
|
|
35
|
+
this.field = (_a = detail.field) !== null && _a !== void 0 ? _a : undefined;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.ProxyCallError = ProxyCallError;
|
|
39
|
+
class ValidationError extends Error {
|
|
40
|
+
constructor(issues) {
|
|
41
|
+
super(issues.join(' '));
|
|
42
|
+
this.name = 'ValidationError';
|
|
43
|
+
this.issues = issues;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.ValidationError = ValidationError;
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZXMvU3FsQWNjb3VudGluZy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbUJBLGdEQWFDO0FBL0JELCtDQUFrRDtBQUdsRCxNQUFNLFFBQVEsR0FBMkI7SUFDeEMsYUFBYSxFQUNaLHNHQUFzRztJQUN2RyxxQkFBcUIsRUFDcEIsOEZBQThGO0lBQy9GLFlBQVksRUFBRSw4Q0FBOEM7SUFDNUQsaUJBQWlCLEVBQUUsc0NBQXNDO0lBQ3pELGlCQUFpQixFQUFFLCtDQUErQztJQUNsRSxtQkFBbUIsRUFBRSw0REFBNEQ7SUFDakYsZUFBZSxFQUNkLGdHQUFnRztJQUNqRyxjQUFjLEVBQUUsZ0NBQWdDO0lBQ2hELGNBQWMsRUFBRSxxRUFBcUU7Q0FDckYsQ0FBQztBQUVGLFNBQWdCLGtCQUFrQixDQUNqQyxDQUFtQixFQUNuQixTQUFrQjs7SUFFbEIsTUFBTSxPQUFPLEdBQUcsTUFBQSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQ0FBSSwwQkFBMEIsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3pFLE1BQU0sS0FBSyxHQUFHO1FBQ2IsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUNyRCxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUNqQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ25FLFNBQVMsQ0FBQyxDQUFDLENBQUMsZUFBZSxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSTtLQUM5QyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBZSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztBQUNsRCxDQUFDO0FBRUQsTUFBYSxjQUFlLFNBQVEsaUNBQWtCO0lBSXJELFlBQVksSUFBVyxFQUFFLE1BQXdCLEVBQUUsU0FBa0I7O1FBQ3BFLE1BQU0sQ0FBQyxHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNoRCxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBQSxNQUFNLENBQUMsS0FBSyxtQ0FBSSxTQUFTLENBQUM7SUFDeEMsQ0FBQztDQUNEO0FBVkQsd0NBVUM7QUFFRCxNQUFhLGVBQWdCLFNBQVEsS0FBSztJQUd6QyxZQUFZLE1BQWdCO1FBQzNCLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN0QixDQUFDO0NBQ0Q7QUFSRCwwQ0FRQyJ9
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { IExecuteFunctions } from 'n8n-workflow';
|
|
2
|
+
import type { OperationDef } from '../registry';
|
|
3
|
+
type Body = Record<string, unknown>;
|
|
4
|
+
export declare function readBody(ctx: IExecuteFunctions, i: number, op: OperationDef): Body;
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=readBody.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readBody.d.ts","sourceRoot":"","sources":["../../../../nodes/SqlAccounting/execute/readBody.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOhD,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAmCpC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,CAsBlF"}
|