@synnaxlabs/client 0.56.1 → 0.57.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.
- package/dist/client-B08VDLSA.js +14463 -0
- package/dist/client-B08VDLSA.js.map +1 -0
- package/dist/client.js +1128 -14876
- package/dist/client.js.map +1 -0
- package/dist/src/access/client.d.ts +10 -1
- package/dist/src/access/client.d.ts.map +1 -1
- package/dist/src/access/enforce.d.ts.map +1 -1
- package/dist/src/access/external.d.ts +1 -0
- package/dist/src/access/external.d.ts.map +1 -1
- package/dist/src/access/granted.d.ts +39 -0
- package/dist/src/access/granted.d.ts.map +1 -0
- package/dist/src/access/policy/client.d.ts +136 -147
- package/dist/src/access/policy/client.d.ts.map +1 -1
- package/dist/src/access/policy/types.gen.d.ts +15 -68
- package/dist/src/access/policy/types.gen.d.ts.map +1 -1
- package/dist/src/access/role/client.d.ts +77 -58
- package/dist/src/access/role/client.d.ts.map +1 -1
- package/dist/src/access/role/types.gen.d.ts +8 -14
- package/dist/src/access/role/types.gen.d.ts.map +1 -1
- package/dist/src/actions/actions.d.ts +5 -6
- package/dist/src/actions/actions.d.ts.map +1 -1
- package/dist/src/actions/controller.d.ts +194 -0
- package/dist/src/actions/controller.d.ts.map +1 -0
- package/dist/src/actions/external.d.ts +1 -0
- package/dist/src/actions/external.d.ts.map +1 -1
- package/dist/src/arc/actions.d.ts +575 -0
- package/dist/src/arc/actions.d.ts.map +1 -0
- package/dist/src/arc/actions.gen.d.ts +1439 -0
- package/dist/src/arc/actions.gen.d.ts.map +1 -0
- package/dist/src/arc/client.d.ts +97 -13
- package/dist/src/arc/client.d.ts.map +1 -1
- package/dist/src/arc/compiler/types.gen.d.ts +3 -3
- package/dist/src/arc/compiler/types.gen.d.ts.map +1 -1
- package/dist/src/arc/external.d.ts +2 -0
- package/dist/src/arc/external.d.ts.map +1 -1
- package/dist/src/arc/graph/types.gen.d.ts +45 -597
- package/dist/src/arc/graph/types.gen.d.ts.map +1 -1
- package/dist/src/arc/ir/index.d.ts +1 -1
- package/dist/src/arc/ir/index.d.ts.map +1 -1
- package/dist/src/arc/ir/ir.d.ts +2 -0
- package/dist/src/arc/ir/ir.d.ts.map +1 -0
- package/dist/src/arc/ir/types.gen.d.ts +58 -2807
- package/dist/src/arc/ir/types.gen.d.ts.map +1 -1
- package/dist/src/arc/module/types.gen.d.ts +18 -1090
- package/dist/src/arc/module/types.gen.d.ts.map +1 -1
- package/dist/src/arc/program/types.gen.d.ts +18 -1090
- package/dist/src/arc/program/types.gen.d.ts.map +1 -1
- package/dist/src/arc/text/types.gen.d.ts +54 -1
- package/dist/src/arc/text/types.gen.d.ts.map +1 -1
- package/dist/src/arc/types/types.gen.d.ts +35 -153
- package/dist/src/arc/types/types.gen.d.ts.map +1 -1
- package/dist/src/arc/types.gen.d.ts +98 -2278
- package/dist/src/arc/types.gen.d.ts.map +1 -1
- package/dist/src/auth/auth.d.ts +14 -2
- package/dist/src/auth/auth.d.ts.map +1 -1
- package/dist/src/channel/client.d.ts +113 -75
- package/dist/src/channel/client.d.ts.map +1 -1
- package/dist/src/channel/external.d.ts +0 -1
- package/dist/src/channel/external.d.ts.map +1 -1
- package/dist/src/channel/payload.d.ts +65 -56
- package/dist/src/channel/payload.d.ts.map +1 -1
- package/dist/src/channel/types.gen.d.ts +26 -73
- package/dist/src/channel/types.gen.d.ts.map +1 -1
- package/dist/src/channel/writer.d.ts +1 -3
- package/dist/src/channel/writer.d.ts.map +1 -1
- package/dist/src/client.d.ts +55 -27
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/connection/client.d.ts +146 -0
- package/dist/src/connection/client.d.ts.map +1 -0
- package/dist/src/connection/external.d.ts +3 -0
- package/dist/src/connection/external.d.ts.map +1 -0
- package/dist/src/connection/index.d.ts +1 -1
- package/dist/src/connection/index.d.ts.map +1 -1
- package/dist/src/connection/status.d.ts +252 -0
- package/dist/src/connection/status.d.ts.map +1 -0
- package/dist/src/control/client.d.ts +31 -7
- package/dist/src/control/client.d.ts.map +1 -1
- package/dist/src/control/state.d.ts +47 -16
- package/dist/src/control/state.d.ts.map +1 -1
- package/dist/src/device/client.d.ts +59 -17
- package/dist/src/device/client.d.ts.map +1 -1
- package/dist/src/device/types.gen.d.ts +17 -67
- package/dist/src/device/types.gen.d.ts.map +1 -1
- package/dist/src/errors.d.ts +17 -20
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/ethercat/external.d.ts +2 -0
- package/dist/src/ethercat/external.d.ts.map +1 -0
- package/dist/src/ethercat/index.d.ts +2 -0
- package/dist/src/ethercat/index.d.ts.map +1 -0
- package/dist/src/ethercat/types.gen.d.ts +243 -0
- package/dist/src/ethercat/types.gen.d.ts.map +1 -0
- package/dist/src/framer/adapter.d.ts +8 -5
- package/dist/src/framer/adapter.d.ts.map +1 -1
- package/dist/src/framer/benchutil.d.ts +19 -0
- package/dist/src/framer/benchutil.d.ts.map +1 -0
- package/dist/src/framer/cache/cache.d.ts +38 -0
- package/dist/src/framer/cache/cache.d.ts.map +1 -0
- package/dist/src/framer/cache/dynamic.d.ts +71 -0
- package/dist/src/framer/cache/dynamic.d.ts.map +1 -0
- package/dist/src/framer/cache/reader.d.ts +43 -0
- package/dist/src/framer/cache/reader.d.ts.map +1 -0
- package/dist/src/framer/cache/static.d.ts +66 -0
- package/dist/src/framer/cache/static.d.ts.map +1 -0
- package/dist/src/framer/cache/streamer.d.ts +86 -0
- package/dist/src/framer/cache/streamer.d.ts.map +1 -0
- package/dist/src/framer/cache/transform.d.ts +18 -0
- package/dist/src/framer/cache/transform.d.ts.map +1 -0
- package/dist/src/framer/cache/unary.d.ts +37 -0
- package/dist/src/framer/cache/unary.d.ts.map +1 -0
- package/dist/src/framer/client.d.ts +35 -14
- package/dist/src/framer/client.d.ts.map +1 -1
- package/dist/src/framer/codec.d.ts.map +1 -1
- package/dist/src/framer/deleter.d.ts +3 -2
- package/dist/src/framer/deleter.d.ts.map +1 -1
- package/dist/src/framer/external.d.ts +6 -0
- package/dist/src/framer/external.d.ts.map +1 -1
- package/dist/src/framer/feed.d.ts +40 -0
- package/dist/src/framer/feed.d.ts.map +1 -0
- package/dist/src/framer/frame.d.ts +16 -20
- package/dist/src/framer/frame.d.ts.map +1 -1
- package/dist/src/framer/hardened.d.ts +70 -0
- package/dist/src/framer/hardened.d.ts.map +1 -0
- package/dist/src/framer/iterator.d.ts +36 -43
- package/dist/src/framer/iterator.d.ts.map +1 -1
- package/dist/src/framer/reader.d.ts +3 -2
- package/dist/src/framer/reader.d.ts.map +1 -1
- package/dist/src/framer/streamer.d.ts +132 -205
- package/dist/src/framer/streamer.d.ts.map +1 -1
- package/dist/src/framer/writer.d.ts +130 -161
- package/dist/src/framer/writer.d.ts.map +1 -1
- package/dist/src/group/client.d.ts +66 -9
- package/dist/src/group/client.d.ts.map +1 -1
- package/dist/src/group/types.gen.d.ts +2 -2
- package/dist/src/http/external.d.ts +2 -0
- package/dist/src/http/external.d.ts.map +1 -0
- package/dist/src/http/index.d.ts +2 -0
- package/dist/src/http/index.d.ts.map +1 -0
- package/dist/src/http/types.gen.d.ts +451 -0
- package/dist/src/http/types.gen.d.ts.map +1 -0
- package/dist/src/imex/client.d.ts +88 -0
- package/dist/src/imex/client.d.ts.map +1 -0
- package/dist/src/imex/index.d.ts +2 -0
- package/dist/src/imex/index.d.ts.map +1 -0
- package/dist/src/index.d.ts +18 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/label/client.d.ts +55 -36
- package/dist/src/label/client.d.ts.map +1 -1
- package/dist/src/label/external.d.ts +2 -0
- package/dist/src/label/external.d.ts.map +1 -1
- package/dist/src/label/payload.d.ts +4 -46
- package/dist/src/label/payload.d.ts.map +1 -1
- package/dist/src/label/store.d.ts +8 -0
- package/dist/src/label/store.d.ts.map +1 -0
- package/dist/src/label/types.gen.d.ts +45 -0
- package/dist/src/label/types.gen.d.ts.map +1 -0
- package/dist/src/labjack/external.d.ts +2 -0
- package/dist/src/labjack/external.d.ts.map +1 -0
- package/dist/src/labjack/index.d.ts +2 -0
- package/dist/src/labjack/index.d.ts.map +1 -0
- package/dist/src/labjack/types.gen.d.ts +442 -0
- package/dist/src/labjack/types.gen.d.ts.map +1 -0
- package/dist/src/lineplot/actions.d.ts +914 -0
- package/dist/src/lineplot/actions.d.ts.map +1 -0
- package/dist/src/lineplot/actions.gen.d.ts +4208 -0
- package/dist/src/lineplot/actions.gen.d.ts.map +1 -0
- package/dist/src/lineplot/client.d.ts +66 -16
- package/dist/src/lineplot/client.d.ts.map +1 -1
- package/dist/src/lineplot/external.d.ts +3 -0
- package/dist/src/lineplot/external.d.ts.map +1 -1
- package/dist/src/lineplot/line.d.ts +16 -0
- package/dist/src/lineplot/line.d.ts.map +1 -0
- package/dist/src/lineplot/types.gen.d.ts +837 -14
- package/dist/src/lineplot/types.gen.d.ts.map +1 -1
- package/dist/src/log/actions.d.ts +271 -0
- package/dist/src/log/actions.d.ts.map +1 -0
- package/dist/src/log/actions.gen.d.ts +1529 -0
- package/dist/src/log/actions.gen.d.ts.map +1 -0
- package/dist/src/log/client.d.ts +66 -16
- package/dist/src/log/client.d.ts.map +1 -1
- package/dist/src/log/external.d.ts +2 -0
- package/dist/src/log/external.d.ts.map +1 -1
- package/dist/src/log/types.gen.d.ts +139 -14
- package/dist/src/log/types.gen.d.ts.map +1 -1
- package/dist/src/modbus/external.d.ts +2 -0
- package/dist/src/modbus/external.d.ts.map +1 -0
- package/dist/src/modbus/index.d.ts +2 -0
- package/dist/src/modbus/index.d.ts.map +1 -0
- package/dist/src/modbus/types.gen.d.ts +280 -0
- package/dist/src/modbus/types.gen.d.ts.map +1 -0
- package/dist/src/ni/external.d.ts +2 -0
- package/dist/src/ni/external.d.ts.map +1 -0
- package/dist/src/ni/index.d.ts +2 -0
- package/dist/src/ni/index.d.ts.map +1 -0
- package/dist/src/ni/types.gen.d.ts +21029 -0
- package/dist/src/ni/types.gen.d.ts.map +1 -0
- package/dist/src/node/index.d.ts +2 -0
- package/dist/src/node/index.d.ts.map +1 -0
- package/dist/src/node/types.gen.d.ts +4 -0
- package/dist/src/node/types.gen.d.ts.map +1 -0
- package/dist/src/ontology/client.d.ts +314 -67
- package/dist/src/ontology/client.d.ts.map +1 -1
- package/dist/src/ontology/external.d.ts +1 -0
- package/dist/src/ontology/external.d.ts.map +1 -1
- package/dist/src/ontology/payload.d.ts +60 -18
- package/dist/src/ontology/payload.d.ts.map +1 -1
- package/dist/src/ontology/store.d.ts +32 -0
- package/dist/src/ontology/store.d.ts.map +1 -0
- package/dist/src/ontology/types.gen.d.ts +3 -2
- package/dist/src/ontology/types.gen.d.ts.map +1 -1
- package/dist/src/ontology/writer.d.ts +16 -10
- package/dist/src/ontology/writer.d.ts.map +1 -1
- package/dist/src/opcua/external.d.ts +2 -0
- package/dist/src/opcua/external.d.ts.map +1 -0
- package/dist/src/opcua/index.d.ts +2 -0
- package/dist/src/opcua/index.d.ts.map +1 -0
- package/dist/src/opcua/types.gen.d.ts +82 -0
- package/dist/src/opcua/types.gen.d.ts.map +1 -0
- package/dist/src/pagerduty/external.d.ts +2 -0
- package/dist/src/pagerduty/external.d.ts.map +1 -0
- package/dist/src/pagerduty/index.d.ts +2 -0
- package/dist/src/pagerduty/index.d.ts.map +1 -0
- package/dist/src/pagerduty/types.gen.d.ts +30 -0
- package/dist/src/pagerduty/types.gen.d.ts.map +1 -0
- package/dist/src/panel/actions.d.ts +273 -0
- package/dist/src/panel/actions.d.ts.map +1 -0
- package/dist/src/panel/actions.gen.d.ts +1255 -0
- package/dist/src/panel/actions.gen.d.ts.map +1 -0
- package/dist/src/panel/client.d.ts +148 -0
- package/dist/src/panel/client.d.ts.map +1 -0
- package/dist/src/panel/external.d.ts +6 -0
- package/dist/src/panel/external.d.ts.map +1 -0
- package/dist/src/panel/index.d.ts +2 -0
- package/dist/src/panel/index.d.ts.map +1 -0
- package/dist/src/panel/tree.d.ts +50 -0
- package/dist/src/panel/tree.d.ts.map +1 -0
- package/dist/src/panel/types.gen.d.ts +370 -0
- package/dist/src/panel/types.gen.d.ts.map +1 -0
- package/dist/src/project/client.d.ts +89 -0
- package/dist/src/project/client.d.ts.map +1 -0
- package/dist/src/project/external.d.ts.map +1 -0
- package/dist/src/project/index.d.ts +2 -0
- package/dist/src/project/index.d.ts.map +1 -0
- package/dist/src/project/types.gen.d.ts +27 -0
- package/dist/src/project/types.gen.d.ts.map +1 -0
- package/dist/src/query/cache.d.ts +132 -0
- package/dist/src/query/cache.d.ts.map +1 -0
- package/dist/src/query/deleted.d.ts +20 -0
- package/dist/src/query/deleted.d.ts.map +1 -0
- package/dist/src/query/derived.d.ts +33 -0
- package/dist/src/query/derived.d.ts.map +1 -0
- package/dist/src/query/external.d.ts +10 -0
- package/dist/src/query/external.d.ts.map +1 -0
- package/dist/src/query/index.d.ts +2 -0
- package/dist/src/query/index.d.ts.map +1 -0
- package/dist/src/query/query.d.ts +235 -0
- package/dist/src/query/query.d.ts.map +1 -0
- package/dist/src/query/retriever.d.ts +135 -0
- package/dist/src/query/retriever.d.ts.map +1 -0
- package/dist/src/query/streamer.d.ts +67 -0
- package/dist/src/query/streamer.d.ts.map +1 -0
- package/dist/src/query/table.d.ts +219 -0
- package/dist/src/query/table.d.ts.map +1 -0
- package/dist/src/query/types.d.ts +35 -0
- package/dist/src/query/types.d.ts.map +1 -0
- package/dist/src/query/write.d.ts +21 -0
- package/dist/src/query/write.d.ts.map +1 -0
- package/dist/src/rack/client.d.ts +58 -20
- package/dist/src/rack/client.d.ts.map +1 -1
- package/dist/src/rack/types.gen.d.ts +11 -12
- package/dist/src/rack/types.gen.d.ts.map +1 -1
- package/dist/src/range/alias/types.gen.d.ts +2 -3
- package/dist/src/range/alias/types.gen.d.ts.map +1 -1
- package/dist/src/ranger/client.d.ts +138 -27
- package/dist/src/ranger/client.d.ts.map +1 -1
- package/dist/src/ranger/kv/client.d.ts +7 -4
- package/dist/src/ranger/kv/client.d.ts.map +1 -1
- package/dist/src/ranger/payload.d.ts +3 -0
- package/dist/src/ranger/payload.d.ts.map +1 -1
- package/dist/src/ranger/types.gen.d.ts +45 -101
- package/dist/src/ranger/types.gen.d.ts.map +1 -1
- package/dist/src/ranger/writer.d.ts +2 -74
- package/dist/src/ranger/writer.d.ts.map +1 -1
- package/dist/src/schematic/actions.d.ts +90 -33
- package/dist/src/schematic/actions.d.ts.map +1 -1
- package/dist/src/schematic/actions.gen.d.ts +207 -114
- package/dist/src/schematic/actions.gen.d.ts.map +1 -1
- package/dist/src/schematic/client.d.ts +70 -68
- package/dist/src/schematic/client.d.ts.map +1 -1
- package/dist/src/schematic/symbol/client.d.ts +133 -27
- package/dist/src/schematic/symbol/client.d.ts.map +1 -1
- package/dist/src/schematic/symbol/types.gen.d.ts +258 -153
- package/dist/src/schematic/symbol/types.gen.d.ts.map +1 -1
- package/dist/src/schematic/types.gen.d.ts +17 -96
- package/dist/src/schematic/types.gen.d.ts.map +1 -1
- package/dist/src/status/client.d.ts +69 -14
- package/dist/src/status/client.d.ts.map +1 -1
- package/dist/src/status/external.d.ts +2 -0
- package/dist/src/status/external.d.ts.map +1 -1
- package/dist/src/status/payload.d.ts +2 -36
- package/dist/src/status/payload.d.ts.map +1 -1
- package/dist/src/status/status.d.ts +65 -0
- package/dist/src/status/status.d.ts.map +1 -0
- package/dist/src/status/types.gen.d.ts +58 -0
- package/dist/src/status/types.gen.d.ts.map +1 -0
- package/dist/src/table/actions.d.ts +72 -13
- package/dist/src/table/actions.d.ts.map +1 -1
- package/dist/src/table/actions.gen.d.ts +221 -137
- package/dist/src/table/actions.gen.d.ts.map +1 -1
- package/dist/src/table/client.d.ts +64 -40
- package/dist/src/table/client.d.ts.map +1 -1
- package/dist/src/table/types.gen.d.ts +20 -55
- package/dist/src/table/types.gen.d.ts.map +1 -1
- package/dist/src/task/client.d.ts +149 -28
- package/dist/src/task/client.d.ts.map +1 -1
- package/dist/src/task/types.gen.d.ts +71 -89
- package/dist/src/task/types.gen.d.ts.map +1 -1
- package/dist/src/testutil/access.d.ts +27 -1
- package/dist/src/testutil/access.d.ts.map +1 -1
- package/dist/src/testutil/channels.d.ts +2 -0
- package/dist/src/testutil/channels.d.ts.map +1 -1
- package/dist/src/testutil/client.d.ts +5 -0
- package/dist/src/testutil/client.d.ts.map +1 -1
- package/dist/src/testutil/connection.d.ts +10 -0
- package/dist/src/testutil/connection.d.ts.map +1 -0
- package/dist/src/testutil/index.d.ts +9 -0
- package/dist/src/testutil/index.d.ts.map +1 -0
- package/dist/src/testutil/panels.d.ts +8 -0
- package/dist/src/testutil/panels.d.ts.map +1 -0
- package/dist/src/testutil/proxy.d.ts +29 -0
- package/dist/src/testutil/proxy.d.ts.map +1 -0
- package/dist/src/testutil/query.d.ts +7 -0
- package/dist/src/testutil/query.d.ts.map +1 -0
- package/dist/src/testutil/telem.d.ts +4 -0
- package/dist/src/testutil/telem.d.ts.map +1 -1
- package/dist/src/transport.d.ts +10 -4
- package/dist/src/transport.d.ts.map +1 -1
- package/dist/src/user/client.d.ts +29 -28
- package/dist/src/user/client.d.ts.map +1 -1
- package/dist/src/user/external.d.ts +1 -1
- package/dist/src/user/external.d.ts.map +1 -1
- package/dist/src/user/types.gen.d.ts +4 -4
- package/dist/src/util/retrieve.d.ts +2 -2
- package/dist/src/util/retrieve.d.ts.map +1 -1
- package/dist/src/util/telem.d.ts.map +1 -1
- package/dist/src/view/client.d.ts +30 -14
- package/dist/src/view/client.d.ts.map +1 -1
- package/dist/src/view/types.gen.d.ts +7 -15
- package/dist/src/view/types.gen.d.ts.map +1 -1
- package/dist/testutil.js +189 -0
- package/dist/testutil.js.map +1 -0
- package/package.json +40 -17
- package/src/access/client.ts +14 -3
- package/src/access/enforce.ts +0 -3
- package/src/access/external.ts +1 -0
- package/src/access/granted.ts +114 -0
- package/src/access/policy/client.ts +135 -43
- package/src/access/policy/types.gen.ts +9 -11
- package/src/access/role/client.ts +160 -38
- package/src/access/role/types.gen.ts +8 -12
- package/src/actions/actions.ts +5 -6
- package/src/actions/controller.ts +626 -0
- package/src/actions/external.ts +11 -0
- package/src/arc/actions.gen.ts +313 -0
- package/src/arc/actions.ts +192 -0
- package/src/arc/client.ts +424 -41
- package/src/arc/compiler/types.gen.ts +5 -6
- package/src/arc/external.ts +2 -0
- package/src/arc/graph/types.gen.ts +24 -22
- package/src/arc/ir/index.ts +1 -1
- package/{eslint.config.ts → src/arc/ir/ir.ts} +1 -4
- package/src/arc/ir/types.gen.ts +42 -41
- package/src/arc/text/types.gen.ts +21 -2
- package/src/arc/types/types.gen.ts +40 -32
- package/src/arc/types.gen.ts +31 -29
- package/src/auth/auth.ts +40 -8
- package/src/channel/client.ts +529 -132
- package/src/channel/external.ts +0 -1
- package/src/channel/payload.ts +30 -3
- package/src/channel/types.gen.ts +37 -48
- package/src/channel/writer.ts +2 -11
- package/src/client.ts +215 -91
- package/src/connection/client.ts +495 -0
- package/src/connection/external.ts +34 -0
- package/src/connection/index.ts +1 -1
- package/src/connection/status.ts +442 -0
- package/src/control/client.ts +84 -12
- package/src/control/state.ts +17 -36
- package/src/device/client.ts +293 -41
- package/src/device/types.gen.ts +15 -26
- package/src/errors.ts +45 -22
- package/src/{workspace → ethercat}/external.ts +1 -2
- package/src/{workspace → ethercat}/index.ts +1 -1
- package/src/ethercat/types.gen.ts +151 -0
- package/src/framer/adapter.ts +60 -37
- package/src/framer/benchutil.ts +67 -0
- package/src/framer/cache/cache.ts +115 -0
- package/src/framer/cache/dynamic.ts +279 -0
- package/src/framer/cache/reader.ts +160 -0
- package/src/framer/cache/static.ts +215 -0
- package/src/framer/cache/streamer.ts +391 -0
- package/src/framer/cache/transform.ts +31 -0
- package/src/framer/cache/unary.ts +104 -0
- package/src/framer/client.ts +71 -43
- package/src/framer/codec.ts +55 -18
- package/src/framer/deleter.ts +4 -6
- package/src/framer/external.ts +10 -0
- package/src/framer/feed.ts +108 -0
- package/src/framer/frame.ts +13 -23
- package/src/framer/hardened.ts +283 -0
- package/src/framer/iterator.ts +31 -42
- package/src/framer/reader.ts +11 -11
- package/src/framer/streamer.ts +18 -178
- package/src/framer/writer.ts +39 -59
- package/src/group/client.ts +158 -23
- package/src/http/external.ts +10 -0
- package/src/{cluster → http}/index.ts +1 -1
- package/src/http/types.gen.ts +245 -0
- package/src/imex/client.ts +125 -0
- package/src/imex/index.ts +10 -0
- package/src/index.ts +18 -6
- package/src/label/client.ts +193 -54
- package/src/label/external.ts +2 -0
- package/src/label/payload.ts +4 -9
- package/src/label/store.ts +28 -0
- package/src/label/types.gen.ts +31 -0
- package/src/labjack/external.ts +10 -0
- package/src/labjack/index.ts +10 -0
- package/src/labjack/types.gen.ts +251 -0
- package/src/lineplot/actions.gen.ts +880 -0
- package/src/lineplot/actions.ts +535 -0
- package/src/lineplot/client.ts +224 -52
- package/src/lineplot/external.ts +3 -0
- package/src/lineplot/line.ts +80 -0
- package/src/lineplot/types.gen.ts +225 -12
- package/src/log/actions.gen.ts +474 -0
- package/src/log/actions.ts +242 -0
- package/src/log/client.ts +223 -52
- package/src/log/external.ts +2 -0
- package/src/log/types.gen.ts +45 -14
- package/src/modbus/external.ts +10 -0
- package/src/modbus/index.ts +10 -0
- package/src/modbus/types.gen.ts +185 -0
- package/src/ni/external.ts +10 -0
- package/src/ni/index.ts +10 -0
- package/src/ni/types.gen.ts +1632 -0
- package/src/node/index.ts +10 -0
- package/src/{cluster → node}/types.gen.ts +2 -2
- package/src/ontology/client.ts +408 -99
- package/src/ontology/external.ts +7 -0
- package/src/ontology/payload.ts +48 -7
- package/src/ontology/store.ts +83 -0
- package/src/ontology/types.gen.ts +2 -1
- package/src/ontology/writer.ts +1 -0
- package/src/opcua/external.ts +10 -0
- package/src/opcua/index.ts +10 -0
- package/src/opcua/types.gen.ts +65 -0
- package/src/pagerduty/external.ts +10 -0
- package/src/pagerduty/index.ts +10 -0
- package/src/pagerduty/types.gen.ts +41 -0
- package/src/panel/actions.gen.ts +267 -0
- package/src/panel/actions.ts +357 -0
- package/src/panel/client.ts +327 -0
- package/src/panel/external.ts +14 -0
- package/src/panel/index.ts +10 -0
- package/src/panel/tree.ts +163 -0
- package/src/panel/types.gen.ts +164 -0
- package/src/project/client.ts +273 -0
- package/src/project/external.ts +11 -0
- package/src/project/index.ts +10 -0
- package/src/project/types.gen.ts +40 -0
- package/src/query/cache.ts +326 -0
- package/src/query/deleted.ts +38 -0
- package/src/query/derived.ts +101 -0
- package/src/query/external.ts +51 -0
- package/src/query/index.ts +10 -0
- package/src/query/query.ts +865 -0
- package/src/query/retriever.ts +308 -0
- package/src/query/streamer.ts +207 -0
- package/src/query/table.ts +625 -0
- package/src/query/types.ts +54 -0
- package/src/query/write.ts +42 -0
- package/src/rack/client.ts +233 -45
- package/src/rack/types.gen.ts +15 -16
- package/src/range/alias/types.gen.ts +2 -3
- package/src/ranger/client.ts +581 -70
- package/src/ranger/kv/client.ts +52 -21
- package/src/ranger/payload.ts +3 -0
- package/src/ranger/types.gen.ts +21 -23
- package/src/ranger/writer.ts +4 -8
- package/src/schematic/actions.gen.ts +62 -53
- package/src/schematic/actions.ts +44 -42
- package/src/schematic/client.ts +226 -70
- package/src/schematic/symbol/client.ts +277 -48
- package/src/schematic/symbol/types.gen.ts +22 -34
- package/src/schematic/types.gen.ts +22 -29
- package/src/status/client.ts +321 -44
- package/src/status/external.ts +2 -0
- package/src/status/payload.ts +1 -23
- package/src/status/status.ts +241 -0
- package/src/status/types.gen.ts +108 -0
- package/src/table/actions.gen.ts +96 -63
- package/src/table/actions.ts +44 -19
- package/src/table/client.ts +220 -56
- package/src/table/types.gen.ts +24 -31
- package/src/task/client.ts +580 -101
- package/src/task/types.gen.ts +68 -75
- package/src/testutil/access.ts +102 -6
- package/src/testutil/channels.ts +29 -0
- package/src/testutil/client.ts +27 -2
- package/src/testutil/connection.ts +47 -0
- package/src/testutil/index.ts +17 -0
- package/src/testutil/panels.ts +26 -0
- package/src/testutil/proxy.ts +106 -0
- package/src/testutil/query.ts +28 -0
- package/src/testutil/telem.ts +17 -1
- package/src/transport.ts +18 -7
- package/src/user/client.ts +165 -64
- package/src/user/external.ts +1 -1
- package/src/user/types.gen.ts +5 -5
- package/src/util/retrieve.ts +4 -4
- package/src/util/telem.ts +0 -1
- package/src/view/client.ts +120 -37
- package/src/view/types.gen.ts +8 -11
- package/.turbo/turbo-build.log +0 -20
- package/.vscode/settings.json +0 -3
- package/CONTRIBUTING.md +0 -47
- package/dist/client.cjs +0 -118
- package/dist/eslint.config.d.ts +0 -4
- package/dist/eslint.config.d.ts.map +0 -1
- package/dist/src/access/enforce.spec.d.ts +0 -2
- package/dist/src/access/enforce.spec.d.ts.map +0 -1
- package/dist/src/access/policy/access.spec.d.ts +0 -2
- package/dist/src/access/policy/access.spec.d.ts.map +0 -1
- package/dist/src/access/role/role.spec.d.ts +0 -2
- package/dist/src/access/role/role.spec.d.ts.map +0 -1
- package/dist/src/actions/actions.spec.d.ts +0 -2
- package/dist/src/actions/actions.spec.d.ts.map +0 -1
- package/dist/src/arc/access.spec.d.ts +0 -2
- package/dist/src/arc/access.spec.d.ts.map +0 -1
- package/dist/src/arc/arc.spec.d.ts +0 -2
- package/dist/src/arc/arc.spec.d.ts.map +0 -1
- package/dist/src/arc/lsp.spec.d.ts +0 -2
- package/dist/src/arc/lsp.spec.d.ts.map +0 -1
- package/dist/src/auth/auth.spec.d.ts +0 -2
- package/dist/src/auth/auth.spec.d.ts.map +0 -1
- package/dist/src/channel/access.spec.d.ts +0 -2
- package/dist/src/channel/access.spec.d.ts.map +0 -1
- package/dist/src/channel/batchRetriever.spec.d.ts +0 -2
- package/dist/src/channel/batchRetriever.spec.d.ts.map +0 -1
- package/dist/src/channel/channel.spec.d.ts +0 -2
- package/dist/src/channel/channel.spec.d.ts.map +0 -1
- package/dist/src/channel/payload.spec.d.ts +0 -2
- package/dist/src/channel/payload.spec.d.ts.map +0 -1
- package/dist/src/channel/retriever.d.ts +0 -64
- package/dist/src/channel/retriever.d.ts.map +0 -1
- package/dist/src/cluster/index.d.ts +0 -2
- package/dist/src/cluster/index.d.ts.map +0 -1
- package/dist/src/cluster/types.gen.d.ts +0 -4
- package/dist/src/cluster/types.gen.d.ts.map +0 -1
- package/dist/src/connection/checker.d.ts +0 -86
- package/dist/src/connection/checker.d.ts.map +0 -1
- package/dist/src/connection/connection.spec.d.ts +0 -2
- package/dist/src/connection/connection.spec.d.ts.map +0 -1
- package/dist/src/connection.spec.d.ts +0 -2
- package/dist/src/connection.spec.d.ts.map +0 -1
- package/dist/src/control/state.spec.d.ts +0 -2
- package/dist/src/control/state.spec.d.ts.map +0 -1
- package/dist/src/device/access.spec.d.ts +0 -2
- package/dist/src/device/access.spec.d.ts.map +0 -1
- package/dist/src/device/device.spec.d.ts +0 -2
- package/dist/src/device/device.spec.d.ts.map +0 -1
- package/dist/src/device/payload.spec.d.ts +0 -2
- package/dist/src/device/payload.spec.d.ts.map +0 -1
- package/dist/src/errors.spec.d.ts +0 -2
- package/dist/src/errors.spec.d.ts.map +0 -1
- package/dist/src/framer/adapter.spec.d.ts +0 -2
- package/dist/src/framer/adapter.spec.d.ts.map +0 -1
- package/dist/src/framer/client.spec.d.ts +0 -2
- package/dist/src/framer/client.spec.d.ts.map +0 -1
- package/dist/src/framer/codec.spec.d.ts +0 -2
- package/dist/src/framer/codec.spec.d.ts.map +0 -1
- package/dist/src/framer/deleter.spec.d.ts +0 -2
- package/dist/src/framer/deleter.spec.d.ts.map +0 -1
- package/dist/src/framer/frame.spec.d.ts +0 -2
- package/dist/src/framer/frame.spec.d.ts.map +0 -1
- package/dist/src/framer/iterator.spec.d.ts +0 -2
- package/dist/src/framer/iterator.spec.d.ts.map +0 -1
- package/dist/src/framer/reader.spec.d.ts +0 -2
- package/dist/src/framer/reader.spec.d.ts.map +0 -1
- package/dist/src/framer/streamer.spec.d.ts +0 -2
- package/dist/src/framer/streamer.spec.d.ts.map +0 -1
- package/dist/src/framer/writer.spec.d.ts +0 -2
- package/dist/src/framer/writer.spec.d.ts.map +0 -1
- package/dist/src/group/access.spec.d.ts +0 -2
- package/dist/src/group/access.spec.d.ts.map +0 -1
- package/dist/src/group/group.spec.d.ts +0 -2
- package/dist/src/group/group.spec.d.ts.map +0 -1
- package/dist/src/label/access.spec.d.ts +0 -2
- package/dist/src/label/access.spec.d.ts.map +0 -1
- package/dist/src/label/label.spec.d.ts +0 -2
- package/dist/src/label/label.spec.d.ts.map +0 -1
- package/dist/src/lineplot/access.spec.d.ts +0 -2
- package/dist/src/lineplot/access.spec.d.ts.map +0 -1
- package/dist/src/lineplot/lineplot.spec.d.ts +0 -2
- package/dist/src/lineplot/lineplot.spec.d.ts.map +0 -1
- package/dist/src/log/access.spec.d.ts +0 -2
- package/dist/src/log/access.spec.d.ts.map +0 -1
- package/dist/src/log/log.spec.d.ts +0 -2
- package/dist/src/log/log.spec.d.ts.map +0 -1
- package/dist/src/ontology/ontology.spec.d.ts +0 -2
- package/dist/src/ontology/ontology.spec.d.ts.map +0 -1
- package/dist/src/rack/access.spec.d.ts +0 -2
- package/dist/src/rack/access.spec.d.ts.map +0 -1
- package/dist/src/rack/rack.spec.d.ts +0 -2
- package/dist/src/rack/rack.spec.d.ts.map +0 -1
- package/dist/src/ranger/access.spec.d.ts +0 -2
- package/dist/src/ranger/access.spec.d.ts.map +0 -1
- package/dist/src/ranger/alias/payload.spec.d.ts +0 -2
- package/dist/src/ranger/alias/payload.spec.d.ts.map +0 -1
- package/dist/src/ranger/ranger.spec.d.ts +0 -2
- package/dist/src/ranger/ranger.spec.d.ts.map +0 -1
- package/dist/src/schematic/access.spec.d.ts +0 -2
- package/dist/src/schematic/access.spec.d.ts.map +0 -1
- package/dist/src/schematic/actions.spec.d.ts +0 -2
- package/dist/src/schematic/actions.spec.d.ts.map +0 -1
- package/dist/src/schematic/schematic.spec.d.ts +0 -2
- package/dist/src/schematic/schematic.spec.d.ts.map +0 -1
- package/dist/src/schematic/symbol/access.spec.d.ts +0 -2
- package/dist/src/schematic/symbol/access.spec.d.ts.map +0 -1
- package/dist/src/schematic/symbol/client.spec.d.ts +0 -2
- package/dist/src/schematic/symbol/client.spec.d.ts.map +0 -1
- package/dist/src/status/access.spec.d.ts +0 -2
- package/dist/src/status/access.spec.d.ts.map +0 -1
- package/dist/src/status/status.spec.d.ts +0 -2
- package/dist/src/status/status.spec.d.ts.map +0 -1
- package/dist/src/table/access.spec.d.ts +0 -2
- package/dist/src/table/access.spec.d.ts.map +0 -1
- package/dist/src/table/table.spec.d.ts +0 -2
- package/dist/src/table/table.spec.d.ts.map +0 -1
- package/dist/src/task/access.spec.d.ts +0 -2
- package/dist/src/task/access.spec.d.ts.map +0 -1
- package/dist/src/task/payload.spec.d.ts +0 -2
- package/dist/src/task/payload.spec.d.ts.map +0 -1
- package/dist/src/task/task.spec.d.ts +0 -2
- package/dist/src/task/task.spec.d.ts.map +0 -1
- package/dist/src/user/access.spec.d.ts +0 -2
- package/dist/src/user/access.spec.d.ts.map +0 -1
- package/dist/src/user/user.spec.d.ts +0 -2
- package/dist/src/user/user.spec.d.ts.map +0 -1
- package/dist/src/util/retrieve.spec.d.ts +0 -2
- package/dist/src/util/retrieve.spec.d.ts.map +0 -1
- package/dist/src/view/view.spec.d.ts +0 -2
- package/dist/src/view/view.spec.d.ts.map +0 -1
- package/dist/src/workspace/access.spec.d.ts +0 -2
- package/dist/src/workspace/access.spec.d.ts.map +0 -1
- package/dist/src/workspace/client.d.ts +0 -36
- package/dist/src/workspace/client.d.ts.map +0 -1
- package/dist/src/workspace/external.d.ts.map +0 -1
- package/dist/src/workspace/index.d.ts +0 -2
- package/dist/src/workspace/index.d.ts.map +0 -1
- package/dist/src/workspace/types.gen.d.ts +0 -34
- package/dist/src/workspace/types.gen.d.ts.map +0 -1
- package/dist/src/workspace/workspace.spec.d.ts +0 -2
- package/dist/src/workspace/workspace.spec.d.ts.map +0 -1
- package/examples/node/basicReadWrite.js +0 -86
- package/examples/node/createChannels.js +0 -50
- package/examples/node/createRange.js +0 -67
- package/examples/node/package-lock.json +0 -133
- package/examples/node/package.json +0 -17
- package/examples/node/readLatest.js +0 -76
- package/examples/node/seriesAndFrames.js +0 -173
- package/examples/node/streamRead.js +0 -50
- package/examples/node/streamWrite.js +0 -87
- package/src/access/enforce.spec.ts +0 -188
- package/src/access/policy/access.spec.ts +0 -147
- package/src/access/role/role.spec.ts +0 -95
- package/src/actions/actions.spec.ts +0 -229
- package/src/arc/access.spec.ts +0 -149
- package/src/arc/arc.spec.ts +0 -44
- package/src/arc/lsp.spec.ts +0 -717
- package/src/auth/auth.spec.ts +0 -101
- package/src/channel/access.spec.ts +0 -116
- package/src/channel/batchRetriever.spec.ts +0 -115
- package/src/channel/channel.spec.ts +0 -352
- package/src/channel/payload.spec.ts +0 -117
- package/src/channel/retriever.ts +0 -252
- package/src/connection/checker.ts +0 -203
- package/src/connection/connection.spec.ts +0 -152
- package/src/connection.spec.ts +0 -145
- package/src/control/state.spec.ts +0 -22
- package/src/device/access.spec.ts +0 -159
- package/src/device/device.spec.ts +0 -461
- package/src/device/payload.spec.ts +0 -142
- package/src/errors.spec.ts +0 -71
- package/src/framer/adapter.spec.ts +0 -620
- package/src/framer/client.spec.ts +0 -180
- package/src/framer/codec.spec.ts +0 -383
- package/src/framer/deleter.spec.ts +0 -103
- package/src/framer/frame.spec.ts +0 -973
- package/src/framer/iterator.spec.ts +0 -169
- package/src/framer/reader.spec.ts +0 -865
- package/src/framer/streamer.spec.ts +0 -871
- package/src/framer/writer.spec.ts +0 -486
- package/src/group/access.spec.ts +0 -77
- package/src/group/group.spec.ts +0 -65
- package/src/label/access.spec.ts +0 -109
- package/src/label/label.spec.ts +0 -83
- package/src/lineplot/access.spec.ts +0 -134
- package/src/lineplot/lineplot.spec.ts +0 -120
- package/src/log/access.spec.ts +0 -132
- package/src/log/log.spec.ts +0 -106
- package/src/ontology/ontology.spec.ts +0 -521
- package/src/rack/access.spec.ts +0 -102
- package/src/rack/rack.spec.ts +0 -171
- package/src/ranger/access.spec.ts +0 -115
- package/src/ranger/alias/payload.spec.ts +0 -52
- package/src/ranger/ranger.spec.ts +0 -343
- package/src/schematic/access.spec.ts +0 -134
- package/src/schematic/actions.spec.ts +0 -699
- package/src/schematic/schematic.spec.ts +0 -340
- package/src/schematic/symbol/access.spec.ts +0 -172
- package/src/schematic/symbol/client.spec.ts +0 -160
- package/src/status/access.spec.ts +0 -129
- package/src/status/status.spec.ts +0 -448
- package/src/table/access.spec.ts +0 -128
- package/src/table/table.spec.ts +0 -651
- package/src/task/access.spec.ts +0 -131
- package/src/task/payload.spec.ts +0 -113
- package/src/task/task.spec.ts +0 -657
- package/src/user/access.spec.ts +0 -107
- package/src/user/user.spec.ts +0 -290
- package/src/util/retrieve.spec.ts +0 -49
- package/src/view/view.spec.ts +0 -165
- package/src/workspace/access.spec.ts +0 -108
- package/src/workspace/client.ts +0 -112
- package/src/workspace/types.gen.ts +0 -46
- package/src/workspace/workspace.spec.ts +0 -111
- package/tsconfig.json +0 -5
- package/tsconfig.vite.json +0 -4
- package/vite.config.ts +0 -29
- /package/dist/src/{workspace → project}/external.d.ts +0 -0
package/src/label/access.spec.ts
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Synnax Labs, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Use of this software is governed by the Business Source License included in the file
|
|
4
|
-
// licenses/BSL.txt.
|
|
5
|
-
//
|
|
6
|
-
// As of the Change Date specified in that file, in accordance with the Business Source
|
|
7
|
-
// License, use of this software will be governed by the Apache License, Version 2.0,
|
|
8
|
-
// included in the file licenses/APL.txt.
|
|
9
|
-
|
|
10
|
-
import { describe, expect, it } from "vitest";
|
|
11
|
-
|
|
12
|
-
import { AuthError, NotFoundError } from "@/errors";
|
|
13
|
-
import { label } from "@/label";
|
|
14
|
-
import { createTestClientWithPolicy } from "@/testutil/access";
|
|
15
|
-
import { createTestClient } from "@/testutil/client";
|
|
16
|
-
|
|
17
|
-
const client = createTestClient();
|
|
18
|
-
|
|
19
|
-
describe("label", () => {
|
|
20
|
-
describe("access control", () => {
|
|
21
|
-
it("should deny access when no retrieve policy exists", async () => {
|
|
22
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
23
|
-
name: "test",
|
|
24
|
-
objects: [],
|
|
25
|
-
actions: [],
|
|
26
|
-
});
|
|
27
|
-
const randomLabel = await client.labels.create({
|
|
28
|
-
name: "test",
|
|
29
|
-
color: "#E774D0",
|
|
30
|
-
});
|
|
31
|
-
await expect(
|
|
32
|
-
userClient.labels.retrieve({ key: randomLabel.key }),
|
|
33
|
-
).rejects.toThrow(AuthError);
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
it("should allow the caller to retrieve labels with the correct policy", async () => {
|
|
37
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
38
|
-
name: "test",
|
|
39
|
-
objects: [label.ontologyID("")],
|
|
40
|
-
actions: ["retrieve"],
|
|
41
|
-
});
|
|
42
|
-
const randomLabel = await client.labels.create({
|
|
43
|
-
name: "test",
|
|
44
|
-
color: "#E774D0",
|
|
45
|
-
});
|
|
46
|
-
const retrieved = await userClient.labels.retrieve({ key: randomLabel.key });
|
|
47
|
-
expect(retrieved.key).toBe(randomLabel.key);
|
|
48
|
-
expect(retrieved.name).toBe(randomLabel.name);
|
|
49
|
-
expect(retrieved.color).toEqual(randomLabel.color);
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
it("should allow the caller to create labels with the correct policy", async () => {
|
|
53
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
54
|
-
name: "test",
|
|
55
|
-
objects: [label.ontologyID("")],
|
|
56
|
-
actions: ["create"],
|
|
57
|
-
});
|
|
58
|
-
await userClient.labels.create({
|
|
59
|
-
name: "test",
|
|
60
|
-
color: "#E774D0",
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
it("should deny access when no create policy exists", async () => {
|
|
65
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
66
|
-
name: "test",
|
|
67
|
-
objects: [label.ontologyID("")],
|
|
68
|
-
actions: [],
|
|
69
|
-
});
|
|
70
|
-
await expect(
|
|
71
|
-
userClient.labels.create({
|
|
72
|
-
name: "test",
|
|
73
|
-
color: "#E774D0",
|
|
74
|
-
}),
|
|
75
|
-
).rejects.toThrow(AuthError);
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
it("should allow the caller to delete labels with the correct policy", async () => {
|
|
79
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
80
|
-
name: "test",
|
|
81
|
-
objects: [label.ontologyID("")],
|
|
82
|
-
actions: ["delete"],
|
|
83
|
-
});
|
|
84
|
-
const randomLabel = await client.labels.create({
|
|
85
|
-
name: "test",
|
|
86
|
-
color: "#E774D0",
|
|
87
|
-
});
|
|
88
|
-
await userClient.labels.delete(randomLabel.key);
|
|
89
|
-
await expect(
|
|
90
|
-
userClient.labels.retrieve({ key: randomLabel.key }),
|
|
91
|
-
).rejects.toThrow(NotFoundError);
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
it("should deny access when no delete policy exists", async () => {
|
|
95
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
96
|
-
name: "test",
|
|
97
|
-
objects: [label.ontologyID("")],
|
|
98
|
-
actions: [],
|
|
99
|
-
});
|
|
100
|
-
const randomLabel = await client.labels.create({
|
|
101
|
-
name: "test",
|
|
102
|
-
color: "#E774D0",
|
|
103
|
-
});
|
|
104
|
-
await expect(userClient.labels.delete(randomLabel.key)).rejects.toThrow(
|
|
105
|
-
AuthError,
|
|
106
|
-
);
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
});
|
package/src/label/label.spec.ts
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Synnax Labs, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Use of this software is governed by the Business Source License included in the file
|
|
4
|
-
// licenses/BSL.txt.
|
|
5
|
-
//
|
|
6
|
-
// As of the Change Date specified in that file, in accordance with the Business Source
|
|
7
|
-
// License, use of this software will be governed by the Apache License, Version 2.0,
|
|
8
|
-
// included in the file licenses/APL.txt.
|
|
9
|
-
|
|
10
|
-
import { id } from "@synnaxlabs/x";
|
|
11
|
-
import { describe, expect, it } from "vitest";
|
|
12
|
-
|
|
13
|
-
import { label } from "@/label";
|
|
14
|
-
import { createTestClient } from "@/testutil/client";
|
|
15
|
-
|
|
16
|
-
const client = createTestClient();
|
|
17
|
-
|
|
18
|
-
describe("Label", () => {
|
|
19
|
-
describe("create", () => {
|
|
20
|
-
it("should create a label", async () => {
|
|
21
|
-
const v = await client.labels.create({
|
|
22
|
-
name: "Label",
|
|
23
|
-
color: "#E774D0",
|
|
24
|
-
});
|
|
25
|
-
expect(v.key).not.toHaveLength(0);
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
describe("retrieve", () => {
|
|
30
|
-
it("should retrieve a label by its key", async () => {
|
|
31
|
-
const v = await client.labels.create({
|
|
32
|
-
name: "Label",
|
|
33
|
-
color: "#E774D0",
|
|
34
|
-
});
|
|
35
|
-
const retrieved = await client.labels.retrieve({ key: v.key });
|
|
36
|
-
expect(retrieved).toEqual(v);
|
|
37
|
-
});
|
|
38
|
-
it("should retrieve labels by search term", async () => {
|
|
39
|
-
const prefix = `searchable-label-${id.create()}`;
|
|
40
|
-
const names = [`${prefix}-1`, `${prefix}-2`];
|
|
41
|
-
await client.labels.create(names.map((name) => ({ name, color: "#E774D0" })));
|
|
42
|
-
await expect
|
|
43
|
-
.poll(async () => {
|
|
44
|
-
const results = await client.labels.retrieve({ searchTerm: prefix });
|
|
45
|
-
return results.map((l) => l.name).sort();
|
|
46
|
-
})
|
|
47
|
-
.toEqual(names);
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
describe("delete", () => {
|
|
52
|
-
it("should delete a label by its key", async () => {
|
|
53
|
-
const v = await client.labels.create({
|
|
54
|
-
name: "Label",
|
|
55
|
-
color: "#E774D0",
|
|
56
|
-
});
|
|
57
|
-
await client.labels.delete(v.key);
|
|
58
|
-
await expect(
|
|
59
|
-
async () => await client.labels.retrieve({ key: v.key }),
|
|
60
|
-
).rejects.toThrow();
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
describe("label", () => {
|
|
65
|
-
it("should set a label on an item", async () => {
|
|
66
|
-
const l1 = await client.labels.create({ name: "Label One", color: "#E774D0" });
|
|
67
|
-
const l2 = await client.labels.create({ name: "Label Two", color: "#E774D0" });
|
|
68
|
-
await client.labels.label(label.ontologyID(l1.key), [l2.key]);
|
|
69
|
-
const labels = await client.labels.retrieve({ for: label.ontologyID(l1.key) });
|
|
70
|
-
expect(labels).toHaveLength(1);
|
|
71
|
-
expect(labels[0].key).toEqual(l2.key);
|
|
72
|
-
});
|
|
73
|
-
it("should replace the labels on an item", async () => {
|
|
74
|
-
const l1 = await client.labels.create({ name: "Label One", color: "#E774D0" });
|
|
75
|
-
const l2 = await client.labels.create({ name: "Label Two", color: "#E774D0" });
|
|
76
|
-
await client.labels.label(label.ontologyID(l1.key), [l2.key]);
|
|
77
|
-
await client.labels.label(label.ontologyID(l1.key), [l1.key], { replace: true });
|
|
78
|
-
const labels = await client.labels.retrieve({ for: label.ontologyID(l1.key) });
|
|
79
|
-
expect(labels).toHaveLength(1);
|
|
80
|
-
expect(labels[0].key).toEqual(l1.key);
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
});
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Synnax Labs, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Use of this software is governed by the Business Source License included in the file
|
|
4
|
-
// licenses/BSL.txt.
|
|
5
|
-
//
|
|
6
|
-
// As of the Change Date specified in that file, in accordance with the Business Source
|
|
7
|
-
// License, use of this software will be governed by the Apache License, Version 2.0,
|
|
8
|
-
// included in the file licenses/APL.txt.
|
|
9
|
-
|
|
10
|
-
import { describe, expect, it } from "vitest";
|
|
11
|
-
|
|
12
|
-
import { AuthError, NotFoundError } from "@/errors";
|
|
13
|
-
import { lineplot } from "@/lineplot";
|
|
14
|
-
import { createTestClientWithPolicy } from "@/testutil/access";
|
|
15
|
-
import { createTestClient } from "@/testutil/client";
|
|
16
|
-
|
|
17
|
-
const client = createTestClient();
|
|
18
|
-
|
|
19
|
-
describe("lineplot", () => {
|
|
20
|
-
describe("access control", () => {
|
|
21
|
-
it("should deny access when no retrieve policy exists", async () => {
|
|
22
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
23
|
-
name: "test",
|
|
24
|
-
objects: [],
|
|
25
|
-
actions: [],
|
|
26
|
-
});
|
|
27
|
-
const ws = await client.workspaces.create({
|
|
28
|
-
name: "test",
|
|
29
|
-
layout: {},
|
|
30
|
-
});
|
|
31
|
-
const randomLinePlot = await client.lineplots.create(ws.key, {
|
|
32
|
-
name: "test",
|
|
33
|
-
data: {},
|
|
34
|
-
});
|
|
35
|
-
await expect(
|
|
36
|
-
userClient.lineplots.retrieve({ key: randomLinePlot.key }),
|
|
37
|
-
).rejects.toThrow(AuthError);
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
it("should allow the caller to retrieve lineplots with the correct policy", async () => {
|
|
41
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
42
|
-
name: "test",
|
|
43
|
-
objects: [lineplot.ontologyID("")],
|
|
44
|
-
actions: ["retrieve"],
|
|
45
|
-
});
|
|
46
|
-
const ws = await client.workspaces.create({
|
|
47
|
-
name: "test",
|
|
48
|
-
layout: {},
|
|
49
|
-
});
|
|
50
|
-
const randomLinePlot = await client.lineplots.create(ws.key, {
|
|
51
|
-
name: "test",
|
|
52
|
-
data: {},
|
|
53
|
-
});
|
|
54
|
-
const retrieved = await userClient.lineplots.retrieve({
|
|
55
|
-
key: randomLinePlot.key,
|
|
56
|
-
});
|
|
57
|
-
expect(retrieved.key).toBe(randomLinePlot.key);
|
|
58
|
-
expect(retrieved.name).toBe(randomLinePlot.name);
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
it("should allow the caller to create lineplots with the correct policy", async () => {
|
|
62
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
63
|
-
name: "test",
|
|
64
|
-
objects: [lineplot.ontologyID("")],
|
|
65
|
-
actions: ["create"],
|
|
66
|
-
});
|
|
67
|
-
const ws = await client.workspaces.create({
|
|
68
|
-
name: "test",
|
|
69
|
-
layout: {},
|
|
70
|
-
});
|
|
71
|
-
await userClient.lineplots.create(ws.key, {
|
|
72
|
-
name: "test",
|
|
73
|
-
data: {},
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
it("should deny access when no create policy exists", async () => {
|
|
78
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
79
|
-
name: "test",
|
|
80
|
-
objects: [lineplot.ontologyID("")],
|
|
81
|
-
actions: [],
|
|
82
|
-
});
|
|
83
|
-
const ws = await client.workspaces.create({
|
|
84
|
-
name: "test",
|
|
85
|
-
layout: {},
|
|
86
|
-
});
|
|
87
|
-
await expect(
|
|
88
|
-
userClient.lineplots.create(ws.key, {
|
|
89
|
-
name: "test",
|
|
90
|
-
data: {},
|
|
91
|
-
}),
|
|
92
|
-
).rejects.toThrow(AuthError);
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
it("should allow the caller to delete lineplots with the correct policy", async () => {
|
|
96
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
97
|
-
name: "test",
|
|
98
|
-
objects: [lineplot.ontologyID("")],
|
|
99
|
-
actions: ["delete", "retrieve"],
|
|
100
|
-
});
|
|
101
|
-
const ws = await client.workspaces.create({
|
|
102
|
-
name: "test",
|
|
103
|
-
layout: {},
|
|
104
|
-
});
|
|
105
|
-
const randomLinePlot = await client.lineplots.create(ws.key, {
|
|
106
|
-
name: "test",
|
|
107
|
-
data: {},
|
|
108
|
-
});
|
|
109
|
-
await userClient.lineplots.delete(randomLinePlot.key);
|
|
110
|
-
await expect(
|
|
111
|
-
userClient.lineplots.retrieve({ key: randomLinePlot.key }),
|
|
112
|
-
).rejects.toThrow(NotFoundError);
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
it("should deny access when no delete policy exists", async () => {
|
|
116
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
117
|
-
name: "test",
|
|
118
|
-
objects: [lineplot.ontologyID("")],
|
|
119
|
-
actions: [],
|
|
120
|
-
});
|
|
121
|
-
const ws = await client.workspaces.create({
|
|
122
|
-
name: "test",
|
|
123
|
-
layout: {},
|
|
124
|
-
});
|
|
125
|
-
const randomLinePlot = await client.lineplots.create(ws.key, {
|
|
126
|
-
name: "test",
|
|
127
|
-
data: {},
|
|
128
|
-
});
|
|
129
|
-
await expect(userClient.lineplots.delete(randomLinePlot.key)).rejects.toThrow(
|
|
130
|
-
AuthError,
|
|
131
|
-
);
|
|
132
|
-
});
|
|
133
|
-
});
|
|
134
|
-
});
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Synnax Labs, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Use of this software is governed by the Business Source License included in the file
|
|
4
|
-
// licenses/BSL.txt.
|
|
5
|
-
//
|
|
6
|
-
// As of the Change Date specified in that file, in accordance with the Business Source
|
|
7
|
-
// License, use of this software will be governed by the Apache License, Version 2.0,
|
|
8
|
-
// included in the file licenses/APL.txt.
|
|
9
|
-
|
|
10
|
-
import { uuid } from "@synnaxlabs/x";
|
|
11
|
-
import { describe, expect, test } from "vitest";
|
|
12
|
-
|
|
13
|
-
import { NotFoundError } from "@/errors";
|
|
14
|
-
import { createTestClient } from "@/testutil/client";
|
|
15
|
-
|
|
16
|
-
const client = createTestClient();
|
|
17
|
-
|
|
18
|
-
describe("LinePlot", () => {
|
|
19
|
-
describe("create", () => {
|
|
20
|
-
test("create one", async () => {
|
|
21
|
-
const ws = await client.workspaces.create({
|
|
22
|
-
name: "Line Plot",
|
|
23
|
-
layout: { one: 1 },
|
|
24
|
-
});
|
|
25
|
-
const linePlot = await client.lineplots.create(ws.key, {
|
|
26
|
-
name: "Line Plot",
|
|
27
|
-
data: { one: 1 },
|
|
28
|
-
});
|
|
29
|
-
expect(linePlot.name).toEqual("Line Plot");
|
|
30
|
-
expect(linePlot.key).not.toEqual(uuid.ZERO);
|
|
31
|
-
expect(linePlot.data.one).toEqual(1);
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
describe("rename", () => {
|
|
35
|
-
test("rename one", async () => {
|
|
36
|
-
const ws = await client.workspaces.create({
|
|
37
|
-
name: "Line Plot",
|
|
38
|
-
layout: { one: 1 },
|
|
39
|
-
});
|
|
40
|
-
const linePlot = await client.lineplots.create(ws.key, {
|
|
41
|
-
name: "Line Plot",
|
|
42
|
-
data: { one: 1 },
|
|
43
|
-
});
|
|
44
|
-
await client.lineplots.rename(linePlot.key, "Line Plot2");
|
|
45
|
-
const res = await client.lineplots.retrieve({ key: linePlot.key });
|
|
46
|
-
expect(res.name).toEqual("Line Plot2");
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
describe("setData", () => {
|
|
50
|
-
test("set data", async () => {
|
|
51
|
-
const ws = await client.workspaces.create({
|
|
52
|
-
name: "Line Plot",
|
|
53
|
-
layout: { one: 1 },
|
|
54
|
-
});
|
|
55
|
-
const linePlot = await client.lineplots.create(ws.key, {
|
|
56
|
-
name: "Line Plot",
|
|
57
|
-
data: { one: 1 },
|
|
58
|
-
});
|
|
59
|
-
await client.lineplots.setData(linePlot.key, { two: 2 });
|
|
60
|
-
const res = await client.lineplots.retrieve({ key: linePlot.key });
|
|
61
|
-
expect(res.data.two).toEqual(2);
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
describe("delete", () => {
|
|
65
|
-
test("delete one", async () => {
|
|
66
|
-
const ws = await client.workspaces.create({
|
|
67
|
-
name: "Line Plot",
|
|
68
|
-
layout: { one: 1 },
|
|
69
|
-
});
|
|
70
|
-
const linePlot = await client.lineplots.create(ws.key, {
|
|
71
|
-
name: "Line Plot",
|
|
72
|
-
data: { one: 1 },
|
|
73
|
-
});
|
|
74
|
-
await client.lineplots.delete(linePlot.key);
|
|
75
|
-
await expect(client.lineplots.retrieve({ key: linePlot.key })).rejects.toThrow(
|
|
76
|
-
NotFoundError,
|
|
77
|
-
);
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
describe("case preservation", () => {
|
|
81
|
-
test("should preserve key casing in data field on create/retrieve cycle", async () => {
|
|
82
|
-
const ws = await client.workspaces.create({ name: "CaseTest", layout: {} });
|
|
83
|
-
const linePlot = await client.lineplots.create(ws.key, {
|
|
84
|
-
name: "CaseTest",
|
|
85
|
-
data: {
|
|
86
|
-
camelCaseKey: "value1",
|
|
87
|
-
PascalCaseKey: "value2",
|
|
88
|
-
snake_case_key: "value3",
|
|
89
|
-
nested: {
|
|
90
|
-
innerCamelCase: 123,
|
|
91
|
-
InnerPascalCase: { deepKey: true },
|
|
92
|
-
},
|
|
93
|
-
},
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
const retrieved = await client.lineplots.retrieve({
|
|
97
|
-
key: linePlot.key,
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
const data = retrieved.data as Record<string, unknown>;
|
|
101
|
-
expect(data.camelCaseKey).toEqual("value1");
|
|
102
|
-
expect(data.PascalCaseKey).toEqual("value2");
|
|
103
|
-
expect(data.snake_case_key).toEqual("value3");
|
|
104
|
-
expect((data.nested as Record<string, unknown>).innerCamelCase).toEqual(123);
|
|
105
|
-
expect(
|
|
106
|
-
(
|
|
107
|
-
(data.nested as Record<string, unknown>).InnerPascalCase as Record<
|
|
108
|
-
string,
|
|
109
|
-
unknown
|
|
110
|
-
>
|
|
111
|
-
).deepKey,
|
|
112
|
-
).toEqual(true);
|
|
113
|
-
expect(Object.keys(data)).toContain("camelCaseKey");
|
|
114
|
-
expect(Object.keys(data)).toContain("PascalCaseKey");
|
|
115
|
-
expect(Object.keys(data)).toContain("snake_case_key");
|
|
116
|
-
expect(Object.keys(data)).not.toContain("camel_case_key");
|
|
117
|
-
expect(Object.keys(data)).not.toContain("pascal_case_key");
|
|
118
|
-
});
|
|
119
|
-
});
|
|
120
|
-
});
|
package/src/log/access.spec.ts
DELETED
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Synnax Labs, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Use of this software is governed by the Business Source License included in the file
|
|
4
|
-
// licenses/BSL.txt.
|
|
5
|
-
//
|
|
6
|
-
// As of the Change Date specified in that file, in accordance with the Business Source
|
|
7
|
-
// License, use of this software will be governed by the Apache License, Version 2.0,
|
|
8
|
-
// included in the file licenses/APL.txt.
|
|
9
|
-
|
|
10
|
-
import { describe, expect, it } from "vitest";
|
|
11
|
-
|
|
12
|
-
import { AuthError, NotFoundError } from "@/errors";
|
|
13
|
-
import { log } from "@/log";
|
|
14
|
-
import { createTestClientWithPolicy } from "@/testutil/access";
|
|
15
|
-
import { createTestClient } from "@/testutil/client";
|
|
16
|
-
|
|
17
|
-
const client = createTestClient();
|
|
18
|
-
|
|
19
|
-
describe("log", () => {
|
|
20
|
-
describe("access control", () => {
|
|
21
|
-
it("should deny access when no retrieve policy exists", async () => {
|
|
22
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
23
|
-
name: "test",
|
|
24
|
-
objects: [],
|
|
25
|
-
actions: [],
|
|
26
|
-
});
|
|
27
|
-
const ws = await client.workspaces.create({
|
|
28
|
-
name: "test",
|
|
29
|
-
layout: {},
|
|
30
|
-
});
|
|
31
|
-
const randomLog = await client.logs.create(ws.key, {
|
|
32
|
-
name: "test",
|
|
33
|
-
data: {},
|
|
34
|
-
});
|
|
35
|
-
await expect(userClient.logs.retrieve({ key: randomLog.key })).rejects.toThrow(
|
|
36
|
-
AuthError,
|
|
37
|
-
);
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
it("should allow the caller to retrieve logs with the correct policy", async () => {
|
|
41
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
42
|
-
name: "test",
|
|
43
|
-
objects: [log.ontologyID("")],
|
|
44
|
-
actions: ["retrieve"],
|
|
45
|
-
});
|
|
46
|
-
const ws = await client.workspaces.create({
|
|
47
|
-
name: "test",
|
|
48
|
-
layout: {},
|
|
49
|
-
});
|
|
50
|
-
const randomLog = await client.logs.create(ws.key, {
|
|
51
|
-
name: "test",
|
|
52
|
-
data: {},
|
|
53
|
-
});
|
|
54
|
-
const retrieved = await userClient.logs.retrieve({
|
|
55
|
-
key: randomLog.key,
|
|
56
|
-
});
|
|
57
|
-
expect(retrieved.key).toBe(randomLog.key);
|
|
58
|
-
expect(retrieved.name).toBe(randomLog.name);
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
it("should allow the caller to create logs with the correct policy", async () => {
|
|
62
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
63
|
-
name: "test",
|
|
64
|
-
objects: [log.ontologyID("")],
|
|
65
|
-
actions: ["create"],
|
|
66
|
-
});
|
|
67
|
-
const ws = await client.workspaces.create({
|
|
68
|
-
name: "test",
|
|
69
|
-
layout: {},
|
|
70
|
-
});
|
|
71
|
-
await userClient.logs.create(ws.key, {
|
|
72
|
-
name: "test",
|
|
73
|
-
data: {},
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
it("should deny access when no create policy exists", async () => {
|
|
78
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
79
|
-
name: "test",
|
|
80
|
-
objects: [log.ontologyID("")],
|
|
81
|
-
actions: [],
|
|
82
|
-
});
|
|
83
|
-
const ws = await client.workspaces.create({
|
|
84
|
-
name: "test",
|
|
85
|
-
layout: {},
|
|
86
|
-
});
|
|
87
|
-
await expect(
|
|
88
|
-
userClient.logs.create(ws.key, {
|
|
89
|
-
name: "test",
|
|
90
|
-
data: {},
|
|
91
|
-
}),
|
|
92
|
-
).rejects.toThrow(AuthError);
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
it("should allow the caller to delete logs with the correct policy", async () => {
|
|
96
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
97
|
-
name: "test",
|
|
98
|
-
objects: [log.ontologyID("")],
|
|
99
|
-
actions: ["delete", "retrieve"],
|
|
100
|
-
});
|
|
101
|
-
const ws = await client.workspaces.create({
|
|
102
|
-
name: "test",
|
|
103
|
-
layout: {},
|
|
104
|
-
});
|
|
105
|
-
const randomLog = await client.logs.create(ws.key, {
|
|
106
|
-
name: "test",
|
|
107
|
-
data: {},
|
|
108
|
-
});
|
|
109
|
-
await userClient.logs.delete(randomLog.key);
|
|
110
|
-
await expect(userClient.logs.retrieve({ key: randomLog.key })).rejects.toThrow(
|
|
111
|
-
NotFoundError,
|
|
112
|
-
);
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
it("should deny access when no delete policy exists", async () => {
|
|
116
|
-
const userClient = await createTestClientWithPolicy(client, {
|
|
117
|
-
name: "test",
|
|
118
|
-
objects: [log.ontologyID("")],
|
|
119
|
-
actions: [],
|
|
120
|
-
});
|
|
121
|
-
const ws = await client.workspaces.create({
|
|
122
|
-
name: "test",
|
|
123
|
-
layout: {},
|
|
124
|
-
});
|
|
125
|
-
const randomLog = await client.logs.create(ws.key, {
|
|
126
|
-
name: "test",
|
|
127
|
-
data: {},
|
|
128
|
-
});
|
|
129
|
-
await expect(userClient.logs.delete(randomLog.key)).rejects.toThrow(AuthError);
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
});
|
package/src/log/log.spec.ts
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Synnax Labs, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Use of this software is governed by the Business Source License included in the file
|
|
4
|
-
// licenses/BSL.txt.
|
|
5
|
-
//
|
|
6
|
-
// As of the Change Date specified in that file, in accordance with the Business Source
|
|
7
|
-
// License, use of this software will be governed by the Apache License, Version 2.0,
|
|
8
|
-
// included in the file licenses/APL.txt.
|
|
9
|
-
|
|
10
|
-
import { uuid } from "@synnaxlabs/x";
|
|
11
|
-
import { describe, expect, test } from "vitest";
|
|
12
|
-
|
|
13
|
-
import { NotFoundError } from "@/errors";
|
|
14
|
-
import { createTestClient } from "@/testutil/client";
|
|
15
|
-
|
|
16
|
-
const client = createTestClient();
|
|
17
|
-
|
|
18
|
-
describe("Log", () => {
|
|
19
|
-
describe("create", () => {
|
|
20
|
-
test("create one", async () => {
|
|
21
|
-
const ws = await client.workspaces.create({ name: "Log", layout: { one: 1 } });
|
|
22
|
-
const log = await client.logs.create(ws.key, {
|
|
23
|
-
name: "Log",
|
|
24
|
-
data: { one: 1 },
|
|
25
|
-
});
|
|
26
|
-
expect(log.name).toEqual("Log");
|
|
27
|
-
expect(log.key).not.toEqual(uuid.ZERO);
|
|
28
|
-
expect(log.data.one).toEqual(1);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
describe("rename", () => {
|
|
32
|
-
test("rename one", async () => {
|
|
33
|
-
const ws = await client.workspaces.create({ name: "Log", layout: { one: 1 } });
|
|
34
|
-
const log = await client.logs.create(ws.key, {
|
|
35
|
-
name: "Log",
|
|
36
|
-
data: { one: 1 },
|
|
37
|
-
});
|
|
38
|
-
await client.logs.rename(log.key, "Log2");
|
|
39
|
-
const res = await client.logs.retrieve({ key: log.key });
|
|
40
|
-
expect(res.name).toEqual("Log2");
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
describe("setData", () => {
|
|
44
|
-
test("set data", async () => {
|
|
45
|
-
const ws = await client.workspaces.create({ name: "Log", layout: { one: 1 } });
|
|
46
|
-
const log = await client.logs.create(ws.key, {
|
|
47
|
-
name: "Log",
|
|
48
|
-
data: { one: 1 },
|
|
49
|
-
});
|
|
50
|
-
await client.logs.setData(log.key, { two: 2 });
|
|
51
|
-
const res = await client.logs.retrieve({ key: log.key });
|
|
52
|
-
expect(res.data.two).toEqual(2);
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
describe("delete", () => {
|
|
56
|
-
test("delete one", async () => {
|
|
57
|
-
const ws = await client.workspaces.create({ name: "Log", layout: { one: 1 } });
|
|
58
|
-
const log = await client.logs.create(ws.key, {
|
|
59
|
-
name: "Log",
|
|
60
|
-
data: { one: 1 },
|
|
61
|
-
});
|
|
62
|
-
await client.logs.delete(log.key);
|
|
63
|
-
await expect(client.logs.retrieve({ key: log.key })).rejects.toThrow(
|
|
64
|
-
NotFoundError,
|
|
65
|
-
);
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
describe("case preservation", () => {
|
|
69
|
-
test("should preserve key casing in data field on create/retrieve cycle", async () => {
|
|
70
|
-
const ws = await client.workspaces.create({ name: "CaseTest", layout: {} });
|
|
71
|
-
const log = await client.logs.create(ws.key, {
|
|
72
|
-
name: "CaseTest",
|
|
73
|
-
data: {
|
|
74
|
-
camelCaseKey: "value1",
|
|
75
|
-
PascalCaseKey: "value2",
|
|
76
|
-
snake_case_key: "value3",
|
|
77
|
-
nested: {
|
|
78
|
-
innerCamelCase: 123,
|
|
79
|
-
InnerPascalCase: { deepKey: true },
|
|
80
|
-
},
|
|
81
|
-
},
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
const retrieved = await client.logs.retrieve({ key: log.key });
|
|
85
|
-
|
|
86
|
-
const data = retrieved.data as Record<string, unknown>;
|
|
87
|
-
expect(data.camelCaseKey).toEqual("value1");
|
|
88
|
-
expect(data.PascalCaseKey).toEqual("value2");
|
|
89
|
-
expect(data.snake_case_key).toEqual("value3");
|
|
90
|
-
expect((data.nested as Record<string, unknown>).innerCamelCase).toEqual(123);
|
|
91
|
-
expect(
|
|
92
|
-
(
|
|
93
|
-
(data.nested as Record<string, unknown>).InnerPascalCase as Record<
|
|
94
|
-
string,
|
|
95
|
-
unknown
|
|
96
|
-
>
|
|
97
|
-
).deepKey,
|
|
98
|
-
).toEqual(true);
|
|
99
|
-
expect(Object.keys(data)).toContain("camelCaseKey");
|
|
100
|
-
expect(Object.keys(data)).toContain("PascalCaseKey");
|
|
101
|
-
expect(Object.keys(data)).toContain("snake_case_key");
|
|
102
|
-
expect(Object.keys(data)).not.toContain("camel_case_key");
|
|
103
|
-
expect(Object.keys(data)).not.toContain("pascal_case_key");
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
});
|