@saltcorn/data 0.9.4-beta.9 → 0.9.4

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 (128) hide show
  1. package/dist/base-plugin/actions.d.ts +124 -58
  2. package/dist/base-plugin/actions.d.ts.map +1 -1
  3. package/dist/base-plugin/actions.js +94 -19
  4. package/dist/base-plugin/actions.js.map +1 -1
  5. package/dist/base-plugin/fieldviews.d.ts.map +1 -1
  6. package/dist/base-plugin/fieldviews.js +9 -1
  7. package/dist/base-plugin/fieldviews.js.map +1 -1
  8. package/dist/base-plugin/fileviews.d.ts +13 -0
  9. package/dist/base-plugin/fileviews.js +42 -2
  10. package/dist/base-plugin/fileviews.js.map +1 -1
  11. package/dist/base-plugin/index.d.ts +187 -183
  12. package/dist/base-plugin/index.d.ts.map +1 -1
  13. package/dist/base-plugin/types.d.ts.map +1 -1
  14. package/dist/base-plugin/types.js +19 -10
  15. package/dist/base-plugin/types.js.map +1 -1
  16. package/dist/base-plugin/viewtemplates/edit.d.ts +4 -1
  17. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
  18. package/dist/base-plugin/viewtemplates/edit.js +109 -33
  19. package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
  20. package/dist/base-plugin/viewtemplates/feed.d.ts.map +1 -1
  21. package/dist/base-plugin/viewtemplates/feed.js +4 -1
  22. package/dist/base-plugin/viewtemplates/feed.js.map +1 -1
  23. package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -1
  24. package/dist/base-plugin/viewtemplates/filter.js +66 -5
  25. package/dist/base-plugin/viewtemplates/filter.js.map +1 -1
  26. package/dist/base-plugin/viewtemplates/list.d.ts +3 -2
  27. package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
  28. package/dist/base-plugin/viewtemplates/list.js +274 -38
  29. package/dist/base-plugin/viewtemplates/list.js.map +1 -1
  30. package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
  31. package/dist/base-plugin/viewtemplates/show.js +80 -26
  32. package/dist/base-plugin/viewtemplates/show.js.map +1 -1
  33. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts +2 -1
  34. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
  35. package/dist/base-plugin/viewtemplates/viewable_fields.js +147 -23
  36. package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
  37. package/dist/db/connect.d.ts.map +1 -1
  38. package/dist/db/connect.js +20 -0
  39. package/dist/db/connect.js.map +1 -1
  40. package/dist/db/fixtures.d.ts.map +1 -1
  41. package/dist/db/fixtures.js +47 -0
  42. package/dist/db/fixtures.js.map +1 -1
  43. package/dist/db/state.d.ts +5 -0
  44. package/dist/db/state.d.ts.map +1 -1
  45. package/dist/db/state.js +18 -0
  46. package/dist/db/state.js.map +1 -1
  47. package/dist/migrations/202402071125.d.ts +2 -0
  48. package/dist/migrations/202402071125.d.ts.map +1 -0
  49. package/dist/migrations/202402071125.js +4 -0
  50. package/dist/migrations/202402071125.js.map +1 -0
  51. package/dist/models/config.d.ts.map +1 -1
  52. package/dist/models/config.js +27 -0
  53. package/dist/models/config.js.map +1 -1
  54. package/dist/models/email.d.ts.map +1 -1
  55. package/dist/models/email.js +6 -2
  56. package/dist/models/email.js.map +1 -1
  57. package/dist/models/field.d.ts.map +1 -1
  58. package/dist/models/field.js +2 -2
  59. package/dist/models/field.js.map +1 -1
  60. package/dist/models/file.d.ts +2 -0
  61. package/dist/models/file.d.ts.map +1 -1
  62. package/dist/models/file.js +9 -0
  63. package/dist/models/file.js.map +1 -1
  64. package/dist/models/internal/query.d.ts +6 -0
  65. package/dist/models/internal/query.d.ts.map +1 -0
  66. package/dist/models/internal/query.js +86 -0
  67. package/dist/models/internal/query.js.map +1 -0
  68. package/dist/models/page.d.ts.map +1 -1
  69. package/dist/models/page.js +4 -0
  70. package/dist/models/page.js.map +1 -1
  71. package/dist/models/page_group.d.ts +1 -0
  72. package/dist/models/page_group.d.ts.map +1 -1
  73. package/dist/models/page_group.js +1 -0
  74. package/dist/models/page_group.js.map +1 -1
  75. package/dist/models/table.d.ts +18 -4
  76. package/dist/models/table.d.ts.map +1 -1
  77. package/dist/models/table.js +84 -52
  78. package/dist/models/table.js.map +1 -1
  79. package/dist/models/tag_entry.d.ts.map +1 -1
  80. package/dist/models/tag_entry.js +9 -0
  81. package/dist/models/tag_entry.js.map +1 -1
  82. package/dist/models/trigger.d.ts +3 -3
  83. package/dist/models/trigger.d.ts.map +1 -1
  84. package/dist/models/trigger.js +69 -7
  85. package/dist/models/trigger.js.map +1 -1
  86. package/dist/models/user.d.ts.map +1 -1
  87. package/dist/models/user.js +5 -4
  88. package/dist/models/user.js.map +1 -1
  89. package/dist/models/view.d.ts +1 -0
  90. package/dist/models/view.d.ts.map +1 -1
  91. package/dist/models/view.js +6 -0
  92. package/dist/models/view.js.map +1 -1
  93. package/dist/plugin-helper.d.ts.map +1 -1
  94. package/dist/plugin-helper.js +56 -17
  95. package/dist/plugin-helper.js.map +1 -1
  96. package/dist/tests/actions.test.js +143 -2
  97. package/dist/tests/actions.test.js.map +1 -1
  98. package/dist/tests/auth.test.js +101 -1
  99. package/dist/tests/auth.test.js.map +1 -1
  100. package/dist/tests/calc.test.js +20 -0
  101. package/dist/tests/calc.test.js.map +1 -1
  102. package/dist/tests/edit.test.js +558 -0
  103. package/dist/tests/edit.test.js.map +1 -1
  104. package/dist/tests/filter.test.d.ts +2 -0
  105. package/dist/tests/filter.test.d.ts.map +1 -0
  106. package/dist/tests/filter.test.js +438 -0
  107. package/dist/tests/filter.test.js.map +1 -0
  108. package/dist/tests/list.test.d.ts +2 -0
  109. package/dist/tests/list.test.d.ts.map +1 -0
  110. package/dist/tests/list.test.js +903 -0
  111. package/dist/tests/list.test.js.map +1 -0
  112. package/dist/tests/show.test.d.ts +2 -0
  113. package/dist/tests/show.test.d.ts.map +1 -0
  114. package/dist/tests/show.test.js +325 -0
  115. package/dist/tests/show.test.js.map +1 -0
  116. package/dist/tests/table.test.js +213 -56
  117. package/dist/tests/table.test.js.map +1 -1
  118. package/dist/tests/table_history.test.js +51 -0
  119. package/dist/tests/table_history.test.js.map +1 -1
  120. package/dist/tests/tag.test.js +1 -1
  121. package/dist/tests/tag.test.js.map +1 -1
  122. package/dist/tests/view.test.js +15 -1
  123. package/dist/tests/view.test.js.map +1 -1
  124. package/dist/utils.d.ts +2 -0
  125. package/dist/utils.d.ts.map +1 -1
  126. package/dist/utils.js +19 -0
  127. package/dist/utils.js.map +1 -1
  128. package/package.json +8 -8
@@ -12,12 +12,13 @@ const { eval_expression } = require("../../models/expression");
12
12
  const Field = require("../../models/field");
13
13
  const Form = require("../../models/form");
14
14
  const { traverseSync } = require("../../models/layout");
15
- const { structuredClone, isWeb, isOfflineMode, getSessionId, } = require("../../utils");
15
+ const { structuredClone, isWeb, isOfflineMode, getSessionId, interpolate, } = require("../../utils");
16
16
  const db = require("../../db");
17
17
  const View = require("../../models/view");
18
18
  const Table = require("../../models/table");
19
19
  const { isNode, dollarizeObject } = require("../../utils");
20
20
  const { bool, date } = require("../types");
21
+ const _ = require("underscore");
21
22
  const { Relation, parseRelationPath, RelationType, ViewDisplayType, } = require("@saltcorn/common-code");
22
23
  /**
23
24
  * formats the column index of a view cfg
@@ -67,7 +68,7 @@ const action_url = (viewname, table, action_name, r, colId, colIdNm, confirm, co
67
68
  * @param {*} __
68
69
  * @returns {object}
69
70
  */
70
- const action_link = (url, req, { action_name, action_label, confirm, rndid, action_style, action_size, action_icon, action_bgcol, action_bordercol, action_textcol, block, }, __ = (s) => s) => {
71
+ const action_link = (url, req, { action_name, action_label, confirm, rndid, action_style, action_size, action_icon, action_bgcol, action_bordercol, action_textcol, spinner, block, }, __ = (s) => s) => {
71
72
  const label = action_label === " " ? "" : __(action_label) || action_name;
72
73
  let style = action_style === "btn-custom-color"
73
74
  ? `background-color: ${action_bgcol || "#000000"};border-color: ${action_bordercol || "#000000"}; color: ${action_textcol || "#000000"}`
@@ -79,6 +80,7 @@ const action_link = (url, req, { action_name, action_label, confirm, rndid, acti
79
80
  ? ""
80
81
  : `btn ${action_style || "btn-primary"} ${action_size || ""}`,
81
82
  style,
83
+ onclick: spinner ? "spin_action_link(this)" : undefined,
82
84
  }, action_icon && action_icon !== "empty"
83
85
  ? i({ class: action_icon }) + (label ? " " : "")
84
86
  : false, label);
@@ -352,7 +354,7 @@ const view_linker = ({ view, relation, view_label, in_modal, view_label_formula,
352
354
  },
353
355
  };
354
356
  default:
355
- throw new Error(view);
357
+ throw new Error("Invalid relation: " + view);
356
358
  }
357
359
  }
358
360
  };
@@ -381,6 +383,57 @@ const flapMapish = (xs, f) => {
381
383
  }
382
384
  return res;
383
385
  };
386
+ const get_viewable_fields_from_layout = (viewname, statehash, table, fields, columns, isShow, req, __, state = {}, srcViewName, layoutCols) => {
387
+ const typeMap = {
388
+ field: "Field",
389
+ join_field: "JoinField",
390
+ view_link: "ViewLink",
391
+ link: "Link",
392
+ action: "Action",
393
+ blank: "Text",
394
+ aggregation: "Aggregation",
395
+ dropdown_menu: "DropdownMenu",
396
+ };
397
+ const toArray = (x) => !x ? [] : Array.isArray(x) ? x : x.above ? x.above : [x];
398
+ //console.log("layout cols", layoutCols);
399
+ const newCols = layoutCols.map(({ contents, ...rest }) => {
400
+ if (!contents)
401
+ contents = rest;
402
+ const col = {
403
+ ...contents,
404
+ ...rest,
405
+ type: typeMap[contents.type] || contents.type,
406
+ };
407
+ switch (contents.type) {
408
+ case "link":
409
+ col.link_text = contents.text;
410
+ col.link_url = contents.url;
411
+ col.link_url_formula = contents.isFormula?.url;
412
+ col.link_text_formula = contents.isFormula?.text;
413
+ break;
414
+ case "view_link":
415
+ col.view_label_formula = contents.isFormula?.label;
416
+ break;
417
+ case "dropdown_menu":
418
+ col.dropdown_columns = get_viewable_fields_from_layout(viewname, statehash, table, fields, columns, isShow, req, __, (state = {}), srcViewName, toArray(contents.contents));
419
+ break;
420
+ case "blank":
421
+ if (contents.isFormula?.text) {
422
+ col.type = "FormulaValue";
423
+ col.formula = col.contents;
424
+ }
425
+ if (contents.isHTML)
426
+ col.interpolator = (row) => interpolate(contents.contents, row, req?.user);
427
+ break;
428
+ case "action":
429
+ col.action_label_formula = contents.isFormula?.action_label;
430
+ break;
431
+ }
432
+ return col;
433
+ });
434
+ //console.log("newCols", newCols);
435
+ return get_viewable_fields(viewname, statehash, table, fields, newCols, isShow, req, __, (state = {}), srcViewName);
436
+ };
384
437
  /**
385
438
  * @function
386
439
  * @param {string} viewname
@@ -427,6 +480,41 @@ const get_viewable_fields = (viewname, statehash, table, fields, columns, isShow
427
480
  key: (r) => text(eval_expression(column.formula, r, req.user)),
428
481
  };
429
482
  }
483
+ else if (column.type === "Text") {
484
+ return {
485
+ ...setWidth,
486
+ label: column.header_label ? text(__(column.header_label)) : "",
487
+ key: (r) => column.interpolator
488
+ ? column.interpolator(r)
489
+ : text(column.contents),
490
+ };
491
+ }
492
+ else if (column.type === "DropdownMenu") {
493
+ return {
494
+ ...setWidth,
495
+ label: column.header_label ? text(__(column.header_label)) : "",
496
+ key: (r) => div({ class: "dropdown" }, button({
497
+ class: column.action_style === "btn-link"
498
+ ? "btn btn-link"
499
+ : `btn ${column.action_style || "btn-primary"} ${column.action_size || ""} dropdown-toggle`,
500
+ "data-boundary": "viewport",
501
+ type: "button",
502
+ id: `actiondd${r.id}_${index}`,
503
+ "data-bs-toggle": "dropdown",
504
+ "aria-haspopup": "true",
505
+ "aria-expanded": "false",
506
+ style: column.action_style === "btn-custom-color"
507
+ ? `background-color: ${column.action_bgcol || "#000000"};border-color: ${column.action_bordercol || "#000000"}; color: ${column.action_textcol || "#000000"}`
508
+ : null,
509
+ }, column.label || req.__("Action")), div({
510
+ class: [
511
+ "dropdown-menu",
512
+ column.menu_direction === "end" && "dropdown-menu-end",
513
+ ],
514
+ "aria-labelledby": `actiondd${r.id}_${index}`,
515
+ }, column.dropdown_columns.map((acol) => div({ class: "dropdown-item" }, acol.key(r))))),
516
+ };
517
+ }
430
518
  else if (column.type === "Action") {
431
519
  const action_col = {
432
520
  ...setWidth,
@@ -440,24 +528,29 @@ const get_viewable_fields = (viewname, statehash, table, fields, columns, isShow
440
528
  const label = column.action_label_formula
441
529
  ? eval_expression(column.action_label, r, req.user)
442
530
  : __(column.action_label) || __(column.action_name);
531
+ const icon = column.action_icon || column.icon || undefined;
443
532
  if (url.javascript)
444
533
  return a({
445
534
  href: "javascript:" + url.javascript,
446
- class: column.in_dropdown
447
- ? "dropdown-item"
448
- : column.action_style === "btn-link"
449
- ? ""
450
- : `btn ${column.action_style || "btn-primary"} ${column.action_size || ""}`,
451
- }, !!column.icon &&
452
- column.icon !== "empty" &&
453
- i({ class: column.icon }), label);
535
+ class: [
536
+ column.in_dropdown && "dropdown-item",
537
+ column.action_style !== "btn-link" &&
538
+ `btn ${column.action_style || "btn-primary"} ${column.action_size || ""}`,
539
+ ],
540
+ onclick: column.spinner
541
+ ? "spin_action_link(this)"
542
+ : undefined,
543
+ }, !!icon &&
544
+ icon !== "empty" &&
545
+ i({ class: icon }) + (label === " " ? "" : " "), label);
454
546
  else
455
547
  return post_btn(url, label, req.csrfToken(), {
456
548
  small: true,
457
549
  ajax: true,
458
- icon: column.icon || undefined,
550
+ icon,
459
551
  reload_on_done: true,
460
552
  confirm: column.confirm,
553
+ spinner: column.spinner,
461
554
  btnClass: column.in_dropdown
462
555
  ? "dropdown-item"
463
556
  : column.action_style || "btn-primary",
@@ -466,6 +559,7 @@ const get_viewable_fields = (viewname, statehash, table, fields, columns, isShow
466
559
  },
467
560
  };
468
561
  if (column.in_dropdown) {
562
+ //legacy
469
563
  dropdown_actions.push(action_col);
470
564
  return false;
471
565
  }
@@ -501,6 +595,7 @@ const get_viewable_fields = (viewname, statehash, table, fields, columns, isShow
501
595
  else if (column.type === "JoinField") {
502
596
  //console.log(column);
503
597
  let fvrun;
598
+ const fieldview = column.join_fieldview || column.fieldview;
504
599
  let refNm, targetNm, through, key, type;
505
600
  if (column.join_field.includes("->")) {
506
601
  const [relation, target] = column.join_field.split("->");
@@ -517,32 +612,39 @@ const get_viewable_fields = (viewname, statehash, table, fields, columns, isShow
517
612
  }
518
613
  if (column.field_type)
519
614
  type = getState().types[column.field_type];
520
- if (column.join_fieldview &&
521
- type?.fieldviews?.[column.join_fieldview]?.expandColumns) {
615
+ else {
616
+ const field = table.getField(column.join_field);
617
+ if (field && field.type === "File")
618
+ column.field_type = "File";
619
+ else if (field?.type.name && field?.type?.fieldviews[fieldview]) {
620
+ column.field_type = field.type.name;
621
+ type = getState().types[column.field_type];
622
+ }
623
+ }
624
+ if (fieldview && type?.fieldviews?.[fieldview]?.expandColumns) {
522
625
  const reffield = fields.find((f) => f.name === refNm);
523
626
  const reftable = Table.findOne({
524
627
  name: reffield.reftable_name,
525
628
  });
526
629
  const field = reftable.fields.find((f) => f.name === targetNm);
527
- return type.fieldviews[column.join_fieldview].expandColumns(field, {
630
+ return type.fieldviews[fieldview].expandColumns(field, {
528
631
  ...field.attributes,
529
632
  ...column,
530
633
  }, column);
531
634
  }
532
- let gofv = column.join_fieldview &&
533
- type &&
534
- type.fieldviews &&
535
- type.fieldviews[column.join_fieldview]
536
- ? (row) => type.fieldviews[column.join_fieldview].run(row[key], req, {
635
+ let gofv = fieldview && type && type.fieldviews && type.fieldviews[fieldview]
636
+ ? (row) => type.fieldviews[fieldview].run(row[key], req, {
537
637
  row,
538
638
  ...column,
639
+ ...(column?.configuration || {}),
539
640
  })
540
641
  : null;
541
642
  if (!gofv && column.field_type === "File") {
542
643
  gofv = (row) => row[key]
543
- ? getState().fileviews[column.join_fieldview].run(row[key], "", {
644
+ ? getState().fileviews[fieldview].run(row[key], "", {
544
645
  row,
545
646
  ...column,
647
+ ...(column?.configuration || {}),
546
648
  })
547
649
  : "";
548
650
  }
@@ -586,7 +688,7 @@ const get_viewable_fields = (viewname, statehash, table, fields, columns, isShow
586
688
  else {
587
689
  [table, fld] = column.agg_relation.split(".");
588
690
  }
589
- const targetNm = column.targetNm ||
691
+ let targetNm = column.targetNm ||
590
692
  db.sqlsanitize((column.stat.replace(" ", "") +
591
693
  "_" +
592
694
  table +
@@ -596,6 +698,12 @@ const get_viewable_fields = (viewname, statehash, table, fields, columns, isShow
596
698
  column.agg_field.split("@")[0] +
597
699
  "_" +
598
700
  column.aggwhere || "").toLowerCase());
701
+ if (targetNm.length > 58) {
702
+ targetNm = targetNm
703
+ .split("")
704
+ .filter((c, i) => i % 2 == 0)
705
+ .join("");
706
+ }
599
707
  let showValue = (value) => {
600
708
  if (value === true || value === false)
601
709
  return bool.fieldviews.show.run(value);
@@ -609,6 +717,20 @@ const get_viewable_fields = (viewname, statehash, table, fields, columns, isShow
609
717
  if (type?.fieldviews[column.agg_fieldview])
610
718
  showValue = (x) => type.fieldviews[column.agg_fieldview].run(x, req, column);
611
719
  }
720
+ else if (column.agg_fieldview) {
721
+ const aggField = Table.findOne(table)?.getField?.(column.agg_field);
722
+ const outcomeType = column.stat === "Percent true" || column.stat === "Percent false"
723
+ ? "Float"
724
+ : column.stat === "Count" || column.stat === "CountUnique"
725
+ ? "Integer"
726
+ : aggField?.type?.name;
727
+ const type = getState().types[outcomeType];
728
+ if (type?.fieldviews[column.agg_fieldview])
729
+ showValue = (x) => type.fieldviews[column.agg_fieldview].run(type.read(x), req, {
730
+ ...column,
731
+ ...(column?.configuration || {}),
732
+ });
733
+ }
612
734
  let key = (r) => {
613
735
  const value = r[targetNm];
614
736
  return showValue(value);
@@ -653,7 +775,7 @@ const get_viewable_fields = (viewname, statehash, table, fields, columns, isShow
653
775
  row_key: f_with_val.name,
654
776
  key: column.fieldview && f.type === "File"
655
777
  ? (row) => row[f.name] &&
656
- getState().fileviews[column.fieldview].run(row[f.name], row[`${f.name}__filename`], { row, ...column })
778
+ getState().fileviews[column.fieldview].run(row[f.name], row[`${f.name}__filename`], { row, ...column, ...(column?.configuration || {}) })
657
779
  : column.fieldview &&
658
780
  f.type.fieldviews &&
659
781
  f.type.fieldviews[column.fieldview]
@@ -720,6 +842,7 @@ const get_viewable_fields = (viewname, statehash, table, fields, columns, isShow
720
842
  }
721
843
  })).filter((v) => !!v);
722
844
  if (dropdown_actions.length > 0) {
845
+ //legacy
723
846
  tfields.push({
724
847
  label: req.__("Action"),
725
848
  key: (r) => div({ class: "dropdown" }, button({
@@ -935,6 +1058,7 @@ const objToQueryString = (o) => Object.entries(o || {})
935
1058
  .join("&");
936
1059
  module.exports = {
937
1060
  get_viewable_fields,
1061
+ get_viewable_fields_from_layout,
938
1062
  action_url,
939
1063
  objToQueryString,
940
1064
  action_link,
@@ -1 +1 @@
1
- {"version":3,"file":"viewable_fields.js","sourceRoot":"","sources":["../../../base-plugin/viewtemplates/viewable_fields.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewable_fields.js","sourceRoot":"","sources":["../../../base-plugin/viewtemplates/viewable_fields.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../db/connect.js"],"names":[],"mappings":"AA+CA;;;;;;;;;;;GAWG;AACH,iEAFa,MAAM,GAAC,OAAO,CA2E1B;AAWD;;;GAGG;AACH,iCAFa,OAAO,GAAC,GAAG,CASvB;AArBD;;;GAGG;AACH,4BAFU,MAAM,CAEwB;AACxC;;;GAGG;AACH,6BAFU,MAAM,CAE6C;AAa7D;;;;GAIG;AACH,mCAHW,MAAM,GACJ,OAAO,CAQnB;AApJD;;;GAGG;AACH,8BAFU,MAAM,CAE0B"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../db/connect.js"],"names":[],"mappings":"AA+CA;;;;;;;;;;;GAWG;AACH,iEAFa,MAAM,GAAC,OAAO,CAiG1B;AAWD;;;GAGG;AACH,iCAFa,OAAO,GAAC,GAAG,CASvB;AArBD;;;GAGG;AACH,4BAFU,MAAM,CAEwB;AACxC;;;GAGG;AACH,6BAFU,MAAM,CAE6C;AAa7D;;;;GAIG;AACH,mCAHW,MAAM,GACJ,OAAO,CAQnB;AA1KD;;;GAGG;AACH,8BAFU,MAAM,CAE0B"}
@@ -88,6 +88,10 @@ const getConnectObject = (connSpec = {}) => {
88
88
  setKey("password", "PGPASSWORD");
89
89
  setKey("database", "PGDATABASE");
90
90
  setKey("session_secret", "SALTCORN_SESSION_SECRET");
91
+ setKey("sslmode", "PGSSLMODE");
92
+ setKey("sslcert", "PGSSLCERT");
93
+ setKey("sslkey", "PGSSLKEY");
94
+ setKey("sslrootcert", "PGSSLROOTCERT");
91
95
  setKey("jwt_secret", "SALTCORN_JWT_SECRET");
92
96
  setKey("multi_tenant", "SALTCORN_MULTI_TENANT", { default: false });
93
97
  setKey("file_store", "SALTCORN_FILE_STORE", { default: pathsWithApp.data });
@@ -100,6 +104,22 @@ const getConnectObject = (connSpec = {}) => {
100
104
  default: [],
101
105
  transform: stringToJSON,
102
106
  });
107
+ if (connObj.sslmode ||
108
+ connObj.sslcert ||
109
+ connObj.sslkey ||
110
+ connObj.sslrootcert) {
111
+ //https://github.com/brianc/node-postgres/blob/2a8efbee09a284be12748ed3962bc9b816965e36/packages/pg/test/unit/connection-parameters/creation-tests.js#L333
112
+ connObj.ssl = {
113
+ sslmode: connObj.sslmode,
114
+ sslrootcert: connObj.sslrootcert,
115
+ sslcert: connObj.sslcert,
116
+ sslkey: connObj.sslkey,
117
+ };
118
+ delete connObj.sslmode;
119
+ delete connObj.sslcert;
120
+ delete connObj.sslkey;
121
+ delete connObj.sslrootcert;
122
+ }
103
123
  if (!connObj.session_secret)
104
124
  connObj.session_secret = is.str.generate();
105
125
  if (!connObj.jwt_secret)
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../db/connect.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../db/connect.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../db/fixtures.js"],"names":[],"mappings":"AAsBE;;;;GAIG;AACH,6BAFa,QAAQ,IAAI,CAAC,CAw9EzB"}
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../db/fixtures.js"],"names":[],"mappings":"AAuBE;;;;GAIG;AACH,6BAFa,QAAQ,IAAI,CAAC,CA2gFzB"}
@@ -10,6 +10,7 @@ const { getState } = require("./state");
10
10
  const Table = require("../models/table");
11
11
  const Field = require("../models/field");
12
12
  const File = require("../models/file");
13
+ const Trigger = require("../models/trigger");
13
14
  const View = require("../models/view");
14
15
  const User = require("../models/user");
15
16
  const Page = require("../models/page");
@@ -2442,5 +2443,51 @@ module.exports =
2442
2443
  },
2443
2444
  min_role: 100,
2444
2445
  });
2446
+ await Trigger.create({
2447
+ name: "MySteps",
2448
+ action: "Multi-step action",
2449
+ description: "",
2450
+ table_id: null,
2451
+ when_trigger: "Never",
2452
+ configuration: {
2453
+ steps: [
2454
+ {
2455
+ step_only_if: "",
2456
+ step_action_name: "Toast1",
2457
+ },
2458
+ {
2459
+ code: "1;",
2460
+ run_where: "Server",
2461
+ step_only_if: "",
2462
+ step_action_name: "run_js_code",
2463
+ },
2464
+ {
2465
+ text: "note",
2466
+ notify_type: "Notify",
2467
+ step_only_if: "",
2468
+ step_action_name: "toast",
2469
+ },
2470
+ {
2471
+ text: "errrr",
2472
+ notify_type: "Error",
2473
+ step_only_if: "",
2474
+ step_action_name: "toast",
2475
+ },
2476
+ ],
2477
+ },
2478
+ min_role: null,
2479
+ });
2480
+ await Trigger.create({
2481
+ name: "Toast1",
2482
+ action: "toast",
2483
+ description: "",
2484
+ table_id: null,
2485
+ when_trigger: "Never",
2486
+ configuration: {
2487
+ text: "fooo",
2488
+ notify_type: "Success",
2489
+ },
2490
+ min_role: null,
2491
+ });
2445
2492
  };
2446
2493
  //# sourceMappingURL=fixtures.js.map