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,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OPS_UPDATE = exports.OPS_CREATE = exports.OPS_LIST = exports.OPS_PAGINATED = exports.OPS_WITH_PATH_PARAM = exports.OPERATION_MAP = exports.RESOURCE_DEFS = exports.opKey = exports.CONTRACT_VERSION = exports.PAGE_SIZE = void 0;
|
|
4
|
+
exports.getOperation = getOperation;
|
|
5
|
+
const registry_generated_1 = require("./registry.generated");
|
|
6
|
+
Object.defineProperty(exports, "PAGE_SIZE", { enumerable: true, get: function () { return registry_generated_1.PAGE_SIZE; } });
|
|
7
|
+
Object.defineProperty(exports, "CONTRACT_VERSION", { enumerable: true, get: function () { return registry_generated_1.CONTRACT_VERSION; } });
|
|
8
|
+
const OP_LABEL = {
|
|
9
|
+
list: 'List',
|
|
10
|
+
get: 'Get',
|
|
11
|
+
create: 'Create',
|
|
12
|
+
update: 'Update',
|
|
13
|
+
delete: 'Delete',
|
|
14
|
+
};
|
|
15
|
+
const opKey = (resource, op) => `${resource}.${op}`;
|
|
16
|
+
exports.opKey = opKey;
|
|
17
|
+
const describe = (op, resourceName, kind) => {
|
|
18
|
+
if (kind === 'report')
|
|
19
|
+
return `Get ${resourceName} report data`;
|
|
20
|
+
const text = {
|
|
21
|
+
list: `List ${resourceName} records`,
|
|
22
|
+
get: `Get one ${resourceName}`,
|
|
23
|
+
create: `Create a ${resourceName}`,
|
|
24
|
+
update: `Update a ${resourceName}`,
|
|
25
|
+
delete: `Delete a ${resourceName}`,
|
|
26
|
+
};
|
|
27
|
+
return text[op];
|
|
28
|
+
};
|
|
29
|
+
exports.RESOURCE_DEFS = registry_generated_1.REGISTRY.map((entry) => ({
|
|
30
|
+
name: entry.verifyEndpoint ? `${entry.name} (unverified)` : entry.name,
|
|
31
|
+
value: entry.resource,
|
|
32
|
+
kind: entry.kind,
|
|
33
|
+
operations: entry.ops.map((op) => ({
|
|
34
|
+
key: (0, exports.opKey)(entry.resource, op),
|
|
35
|
+
resource: entry.resource,
|
|
36
|
+
op,
|
|
37
|
+
name: OP_LABEL[op],
|
|
38
|
+
description: describe(op, entry.name, entry.kind),
|
|
39
|
+
pathParam: op === 'get' || op === 'update' || op === 'delete' ? entry.pathParam : null,
|
|
40
|
+
kind: entry.kind,
|
|
41
|
+
group: entry.group,
|
|
42
|
+
isPaginated: op === 'list' || entry.kind === 'report',
|
|
43
|
+
writesBody: op === 'create' || op === 'update',
|
|
44
|
+
})),
|
|
45
|
+
}));
|
|
46
|
+
exports.OPERATION_MAP = Object.fromEntries(exports.RESOURCE_DEFS.flatMap((r) => r.operations.map((o) => [o.key, o])));
|
|
47
|
+
function getOperation(key) {
|
|
48
|
+
const op = exports.OPERATION_MAP[key];
|
|
49
|
+
if (!op)
|
|
50
|
+
throw new Error(`Unknown operation: ${key}`);
|
|
51
|
+
return op;
|
|
52
|
+
}
|
|
53
|
+
const keysWhere = (pred) => Object.values(exports.OPERATION_MAP)
|
|
54
|
+
.filter(pred)
|
|
55
|
+
.map((o) => o.key);
|
|
56
|
+
exports.OPS_WITH_PATH_PARAM = keysWhere((o) => o.pathParam !== null);
|
|
57
|
+
exports.OPS_PAGINATED = keysWhere((o) => o.isPaginated);
|
|
58
|
+
exports.OPS_LIST = keysWhere((o) => o.isPaginated && o.kind !== 'report');
|
|
59
|
+
exports.OPS_CREATE = keysWhere((o) => o.op === 'create');
|
|
60
|
+
exports.OPS_UPDATE = keysWhere((o) => o.op === 'update');
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ub2Rlcy9TcWxBY2NvdW50aW5nL3JlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTJFQSxvQ0FJQztBQS9FRCw2REFPOEI7QUFFckIsMEZBUFIsOEJBQVMsT0FPUTtBQUFFLGlHQU5uQixxQ0FBZ0IsT0FNbUI7QUFzQnBDLE1BQU0sUUFBUSxHQUEyQjtJQUN4QyxJQUFJLEVBQUUsTUFBTTtJQUNaLEdBQUcsRUFBRSxLQUFLO0lBQ1YsTUFBTSxFQUFFLFFBQVE7SUFDaEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsTUFBTSxFQUFFLFFBQVE7Q0FDaEIsQ0FBQztBQUVLLE1BQU0sS0FBSyxHQUFHLENBQUMsUUFBZ0IsRUFBRSxFQUFVLEVBQVUsRUFBRSxDQUFDLEdBQUcsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUFDO0FBQXRFLFFBQUEsS0FBSyxTQUFpRTtBQUVuRixNQUFNLFFBQVEsR0FBRyxDQUFDLEVBQVUsRUFBRSxZQUFvQixFQUFFLElBQWtCLEVBQVUsRUFBRTtJQUNqRixJQUFJLElBQUksS0FBSyxRQUFRO1FBQUUsT0FBTyxPQUFPLFlBQVksY0FBYyxDQUFDO0lBQ2hFLE1BQU0sSUFBSSxHQUEyQjtRQUNwQyxJQUFJLEVBQUUsUUFBUSxZQUFZLFVBQVU7UUFDcEMsR0FBRyxFQUFFLFdBQVcsWUFBWSxFQUFFO1FBQzlCLE1BQU0sRUFBRSxZQUFZLFlBQVksRUFBRTtRQUNsQyxNQUFNLEVBQUUsWUFBWSxZQUFZLEVBQUU7UUFDbEMsTUFBTSxFQUFFLFlBQVksWUFBWSxFQUFFO0tBQ2xDLENBQUM7SUFDRixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFVyxRQUFBLGFBQWEsR0FBa0IsNkJBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEUsSUFBSSxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSTtJQUN0RSxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVE7SUFDckIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNsQyxHQUFHLEVBQUUsSUFBQSxhQUFLLEVBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFDOUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1FBQ3hCLEVBQUU7UUFDRixJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNsQixXQUFXLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDakQsU0FBUyxFQUFFLEVBQUUsS0FBSyxLQUFLLElBQUksRUFBRSxLQUFLLFFBQVEsSUFBSSxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ3RGLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtRQUNoQixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7UUFDbEIsV0FBVyxFQUFFLEVBQUUsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRO1FBQ3JELFVBQVUsRUFBRSxFQUFFLEtBQUssUUFBUSxJQUFJLEVBQUUsS0FBSyxRQUFRO0tBQzlDLENBQUMsQ0FBQztDQUNILENBQUMsQ0FBQyxDQUFDO0FBRVMsUUFBQSxhQUFhLEdBQWlDLE1BQU0sQ0FBQyxXQUFXLENBQzVFLHFCQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBVSxDQUFDLENBQUMsQ0FDMUUsQ0FBQztBQUVGLFNBQWdCLFlBQVksQ0FBQyxHQUFXO0lBQ3ZDLE1BQU0sRUFBRSxHQUFHLHFCQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsSUFBSSxDQUFDLEVBQUU7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELE9BQU8sRUFBRSxDQUFDO0FBQ1gsQ0FBQztBQUVELE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBa0MsRUFBWSxFQUFFLENBQ2xFLE1BQU0sQ0FBQyxNQUFNLENBQUMscUJBQWEsQ0FBQztLQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDO0tBQ1osR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFUixRQUFBLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsQ0FBQztBQUM3RCxRQUFBLGFBQWEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNoRCxRQUFBLFFBQVEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQztBQUNsRSxRQUFBLFVBQVUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUM7QUFDakQsUUFBQSxVQUFVLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PathParamType } from './registry.generated';
|
|
2
|
+
export interface FilterInput {
|
|
3
|
+
field?: string;
|
|
4
|
+
value?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function buildQuery(offset: number, filters: FilterInput[]): Record<string, string | number>;
|
|
7
|
+
export declare function pathParamLabel(kind: PathParamType): string;
|
|
8
|
+
export declare function parsePathParam(kind: PathParamType, raw: unknown, label: string): string | number;
|
|
9
|
+
//# sourceMappingURL=request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../nodes/SqlAccounting/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAID,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAalG;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAK1D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAUhG"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildQuery = buildQuery;
|
|
4
|
+
exports.pathParamLabel = pathParamLabel;
|
|
5
|
+
exports.parsePathParam = parsePathParam;
|
|
6
|
+
const RESERVED_QUERY_KEYS = new Set(['offset']);
|
|
7
|
+
function buildQuery(offset, filters) {
|
|
8
|
+
var _a;
|
|
9
|
+
if (!Number.isInteger(offset) || offset < 0) {
|
|
10
|
+
throw new Error('Offset must be a non-negative whole number.');
|
|
11
|
+
}
|
|
12
|
+
const query = { offset };
|
|
13
|
+
for (const filter of filters) {
|
|
14
|
+
const name = (_a = filter.field) === null || _a === void 0 ? void 0 : _a.trim();
|
|
15
|
+
const value = filter.value;
|
|
16
|
+
if (!name || value === undefined || value === '')
|
|
17
|
+
continue;
|
|
18
|
+
if (RESERVED_QUERY_KEYS.has(name.toLowerCase()))
|
|
19
|
+
continue;
|
|
20
|
+
query[name] = value;
|
|
21
|
+
}
|
|
22
|
+
return query;
|
|
23
|
+
}
|
|
24
|
+
function pathParamLabel(kind) {
|
|
25
|
+
if (kind === 'CODE')
|
|
26
|
+
return 'Code';
|
|
27
|
+
if (kind === 'DOCKEY')
|
|
28
|
+
return 'DocKey';
|
|
29
|
+
if (kind === 'AUTOKEY')
|
|
30
|
+
return 'AutoKey';
|
|
31
|
+
return 'Record ID';
|
|
32
|
+
}
|
|
33
|
+
function parsePathParam(kind, raw, label) {
|
|
34
|
+
const text = String(raw !== null && raw !== void 0 ? raw : '').trim();
|
|
35
|
+
if (!text)
|
|
36
|
+
throw new Error(`${label} is required.`);
|
|
37
|
+
if (kind === 'CODE')
|
|
38
|
+
return text;
|
|
39
|
+
if (!/^[1-9]\d*$/.test(text)) {
|
|
40
|
+
throw new Error(`${label} must be a positive whole number (it is SQL Account's internal numeric ID, not the document/record code). Use the List operation with a filter to find it.`);
|
|
41
|
+
}
|
|
42
|
+
return Number(text);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVzL1NxbEFjY291bnRpbmcvcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVNBLGdDQWFDO0FBRUQsd0NBS0M7QUFFRCx3Q0FVQztBQWxDRCxNQUFNLG1CQUFtQixHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUVoRCxTQUFnQixVQUFVLENBQUMsTUFBYyxFQUFFLE9BQXNCOztJQUNoRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDN0MsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBb0MsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUMxRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzlCLE1BQU0sSUFBSSxHQUFHLE1BQUEsTUFBTSxDQUFDLEtBQUssMENBQUUsSUFBSSxFQUFFLENBQUM7UUFDbEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUU7WUFBRSxTQUFTO1FBQzNELElBQUksbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUFFLFNBQVM7UUFDMUQsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLElBQW1CO0lBQ2pELElBQUksSUFBSSxLQUFLLE1BQU07UUFBRSxPQUFPLE1BQU0sQ0FBQztJQUNuQyxJQUFJLElBQUksS0FBSyxRQUFRO1FBQUUsT0FBTyxRQUFRLENBQUM7SUFDdkMsSUFBSSxJQUFJLEtBQUssU0FBUztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ3pDLE9BQU8sV0FBVyxDQUFDO0FBQ3BCLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsSUFBbUIsRUFBRSxHQUFZLEVBQUUsS0FBYTtJQUM5RSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxhQUFILEdBQUcsY0FBSCxHQUFHLEdBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEMsSUFBSSxDQUFDLElBQUk7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxlQUFlLENBQUMsQ0FBQztJQUNwRCxJQUFJLElBQUksS0FBSyxNQUFNO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUM5QixNQUFNLElBQUksS0FBSyxDQUNkLEdBQUcsS0FBSyw0SkFBNEosQ0FDcEssQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNyQixDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../../../nodes/SqlAccounting/schema/assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,eAAO,MAAM,aAAa,EAAE,cAAc,EA4BzC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ASSET_SCHEMAS = void 0;
|
|
4
|
+
const simple_1 = require("./simple");
|
|
5
|
+
exports.ASSET_SCHEMAS = [
|
|
6
|
+
{
|
|
7
|
+
resource: 'assetgroup',
|
|
8
|
+
fields: [
|
|
9
|
+
(0, simple_1.codeField)('ASG-01'), (0, simple_1.descriptionField)('Office Equipment'),
|
|
10
|
+
(0, simple_1.lookup)('assetacc', 'Asset Account', 'Fixed asset account (acctype FA).', 'account', 'code', { required: true, example: '200-200' }),
|
|
11
|
+
(0, simple_1.lookup)('accumdepracc', 'Accumulated Depreciation Account', 'Accumulated depreciation account code.', 'account', 'code', { required: true, example: '200-205' }),
|
|
12
|
+
(0, simple_1.lookup)('depracc', 'Depreciation Expense Account', 'Depreciation expense account code.', 'account', 'code', { required: true, example: '908-000' }),
|
|
13
|
+
],
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
resource: 'assetitem',
|
|
17
|
+
fields: [
|
|
18
|
+
(0, simple_1.codeField)('ASI-01'), (0, simple_1.descriptionField)('Laptop'),
|
|
19
|
+
(0, simple_1.lookup)('assetgroup', 'Asset Group', "Asset group's AutoKey (integer).", 'assetgroup', 'autokey', { type: 'integer', required: true }),
|
|
20
|
+
(0, simple_1.lookup)('assetacc', 'Asset Account', 'Asset account code.', 'account', 'code', { required: true }),
|
|
21
|
+
(0, simple_1.typed)('cost', 'Cost', 'Acquisition cost, sent as text.', 'decimal', { example: '5000.00' }),
|
|
22
|
+
],
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
resource: 'assetdisposal',
|
|
26
|
+
fields: [
|
|
27
|
+
(0, simple_1.lookup)('asset', 'Asset', "Asset item's AutoKey (integer).", 'assetitem', 'autokey', { type: 'integer', required: true }),
|
|
28
|
+
(0, simple_1.typed)('postdate', 'Post Date', 'YYYY-MM-DD.', 'date', { required: true }),
|
|
29
|
+
(0, simple_1.str)('description', 'Description', 'Disposal description.', { example: 'Disposal of laptop' }),
|
|
30
|
+
(0, simple_1.typed)('amount', 'Amount', 'Disposal amount, sent as text.', 'decimal', { example: '5000.00' }),
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbm9kZXMvU3FsQWNjb3VudGluZy9zY2hlbWEvYXNzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFDQUEyRTtBQUU5RCxRQUFBLGFBQWEsR0FBcUI7SUFDOUM7UUFDQyxRQUFRLEVBQUUsWUFBWTtRQUN0QixNQUFNLEVBQUU7WUFDUCxJQUFBLGtCQUFTLEVBQUMsUUFBUSxDQUFDLEVBQUUsSUFBQSx5QkFBZ0IsRUFBQyxrQkFBa0IsQ0FBQztZQUN6RCxJQUFBLGVBQU0sRUFBQyxVQUFVLEVBQUUsZUFBZSxFQUFFLG1DQUFtQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUNuSSxJQUFBLGVBQU0sRUFBQyxjQUFjLEVBQUUsa0NBQWtDLEVBQUUsd0NBQXdDLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQy9KLElBQUEsZUFBTSxFQUFDLFNBQVMsRUFBRSw4QkFBOEIsRUFBRSxvQ0FBb0MsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUM7U0FDbEo7S0FDRDtJQUNEO1FBQ0MsUUFBUSxFQUFFLFdBQVc7UUFDckIsTUFBTSxFQUFFO1lBQ1AsSUFBQSxrQkFBUyxFQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUEseUJBQWdCLEVBQUMsUUFBUSxDQUFDO1lBQy9DLElBQUEsZUFBTSxFQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsa0NBQWtDLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ3JJLElBQUEsZUFBTSxFQUFDLFVBQVUsRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNqRyxJQUFBLGNBQUssRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLGlDQUFpQyxFQUFFLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQztTQUMzRjtLQUNEO0lBQ0Q7UUFDQyxRQUFRLEVBQUUsZUFBZTtRQUN6QixNQUFNLEVBQUU7WUFDUCxJQUFBLGVBQU0sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN4SCxJQUFBLGNBQUssRUFBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDekUsSUFBQSxZQUFHLEVBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSx1QkFBdUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxDQUFDO1lBQzdGLElBQUEsY0FBSyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsZ0NBQWdDLEVBQUUsU0FBUyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDO1NBQzlGO0tBQ0Q7Q0FDRCxDQUFDIn0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { FieldDef, ResourceSchema } from './types';
|
|
2
|
+
export declare function castValue(field: FieldDef, raw: unknown): string | number | boolean;
|
|
3
|
+
export declare function buildFieldsBody(schema: ResourceSchema, values: Record<string, unknown>, mode: 'create' | 'update', extra?: Record<string, unknown>): Record<string, unknown>;
|
|
4
|
+
export declare function parseJsonObject(raw: unknown, label: string): Record<string, unknown>;
|
|
5
|
+
//# sourceMappingURL=cast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cast.d.ts","sourceRoot":"","sources":["../../../../nodes/SqlAccounting/schema/cast.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAExD,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CA+BlF;AAID,wBAAgB,eAAe,CAC9B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,EAAE,QAAQ,GAAG,QAAQ,EACzB,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiCzB;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAcpF"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.castValue = castValue;
|
|
4
|
+
exports.buildFieldsBody = buildFieldsBody;
|
|
5
|
+
exports.parseJsonObject = parseJsonObject;
|
|
6
|
+
const errors_1 = require("../errors");
|
|
7
|
+
function castValue(field, raw) {
|
|
8
|
+
const text = String(raw).trim();
|
|
9
|
+
switch (field.type) {
|
|
10
|
+
case 'integer': {
|
|
11
|
+
const n = typeof raw === 'number' ? raw : Number(text);
|
|
12
|
+
if (text === '' || !Number.isInteger(n))
|
|
13
|
+
throw new Error(`${field.label} must be a whole number`);
|
|
14
|
+
return n;
|
|
15
|
+
}
|
|
16
|
+
case 'number': {
|
|
17
|
+
const n = typeof raw === 'number' ? raw : Number(text);
|
|
18
|
+
if (text === '' || !Number.isFinite(n))
|
|
19
|
+
throw new Error(`${field.label} must be a number`);
|
|
20
|
+
return n;
|
|
21
|
+
}
|
|
22
|
+
case 'decimal': {
|
|
23
|
+
if (!/^-?\d+(\.\d+)?$/.test(text))
|
|
24
|
+
throw new Error(`${field.label} must be a number`);
|
|
25
|
+
return text;
|
|
26
|
+
}
|
|
27
|
+
case 'boolean': {
|
|
28
|
+
if (typeof raw === 'boolean')
|
|
29
|
+
return raw;
|
|
30
|
+
if (text === 'true')
|
|
31
|
+
return true;
|
|
32
|
+
if (text === 'false')
|
|
33
|
+
return false;
|
|
34
|
+
throw new Error(`${field.label} must be true or false`);
|
|
35
|
+
}
|
|
36
|
+
case 'date': {
|
|
37
|
+
const day = text.slice(0, 10);
|
|
38
|
+
if (!/^\d{4}-\d{2}-\d{2}$/.test(day))
|
|
39
|
+
throw new Error(`${field.label} must be a date (YYYY-MM-DD)`);
|
|
40
|
+
return day;
|
|
41
|
+
}
|
|
42
|
+
default:
|
|
43
|
+
return typeof raw === 'number' ? raw : text;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const isBlank = (v) => v === undefined || v === null || v === '';
|
|
47
|
+
function buildFieldsBody(schema, values, mode, extra = {}) {
|
|
48
|
+
const issues = [];
|
|
49
|
+
const typed = {};
|
|
50
|
+
for (const field of schema.fields) {
|
|
51
|
+
if (mode === 'update' && field.createOnly)
|
|
52
|
+
continue;
|
|
53
|
+
const raw = values[field.name];
|
|
54
|
+
if (isBlank(raw))
|
|
55
|
+
continue;
|
|
56
|
+
try {
|
|
57
|
+
typed[field.name] = castValue(field, raw);
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
issues.push(`${e.message}.`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const body = {
|
|
64
|
+
...(mode === 'create' ? schema.createDefaults : {}),
|
|
65
|
+
...extra,
|
|
66
|
+
...typed,
|
|
67
|
+
};
|
|
68
|
+
if (mode === 'create') {
|
|
69
|
+
for (const field of schema.fields) {
|
|
70
|
+
if (field.required && isBlank(body[field.name]) && !issues.some((i) => i.startsWith(field.label))) {
|
|
71
|
+
issues.push(`${field.label} is required.`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (issues.length === 0 && Object.keys(body).length === 0) {
|
|
76
|
+
issues.push('Nothing to send: set at least one field.');
|
|
77
|
+
}
|
|
78
|
+
if (issues.length > 0)
|
|
79
|
+
throw new errors_1.ValidationError(issues);
|
|
80
|
+
return body;
|
|
81
|
+
}
|
|
82
|
+
function parseJsonObject(raw, label) {
|
|
83
|
+
if (raw === undefined || raw === null || raw === '')
|
|
84
|
+
return {};
|
|
85
|
+
let value = raw;
|
|
86
|
+
if (typeof raw === 'string') {
|
|
87
|
+
try {
|
|
88
|
+
value = JSON.parse(raw);
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
throw new errors_1.ValidationError([`${label} is not valid JSON.`]);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
95
|
+
throw new errors_1.ValidationError([`${label} must be a JSON object.`]);
|
|
96
|
+
}
|
|
97
|
+
return value;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25vZGVzL1NxbEFjY291bnRpbmcvc2NoZW1hL2Nhc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSw4QkErQkM7QUFJRCwwQ0FzQ0M7QUFFRCwwQ0FjQztBQTVGRCxzQ0FBNEM7QUFHNUMsU0FBZ0IsU0FBUyxDQUFDLEtBQWUsRUFBRSxHQUFZO0lBQ3RELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQyxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDaEIsTUFBTSxDQUFDLEdBQUcsT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2RCxJQUFJLElBQUksS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFBRSxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUsseUJBQXlCLENBQUMsQ0FBQztZQUNsRyxPQUFPLENBQUMsQ0FBQztRQUNWLENBQUM7UUFDRCxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDZixNQUFNLENBQUMsR0FBRyxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZELElBQUksSUFBSSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxtQkFBbUIsQ0FBQyxDQUFDO1lBQzNGLE9BQU8sQ0FBQyxDQUFDO1FBQ1YsQ0FBQztRQUNE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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../../../nodes/SqlAccounting/schema/documents.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,SAAS,CAAC;AAoGxD,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAGG,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DOCUMENT_SCHEMAS = void 0;
|
|
4
|
+
const registry_generated_1 = require("../registry.generated");
|
|
5
|
+
const simple_1 = require("./simple");
|
|
6
|
+
const PAYMENT = ['customerpayment', 'customerrefund', 'supplierpayment', 'supplierrefund'];
|
|
7
|
+
const DEPOSIT = ['customerdeposit', 'supplierdeposit'];
|
|
8
|
+
// Detail-line layouts for these are not documented: the UI offers the raw JSON body only.
|
|
9
|
+
const RAW_ONLY = ['paymentvoucher', 'receiptvoucher', 'bankadjustment', 'customercontra', 'suppliercontra', 'joborder', 'assembly', 'disassembly'];
|
|
10
|
+
const docno = () => (0, simple_1.str)('docno', 'Document No', 'Leave empty to auto-number.');
|
|
11
|
+
const docdate = () => (0, simple_1.typed)('docdate', 'Document Date', 'YYYY-MM-DD.', 'date', { required: true });
|
|
12
|
+
const postdate = () => (0, simple_1.typed)('postdate', 'Post Date', 'YYYY-MM-DD.', 'date');
|
|
13
|
+
const isSupplierSide = (group) => group === 'ap' || group === 'purchase';
|
|
14
|
+
const partyField = (group) => (0, simple_1.lookup)('code', isSupplierSide(group) ? 'Supplier Code' : 'Customer Code', 'Must already exist in SQL Account.', isSupplierSide(group) ? 'supplier' : 'customer', 'code', { required: true });
|
|
15
|
+
const itemHeader = (group) => [
|
|
16
|
+
docno(), docdate(), postdate(), partyField(group),
|
|
17
|
+
(0, simple_1.lookup)('terms', 'Terms', 'Payment terms code.', 'terms'),
|
|
18
|
+
(0, simple_1.lookup)('currencycode', 'Currency', 'Default "----" (base currency).', 'currency'),
|
|
19
|
+
(0, simple_1.str)('description', 'Description', 'Document description.'),
|
|
20
|
+
];
|
|
21
|
+
const itemLines = () => [
|
|
22
|
+
(0, simple_1.lookup)('itemcode', 'Item Code', 'Existing stock item code.', 'stockitem', 'code', { required: true }),
|
|
23
|
+
(0, simple_1.str)('description', 'Description', 'Line description.'),
|
|
24
|
+
(0, simple_1.typed)('qty', 'Quantity', 'Sent as text.', 'decimal', { required: true, default: '1.00' }),
|
|
25
|
+
(0, simple_1.str)('uom', 'UOM', 'Unit of measure, e.g. UNIT.', { default: 'UNIT' }),
|
|
26
|
+
(0, simple_1.typed)('unitprice', 'Unit Price', 'Sent as text.', 'decimal', { required: true }),
|
|
27
|
+
(0, simple_1.lookup)('tax', 'Tax', 'Tax code.', 'tax'),
|
|
28
|
+
(0, simple_1.lookup)('location', 'Location', 'Location code.', 'location'),
|
|
29
|
+
(0, simple_1.typed)('amount', 'Amount', 'Line amount, sent as text.', 'decimal'),
|
|
30
|
+
];
|
|
31
|
+
const stockHeader = () => [
|
|
32
|
+
docno(), docdate(), postdate(), (0, simple_1.str)('description', 'Description', 'Document description.'),
|
|
33
|
+
];
|
|
34
|
+
const stockLines = () => [
|
|
35
|
+
(0, simple_1.lookup)('itemcode', 'Item Code', 'Existing stock item code.', 'stockitem', 'code', { required: true }),
|
|
36
|
+
(0, simple_1.lookup)('location', 'Location', 'Location code.', 'location'),
|
|
37
|
+
(0, simple_1.typed)('qty', 'Quantity', 'Sent as text.', 'decimal', { required: true, default: '1' }),
|
|
38
|
+
(0, simple_1.str)('uom', 'UOM', 'Unit of measure, e.g. UNIT.', { default: 'UNIT' }),
|
|
39
|
+
(0, simple_1.typed)('unitprice', 'Unit Price', 'Sent as text.', 'decimal'),
|
|
40
|
+
];
|
|
41
|
+
const journalHeader = () => [
|
|
42
|
+
docno(), docdate(), postdate(),
|
|
43
|
+
{
|
|
44
|
+
name: 'journal', label: 'Journal', type: 'enum', description: 'Journal type.', default: 'GENERAL',
|
|
45
|
+
options: ['BANK', 'CASH', 'GENERAL'].map((v) => ({ name: v, value: v })),
|
|
46
|
+
},
|
|
47
|
+
(0, simple_1.str)('description', 'Description', 'Document description.'),
|
|
48
|
+
(0, simple_1.lookup)('currencycode', 'Currency', 'Default "----" (base currency).', 'currency'),
|
|
49
|
+
];
|
|
50
|
+
const journalLines = () => [
|
|
51
|
+
(0, simple_1.lookup)('code', 'Account', 'Account code from the chart of accounts.', 'account', 'code', { required: true }),
|
|
52
|
+
(0, simple_1.str)('description', 'Description', 'Line description.'),
|
|
53
|
+
(0, simple_1.typed)('dr', 'Debit', 'Debit amount, sent as text. Total debits must equal total credits.', 'decimal'),
|
|
54
|
+
(0, simple_1.typed)('cr', 'Credit', 'Credit amount, sent as text.', 'decimal'),
|
|
55
|
+
];
|
|
56
|
+
const paymentHeader = (group) => [
|
|
57
|
+
docno(), partyField(group), docdate(),
|
|
58
|
+
(0, simple_1.lookup)('paymentmethod', 'Payment Method', 'Bank/cash account code from Payment Method.', 'pmmethod', 'code', { required: true }),
|
|
59
|
+
(0, simple_1.typed)('docamt', 'Amount', 'Total amount, sent as text.', 'decimal', { required: true }),
|
|
60
|
+
];
|
|
61
|
+
const paymentLines = () => [
|
|
62
|
+
(0, simple_1.str)('fromdoctype', 'From Document Type', 'Type of document being paid: SI = Sales Invoice, PI = Purchase Invoice.', { required: true, example: 'SI' }),
|
|
63
|
+
(0, simple_1.str)('fromdocno', 'From Document No', 'Number of the document being paid.', { required: true, example: 'SI-00001' }),
|
|
64
|
+
(0, simple_1.typed)('amount', 'Amount', 'Amount applied, sent as text.', 'decimal', { required: true }),
|
|
65
|
+
];
|
|
66
|
+
const depositHeader = (group) => [
|
|
67
|
+
docno(), partyField(group), docdate(),
|
|
68
|
+
(0, simple_1.lookup)('depositaccount', 'Deposit Account', 'Bank account code from Payment Method.', 'pmmethod', 'code', { required: true }),
|
|
69
|
+
(0, simple_1.typed)('docamt', 'Amount', 'Deposit amount, sent as text.', 'decimal'),
|
|
70
|
+
];
|
|
71
|
+
function build(entry) {
|
|
72
|
+
const { resource, group } = entry;
|
|
73
|
+
if (RAW_ONLY.includes(resource))
|
|
74
|
+
return null;
|
|
75
|
+
if (resource === 'journalentry') {
|
|
76
|
+
return { resource, createDefaults: { dockey: 0, docno: '' }, fields: journalHeader(), lineFields: journalLines() };
|
|
77
|
+
}
|
|
78
|
+
if (PAYMENT.includes(resource)) {
|
|
79
|
+
return { resource, createDefaults: { docno: '' }, fields: paymentHeader(group), lineFields: paymentLines() };
|
|
80
|
+
}
|
|
81
|
+
if (DEPOSIT.includes(resource)) {
|
|
82
|
+
return { resource, createDefaults: { docno: '' }, fields: depositHeader(group) };
|
|
83
|
+
}
|
|
84
|
+
if (group === 'stock') {
|
|
85
|
+
return { resource, createDefaults: { dockey: 0, docno: '' }, fields: stockHeader(), lineFields: stockLines() };
|
|
86
|
+
}
|
|
87
|
+
return { resource, createDefaults: { dockey: 0, docno: '' }, fields: itemHeader(group), lineFields: itemLines() };
|
|
88
|
+
}
|
|
89
|
+
exports.DOCUMENT_SCHEMAS = registry_generated_1.REGISTRY
|
|
90
|
+
.filter((e) => e.kind === 'transactional')
|
|
91
|
+
.map(build)
|
|
92
|
+
.filter((s) => s !== null);
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbm9kZXMvU3FsQWNjb3VudGluZy9zY2hlbWEvZG9jdW1lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhEQUFnRTtBQUVoRSxxQ0FBOEM7QUFFOUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0FBQzNGLE1BQU0sT0FBTyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUN2RCwwRkFBMEY7QUFDMUYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBRW5KLE1BQU0sS0FBSyxHQUFHLEdBQWEsRUFBRSxDQUFDLElBQUEsWUFBRyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztBQUN6RixNQUFNLE9BQU8sR0FBRyxHQUFhLEVBQUUsQ0FBQyxJQUFBLGNBQUssRUFBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUM3RyxNQUFNLFFBQVEsR0FBRyxHQUFhLEVBQUUsQ0FBQyxJQUFBLGNBQUssRUFBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUV2RixNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQW9CLEVBQVcsRUFBRSxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFVBQVUsQ0FBQztBQUVqRyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQW9CLEVBQVksRUFBRSxDQUNyRCxJQUFBLGVBQU0sRUFBQyxNQUFN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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finance.d.ts","sourceRoot":"","sources":["../../../../nodes/SqlAccounting/schema/finance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,eAAO,MAAM,eAAe,EAAE,cAAc,EA2E3C,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FINANCE_SCHEMAS = void 0;
|
|
4
|
+
const simple_1 = require("./simple");
|
|
5
|
+
exports.FINANCE_SCHEMAS = [
|
|
6
|
+
{
|
|
7
|
+
resource: 'currency',
|
|
8
|
+
fields: [
|
|
9
|
+
(0, simple_1.codeField)('USD'),
|
|
10
|
+
(0, simple_1.descriptionField)('US Dollar'),
|
|
11
|
+
(0, simple_1.str)('symbol', 'Symbol', 'Shown in reports. Copies Code if left blank.', { example: '$' }),
|
|
12
|
+
(0, simple_1.str)('isocode', 'ISO Code', 'ISO 4217 three-letter code.', { example: 'USD' }),
|
|
13
|
+
(0, simple_1.typed)('buyingrate', 'Buying Rate', 'Rate to buy this currency. Base currency (MYR) is 1.', 'decimal', { default: '1', example: '4.35' }),
|
|
14
|
+
(0, simple_1.typed)('sellingrate', 'Selling Rate', 'Rate to sell this currency.', 'decimal', { default: '1', example: '4.45' }),
|
|
15
|
+
(0, simple_1.lookup)('fcgainaccount', 'FX Gain Account', 'Account for foreign exchange gains.', 'account'),
|
|
16
|
+
(0, simple_1.lookup)('fclossaccount', 'FX Loss Account', 'Account for foreign exchange losses.', 'account'),
|
|
17
|
+
(0, simple_1.typed)('color', 'Colour', 'UI colour as a decimal number (not hex). Default 30464.', 'integer', { default: 30464 }),
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
resource: 'tax',
|
|
22
|
+
fields: [
|
|
23
|
+
(0, simple_1.codeField)('ST-6%'),
|
|
24
|
+
(0, simple_1.descriptionField)('SST 6%'),
|
|
25
|
+
(0, simple_1.typed)('taxtype', 'Tax Type', 'Tax type code. 0 = No Tax / Exempt. Other codes are not documented in the API reference.', 'integer', { required: true, default: 0, example: '0' }),
|
|
26
|
+
(0, simple_1.typed)('taxrate', 'Tax Rate (%)', 'Percentage: 6 means 6%, not 0.06.', 'number', { example: '6' }),
|
|
27
|
+
(0, simple_1.lookup)('taxaccount', 'Tax Account', 'Tax account code.', 'account'),
|
|
28
|
+
(0, simple_1.lookup)('taxreturnaccount', 'Tax Return Account', 'Tax return account code.', 'account'),
|
|
29
|
+
(0, simple_1.lookup)('inputtax', 'Input Tax Account', 'Input tax account code.', 'account'),
|
|
30
|
+
(0, simple_1.lookup)('outputtax', 'Output Tax Account', 'Output tax account code.', 'account'),
|
|
31
|
+
(0, simple_1.bool)('taxinclusive', 'Tax Inclusive', 'Tax inclusive pricing.'),
|
|
32
|
+
(0, simple_1.bool)('isdefault', 'Default', 'Use as default tax.'),
|
|
33
|
+
(0, simple_1.bool)('isactive', 'Active', 'Whether the tax is active.', true),
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
resource: 'terms',
|
|
38
|
+
fields: [
|
|
39
|
+
(0, simple_1.codeField)('45D'),
|
|
40
|
+
(0, simple_1.descriptionField)('45 Days'),
|
|
41
|
+
{ name: 'termtype', label: 'Term Type', type: 'enum', description: 'A = After: due date = invoice date + days.', default: 'A', options: [{ name: 'After (Invoice Date + Days)', value: 'A' }] },
|
|
42
|
+
(0, simple_1.typed)('termday', 'Days', 'Number of days.', 'integer', { example: '45' }),
|
|
43
|
+
(0, simple_1.typed)('termmonth', 'Months', 'Number of months.', 'integer'),
|
|
44
|
+
(0, simple_1.bool)('isactive', 'Active', 'Whether the terms are active.', true),
|
|
45
|
+
],
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
resource: 'account',
|
|
49
|
+
createDefaults: { dockey: 0, description2: '', specialacctype: ' ', tax: '', cashflowtype: 0, sic: '' },
|
|
50
|
+
fields: [
|
|
51
|
+
(0, simple_1.lookup)('parent', 'Parent Account', "Parent account's internal dockey (integer). Common: 3 EQUITY, 18 CURRENT ASSETS, 28 CURRENT LIABILITIES, 60 EXPENSES.", 'account', 'dockey', { type: 'integer', required: true, example: '3' }),
|
|
52
|
+
(0, simple_1.codeField)('SUB-EQ'),
|
|
53
|
+
(0, simple_1.descriptionField)('Sub of Equity'),
|
|
54
|
+
{
|
|
55
|
+
name: 'acctype', label: 'Account Type', type: 'enum', required: true, description: 'Account classification code.',
|
|
56
|
+
options: ['CP', 'CA', 'CL', 'FA', 'EP', 'CO', 'SA', 'OI', 'SL', 'RE', 'OA'].map((v) => ({ name: v, value: v })),
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: 'specialacctype', label: 'Special Account Type', type: 'enum', description: 'Blank (two spaces) for none.', default: ' ',
|
|
60
|
+
options: [{ name: 'None', value: ' ' }, ...['DC', 'CC', 'BA', 'CH', 'BS', 'AD'].map((v) => ({ name: v, value: v }))],
|
|
61
|
+
},
|
|
62
|
+
(0, simple_1.str)('description2', 'Description 2', 'Secondary description.'),
|
|
63
|
+
(0, simple_1.str)('tax', 'Default Tax', 'Default tax code.'),
|
|
64
|
+
(0, simple_1.typed)('cashflowtype', 'Cash Flow Type', 'Cash flow classification.', 'integer'),
|
|
65
|
+
(0, simple_1.str)('sic', 'SIC', 'SIC code.'),
|
|
66
|
+
],
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
resource: 'whtax',
|
|
70
|
+
fields: [
|
|
71
|
+
(0, simple_1.codeField)('WHT-10'),
|
|
72
|
+
(0, simple_1.descriptionField)('WHT 10%'),
|
|
73
|
+
(0, simple_1.lookup)('taxaccountdr', 'Debit Account', 'Withholding tax debit account.', 'account', 'code', { required: true }),
|
|
74
|
+
(0, simple_1.lookup)('taxaccountcr', 'Credit Account', 'Withholding tax credit account.', 'account', 'code', { required: true }),
|
|
75
|
+
(0, simple_1.typed)('taxrate', 'Tax Rate (%)', 'Percentage.', 'number', { example: '10' }),
|
|
76
|
+
(0, simple_1.bool)('isdefault', 'Default', 'Use as default.'),
|
|
77
|
+
(0, simple_1.bool)('isactive', 'Active', 'Whether active.', true),
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
];
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluYW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25vZGVzL1NxbEFjY291bnRpbmcvc2NoZW1hL2ZpbmFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscUNBQWlGO0FBRXBFLFFBQUEsZUFBZSxHQUFxQjtJQUNoRDtRQUNDLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLE1BQU0sRUFBRTtZQUNQLElBQUEsa0JBQVMsRUFBQyxLQUFLLENBQUM7WUFDaEIsSUFBQSx5QkFBZ0IsRUFBQyxXQUFXLENBQUM7WUFDN0IsSUFBQSxZQUFHLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSw4Q0FBOEMsRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUN6RixJQUFBLFlBQUcsRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLDZCQUE2QixFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQzdFLElBQUEsY0FBSyxFQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsc0RBQXNELEVBQUUsU0FBUyxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDeEksSUFBQSxjQUFLLEVBQUMsYUFBYSxFQUFFLGNBQWMsRUFBRSw2QkFBNkIsRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNqSCxJQUFBLGVBQU0sRUFBQyxlQUFlLEVBQUUsaUJBQWlCLEVBQUUscUNBQXFDLEVBQUUsU0FBUyxDQUFDO1lBQzVGLElBQUEsZUFBTSxFQUFDLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxzQ0FBc0MsRUFBRSxTQUFTLENBQUM7WUFDN0YsSUFBQSxjQUFLLEVBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSx5REFBeUQsRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7U0FDbEg7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
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ResourceSchema } from './types';
|
|
2
|
+
export declare const SCHEMAS: Record<string, ResourceSchema>;
|
|
3
|
+
export declare function getSchema(resource: string): ResourceSchema | undefined;
|
|
4
|
+
export declare function lookupPairs(): {
|
|
5
|
+
resource: string;
|
|
6
|
+
valueField: string;
|
|
7
|
+
}[];
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../nodes/SqlAccounting/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAwB9C,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAuD,CAAC;AAE3G,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEtE;AAED,wBAAgB,WAAW,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAAE,CAexE"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SCHEMAS = void 0;
|
|
4
|
+
exports.getSchema = getSchema;
|
|
5
|
+
exports.lookupPairs = lookupPairs;
|
|
6
|
+
const simple_1 = require("./simple");
|
|
7
|
+
const finance_1 = require("./finance");
|
|
8
|
+
const parties_1 = require("./parties");
|
|
9
|
+
const stock_1 = require("./stock");
|
|
10
|
+
const assets_1 = require("./assets");
|
|
11
|
+
const documents_1 = require("./documents");
|
|
12
|
+
// The API reference lists ~20 member point fields but documents only these.
|
|
13
|
+
const MEMBERPOINT = {
|
|
14
|
+
resource: 'memberpoint',
|
|
15
|
+
fields: [
|
|
16
|
+
(0, simple_1.codeField)('MP-01'), (0, simple_1.descriptionField)('Standard Points'),
|
|
17
|
+
(0, simple_1.typed)('pointrate', 'Point Rate', 'Point rate.', 'number'),
|
|
18
|
+
(0, simple_1.typed)('redeemrate', 'Redeem Rate', 'Redeem rate.', 'number'),
|
|
19
|
+
(0, simple_1.typed)('expiry', 'Expiry', 'YYYY-MM-DD.', 'date'),
|
|
20
|
+
(0, simple_1.bool)('isactive', 'Active', 'Whether active.', true),
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
|
+
const ALL = [
|
|
24
|
+
...simple_1.SIMPLE_SCHEMAS, ...finance_1.FINANCE_SCHEMAS, ...parties_1.PARTY_SCHEMAS, ...stock_1.STOCK_SCHEMAS, ...assets_1.ASSET_SCHEMAS, MEMBERPOINT, ...documents_1.DOCUMENT_SCHEMAS,
|
|
25
|
+
];
|
|
26
|
+
exports.SCHEMAS = Object.fromEntries(ALL.map((s) => [s.resource, s]));
|
|
27
|
+
function getSchema(resource) {
|
|
28
|
+
return exports.SCHEMAS[resource];
|
|
29
|
+
}
|
|
30
|
+
function lookupPairs() {
|
|
31
|
+
var _a, _b;
|
|
32
|
+
const seen = new Set();
|
|
33
|
+
const pairs = [];
|
|
34
|
+
for (const schema of Object.values(exports.SCHEMAS)) {
|
|
35
|
+
for (const field of [...schema.fields, ...((_a = schema.lineFields) !== null && _a !== void 0 ? _a : [])]) {
|
|
36
|
+
if (!field.lookup)
|
|
37
|
+
continue;
|
|
38
|
+
const valueField = (_b = field.lookupValue) !== null && _b !== void 0 ? _b : 'code';
|
|
39
|
+
const key = `${field.lookup}:${valueField}`;
|
|
40
|
+
if (!seen.has(key)) {
|
|
41
|
+
seen.add(key);
|
|
42
|
+
pairs.push({ resource: field.lookup, valueField });
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return pairs;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9ub2Rlcy9TcWxBY2NvdW50aW5nL3NjaGVtYS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEwQkEsOEJBRUM7QUFFRCxrQ0FlQztBQTVDRCxxQ0FBb0Y7QUFDcEYsdUNBQTRDO0FBQzVDLHVDQUEwQztBQUMxQyxtQ0FBd0M7QUFDeEMscUNBQXlDO0FBQ3pDLDJDQUErQztBQUUvQyw0RUFBNEU7QUFDNUUsTUFBTSxXQUFXLEdBQW1CO0lBQ25DLFFBQVEsRUFBRSxhQUFhO0lBQ3ZCLE1BQU0sRUFBRTtRQUNQLElBQUEsa0JBQVMsRUFBQyxPQUFPLENBQUMsRUFBRSxJQUFBLHlCQUFnQixFQUFDLGlCQUFpQixDQUFDO1FBQ3ZELElBQUEsY0FBSyxFQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQztRQUN6RCxJQUFBLGNBQUssRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxRQUFRLENBQUM7UUFDNUQsSUFBQSxjQUFLLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDO1FBQ2hELElBQUEsYUFBSSxFQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDO0tBQ25EO0NBQ0QsQ0FBQztBQUVGLE1BQU0sR0FBRyxHQUFxQjtJQUM3QixHQUFHLHVCQUFjLEVBQUUsR0FBRyx5QkFBZSxFQUFFLEdBQUcsdUJBQWEsRUFBRSxHQUFHLHFCQUFhLEVBQUUsR0FBRyxzQkFBYSxFQUFFLFdBQVcsRUFBRSxHQUFHLDRCQUFnQjtDQUM3SCxDQUFDO0FBRVcsUUFBQSxPQUFPLEdBQW1DLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUUzRyxTQUFnQixTQUFTLENBQUMsUUFBZ0I7SUFDekMsT0FBTyxlQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVELFNBQWdCLFdBQVc7O0lBQzFCLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7SUFDL0IsTUFBTSxLQUFLLEdBQStDLEVBQUUsQ0FBQztJQUM3RCxLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBTyxDQUFDLEVBQUUsQ0FBQztRQUM3QyxLQUFLLE1BQU0sS0FBSyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFBLE1BQU0sQ0FBQyxVQUFVLG1DQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN0RSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07Z0JBQUUsU0FBUztZQUM1QixNQUFNLFVBQVUsR0FBRyxNQUFBLEtBQUssQ0FBQyxXQUFXLG1DQUFJLE1BQU0sQ0FBQztZQUMvQyxNQUFNLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksVUFBVSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDZCxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUNwRCxDQUFDO1FBQ0YsQ0FBQztJQUNGLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNkLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parties.d.ts","sourceRoot":"","sources":["../../../../nodes/SqlAccounting/schema/parties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,SAAS,CAAC;AAkBxD,eAAO,MAAM,aAAa,EAAE,cAAc,EA4CzC,CAAC"}
|