@carthooks/arcubase-cli 0.1.7 → 0.1.8
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/bundle/arcubase-admin.mjs +1042 -5056
- package/bundle/arcubase.mjs +1042 -5056
- package/dist/generated/command_registry.generated.d.ts +693 -2812
- package/dist/generated/command_registry.generated.d.ts.map +1 -1
- package/dist/generated/command_registry.generated.js +812 -4100
- package/dist/generated/type_index.generated.d.ts +8 -397
- package/dist/generated/type_index.generated.d.ts.map +1 -1
- package/dist/generated/type_index.generated.js +8 -403
- package/dist/generated/zod_registry.generated.d.ts +33 -261
- package/dist/generated/zod_registry.generated.d.ts.map +1 -1
- package/dist/generated/zod_registry.generated.js +36 -365
- package/dist/runtime/body_loader.d.ts.map +1 -1
- package/dist/runtime/body_loader.js +12 -0
- package/dist/runtime/command_registry.d.ts +3 -21
- package/dist/runtime/command_registry.d.ts.map +1 -1
- package/dist/runtime/command_registry.js +17 -23
- package/dist/runtime/execute.d.ts +3 -3
- package/dist/runtime/execute.d.ts.map +1 -1
- package/dist/runtime/execute.js +53 -157
- package/dist/runtime/http.js +1 -1
- package/dist/runtime/upload.js +3 -3
- package/dist/runtime/zod_registry.d.ts.map +1 -1
- package/dist/runtime/zod_registry.js +7 -24
- package/dist/tests/command_registry.test.js +81 -28
- package/dist/tests/execute_validation.test.js +175 -510
- package/dist/tests/help.test.js +39 -62
- package/dist/tests/upload.test.js +4 -4
- package/dist/tests/zod_registry.test.js +0 -10
- package/package.json +1 -1
- package/sdk-dist/docs/runtime-reference/README.md +20 -30
- package/sdk-dist/docs/runtime-reference/entity-schema/README.md +4 -5
- package/sdk-dist/docs/runtime-reference/entity-schema/linkto.md +3 -3
- package/sdk-dist/docs/runtime-reference/entity-schema/query.md +3 -3
- package/sdk-dist/docs/runtime-reference/entity-schema/relation.md +3 -3
- package/sdk-dist/docs/runtime-reference/entity-schema/relationfield.md +3 -3
- package/sdk-dist/docs/runtime-reference/entity-schema/subform.md +2 -2
- package/sdk-dist/docs/runtime-reference/entity-schema.md +4 -4
- package/sdk-dist/docs/runtime-reference/examples/README.md +2 -2
- package/sdk-dist/docs/runtime-reference/examples/oms-01/README.md +12 -12
- package/sdk-dist/docs/runtime-reference/examples/oms-01/app-overview.md +1 -1
- package/sdk-dist/docs/runtime-reference/row-crud.md +11 -32
- package/sdk-dist/docs/runtime-reference/search-and-bulk-actions.md +16 -47
- package/sdk-dist/docs/runtime-reference/table-lifecycle.md +11 -27
- package/sdk-dist/docs/runtime-reference/uploads.md +1 -1
- package/sdk-dist/docs/runtime-reference/workflow/README.md +19 -0
- package/sdk-dist/generated/command_registry.generated.ts +814 -4102
- package/sdk-dist/generated/type_index.generated.ts +8 -403
- package/sdk-dist/generated/zod_registry.generated.ts +44 -500
- package/sdk-dist/types/app.ts +3 -10
- package/sdk-dist/types/common.ts +7 -0
- package/sdk-dist/types/global-action.ts +2 -1
- package/src/generated/command_registry.generated.ts +814 -4102
- package/src/generated/type_index.generated.ts +8 -403
- package/src/generated/zod_registry.generated.ts +44 -500
- package/src/runtime/body_loader.ts +11 -0
- package/src/runtime/command_registry.ts +22 -44
- package/src/runtime/execute.ts +58 -168
- package/src/runtime/http.ts +1 -1
- package/src/runtime/upload.ts +3 -3
- package/src/runtime/zod_registry.ts +7 -25
- package/src/tests/command_registry.test.ts +81 -31
- package/src/tests/execute_validation.test.ts +199 -640
- package/src/tests/help.test.ts +36 -69
- package/src/tests/upload.test.ts +4 -4
- package/src/tests/zod_registry.test.ts +0 -13
- package/sdk-dist/docs/runtime-reference/app-discovery.md +0 -68
|
@@ -1,34 +1,87 @@
|
|
|
1
1
|
import test from 'node:test';
|
|
2
2
|
import assert from 'node:assert/strict';
|
|
3
3
|
import { adminCommands, userCommands } from '../generated/command_registry.generated.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
function commandPaths(commands) {
|
|
5
|
+
return commands.map((item) => item.commandPath.join(' ')).sort();
|
|
6
|
+
}
|
|
7
|
+
test('admin surface is restricted to reset white list', () => {
|
|
8
|
+
const actual = commandPaths(adminCommands);
|
|
9
|
+
const expected = [
|
|
10
|
+
'app create',
|
|
11
|
+
'app delete',
|
|
12
|
+
'app get',
|
|
13
|
+
'app list',
|
|
14
|
+
'app update',
|
|
15
|
+
'table create',
|
|
16
|
+
'table delete',
|
|
17
|
+
'table get',
|
|
18
|
+
'table list',
|
|
19
|
+
'table rename',
|
|
20
|
+
'table update-schema',
|
|
21
|
+
'access-rule assign-users',
|
|
22
|
+
'access-rule create',
|
|
23
|
+
'access-rule delete',
|
|
24
|
+
'access-rule get',
|
|
25
|
+
'access-rule list',
|
|
26
|
+
'access-rule update',
|
|
27
|
+
'workflow create-version',
|
|
28
|
+
'workflow deploy',
|
|
29
|
+
'workflow get',
|
|
30
|
+
'workflow update',
|
|
31
|
+
].sort();
|
|
32
|
+
assert.deepEqual(actual, expected);
|
|
7
33
|
});
|
|
8
|
-
test('
|
|
9
|
-
|
|
34
|
+
test('user surface is restricted to reset white list', () => {
|
|
35
|
+
const actual = commandPaths(userCommands);
|
|
36
|
+
const expected = [
|
|
37
|
+
'entry',
|
|
38
|
+
'profile get',
|
|
39
|
+
'profile update',
|
|
40
|
+
'row bulk-update',
|
|
41
|
+
'row create',
|
|
42
|
+
'row delete',
|
|
43
|
+
'row get',
|
|
44
|
+
'row query',
|
|
45
|
+
'row selection-action',
|
|
46
|
+
'row update',
|
|
47
|
+
'table dataset',
|
|
48
|
+
'table get',
|
|
49
|
+
'table relation-options',
|
|
50
|
+
'upload check-mobile',
|
|
51
|
+
'upload mobile',
|
|
52
|
+
'upload preview',
|
|
53
|
+
'upload token',
|
|
54
|
+
'workflow approve',
|
|
55
|
+
'workflow countersign',
|
|
56
|
+
'workflow forward',
|
|
57
|
+
'workflow process-map',
|
|
58
|
+
'workflow query-approve-users',
|
|
59
|
+
'workflow query-nodes',
|
|
60
|
+
'workflow resolve',
|
|
61
|
+
'workflow retract',
|
|
62
|
+
'workflow rollback',
|
|
63
|
+
].sort();
|
|
64
|
+
assert.deepEqual(actual, expected);
|
|
10
65
|
});
|
|
11
|
-
test('
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
const suggestions = findCommandSuggestions('entity', 'admin-delete-entity-row');
|
|
33
|
-
assert.ok(suggestions.some((item) => item.binary === 'arcubase' && item.moduleName === 'rows' && item.commandName === 'delete-entity-row'));
|
|
66
|
+
test('black list commands are removed from registry', () => {
|
|
67
|
+
const all = new Set([...commandPaths(adminCommands), ...commandPaths(userCommands)]);
|
|
68
|
+
const forbidden = [
|
|
69
|
+
'app inventory',
|
|
70
|
+
'app list-apps',
|
|
71
|
+
'app create-entity',
|
|
72
|
+
'entity admin-get-entity-info',
|
|
73
|
+
'entity admin-save-entity',
|
|
74
|
+
'ingress create-entity-ingress',
|
|
75
|
+
'workflow query-entity',
|
|
76
|
+
'workflow insert-entity',
|
|
77
|
+
'workflow update-entity-row',
|
|
78
|
+
'workflow delete-entity-row',
|
|
79
|
+
'workflow restore-entity-row',
|
|
80
|
+
'workflow query-entity-selection',
|
|
81
|
+
'profile change-password',
|
|
82
|
+
'profile auth-channels',
|
|
83
|
+
];
|
|
84
|
+
for (const item of forbidden) {
|
|
85
|
+
assert.equal(all.has(item), false, `${item} should not exist`);
|
|
86
|
+
}
|
|
34
87
|
});
|