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
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readBody = readBody;
|
|
4
|
+
const errors_1 = require("../errors");
|
|
5
|
+
const cast_1 = require("../schema/cast");
|
|
6
|
+
const schema_1 = require("../schema");
|
|
7
|
+
const validation_1 = require("../validation");
|
|
8
|
+
const names_1 = require("../ui/names");
|
|
9
|
+
function readLines(ctx, i, resource, fields) {
|
|
10
|
+
var _a;
|
|
11
|
+
const data = ctx.getNodeParameter((0, names_1.linesParam)(resource), i, {});
|
|
12
|
+
const raw = (_a = data.line) !== null && _a !== void 0 ? _a : [];
|
|
13
|
+
const issues = [];
|
|
14
|
+
const lines = raw.map((line, idx) => {
|
|
15
|
+
const out = { dtlkey: 0 };
|
|
16
|
+
for (const f of fields) {
|
|
17
|
+
const v = line[f.name];
|
|
18
|
+
if (v === undefined || v === null || v === '') {
|
|
19
|
+
if (f.required)
|
|
20
|
+
issues.push(`Line ${idx + 1}: ${f.label} is required.`);
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
out[f.name] = (0, cast_1.castValue)(f, v);
|
|
25
|
+
}
|
|
26
|
+
catch (e) {
|
|
27
|
+
issues.push(`Line ${idx + 1}: ${e.message}.`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return out;
|
|
31
|
+
});
|
|
32
|
+
if (issues.length)
|
|
33
|
+
throw new errors_1.ValidationError(issues);
|
|
34
|
+
return lines;
|
|
35
|
+
}
|
|
36
|
+
function readTypedValues(ctx, i, op, fields) {
|
|
37
|
+
if (op.op === 'update')
|
|
38
|
+
return ctx.getNodeParameter((0, names_1.updateParam)(op.resource), i, {});
|
|
39
|
+
const values = {};
|
|
40
|
+
for (const f of fields.filter((x) => x.required)) {
|
|
41
|
+
values[f.name] = ctx.getNodeParameter((0, names_1.fieldParam)(op.resource, f.name), i, '');
|
|
42
|
+
}
|
|
43
|
+
return { ...values, ...ctx.getNodeParameter((0, names_1.additionalParam)(op.resource), i, {}) };
|
|
44
|
+
}
|
|
45
|
+
function readBody(ctx, i, op) {
|
|
46
|
+
const mode = op.op === 'update' ? 'update' : 'create';
|
|
47
|
+
const schema = (0, schema_1.getSchema)(op.resource);
|
|
48
|
+
const useRaw = op.kind === 'transactional' &&
|
|
49
|
+
(!schema || mode === 'update' || ctx.getNodeParameter((0, names_1.useRawParam)(op.resource), i, false) === true);
|
|
50
|
+
if (useRaw) {
|
|
51
|
+
const raw = ctx.getNodeParameter((0, names_1.rawBodyParam)(op.resource, mode), i, '{}');
|
|
52
|
+
const body = (0, cast_1.parseJsonObject)(raw, 'Request Body (JSON)');
|
|
53
|
+
(0, validation_1.assertValidDocument)(op.resource, body, mode);
|
|
54
|
+
return body;
|
|
55
|
+
}
|
|
56
|
+
if (!schema)
|
|
57
|
+
throw new errors_1.ValidationError([`No field schema for ${op.resource}; use the JSON body.`]);
|
|
58
|
+
const extra = (0, cast_1.parseJsonObject)(ctx.getNodeParameter((0, names_1.extraJsonParam)(op.resource), i, '{}'), 'Extra Fields (JSON)');
|
|
59
|
+
const body = (0, cast_1.buildFieldsBody)(schema, readTypedValues(ctx, i, op, schema.fields), mode, extra);
|
|
60
|
+
if (op.kind === 'transactional') {
|
|
61
|
+
if (schema.lineFields)
|
|
62
|
+
body.sdsdocdetail = readLines(ctx, i, op.resource, schema.lineFields);
|
|
63
|
+
(0, validation_1.assertValidDocument)(op.resource, body, mode);
|
|
64
|
+
}
|
|
65
|
+
return body;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZEJvZHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9ub2Rlcy9TcWxBY2NvdW50aW5nL2V4ZWN1dGUvcmVhZEJvZHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE0Q0EsNEJBc0JDO0FBakVELHNDQUE0QztBQUU1Qyx5Q0FBNkU7QUFDN0Usc0NBQXNDO0FBRXRDLDhDQUFvRDtBQUNwRCx1Q0FBOEg7QUFJOUgsU0FBUyxTQUFTLENBQUMsR0FBc0IsRUFBRSxDQUFTLEVBQUUsUUFBZ0IsRUFBRSxNQUFrQjs7SUFDekYsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUEsa0JBQVUsRUFBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFnQixDQUFDO0lBQzlFLE1BQU0sR0FBRyxHQUFHLE1BQUMsSUFBSSxDQUFDLElBQWtDLG1DQUFJLEVBQUUsQ0FBQztJQUMzRCxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFDNUIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNuQyxNQUFNLEdBQUcsR0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNoQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3hCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUMvQyxJQUFJLENBQUMsQ0FBQyxRQUFRO29CQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLGVBQWUsQ0FBQyxDQUFDO2dCQUN4RSxTQUFTO1lBQ1YsQ0FBQztZQUNELElB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readFilters.d.ts","sourceRoot":"","sources":["../../../../nodes/SqlAccounting/execute/readFilters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9C,wBAAgB,WAAW,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAI9F"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readFilters = readFilters;
|
|
4
|
+
const names_1 = require("../ui/names");
|
|
5
|
+
const rows = (data) => { var _a; return (_a = data.filter) !== null && _a !== void 0 ? _a : []; };
|
|
6
|
+
function readFilters(ctx, i, resource) {
|
|
7
|
+
const typed = ctx.getNodeParameter((0, names_1.filtersParam)(resource), i, {});
|
|
8
|
+
const custom = ctx.getNodeParameter('customFilters', i, {});
|
|
9
|
+
return [...rows(typed), ...rows(custom)];
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZEZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9ub2Rlcy9TcWxBY2NvdW50aW5nL2V4ZWN1dGUvcmVhZEZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSxrQ0FJQztBQVJELHVDQUEyQztBQUUzQyxNQUFNLElBQUksR0FBRyxDQUFDLElBQWlCLEVBQWlCLEVBQUUsV0FBQyxPQUFBLE1BQUMsSUFBSSxDQUFDLE1BQW9DLG1DQUFJLEVBQUUsQ0FBQSxFQUFBLENBQUM7QUFFcEcsU0FBZ0IsV0FBVyxDQUFDLEdBQXNCLEVBQUUsQ0FBUyxFQUFFLFFBQWdCO0lBQzlFLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFBLG9CQUFZLEVBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBZ0IsQ0FBQztJQUNqRixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQWdCLENBQUM7SUFDM0UsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDMUMsQ0FBQyJ9
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { IDataObject, IExecuteFunctions } from 'n8n-workflow';
|
|
2
|
+
import { OperationDef } from '../registry';
|
|
3
|
+
export interface SqlCredentials {
|
|
4
|
+
platformApiKey: string;
|
|
5
|
+
sqlAccessKey: string;
|
|
6
|
+
sqlSecretKey: string;
|
|
7
|
+
service: string;
|
|
8
|
+
region: string;
|
|
9
|
+
proxyBaseUrl: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function runOperation(ctx: IExecuteFunctions, i: number, op: OperationDef, creds: SqlCredentials): Promise<IDataObject[]>;
|
|
12
|
+
export declare function errorToJson(error: unknown): IDataObject;
|
|
13
|
+
//# sourceMappingURL=runOperation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runOperation.d.ts","sourceRoot":"","sources":["../../../../nodes/SqlAccounting/execute/runOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAA+B,YAAY,EAAE,MAAM,aAAa,CAAC;AAYxE,MAAM,WAAW,cAAc;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACrB;AA8BD,wBAAsB,YAAY,CACjC,GAAG,EAAE,iBAAiB,EACtB,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,cAAc,GACnB,OAAO,CAAC,WAAW,EAAE,CAAC,CA6BxB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAQvD"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runOperation = runOperation;
|
|
4
|
+
exports.errorToJson = errorToJson;
|
|
5
|
+
const registry_1 = require("../registry");
|
|
6
|
+
const config_1 = require("../config");
|
|
7
|
+
const errors_1 = require("../errors");
|
|
8
|
+
const normalize_1 = require("../normalize");
|
|
9
|
+
const pagination_1 = require("../pagination");
|
|
10
|
+
const request_1 = require("../request");
|
|
11
|
+
const transport_1 = require("../transport");
|
|
12
|
+
const names_1 = require("../ui/names");
|
|
13
|
+
const readBody_1 = require("./readBody");
|
|
14
|
+
const readFilters_1 = require("./readFilters");
|
|
15
|
+
function readPathParam(ctx, i, op) {
|
|
16
|
+
if (!op.pathParam)
|
|
17
|
+
return null;
|
|
18
|
+
const raw = ctx.getNodeParameter(names_1.PATH_PARAM_NAME[op.pathParam], i, '');
|
|
19
|
+
return (0, request_1.parsePathParam)(op.pathParam, raw, (0, request_1.pathParamLabel)(op.pathParam));
|
|
20
|
+
}
|
|
21
|
+
function buildRequest(op, creds, pathParam, body, query) {
|
|
22
|
+
return {
|
|
23
|
+
contract_version: registry_1.CONTRACT_VERSION,
|
|
24
|
+
sql: {
|
|
25
|
+
access_key: creds.sqlAccessKey,
|
|
26
|
+
secret_key: creds.sqlSecretKey,
|
|
27
|
+
region: creds.region || config_1.DEFAULT_REGION,
|
|
28
|
+
service: creds.service || config_1.DEFAULT_SERVICE,
|
|
29
|
+
},
|
|
30
|
+
operation: op.key,
|
|
31
|
+
path_param: pathParam,
|
|
32
|
+
query,
|
|
33
|
+
body,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
async function runOperation(ctx, i, op, creds) {
|
|
37
|
+
const pathParam = readPathParam(ctx, i, op);
|
|
38
|
+
const body = op.writesBody ? (0, readBody_1.readBody)(ctx, i, op) : null;
|
|
39
|
+
const send = (query) => (0, transport_1.callProxy)(ctx, creds.proxyBaseUrl, buildRequest(op, creds, pathParam, body, query));
|
|
40
|
+
if (!op.isPaginated) {
|
|
41
|
+
const res = await send({});
|
|
42
|
+
return (0, normalize_1.normalizeData)(op, res.data, pathParam);
|
|
43
|
+
}
|
|
44
|
+
const filters = (0, readFilters_1.readFilters)(ctx, i, op.resource);
|
|
45
|
+
const startOffset = ctx.getNodeParameter('offset', i, 0);
|
|
46
|
+
if (ctx.getNodeParameter('returnAll', i, false)) {
|
|
47
|
+
const maxPages = ctx.getNodeParameter('maxPages', i, config_1.MAX_PAGES_DEFAULT);
|
|
48
|
+
const rows = await (0, pagination_1.fetchAllPages)(async (offset) => {
|
|
49
|
+
const res = await send((0, request_1.buildQuery)(offset, filters));
|
|
50
|
+
return { data: (0, normalize_1.toArray)(res.data), pagination: res.pagination };
|
|
51
|
+
}, { startOffset, maxPages });
|
|
52
|
+
return rows;
|
|
53
|
+
}
|
|
54
|
+
const res = await send((0, request_1.buildQuery)(startOffset, filters));
|
|
55
|
+
const limit = ctx.getNodeParameter('limit', i, registry_1.PAGE_SIZE);
|
|
56
|
+
return (0, normalize_1.toArray)(res.data).slice(0, limit);
|
|
57
|
+
}
|
|
58
|
+
function errorToJson(error) {
|
|
59
|
+
var _a;
|
|
60
|
+
if (error instanceof errors_1.ValidationError) {
|
|
61
|
+
return { error: error.message, code: 'validation_failed', issues: error.issues };
|
|
62
|
+
}
|
|
63
|
+
if (error instanceof errors_1.ProxyCallError) {
|
|
64
|
+
return { error: error.message, code: error.proxyCode, field: (_a = error.field) !== null && _a !== void 0 ? _a : null };
|
|
65
|
+
}
|
|
66
|
+
return { error: error instanceof Error ? error.message : String(error) };
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuT3BlcmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbm9kZXMvU3FsQWNjb3VudGluZy9leGVjdXRlL3J1bk9wZXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtEQSxvQ0FrQ0M7QUFFRCxrQ0FRQztBQTdGRCwwQ0FBd0U7QUFDeEUsc0NBQStFO0FBQy9FLHNDQUE0RDtBQUM1RCw0Q0FBc0Q7QUFDdEQsOENBQThDO0FBQzlDLHdDQUF3RTtBQUN4RSw0Q0FBeUM7QUFFekMsdUNBQThDO0FBQzlDLHlDQUFzQztBQUN0QywrQ0FBNEM7QUFXNUMsU0FBUyxhQUFhLENBQUMsR0FBc0IsRUFBRSxDQUFTLEVBQUUsRUFBZ0I7SUFDekUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDL0IsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixDQUFDLHVCQUFlLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RSxPQUFPLElBQUEsd0JBQWMsRUFBQyxFQUFFLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxJQUFBLHdCQUFjLEVBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDeEUsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUNwQixFQUFnQixFQUNoQixLQUFxQixFQUNyQixTQUFpQyxFQUNqQyxJQUFvQyxFQUNwQyxLQUFnRDtJQUVoRCxPQUFPO1FBQ04sZ0JBQWdCLEVBQUUsMkJBQWdCO1FBQ2xDLEdBQUcsRUFBRTtZQUNKLFVBQVUsRUFBRSxLQUFLLENBQUMsWUFBWTtZQUM5QixVQUFVLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDOUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLElBQUksdUJBQWM7WUFDdEMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksd0JBQWU7U0FDekM7UUFD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
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ILoadOptionsFunctions, INodePropertyOptions } from 'n8n-workflow';
|
|
2
|
+
type Row = Record<string, unknown>;
|
|
3
|
+
export declare const toOption: (row: Row, valueField: string) => INodePropertyOptions;
|
|
4
|
+
export declare const lookupMethods: Record<string, (this: ILoadOptionsFunctions) => Promise<INodePropertyOptions[]>>;
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=lookups.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lookups.d.ts","sourceRoot":"","sources":["../../../nodes/SqlAccounting/lookups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAShF,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAgCnC,eAAO,MAAM,QAAQ,GAAI,KAAK,GAAG,EAAE,YAAY,MAAM,KAAG,oBAIvD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAWzG,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.lookupMethods = exports.toOption = void 0;
|
|
4
|
+
const registry_1 = require("./registry");
|
|
5
|
+
const config_1 = require("./config");
|
|
6
|
+
const pagination_1 = require("./pagination");
|
|
7
|
+
const normalize_1 = require("./normalize");
|
|
8
|
+
const transport_1 = require("./transport");
|
|
9
|
+
const schema_1 = require("./schema");
|
|
10
|
+
const names_1 = require("./ui/names");
|
|
11
|
+
const cache = new Map();
|
|
12
|
+
async function fetchRows(ctx, resource) {
|
|
13
|
+
const creds = await ctx.getCredentials('sqlAccountingApi');
|
|
14
|
+
const key = `${String(creds.proxyBaseUrl)}|${String(creds.sqlAccessKey)}|${resource}`;
|
|
15
|
+
const hit = cache.get(key);
|
|
16
|
+
if (hit && Date.now() - hit.at < config_1.LOOKUP_CACHE_MS)
|
|
17
|
+
return hit.rows;
|
|
18
|
+
const rows = (await (0, pagination_1.fetchAllPages)(async (offset) => {
|
|
19
|
+
const res = await (0, transport_1.callProxy)(ctx, String(creds.proxyBaseUrl), {
|
|
20
|
+
contract_version: registry_1.CONTRACT_VERSION,
|
|
21
|
+
sql: {
|
|
22
|
+
access_key: String(creds.sqlAccessKey),
|
|
23
|
+
secret_key: String(creds.sqlSecretKey),
|
|
24
|
+
region: String(creds.region || config_1.DEFAULT_REGION),
|
|
25
|
+
service: String(creds.service || config_1.DEFAULT_SERVICE),
|
|
26
|
+
},
|
|
27
|
+
operation: `${resource}.list`,
|
|
28
|
+
path_param: null,
|
|
29
|
+
query: { offset },
|
|
30
|
+
body: null,
|
|
31
|
+
});
|
|
32
|
+
return { data: (0, normalize_1.toArray)(res.data), pagination: res.pagination };
|
|
33
|
+
}, { startOffset: 0, maxPages: config_1.LOOKUP_MAX_PAGES }));
|
|
34
|
+
cache.set(key, { at: Date.now(), rows });
|
|
35
|
+
return rows;
|
|
36
|
+
}
|
|
37
|
+
const toOption = (row, valueField) => {
|
|
38
|
+
var _a, _b, _c, _d, _e, _f;
|
|
39
|
+
const label = String((_c = (_b = (_a = row.description) !== null && _a !== void 0 ? _a : row.companyname) !== null && _b !== void 0 ? _b : row.name) !== null && _c !== void 0 ? _c : '');
|
|
40
|
+
const code = String((_e = (_d = row.code) !== null && _d !== void 0 ? _d : row[valueField]) !== null && _e !== void 0 ? _e : '');
|
|
41
|
+
return { name: label ? `${code} - ${label}` : code, value: String((_f = row[valueField]) !== null && _f !== void 0 ? _f : '') };
|
|
42
|
+
};
|
|
43
|
+
exports.toOption = toOption;
|
|
44
|
+
exports.lookupMethods = Object.fromEntries((0, schema_1.lookupPairs)().map(({ resource, valueField }) => [
|
|
45
|
+
(0, names_1.lookupMethodName)(resource, valueField),
|
|
46
|
+
async function () {
|
|
47
|
+
const rows = await fetchRows(this, resource);
|
|
48
|
+
return rows
|
|
49
|
+
.filter((r) => r[valueField] !== undefined && r[valueField] !== null)
|
|
50
|
+
.map((r) => (0, exports.toOption)(r, valueField));
|
|
51
|
+
},
|
|
52
|
+
]));
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3Vwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVzL1NxbEFjY291bnRpbmcvbG9va3Vwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBOEM7QUFDOUMscUNBQThGO0FBQzlGLDZDQUE2QztBQUM3QywyQ0FBc0M7QUFDdEMsMkNBQXdDO0FBQ3hDLHFDQUF1QztBQUN2QyxzQ0FBOEM7QUFHOUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQXVDLENBQUM7QUFFN0QsS0FBSyxVQUFVLFNBQVMsQ0FBQyxHQUEwQixFQUFFLFFBQWdCO0lBQ3BFLE1BQU0sS0FBSyxHQUFHLE1BQU0sR0FBRyxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzNELE1BQU0sR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQ3RGLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsd0JBQWU7UUFBRSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFFbEUsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUEsMEJBQWEsRUFDaEMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBQSxxQkFBUyxFQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzVELGdCQUFnQixFQUFFLDJCQUFnQjtZQUNsQyxHQUFHLEVBQUU7Z0JBQ0osVUFBVSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO2dCQUN0QyxVQUFVLEVBQUUs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
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IDataObject } from 'n8n-workflow';
|
|
2
|
+
import type { OperationDef } from './registry';
|
|
3
|
+
export declare function toArray(data: unknown): unknown[];
|
|
4
|
+
export declare function normalizeData(op: OperationDef, data: unknown, pathParam: string | number | null): IDataObject[];
|
|
5
|
+
//# sourceMappingURL=normalize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../nodes/SqlAccounting/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,CAIhD;AAED,wBAAgB,aAAa,CAC5B,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAC/B,WAAW,EAAE,CAKf"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toArray = toArray;
|
|
4
|
+
exports.normalizeData = normalizeData;
|
|
5
|
+
function toArray(data) {
|
|
6
|
+
if (Array.isArray(data))
|
|
7
|
+
return data;
|
|
8
|
+
if (data !== null && typeof data === 'object')
|
|
9
|
+
return [data];
|
|
10
|
+
return [];
|
|
11
|
+
}
|
|
12
|
+
function normalizeData(op, data, pathParam) {
|
|
13
|
+
if (op.op === 'delete') {
|
|
14
|
+
return [{ success: true, resource: op.resource, deleted: pathParam }];
|
|
15
|
+
}
|
|
16
|
+
return toArray(data);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZXMvU3FsQWNjb3VudGluZy9ub3JtYWxpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSwwQkFJQztBQUVELHNDQVNDO0FBZkQsU0FBZ0IsT0FBTyxDQUFDLElBQWE7SUFDcEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3JDLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRO1FBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdELE9BQU8sRUFBRSxDQUFDO0FBQ1gsQ0FBQztBQUVELFNBQWdCLGFBQWEsQ0FDNUIsRUFBZ0IsRUFDaEIsSUFBYSxFQUNiLFNBQWlDO0lBRWpDLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQWtCLENBQUM7QUFDdkMsQ0FBQyJ9
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Pagination } from './contractTypes';
|
|
2
|
+
export interface PageResult {
|
|
3
|
+
data: unknown[];
|
|
4
|
+
pagination?: Pagination;
|
|
5
|
+
}
|
|
6
|
+
export declare function fetchAllPages(fetchPage: (offset: number) => Promise<PageResult>, opts: {
|
|
7
|
+
startOffset: number;
|
|
8
|
+
maxPages: number;
|
|
9
|
+
}): Promise<unknown[]>;
|
|
10
|
+
//# sourceMappingURL=pagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../nodes/SqlAccounting/pagination.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;CACxB;AAED,wBAAsB,aAAa,CAClC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,EAClD,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7C,OAAO,CAAC,OAAO,EAAE,CAAC,CAyBpB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchAllPages = fetchAllPages;
|
|
4
|
+
async function fetchAllPages(fetchPage, opts) {
|
|
5
|
+
const all = [];
|
|
6
|
+
let offset = opts.startOffset;
|
|
7
|
+
for (let page = 1; page <= opts.maxPages; page++) {
|
|
8
|
+
let result;
|
|
9
|
+
try {
|
|
10
|
+
result = await fetchPage(offset);
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
// Keep the original error object (its code/field are used by continueOnFail); only prefix the message.
|
|
14
|
+
if (error instanceof Error)
|
|
15
|
+
error.message = `Page ${page} (offset ${offset}): ${error.message}`;
|
|
16
|
+
throw error;
|
|
17
|
+
}
|
|
18
|
+
all.push(...result.data);
|
|
19
|
+
const p = result.pagination;
|
|
20
|
+
if (!p || !p.has_more)
|
|
21
|
+
return all;
|
|
22
|
+
const next = p.offset + p.limit;
|
|
23
|
+
if (next <= offset)
|
|
24
|
+
throw new Error('Pagination did not advance; aborting to avoid an endless loop.');
|
|
25
|
+
offset = next;
|
|
26
|
+
}
|
|
27
|
+
throw new Error(`Stopped after ${opts.maxPages} pages with more data available. Increase Max Pages or add filters.`);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVzL1NxbEFjY291bnRpbmcvcGFnaW5hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU9BLHNDQTRCQztBQTVCTSxLQUFLLFVBQVUsYUFBYSxDQUNsQyxTQUFrRCxFQUNsRCxJQUErQztJQUUvQyxNQUFNLEdBQUcsR0FBYyxFQUFFLENBQUM7SUFDMUIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUU5QixLQUFLLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ2xELElBQUksTUFBa0IsQ0FBQztRQUN2QixJQUFJLENBQUM7WUFDSixNQUFNLEdBQUcsTUFBTSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDaEIsdUdBQXVHO1lBQ3ZHLElBQUksS0FBSyxZQUFZLEtBQUs7Z0JBQUUsS0FBSyxDQUFDLE9BQU8sR0FBRyxRQUFRLElBQUksWUFBWSxNQUFNLE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hHLE1BQU0sS0FBSyxDQUFDO1FBQ2IsQ0FBQztRQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekIsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUM1QixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVE7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUVsQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDaEMsSUFBSSxJQUFJLElBQUksTUFBTTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztRQUN0RyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQ2QsaUJBQWlCLElBQUksQ0FBQyxRQUFRLHFFQUFxRSxDQUNuRyxDQUFDO0FBQ0gsQ0FBQyJ9
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { PAGE_SIZE, CONTRACT_VERSION, OpName, PathParamType, ResourceKind } from './registry.generated';
|
|
2
|
+
export { PAGE_SIZE, CONTRACT_VERSION };
|
|
3
|
+
export interface OperationDef {
|
|
4
|
+
key: string;
|
|
5
|
+
resource: string;
|
|
6
|
+
op: OpName;
|
|
7
|
+
name: string;
|
|
8
|
+
description: string;
|
|
9
|
+
pathParam: PathParamType;
|
|
10
|
+
kind: ResourceKind;
|
|
11
|
+
group: string | null;
|
|
12
|
+
isPaginated: boolean;
|
|
13
|
+
writesBody: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface ResourceDef {
|
|
16
|
+
name: string;
|
|
17
|
+
value: string;
|
|
18
|
+
kind: ResourceKind;
|
|
19
|
+
operations: OperationDef[];
|
|
20
|
+
}
|
|
21
|
+
export declare const opKey: (resource: string, op: OpName) => string;
|
|
22
|
+
export declare const RESOURCE_DEFS: ResourceDef[];
|
|
23
|
+
export declare const OPERATION_MAP: Record<string, OperationDef>;
|
|
24
|
+
export declare function getOperation(key: string): OperationDef;
|
|
25
|
+
export declare const OPS_WITH_PATH_PARAM: string[];
|
|
26
|
+
export declare const OPS_PAGINATED: string[];
|
|
27
|
+
export declare const OPS_LIST: string[];
|
|
28
|
+
export declare const OPS_CREATE: string[];
|
|
29
|
+
export declare const OPS_UPDATE: string[];
|
|
30
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../nodes/SqlAccounting/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,SAAS,EACT,gBAAgB,EAChB,MAAM,EACN,aAAa,EACb,YAAY,EACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;AAEvC,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,aAAa,CAAC;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,YAAY,EAAE,CAAC;CAC3B;AAUD,eAAO,MAAM,KAAK,GAAI,UAAU,MAAM,EAAE,IAAI,MAAM,KAAG,MAA6B,CAAC;AAcnF,eAAO,MAAM,aAAa,EAAE,WAAW,EAgBpC,CAAC;AAEJ,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAEtD,CAAC;AAEF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAItD;AAOD,eAAO,MAAM,mBAAmB,UAAyC,CAAC;AAC1E,eAAO,MAAM,aAAa,UAAkC,CAAC;AAC7D,eAAO,MAAM,QAAQ,UAAyD,CAAC;AAC/E,eAAO,MAAM,UAAU,UAAsC,CAAC;AAC9D,eAAO,MAAM,UAAU,UAAsC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const CONTRACT_VERSION = 1;
|
|
2
|
+
export declare const PAGE_SIZE = 50;
|
|
3
|
+
export type PathParamType = 'CODE' | 'DOCKEY' | 'AUTOKEY' | null;
|
|
4
|
+
export type OpName = 'list' | 'get' | 'create' | 'update' | 'delete';
|
|
5
|
+
export type ResourceKind = 'master' | 'transactional' | 'report';
|
|
6
|
+
export interface RegistryEntry {
|
|
7
|
+
resource: string;
|
|
8
|
+
name: string;
|
|
9
|
+
pathParam: PathParamType;
|
|
10
|
+
kind: ResourceKind;
|
|
11
|
+
group: string | null;
|
|
12
|
+
ops: OpName[];
|
|
13
|
+
verifyGet: boolean;
|
|
14
|
+
verifyEndpoint: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare const REGISTRY: RegistryEntry[];
|
|
17
|
+
//# sourceMappingURL=registry.generated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.generated.d.ts","sourceRoot":"","sources":["../../../nodes/SqlAccounting/registry.generated.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;AACjE,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACrE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,eAAe,GAAG,QAAQ,CAAC;AACjE,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,YAAY,CAAC;IAC7E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAC;CACjF;AACD,eAAO,MAAM,QAAQ,EAAE,aAAa,EA2tCnC,CAAC"}
|