@budibase/server 0.9.167-alpha.0 → 0.9.167-alpha.12

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 (197) hide show
  1. package/builder/assets/{index.32c8bc7d.js → index.bb938864.js} +34 -34
  2. package/builder/assets/{index.18ad7651.css → index.bcacf476.css} +2 -2
  3. package/builder/assets/{vendor.60887453.js → vendor.a3855e3d.js} +1 -1
  4. package/builder/index.html +3 -3
  5. package/coverage/clover.xml +416 -369
  6. package/coverage/coverage-final.json +17 -16
  7. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/application.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/dev.js.html +41 -17
  17. package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/index.html +43 -43
  19. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/query.js.html +129 -24
  24. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/script.js.html +12 -57
  34. package/coverage/lcov-report/api/controllers/table/index.html +20 -20
  35. package/coverage/lcov-report/api/controllers/table/index.js.html +17 -8
  36. package/coverage/lcov-report/api/controllers/table/utils.js.html +8 -38
  37. package/coverage/lcov-report/api/controllers/templates.js.html +49 -13
  38. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  45. package/coverage/lcov-report/api/index.html +1 -1
  46. package/coverage/lcov-report/api/index.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/dev.js.html +26 -11
  58. package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/index.html +9 -9
  60. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/query.js.html +9 -3
  66. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  77. package/coverage/lcov-report/automations/actions.js.html +31 -10
  78. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  79. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  80. package/coverage/lcov-report/automations/index.html +19 -19
  81. package/coverage/lcov-report/automations/index.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/index.html +1 -1
  91. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  100. package/coverage/lcov-report/automations/thread.js.html +54 -12
  101. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  109. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  110. package/coverage/lcov-report/automations/utils.js.html +1 -1
  111. package/coverage/lcov-report/constants/index.html +1 -1
  112. package/coverage/lcov-report/constants/index.js.html +5 -2
  113. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  114. package/coverage/lcov-report/constants/screens.js.html +1 -1
  115. package/coverage/lcov-report/db/client.js.html +1 -1
  116. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  117. package/coverage/lcov-report/db/index.html +1 -1
  118. package/coverage/lcov-report/db/index.js.html +1 -1
  119. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +12 -12
  120. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  121. package/coverage/lcov-report/db/linkedRows/index.js.html +9 -9
  122. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  123. package/coverage/lcov-report/db/newid.js.html +1 -1
  124. package/coverage/lcov-report/db/utils.js.html +1 -1
  125. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  126. package/coverage/lcov-report/events/index.html +1 -1
  127. package/coverage/lcov-report/events/index.js.html +1 -1
  128. package/coverage/lcov-report/events/utils.js.html +1 -1
  129. package/coverage/lcov-report/index.html +53 -53
  130. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  131. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  132. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  133. package/coverage/lcov-report/middleware/authorized.js.html +1 -1
  134. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  135. package/coverage/lcov-report/middleware/currentapp.js.html +2 -2
  136. package/coverage/lcov-report/middleware/index.html +1 -1
  137. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  138. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  139. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  140. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  141. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  142. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  143. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  144. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  145. package/coverage/lcov-report/utilities/global.js.html +2 -2
  146. package/coverage/lcov-report/utilities/index.html +22 -7
  147. package/coverage/lcov-report/utilities/index.js.html +1 -1
  148. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  149. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  150. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  151. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  152. package/coverage/lcov-report/utilities/rowProcessor/index.html +14 -14
  153. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +38 -8
  154. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  155. package/coverage/lcov-report/utilities/scriptRunner.js.html +143 -0
  156. package/coverage/lcov-report/utilities/security.js.html +1 -1
  157. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  158. package/coverage/lcov-report/utilities/users.js.html +1 -1
  159. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  160. package/coverage/lcov.info +700 -608
  161. package/dist/api/controllers/dev.js +17 -11
  162. package/dist/api/controllers/query.js +26 -8
  163. package/dist/api/controllers/script.js +4 -16
  164. package/dist/api/controllers/table/index.js +3 -0
  165. package/dist/api/controllers/table/utils.js +2 -10
  166. package/dist/api/controllers/templates.js +18 -3
  167. package/dist/api/routes/dev.js +8 -4
  168. package/dist/api/routes/query.js +3 -1
  169. package/dist/automations/actions.js +9 -3
  170. package/dist/automations/thread.js +14 -3
  171. package/dist/constants/index.js +1 -0
  172. package/dist/integrations/base/sql.js +4 -4
  173. package/dist/middleware/currentapp.js +1 -1
  174. package/dist/package.json +5 -4
  175. package/dist/tsconfig.tsbuildinfo +1 -1
  176. package/dist/utilities/global.js +1 -1
  177. package/dist/utilities/rowProcessor/index.js +8 -0
  178. package/dist/utilities/scriptRunner.js +19 -0
  179. package/package.json +6 -5
  180. package/src/api/controllers/dev.js +16 -8
  181. package/src/api/controllers/query.js +46 -11
  182. package/src/api/controllers/script.js +4 -19
  183. package/src/api/controllers/table/index.js +3 -0
  184. package/src/api/controllers/table/utils.js +2 -12
  185. package/src/api/controllers/templates.js +17 -5
  186. package/src/api/routes/dev.js +9 -4
  187. package/src/api/routes/query.js +3 -1
  188. package/src/automations/actions.js +10 -3
  189. package/src/automations/thread.js +17 -3
  190. package/src/constants/index.js +1 -0
  191. package/src/integrations/base/sql.ts +5 -3
  192. package/src/integrations/tests/mongo.spec.js +10 -6
  193. package/src/middleware/currentapp.js +1 -1
  194. package/src/middleware/tests/currentapp.spec.js +3 -3
  195. package/src/utilities/global.js +1 -1
  196. package/src/utilities/rowProcessor/index.js +10 -0
  197. package/src/utilities/scriptRunner.js +21 -0
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">76.25% </span>
26
+ <span class="strong">76.47% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>61/80</span>
28
+ <span class='fraction'>65/85</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">56.25% </span>
33
+ <span class="strong">58.57% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>36/64</span>
35
+ <span class='fraction'>41/70</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">75.95% </span>
47
+ <span class="strong">76.19% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>60/79</span>
49
+ <span class='fraction'>64/84</span>
50
50
  </div>
51
51
 
52
52
 
@@ -309,7 +309,17 @@
309
309
  <a name='L250'></a><a href='#L250'>250</a>
310
310
  <a name='L251'></a><a href='#L251'>251</a>
311
311
  <a name='L252'></a><a href='#L252'>252</a>
312
- <a name='L253'></a><a href='#L253'>253</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
312
+ <a name='L253'></a><a href='#L253'>253</a>
313
+ <a name='L254'></a><a href='#L254'>254</a>
314
+ <a name='L255'></a><a href='#L255'>255</a>
315
+ <a name='L256'></a><a href='#L256'>256</a>
316
+ <a name='L257'></a><a href='#L257'>257</a>
317
+ <a name='L258'></a><a href='#L258'>258</a>
318
+ <a name='L259'></a><a href='#L259'>259</a>
319
+ <a name='L260'></a><a href='#L260'>260</a>
320
+ <a name='L261'></a><a href='#L261'>261</a>
321
+ <a name='L262'></a><a href='#L262'>262</a>
322
+ <a name='L263'></a><a href='#L263'>263</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
313
323
  <span class="cline-any cline-yes">34x</span>
314
324
  <span class="cline-any cline-yes">34x</span>
315
325
  <span class="cline-any cline-yes">34x</span>
@@ -463,6 +473,10 @@
463
473
  <span class="cline-any cline-yes">34x</span>
464
474
  <span class="cline-any cline-neutral">&nbsp;</span>
465
475
  <span class="cline-any cline-yes">174x</span>
476
+ <span class="cline-any cline-no">&nbsp;</span>
477
+ <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-yes">174x</span>
466
480
  <span class="cline-any cline-yes">16x</span>
467
481
  <span class="cline-any cline-yes">158x</span>
468
482
  <span class="cline-any cline-yes">22x</span>
@@ -509,6 +523,12 @@
509
523
  <span class="cline-any cline-neutral">&nbsp;</span>
510
524
  <span class="cline-any cline-neutral">&nbsp;</span>
511
525
  <span class="cline-any cline-yes">73x</span>
526
+ <span class="cline-any cline-yes">68x</span>
527
+ <span class="cline-any cline-yes">68x</span>
528
+ <span class="cline-any cline-neutral">&nbsp;</span>
529
+ <span class="cline-any cline-neutral">&nbsp;</span>
530
+ <span class="cline-any cline-neutral">&nbsp;</span>
531
+ <span class="cline-any cline-yes">73x</span>
512
532
  <span class="cline-any cline-neutral">&nbsp;</span>
513
533
  <span class="cline-any cline-neutral">&nbsp;</span>
514
534
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -713,6 +733,10 @@ exports.processAutoColumn = processAutoColumn
713
733
  * @returns {object} The coerced value
714
734
  */
715
735
  exports.coerce = (row, type) =&gt; {
736
+ // no coercion specified for type, skip it
737
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!TYPE_TRANSFORM_MAP[type]) {
738
+ <span class="cstat-no" title="statement not covered" > return row</span>
739
+ }
716
740
  // eslint-disable-next-line no-prototype-builtins
717
741
  if (TYPE_TRANSFORM_MAP[type].hasOwnProperty(row)) {
718
742
  return TYPE_TRANSFORM_MAP[type][row]
@@ -759,6 +783,12 @@ exports.inputProcessing = (
759
783
  clonedRow[key] = exports.coerce(value, field.type)
760
784
  }
761
785
  }
786
+ &nbsp;
787
+ if (!clonedRow._id || !clonedRow._rev) {
788
+ clonedRow._id = row._id
789
+ clonedRow._rev = row._rev
790
+ }
791
+ &nbsp;
762
792
  // handle auto columns - this returns an object like {table, row}
763
793
  return processAutoColumn(user, copiedTable, clonedRow, opts)
764
794
  }
@@ -820,7 +850,7 @@ exports.outputProcessing = async (
820
850
  <div class='footer quiet pad2 space-top1 center small'>
821
851
  Code coverage generated by
822
852
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
823
- at Wed Oct 13 2021 15:52:51 GMT+0000 (Coordinated Universal Time)
853
+ at Mon Oct 18 2021 10:14:28 GMT+0000 (Coordinated Universal Time)
824
854
  </div>
825
855
  </div>
826
856
  <script src="../../prettify.js"></script>
@@ -133,7 +133,7 @@ exports.processFormulas = (table, rows) =&gt; {
133
133
  <div class='footer quiet pad2 space-top1 center small'>
134
134
  Code coverage generated by
135
135
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
136
- at Wed Oct 13 2021 15:52:51 GMT+0000 (Coordinated Universal Time)
136
+ at Mon Oct 18 2021 10:14:28 GMT+0000 (Coordinated Universal Time)
137
137
  </div>
138
138
  </div>
139
139
  <script src="../../prettify.js"></script>
@@ -0,0 +1,143 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for utilities/scriptRunner.js</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../prettify.css" />
9
+ <link rel="stylesheet" href="../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../index.html">All files</a> / <a href="index.html">utilities</a> scriptRunner.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">25% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>3/12</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/0</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/2</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">25% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>3/12</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ </div>
58
+ <div class='status-line low'></div>
59
+ <pre><table class="coverage">
60
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
+ <a name='L2'></a><a href='#L2'>2</a>
62
+ <a name='L3'></a><a href='#L3'>3</a>
63
+ <a name='L4'></a><a href='#L4'>4</a>
64
+ <a name='L5'></a><a href='#L5'>5</a>
65
+ <a name='L6'></a><a href='#L6'>6</a>
66
+ <a name='L7'></a><a href='#L7'>7</a>
67
+ <a name='L8'></a><a href='#L8'>8</a>
68
+ <a name='L9'></a><a href='#L9'>9</a>
69
+ <a name='L10'></a><a href='#L10'>10</a>
70
+ <a name='L11'></a><a href='#L11'>11</a>
71
+ <a name='L12'></a><a href='#L12'>12</a>
72
+ <a name='L13'></a><a href='#L13'>13</a>
73
+ <a name='L14'></a><a href='#L14'>14</a>
74
+ <a name='L15'></a><a href='#L15'>15</a>
75
+ <a name='L16'></a><a href='#L16'>16</a>
76
+ <a name='L17'></a><a href='#L17'>17</a>
77
+ <a name='L18'></a><a href='#L18'>18</a>
78
+ <a name='L19'></a><a href='#L19'>19</a>
79
+ <a name='L20'></a><a href='#L20'>20</a>
80
+ <a name='L21'></a><a href='#L21'>21</a>
81
+ <a name='L22'></a><a href='#L22'>22</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
82
+ <span class="cline-any cline-yes">34x</span>
83
+ <span class="cline-any cline-neutral">&nbsp;</span>
84
+ <span class="cline-any cline-neutral">&nbsp;</span>
85
+ <span class="cline-any cline-neutral">&nbsp;</span>
86
+ <span class="cline-any cline-no">&nbsp;</span>
87
+ <span class="cline-any cline-no">&nbsp;</span>
88
+ <span class="cline-any cline-no">&nbsp;</span>
89
+ <span class="cline-any cline-no">&nbsp;</span>
90
+ <span class="cline-any cline-no">&nbsp;</span>
91
+ <span class="cline-any cline-no">&nbsp;</span>
92
+ <span class="cline-any cline-no">&nbsp;</span>
93
+ <span class="cline-any cline-neutral">&nbsp;</span>
94
+ <span class="cline-any cline-neutral">&nbsp;</span>
95
+ <span class="cline-any cline-neutral">&nbsp;</span>
96
+ <span class="cline-any cline-no">&nbsp;</span>
97
+ <span class="cline-any cline-no">&nbsp;</span>
98
+ <span class="cline-any cline-neutral">&nbsp;</span>
99
+ <span class="cline-any cline-neutral">&nbsp;</span>
100
+ <span class="cline-any cline-neutral">&nbsp;</span>
101
+ <span class="cline-any cline-yes">34x</span>
102
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const fetch = require("node-fetch")
103
+ const { VM, VMScript } = require("vm2")
104
+ &nbsp;
105
+ class ScriptRunner {
106
+ <span class="fstat-no" title="function not covered" > co</span>nstructor(script, context) {
107
+ const code = <span class="cstat-no" title="statement not covered" >`let fn = () =&gt; {\n${script}\n}; results.out = fn();`</span>
108
+ <span class="cstat-no" title="statement not covered" > this.vm = new VM()</span>
109
+ <span class="cstat-no" title="statement not covered" > this.results = { out: "" }</span>
110
+ <span class="cstat-no" title="statement not covered" > this.vm.setGlobals(context)</span>
111
+ <span class="cstat-no" title="statement not covered" > this.vm.setGlobal("fetch", fetch)</span>
112
+ <span class="cstat-no" title="statement not covered" > this.vm.setGlobal("results", this.results)</span>
113
+ <span class="cstat-no" title="statement not covered" > this.script = new VMScript(code)</span>
114
+ }
115
+ &nbsp;
116
+ <span class="fstat-no" title="function not covered" > ex</span>ecute() {
117
+ <span class="cstat-no" title="statement not covered" > this.vm.run(this.script)</span>
118
+ <span class="cstat-no" title="statement not covered" > return this.results.out</span>
119
+ }
120
+ }
121
+ &nbsp;
122
+ module.exports = ScriptRunner
123
+ &nbsp;</pre></td></tr></table></pre>
124
+
125
+ <div class='push'></div><!-- for sticky footer -->
126
+ </div><!-- /wrapper -->
127
+ <div class='footer quiet pad2 space-top1 center small'>
128
+ Code coverage generated by
129
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
130
+ at Mon Oct 18 2021 10:14:28 GMT+0000 (Coordinated Universal Time)
131
+ </div>
132
+ </div>
133
+ <script src="../prettify.js"></script>
134
+ <script>
135
+ window.onload = function () {
136
+ prettyPrint();
137
+ };
138
+ </script>
139
+ <script src="../sorter.js"></script>
140
+ <script src="../block-navigation.js"></script>
141
+ </body>
142
+ </html>
143
+
@@ -265,7 +265,7 @@ exports.CURRENTLY_SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
265
265
  <div class='footer quiet pad2 space-top1 center small'>
266
266
  Code coverage generated by
267
267
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
268
- at Wed Oct 13 2021 15:52:51 GMT+0000 (Coordinated Universal Time)
268
+ at Mon Oct 18 2021 10:14:28 GMT+0000 (Coordinated Universal Time)
269
269
  </div>
270
270
  </div>
271
271
  <script src="../prettify.js"></script>
@@ -85,7 +85,7 @@
85
85
  <div class='footer quiet pad2 space-top1 center small'>
86
86
  Code coverage generated by
87
87
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
88
- at Wed Oct 13 2021 15:52:51 GMT+0000 (Coordinated Universal Time)
88
+ at Mon Oct 18 2021 10:14:28 GMT+0000 (Coordinated Universal Time)
89
89
  </div>
90
90
  </div>
91
91
  <script src="../prettify.js"></script>
@@ -136,7 +136,7 @@ exports.getFullUser = async (ctx, userId) =&gt; {
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
139
- at Wed Oct 13 2021 15:52:51 GMT+0000 (Coordinated Universal Time)
139
+ at Mon Oct 18 2021 10:14:28 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  </div>
142
142
  <script src="../prettify.js"></script>
@@ -403,7 +403,7 @@ exports.removeAppFromUserRoles = async (ctx, appId) =&gt; {
403
403
  <div class='footer quiet pad2 space-top1 center small'>
404
404
  Code coverage generated by
405
405
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
406
- at Wed Oct 13 2021 15:52:51 GMT+0000 (Coordinated Universal Time)
406
+ at Mon Oct 18 2021 10:14:28 GMT+0000 (Coordinated Universal Time)
407
407
  </div>
408
408
  </div>
409
409
  <script src="../prettify.js"></script>