n8n-nodes-sqlaccounting 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +72 -98
  3. package/dist/credentials/SqlAccountingApi.credentials.d.ts.map +1 -1
  4. package/dist/credentials/SqlAccountingApi.credentials.js +32 -27
  5. package/dist/nodes/SqlAccounting/SqlAccounting.node.d.ts +3 -0
  6. package/dist/nodes/SqlAccounting/SqlAccounting.node.d.ts.map +1 -1
  7. package/dist/nodes/SqlAccounting/SqlAccounting.node.js +23 -318
  8. package/dist/nodes/SqlAccounting/config.d.ts +8 -0
  9. package/dist/nodes/SqlAccounting/config.d.ts.map +1 -0
  10. package/dist/nodes/SqlAccounting/config.js +12 -0
  11. package/dist/nodes/SqlAccounting/contractTypes.d.ts +48 -0
  12. package/dist/nodes/SqlAccounting/contractTypes.d.ts.map +1 -0
  13. package/dist/nodes/SqlAccounting/contractTypes.js +12 -0
  14. package/dist/nodes/SqlAccounting/errors.d.ts +17 -0
  15. package/dist/nodes/SqlAccounting/errors.d.ts.map +1 -0
  16. package/dist/nodes/SqlAccounting/errors.js +47 -0
  17. package/dist/nodes/SqlAccounting/execute/readBody.d.ts +6 -0
  18. package/dist/nodes/SqlAccounting/execute/readBody.d.ts.map +1 -0
  19. package/dist/nodes/SqlAccounting/execute/readBody.js +67 -0
  20. package/dist/nodes/SqlAccounting/execute/readFilters.d.ts +4 -0
  21. package/dist/nodes/SqlAccounting/execute/readFilters.d.ts.map +1 -0
  22. package/dist/nodes/SqlAccounting/execute/readFilters.js +11 -0
  23. package/dist/nodes/SqlAccounting/execute/runOperation.d.ts +13 -0
  24. package/dist/nodes/SqlAccounting/execute/runOperation.d.ts.map +1 -0
  25. package/dist/nodes/SqlAccounting/execute/runOperation.js +68 -0
  26. package/dist/nodes/SqlAccounting/lookups.d.ts +6 -0
  27. package/dist/nodes/SqlAccounting/lookups.d.ts.map +1 -0
  28. package/dist/nodes/SqlAccounting/lookups.js +53 -0
  29. package/dist/nodes/SqlAccounting/normalize.d.ts +5 -0
  30. package/dist/nodes/SqlAccounting/normalize.d.ts.map +1 -0
  31. package/dist/nodes/SqlAccounting/normalize.js +18 -0
  32. package/dist/nodes/SqlAccounting/pagination.d.ts +10 -0
  33. package/dist/nodes/SqlAccounting/pagination.d.ts.map +1 -0
  34. package/dist/nodes/SqlAccounting/pagination.js +29 -0
  35. package/dist/nodes/SqlAccounting/registry.d.ts +30 -0
  36. package/dist/nodes/SqlAccounting/registry.d.ts.map +1 -0
  37. package/dist/nodes/SqlAccounting/registry.generated.d.ts +17 -0
  38. package/dist/nodes/SqlAccounting/registry.generated.d.ts.map +1 -0
  39. package/dist/nodes/SqlAccounting/registry.generated.js +1251 -0
  40. package/dist/nodes/SqlAccounting/registry.js +61 -0
  41. package/dist/nodes/SqlAccounting/request.d.ts +9 -0
  42. package/dist/nodes/SqlAccounting/request.d.ts.map +1 -0
  43. package/dist/nodes/SqlAccounting/request.js +44 -0
  44. package/dist/nodes/SqlAccounting/schema/assets.d.ts +3 -0
  45. package/dist/nodes/SqlAccounting/schema/assets.d.ts.map +1 -0
  46. package/dist/nodes/SqlAccounting/schema/assets.js +34 -0
  47. package/dist/nodes/SqlAccounting/schema/cast.d.ts +5 -0
  48. package/dist/nodes/SqlAccounting/schema/cast.d.ts.map +1 -0
  49. package/dist/nodes/SqlAccounting/schema/cast.js +99 -0
  50. package/dist/nodes/SqlAccounting/schema/documents.d.ts +3 -0
  51. package/dist/nodes/SqlAccounting/schema/documents.d.ts.map +1 -0
  52. package/dist/nodes/SqlAccounting/schema/documents.js +93 -0
  53. package/dist/nodes/SqlAccounting/schema/finance.d.ts +3 -0
  54. package/dist/nodes/SqlAccounting/schema/finance.d.ts.map +1 -0
  55. package/dist/nodes/SqlAccounting/schema/finance.js +81 -0
  56. package/dist/nodes/SqlAccounting/schema/index.d.ts +8 -0
  57. package/dist/nodes/SqlAccounting/schema/index.d.ts.map +1 -0
  58. package/dist/nodes/SqlAccounting/schema/index.js +48 -0
  59. package/dist/nodes/SqlAccounting/schema/parties.d.ts +3 -0
  60. package/dist/nodes/SqlAccounting/schema/parties.d.ts.map +1 -0
  61. package/dist/nodes/SqlAccounting/schema/parties.js +64 -0
  62. package/dist/nodes/SqlAccounting/schema/simple.d.ts +11 -0
  63. package/dist/nodes/SqlAccounting/schema/simple.d.ts.map +1 -0
  64. package/dist/nodes/SqlAccounting/schema/simple.js +41 -0
  65. package/dist/nodes/SqlAccounting/schema/stock.d.ts +3 -0
  66. package/dist/nodes/SqlAccounting/schema/stock.d.ts.map +1 -0
  67. package/dist/nodes/SqlAccounting/schema/stock.js +46 -0
  68. package/dist/nodes/SqlAccounting/schema/types.d.ts +31 -0
  69. package/dist/nodes/SqlAccounting/schema/types.d.ts.map +1 -0
  70. package/dist/nodes/SqlAccounting/schema/types.js +3 -0
  71. package/dist/nodes/SqlAccounting/sqlaccounting.svg +7 -7
  72. package/dist/nodes/SqlAccounting/templates.d.ts +2 -0
  73. package/dist/nodes/SqlAccounting/templates.d.ts.map +1 -0
  74. package/dist/nodes/SqlAccounting/templates.js +50 -0
  75. package/dist/nodes/SqlAccounting/transport.d.ts +6 -0
  76. package/dist/nodes/SqlAccounting/transport.d.ts.map +1 -0
  77. package/dist/nodes/SqlAccounting/transport.js +30 -0
  78. package/dist/nodes/SqlAccounting/ui/fieldProps.d.ts +5 -0
  79. package/dist/nodes/SqlAccounting/ui/fieldProps.d.ts.map +1 -0
  80. package/dist/nodes/SqlAccounting/ui/fieldProps.js +35 -0
  81. package/dist/nodes/SqlAccounting/ui/names.d.ts +15 -0
  82. package/dist/nodes/SqlAccounting/ui/names.d.ts.map +1 -0
  83. package/dist/nodes/SqlAccounting/ui/names.js +28 -0
  84. package/dist/nodes/SqlAccounting/ui/properties.d.ts +3 -0
  85. package/dist/nodes/SqlAccounting/ui/properties.d.ts.map +1 -0
  86. package/dist/nodes/SqlAccounting/ui/properties.js +296 -0
  87. package/dist/nodes/SqlAccounting/validation.d.ts +7 -0
  88. package/dist/nodes/SqlAccounting/validation.d.ts.map +1 -0
  89. package/dist/nodes/SqlAccounting/validation.js +74 -0
  90. package/package.json +69 -58
  91. package/dist/nodes/SqlAccounting/operations.d.ts +0 -34
  92. package/dist/nodes/SqlAccounting/operations.d.ts.map +0 -1
  93. 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ub2Rlcy9TcWxBY2NvdW50aW5nL3JlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTJFQSxvQ0FJQztBQS9FRCw2REFPOEI7QUFFckIsMEZBUFIsOEJBQVMsT0FPUTtBQUFFLGlHQU5uQixxQ0FBZ0IsT0FNbUI7QUFzQnBDLE1BQU0sUUFBUSxHQUEyQjtJQUN4QyxJQUFJLEVBQUUsTUFBTTtJQUNaLEdBQUcsRUFBRSxLQUFLO0lBQ1YsTUFBTSxFQUFFLFFBQVE7SUFDaEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsTUFBTSxFQUFFLFFBQVE7Q0FDaEIsQ0FBQztBQUVLLE1BQU0sS0FBSyxHQUFHLENBQUMsUUFBZ0IsRUFBRSxFQUFVLEVBQVUsRUFBRSxDQUFDLEdBQUcsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUFDO0FBQXRFLFFBQUEsS0FBSyxTQUFpRTtBQUVuRixNQUFNLFFBQVEsR0FBRyxDQUFDLEVBQVUsRUFBRSxZQUFvQixFQUFFLElBQWtCLEVBQVUsRUFBRTtJQUNqRixJQUFJLElBQUksS0FBSyxRQUFRO1FBQUUsT0FBTyxPQUFPLFlBQVksY0FBYyxDQUFDO0lBQ2hFLE1BQU0sSUFBSSxHQUEyQjtRQUNwQyxJQUFJLEVBQUUsUUFBUSxZQUFZLFVBQVU7UUFDcEMsR0FBRyxFQUFFLFdBQVcsWUFBWSxFQUFFO1FBQzlCLE1BQU0sRUFBRSxZQUFZLFlBQVksRUFBRTtRQUNsQyxNQUFNLEVBQUUsWUFBWSxZQUFZLEVBQUU7UUFDbEMsTUFBTSxFQUFFLFlBQVksWUFBWSxFQUFFO0tBQ2xDLENBQUM7SUFDRixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFVyxRQUFBLGFBQWEsR0FBa0IsNkJBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEUsSUFBSSxFQUFFLEtBQUss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
@@ -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,3 @@
1
+ import type { ResourceSchema } from './types';
2
+ export declare const ASSET_SCHEMAS: ResourceSchema[];
3
+ //# sourceMappingURL=assets.d.ts.map
@@ -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,3 @@
1
+ import type { ResourceSchema } from './types';
2
+ export declare const DOCUMENT_SCHEMAS: ResourceSchema[];
3
+ //# sourceMappingURL=documents.d.ts.map
@@ -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,3 @@
1
+ import type { ResourceSchema } from './types';
2
+ export declare const FINANCE_SCHEMAS: ResourceSchema[];
3
+ //# sourceMappingURL=finance.d.ts.map
@@ -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,3 @@
1
+ import type { ResourceSchema } from './types';
2
+ export declare const PARTY_SCHEMAS: ResourceSchema[];
3
+ //# sourceMappingURL=parties.d.ts.map
@@ -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"}