@carthooks/arcubase-cli 0.1.21 → 0.1.23

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 (57) hide show
  1. package/bundle/arcubase-admin.mjs +1430 -83
  2. package/bundle/arcubase.mjs +1430 -83
  3. package/dist/generated/command_registry.generated.d.ts +300 -0
  4. package/dist/generated/command_registry.generated.d.ts.map +1 -1
  5. package/dist/generated/command_registry.generated.js +416 -0
  6. package/dist/generated/help_examples.generated.d.ts +116 -0
  7. package/dist/generated/help_examples.generated.d.ts.map +1 -1
  8. package/dist/generated/help_examples.generated.js +184 -0
  9. package/dist/generated/type_index.generated.d.ts +40 -1
  10. package/dist/generated/type_index.generated.d.ts.map +1 -1
  11. package/dist/generated/type_index.generated.js +42 -1
  12. package/dist/generated/zod_registry.generated.d.ts +29 -1
  13. package/dist/generated/zod_registry.generated.d.ts.map +1 -1
  14. package/dist/generated/zod_registry.generated.js +37 -0
  15. package/dist/runtime/dev_sdk_gen.d.ts +9 -0
  16. package/dist/runtime/dev_sdk_gen.d.ts.map +1 -0
  17. package/dist/runtime/dev_sdk_gen.js +319 -0
  18. package/dist/runtime/execute.d.ts.map +1 -1
  19. package/dist/runtime/execute.js +326 -1
  20. package/dist/runtime/zod_registry.d.ts.map +1 -1
  21. package/dist/runtime/zod_registry.js +58 -0
  22. package/package.json +1 -1
  23. package/sdk-dist/api/admin/index.ts +1 -0
  24. package/sdk-dist/api/admin/public-link.ts +48 -0
  25. package/sdk-dist/api/shared-link/form.ts +42 -1
  26. package/sdk-dist/api/user/index.ts +0 -1
  27. package/sdk-dist/docs/runtime-reference/dashboard.md +22 -0
  28. package/sdk-dist/docs/runtime-reference/dev-sdk-gen.md +41 -0
  29. package/sdk-dist/docs/runtime-reference/help-examples/admin/dashboard/update-layout.json +16 -0
  30. package/sdk-dist/docs/runtime-reference/help-examples/admin/widget/create.json +33 -0
  31. package/sdk-dist/docs/runtime-reference/help-examples/admin/widget/preview-data.json +66 -0
  32. package/sdk-dist/docs/runtime-reference/help-examples/admin/widget/update-ingress-options.json +21 -0
  33. package/sdk-dist/docs/runtime-reference/widgets.md +64 -0
  34. package/sdk-dist/generated/command_registry.generated.ts +416 -0
  35. package/sdk-dist/generated/help_examples.generated.ts +184 -0
  36. package/sdk-dist/generated/type_index.generated.ts +42 -1
  37. package/sdk-dist/generated/zod_registry.generated.ts +56 -0
  38. package/sdk-dist/types/app.ts +37 -1
  39. package/sdk-dist/types/common.ts +77 -35
  40. package/sdk-dist/types/index.ts +1 -1
  41. package/sdk-dist/types/public-link.ts +10 -0
  42. package/sdk-dist/types/shared-link.ts +16 -1
  43. package/sdk-dist/types/user-action.ts +1 -43
  44. package/src/generated/command_registry.generated.ts +416 -0
  45. package/src/generated/help_examples.generated.ts +184 -0
  46. package/src/generated/type_index.generated.ts +42 -1
  47. package/src/generated/zod_registry.generated.ts +56 -0
  48. package/src/runtime/dev_sdk_gen.ts +360 -0
  49. package/src/runtime/execute.ts +371 -1
  50. package/src/runtime/zod_registry.ts +58 -0
  51. package/src/tests/command_registry.test.ts +21 -2
  52. package/src/tests/dev_sdk_gen.test.ts +226 -0
  53. package/src/tests/docs_readability.test.ts +15 -0
  54. package/src/tests/execute_validation.test.ts +226 -0
  55. package/src/tests/help.test.ts +86 -0
  56. package/sdk-dist/api/user/copilot.ts +0 -20
  57. package/sdk-dist/types/copilot.ts +0 -34
@@ -11,7 +11,7 @@
11
11
  */
12
12
 
13
13
  /** @format int32 */
14
- import type { WorkflowStateType, PermitValueFrom, PermitEntityProp, PermitEntityEvent, NotificationPayloadMode, NotificationNotificationType, WidgetsTypeCode, PronounsType, MagicStringPartType, CubeMeasureAggregate, GormDeletedAt, AiOptions, ApiEndpoint, ApiEndpointParam, ApiOptions, App, AppOptions, Assets, Button, ChartOption, CubeDimension, CubeMeasure, CustomAction, DashboardOptions, DashboardWidgets, DataRecord, EntityFrontEvent, EntityOptions, EntityPrintTemplate, EntityVO, Fields, IngressGroup, IngressItem, MagicString, MagicStringPart, Tenant, TenantDepartment, User, WidgetsListViewOptions, WidgetsOption, DataRecordProcess, DataRecordResource, DataRecordTrans, I18NText, PermitColumn, PermitConditionSet, PermitEntityListOptions, PermitEntityListTab, PermitEntityListWidget, PermitFieldPermit, PermitPolicy, PermitRecordCondition, PermitSearchColumn, PermitUserScope, PostqueryAppendData, PostqueryUserData, PostqueryAssetsData, PostqueryDepartmentData, PostqueryLinktoData, SqlNullTime, StorageUrlSets, CommonPagination, EntityValidateUniqFieldVO, EntityValidateUniqReqVO, EntityValidateUniqRespVO, EntityWorkflowNodeVO, EntityWorkflowVersionVO, ErrorResponse, UploadPreviewReqVO } from './common'
14
+ import type { WorkflowStateType, PermitValueFrom, PermitEntityProp, PermitEntityEvent, NotificationPayloadMode, NotificationNotificationType, WidgetsTypeCode, PronounsType, MagicStringPartType, CubeMeasureAggregate, GormDeletedAt, AiOptions, ApiEndpoint, ApiEndpointParam, ApiOptions, App, AppOptions, Assets, Button, ChartOption, CubeDimension, CubeMeasure, CustomAction, DashboardOptions, DashboardWidgets, DataRecord, EntityFrontEvent, EntityOptions, EntityPrintTemplate, EntityVO, Fields, IngressGroup, IngressItem, MagicString, MagicStringPart, Tenant, TenantDepartment, User, WidgetsListViewOptions, WidgetsOption, DataRecordProcess, DataRecordResource, DataRecordTrans, I18NText, PermitColumn, PermitConditionSet, PermitEntityListOptions, PermitEntityListTab, PermitEntityListWidget, PermitFieldPermit, PermitPermit, PermitPolicy, PermitRecordCondition, PermitSearchColumn, PermitUserScope, PostqueryAppendData, PostqueryUserData, PostqueryAssetsData, PostqueryDepartmentData, PostqueryLinktoData, SqlNullTime, StorageUrlSets, CommonPagination, EntityQueryLinkToValuesReqVO, EntityQueryRelationReqVO, EntityQueryRelationRespVO, EntityValidateUniqFieldVO, EntityValidateUniqReqVO, EntityValidateUniqRespVO, EntityWorkflowNodeVO, EntityWorkflowVersionVO, ErrorResponse, UploadPreviewReqVO } from './common'
15
15
 
16
16
  export enum EventTrigger {
17
17
  EventTriggerAutomate = 1,
@@ -149,12 +149,6 @@ export interface PermitFilterCond {
149
149
  number_in?: number[];
150
150
  }
151
151
 
152
- export interface PermitPermit {
153
- all_fields_read?: boolean;
154
- all_fields_write?: boolean;
155
- fields?: PermitFieldPermit[];
156
- }
157
-
158
152
  export interface AppDetailDashboardVO {
159
153
  id?: number;
160
154
  name?: string;
@@ -470,47 +464,11 @@ export interface EntityQueryFilterRespVO {
470
464
  items?: any;
471
465
  }
472
466
 
473
- export interface EntityQueryLinkToValuesReqVO {
474
- addition?: boolean;
475
- data?: Record<string, any>;
476
- entity?: boolean;
477
- field_id?: number;
478
- input?: string;
479
- limit?: number;
480
- offset?: number;
481
- policies?: boolean;
482
- query?: string;
483
- record_id?: number;
484
- total?: boolean;
485
- }
486
-
487
467
  export interface EntityQueryOrderVO {
488
468
  column?: string;
489
469
  order?: string;
490
470
  }
491
471
 
492
- export interface EntityQueryRelationReqVO {
493
- addition?: boolean;
494
- data?: Record<string, any>;
495
- entity?: boolean;
496
- field_id?: number;
497
- input?: string;
498
- limit?: number;
499
- offset?: number;
500
- policies?: boolean;
501
- query?: string;
502
- total?: boolean;
503
- }
504
-
505
- export interface EntityQueryRelationRespVO {
506
- add_policy?: PermitPolicy;
507
- addition?: PostqueryAppendData;
508
- entity?: EntityVO;
509
- records?: DataRecord[];
510
- total?: number;
511
- view_policy?: PermitPolicy;
512
- }
513
-
514
472
  export interface EntityQueryReqVO {
515
473
  limit?: number;
516
474
  offset?: number;
@@ -167,6 +167,148 @@ export const adminCommands = [
167
167
  "queryParams": [],
168
168
  "responseType": "boolean"
169
169
  },
170
+ {
171
+ "scope": "admin",
172
+ "module": "dashboard",
173
+ "functionName": "getDashboardList",
174
+ "commandPath": [
175
+ "dashboard",
176
+ "list"
177
+ ],
178
+ "method": "GET",
179
+ "endpoint": "/api/apps/:app_id/dashboard",
180
+ "pathParams": [
181
+ {
182
+ "param": "app_id",
183
+ "flag": "app-id"
184
+ }
185
+ ],
186
+ "controller": "Dashboard.GetList",
187
+ "requestType": null,
188
+ "queryParams": [],
189
+ "responseType": "DashboardGetListRespVO"
190
+ },
191
+ {
192
+ "scope": "admin",
193
+ "module": "dashboard",
194
+ "functionName": "createDashboard",
195
+ "commandPath": [
196
+ "dashboard",
197
+ "create"
198
+ ],
199
+ "method": "POST",
200
+ "endpoint": "/api/apps/:app_id/dashboard",
201
+ "pathParams": [
202
+ {
203
+ "param": "app_id",
204
+ "flag": "app-id"
205
+ }
206
+ ],
207
+ "controller": "Dashboard.Create",
208
+ "requestType": "DashboardCreateReqVO",
209
+ "queryParams": [],
210
+ "responseType": "DashboardCreateRespVO"
211
+ },
212
+ {
213
+ "scope": "admin",
214
+ "module": "dashboard",
215
+ "functionName": "getDashboardOptions",
216
+ "commandPath": [
217
+ "dashboard",
218
+ "get-options"
219
+ ],
220
+ "method": "GET",
221
+ "endpoint": "/api/apps/:app_id/dashboard/:dashboard_id/options",
222
+ "pathParams": [
223
+ {
224
+ "param": "app_id",
225
+ "flag": "app-id"
226
+ },
227
+ {
228
+ "param": "dashboard_id",
229
+ "flag": "dashboard-id"
230
+ }
231
+ ],
232
+ "controller": "Dashboard.FetchOptions",
233
+ "requestType": null,
234
+ "queryParams": [],
235
+ "responseType": "DashboardFetchOptionsRespVO"
236
+ },
237
+ {
238
+ "scope": "admin",
239
+ "module": "dashboard",
240
+ "functionName": "updateDashboardOptions",
241
+ "commandPath": [
242
+ "dashboard",
243
+ "update-options"
244
+ ],
245
+ "method": "PUT",
246
+ "endpoint": "/api/apps/:app_id/dashboard/:dashboard_id/options",
247
+ "pathParams": [
248
+ {
249
+ "param": "app_id",
250
+ "flag": "app-id"
251
+ },
252
+ {
253
+ "param": "dashboard_id",
254
+ "flag": "dashboard-id"
255
+ }
256
+ ],
257
+ "controller": "Dashboard.UpdateOptions",
258
+ "requestType": "DashboardUpdateOptionsReqVO",
259
+ "queryParams": [],
260
+ "responseType": "DashboardUpdateOptionsRespVO"
261
+ },
262
+ {
263
+ "scope": "admin",
264
+ "module": "dashboard",
265
+ "functionName": "updateDashboardLayout",
266
+ "commandPath": [
267
+ "dashboard",
268
+ "update-layout"
269
+ ],
270
+ "method": "PUT",
271
+ "endpoint": "/api/apps/:app_id/dashboard/:dashboard_id/layout",
272
+ "pathParams": [
273
+ {
274
+ "param": "app_id",
275
+ "flag": "app-id"
276
+ },
277
+ {
278
+ "param": "dashboard_id",
279
+ "flag": "dashboard-id"
280
+ }
281
+ ],
282
+ "controller": "Dashboard.UpdateLayout",
283
+ "requestType": "DashboardUpdateLayoutReqVO",
284
+ "queryParams": [],
285
+ "responseType": "DashboardUpdateLayoutRespVO"
286
+ },
287
+ {
288
+ "scope": "admin",
289
+ "module": "dashboard",
290
+ "functionName": "updateDashboardTitle",
291
+ "commandPath": [
292
+ "dashboard",
293
+ "rename"
294
+ ],
295
+ "method": "PUT",
296
+ "endpoint": "/api/apps/:app_id/dashboard/:dashboard_id/label",
297
+ "pathParams": [
298
+ {
299
+ "param": "app_id",
300
+ "flag": "app-id"
301
+ },
302
+ {
303
+ "param": "dashboard_id",
304
+ "flag": "dashboard-id"
305
+ }
306
+ ],
307
+ "controller": "Dashboard.UpdateTitle",
308
+ "requestType": "DashboardUpdateTitleReqVO",
309
+ "queryParams": [],
310
+ "responseType": "DashboardUpdateTitleRespVO"
311
+ },
170
312
  {
171
313
  "scope": "admin",
172
314
  "module": "table",
@@ -602,6 +744,188 @@ export const adminCommands = [
602
744
  "requestType": "EntityWorkflowUpdateReqVO",
603
745
  "queryParams": [],
604
746
  "responseType": "EntityWorkflowUpdateRespVO"
747
+ },
748
+ {
749
+ "scope": "admin",
750
+ "module": "widget",
751
+ "functionName": "widgetsList",
752
+ "commandPath": [
753
+ "widget",
754
+ "list"
755
+ ],
756
+ "method": "GET",
757
+ "endpoint": "/api/apps/:app_id/widgets",
758
+ "pathParams": [
759
+ {
760
+ "param": "app_id",
761
+ "flag": "app-id"
762
+ }
763
+ ],
764
+ "controller": "App.WidgetsList",
765
+ "requestType": null,
766
+ "queryParams": [
767
+ {
768
+ "key": "type",
769
+ "flag": "type",
770
+ "type": "string",
771
+ "hasDefault": true
772
+ },
773
+ {
774
+ "key": "dashboard_id",
775
+ "flag": "dashboard-id",
776
+ "type": "number",
777
+ "hasDefault": true
778
+ },
779
+ {
780
+ "key": "ingress_id",
781
+ "flag": "ingress-id",
782
+ "type": "number",
783
+ "hasDefault": true
784
+ }
785
+ ],
786
+ "responseType": "AppWidgetsListRespVO"
787
+ },
788
+ {
789
+ "scope": "admin",
790
+ "module": "widget",
791
+ "functionName": "getWidgets",
792
+ "commandPath": [
793
+ "widget",
794
+ "get"
795
+ ],
796
+ "method": "GET",
797
+ "endpoint": "/api/apps/:app_id/widgets/:widgets_id",
798
+ "pathParams": [
799
+ {
800
+ "param": "app_id",
801
+ "flag": "app-id"
802
+ },
803
+ {
804
+ "param": "widgets_id",
805
+ "flag": "widget-id"
806
+ }
807
+ ],
808
+ "controller": "App.GetWidgets",
809
+ "requestType": null,
810
+ "queryParams": [],
811
+ "responseType": "AppGetWidgetsRespVO"
812
+ },
813
+ {
814
+ "scope": "admin",
815
+ "module": "widget",
816
+ "functionName": "newWidgets",
817
+ "commandPath": [
818
+ "widget",
819
+ "create"
820
+ ],
821
+ "method": "POST",
822
+ "endpoint": "/api/apps/:app_id/widgets",
823
+ "pathParams": [
824
+ {
825
+ "param": "app_id",
826
+ "flag": "app-id"
827
+ }
828
+ ],
829
+ "controller": "App.NewWidgets",
830
+ "requestType": "AppNewWidgetsReqVO",
831
+ "queryParams": [],
832
+ "responseType": "AppNewWidgetsRespVO"
833
+ },
834
+ {
835
+ "scope": "admin",
836
+ "module": "widget",
837
+ "functionName": "updateWidgets",
838
+ "commandPath": [
839
+ "widget",
840
+ "update"
841
+ ],
842
+ "method": "PUT",
843
+ "endpoint": "/api/apps/:app_id/widgets/:widgets_id",
844
+ "pathParams": [
845
+ {
846
+ "param": "app_id",
847
+ "flag": "app-id"
848
+ },
849
+ {
850
+ "param": "widgets_id",
851
+ "flag": "widget-id"
852
+ }
853
+ ],
854
+ "controller": "App.UpdateWidgets",
855
+ "requestType": "AppUpdateWidgetsReqVO",
856
+ "queryParams": [],
857
+ "responseType": "AppUpdateWidgetsRespVO"
858
+ },
859
+ {
860
+ "scope": "admin",
861
+ "module": "widget",
862
+ "functionName": "updateWidgetsIngressOptions",
863
+ "commandPath": [
864
+ "widget",
865
+ "update-ingress-options"
866
+ ],
867
+ "method": "PUT",
868
+ "endpoint": "/api/apps/:app_id/widgets/:widgets_id/ingress-options",
869
+ "pathParams": [
870
+ {
871
+ "param": "app_id",
872
+ "flag": "app-id"
873
+ },
874
+ {
875
+ "param": "widgets_id",
876
+ "flag": "widget-id"
877
+ }
878
+ ],
879
+ "controller": "App.UpdateWidgetsIngressOptions",
880
+ "requestType": "AppUpdateWidgetsIngressOptionsReqVO",
881
+ "queryParams": [],
882
+ "responseType": "AppUpdateWidgetsIngressOptionsRespVO"
883
+ },
884
+ {
885
+ "scope": "admin",
886
+ "module": "widget",
887
+ "functionName": "previewWidgetsData",
888
+ "commandPath": [
889
+ "widget",
890
+ "preview-data"
891
+ ],
892
+ "method": "POST",
893
+ "endpoint": "/api/apps/:app_id/widgets-preview",
894
+ "pathParams": [
895
+ {
896
+ "param": "app_id",
897
+ "flag": "app-id"
898
+ }
899
+ ],
900
+ "controller": "App.PreviewWidgetsData",
901
+ "requestType": "AppPreviewWidgetsDataReqVO",
902
+ "queryParams": [],
903
+ "responseType": "AppPreviewWidgetsDataRespVO"
904
+ },
905
+ {
906
+ "scope": "admin",
907
+ "module": "widget",
908
+ "functionName": "deleteWidgets",
909
+ "commandPath": [
910
+ "widget",
911
+ "delete"
912
+ ],
913
+ "method": "DELETE",
914
+ "endpoint": "/api/apps/:app_id/widgets/:widgets_id",
915
+ "pathParams": [
916
+ {
917
+ "param": "app_id",
918
+ "flag": "app-id"
919
+ },
920
+ {
921
+ "param": "widgets_id",
922
+ "flag": "widget-id"
923
+ }
924
+ ],
925
+ "controller": "App.DeleteWidgets",
926
+ "requestType": null,
927
+ "queryParams": [],
928
+ "responseType": "boolean"
605
929
  }
606
930
  ] as const
607
931
 
@@ -629,6 +953,77 @@ export const userCommands = [
629
953
  ],
630
954
  "responseType": "GlobalActionEntryRespVO"
631
955
  },
956
+ {
957
+ "scope": "user",
958
+ "module": "app",
959
+ "functionName": "getAppDetail",
960
+ "commandPath": [
961
+ "app",
962
+ "get"
963
+ ],
964
+ "method": "GET",
965
+ "endpoint": "/api/apps/:id",
966
+ "pathParams": [
967
+ {
968
+ "param": "id",
969
+ "flag": "app-id"
970
+ }
971
+ ],
972
+ "controller": "UserAction.AppDetail",
973
+ "requestType": null,
974
+ "queryParams": [],
975
+ "responseType": "AppDetailRespVO"
976
+ },
977
+ {
978
+ "scope": "user",
979
+ "module": "dashboard",
980
+ "functionName": "getDashboard",
981
+ "commandPath": [
982
+ "dashboard",
983
+ "get"
984
+ ],
985
+ "method": "GET",
986
+ "endpoint": "/api/dashboard/:app_id/:dashboard_id",
987
+ "pathParams": [
988
+ {
989
+ "param": "app_id",
990
+ "flag": "app-id"
991
+ },
992
+ {
993
+ "param": "dashboard_id",
994
+ "flag": "dashboard-id"
995
+ }
996
+ ],
997
+ "controller": "UserAction.DashboardGet",
998
+ "requestType": null,
999
+ "queryParams": [],
1000
+ "responseType": "DashboardGetRespVO"
1001
+ },
1002
+ {
1003
+ "scope": "user",
1004
+ "module": "dashboard",
1005
+ "functionName": "getDashboardWidgets",
1006
+ "commandPath": [
1007
+ "dashboard",
1008
+ "widgets"
1009
+ ],
1010
+ "method": "GET",
1011
+ "endpoint": "/api/dashboard/:app_id/:dashboard_id/widgets",
1012
+ "pathParams": [
1013
+ {
1014
+ "param": "app_id",
1015
+ "flag": "app-id"
1016
+ },
1017
+ {
1018
+ "param": "dashboard_id",
1019
+ "flag": "dashboard-id"
1020
+ }
1021
+ ],
1022
+ "controller": "UserAction.DashboardWidgets",
1023
+ "requestType": null,
1024
+ "queryParams": [],
1025
+ "responseType": "DashboardWidgets[]"
1026
+ },
632
1027
  {
633
1028
  "scope": "user",
634
1029
  "module": "table",
@@ -1050,6 +1445,27 @@ export const userCommands = [
1050
1445
  "queryParams": [],
1051
1446
  "responseType": "MobileUploadCheckRespVO"
1052
1447
  },
1448
+ {
1449
+ "scope": "user",
1450
+ "module": "widget",
1451
+ "functionName": "fetchWidgetsData",
1452
+ "commandPath": [
1453
+ "widget",
1454
+ "data"
1455
+ ],
1456
+ "method": "POST",
1457
+ "endpoint": "/api/apps/:app_id/widgets-data",
1458
+ "pathParams": [
1459
+ {
1460
+ "param": "app_id",
1461
+ "flag": "app-id"
1462
+ }
1463
+ ],
1464
+ "controller": "UserAction.FetchWidgetsData",
1465
+ "requestType": "FetchWidgetsDataReqVO",
1466
+ "queryParams": [],
1467
+ "responseType": "FetchWidgetsDataRespVO"
1468
+ },
1053
1469
  {
1054
1470
  "scope": "user",
1055
1471
  "module": "profile",
@@ -346,6 +346,190 @@ export const helpExamplesIndex = {
346
346
  }
347
347
  ]
348
348
  },
349
+ "admin.dashboard.update-layout": {
350
+ "command": [
351
+ "dashboard",
352
+ "update-layout"
353
+ ],
354
+ "examples": [
355
+ {
356
+ "title": "place one dashboard widget in the top-left area",
357
+ "body": [
358
+ {
359
+ "id": 2188892001,
360
+ "x": 0,
361
+ "y": 0,
362
+ "w": 12,
363
+ "h": 6
364
+ }
365
+ ],
366
+ "notes": [
367
+ "the request body is a top-level array",
368
+ "do not wrap the array as {\"layout\":[...]}"
369
+ ]
370
+ }
371
+ ]
372
+ },
373
+ "admin.widget.create": {
374
+ "command": [
375
+ "widget",
376
+ "create"
377
+ ],
378
+ "examples": [
379
+ {
380
+ "title": "create a dashboard chart widget",
381
+ "body": {
382
+ "type": "chart",
383
+ "options": {
384
+ "dashboard_id": 2188892001
385
+ }
386
+ },
387
+ "notes": [
388
+ "do not set options.type by hand",
389
+ "dashboard_id selects a dashboard widget",
390
+ "use widget update next to save chart options"
391
+ ]
392
+ },
393
+ {
394
+ "title": "create an ingress list widget",
395
+ "body": {
396
+ "type": "list",
397
+ "options": {
398
+ "ingress_id": 2188893001
399
+ }
400
+ },
401
+ "notes": [
402
+ "ingress_id selects an ingress widget",
403
+ "do not place ingress widgets with dashboard update-layout"
404
+ ]
405
+ }
406
+ ]
407
+ },
408
+ "admin.widget.preview-data": {
409
+ "command": [
410
+ "widget",
411
+ "preview-data"
412
+ ],
413
+ "examples": [
414
+ {
415
+ "title": "preview dashboard chart data from a table",
416
+ "body": {
417
+ "dataSource": 2188891001,
418
+ "dataSourceType": "entity",
419
+ "dimensions": [
420
+ {
421
+ "IsField": true,
422
+ "FieldID": 1004,
423
+ "Name": "Source"
424
+ }
425
+ ],
426
+ "measures": [
427
+ {
428
+ "FieldID": 1005,
429
+ "Aggregate": "sum",
430
+ "Name": "Total Amount"
431
+ }
432
+ ]
433
+ },
434
+ "notes": [
435
+ "preview-data does not accept --widget-id",
436
+ "do not send widget_id or id in the request body",
437
+ "copy dimensions and measures from the chart query you want to preview"
438
+ ]
439
+ },
440
+ {
441
+ "title": "preview count and distinct_count in one grouped chart",
442
+ "body": {
443
+ "dataSource": 2188891001,
444
+ "dataSourceType": "entity",
445
+ "dimensions": [
446
+ {
447
+ "IsField": true,
448
+ "FieldID": 1004,
449
+ "Name": "Source"
450
+ }
451
+ ],
452
+ "measures": [
453
+ {
454
+ "Aggregate": "count",
455
+ "Name": "Lead Count"
456
+ },
457
+ {
458
+ "FieldID": 1002,
459
+ "Aggregate": "distinct_count",
460
+ "Name": "Distinct Customers"
461
+ }
462
+ ]
463
+ },
464
+ "notes": [
465
+ "supported Aggregate values are sum, avg, max, min, count, and distinct_count",
466
+ "unsupported aggregate names fail local body validation before the request is sent"
467
+ ]
468
+ },
469
+ {
470
+ "title": "preview filtered distinct_count grouped by source",
471
+ "body": {
472
+ "dataSource": 2188891001,
473
+ "dataSourceType": "entity",
474
+ "dimensions": [
475
+ {
476
+ "IsField": true,
477
+ "FieldID": 1004,
478
+ "Name": "Source"
479
+ }
480
+ ],
481
+ "conditions": {
482
+ "mode": "and",
483
+ "conditions": [
484
+ {
485
+ "column": ":1006",
486
+ "operator": "$eq",
487
+ "value": "yes"
488
+ }
489
+ ]
490
+ },
491
+ "measures": [
492
+ {
493
+ "FieldID": 1002,
494
+ "Aggregate": "distinct_count",
495
+ "Name": "Distinct Customers"
496
+ }
497
+ ]
498
+ },
499
+ "notes": [
500
+ "use conditions, not filters, for chart data filtering",
501
+ "for saved charts put the same condition set under options.charts.conditions",
502
+ "do not remove the condition and hand-calculate filtered statistics from row query results"
503
+ ]
504
+ }
505
+ ]
506
+ },
507
+ "admin.widget.update-ingress-options": {
508
+ "command": [
509
+ "widget",
510
+ "update-ingress-options"
511
+ ],
512
+ "examples": [
513
+ {
514
+ "title": "adjust an ingress list widget display configuration",
515
+ "body": {
516
+ "options": {
517
+ "cond_follow": true,
518
+ "cond_follow_tab": true,
519
+ "cond_follow_cols": [
520
+ ":1001",
521
+ ":1002"
522
+ ]
523
+ }
524
+ },
525
+ "notes": [
526
+ "use this only for widgets created with options.ingress_id",
527
+ "do not use dashboard update-layout for ingress widgets",
528
+ "verify with widget get after updating ingress options"
529
+ ]
530
+ }
531
+ ]
532
+ },
349
533
  "user.row.bulk-update": {
350
534
  "command": [
351
535
  "row",