@budibase/server 1.0.80-alpha.3 → 1.0.80-alpha.6

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 (192) hide show
  1. package/builder/assets/{index.f8c92447.js → index.5a72dc45.js} +98 -96
  2. package/builder/assets/{index.c57242d4.css → index.dd19c61c.css} +1 -1
  3. package/builder/index.html +2 -2
  4. package/coverage/clover.xml +182 -154
  5. package/coverage/coverage-final.json +7 -7
  6. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/application.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/index.html +1 -1
  17. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  23. package/coverage/lcov-report/api/controllers/query/index.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/external.js.html +71 -8
  28. package/coverage/lcov-report/api/controllers/row/index.html +33 -33
  29. package/coverage/lcov-report/api/controllers/row/index.js.html +35 -8
  30. package/coverage/lcov-report/api/controllers/row/internal.js.html +56 -8
  31. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/table/external.js.html +51 -9
  38. package/coverage/lcov-report/api/controllers/table/index.html +14 -14
  39. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  45. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  46. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  47. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  49. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  50. package/coverage/lcov-report/api/index.html +1 -1
  51. package/coverage/lcov-report/api/index.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/index.html +1 -1
  64. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/row.js.html +65 -2
  74. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  81. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  82. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  83. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  84. package/coverage/lcov-report/automations/actions.js.html +1 -1
  85. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  86. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  87. package/coverage/lcov-report/automations/index.html +1 -1
  88. package/coverage/lcov-report/automations/index.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/index.html +1 -1
  98. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  101. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  102. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  104. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  105. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  106. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  111. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  112. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  113. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  114. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  115. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  116. package/coverage/lcov-report/automations/utils.js.html +1 -1
  117. package/coverage/lcov-report/constants/index.html +1 -1
  118. package/coverage/lcov-report/constants/index.js.html +1 -1
  119. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  120. package/coverage/lcov-report/constants/screens.js.html +1 -1
  121. package/coverage/lcov-report/db/client.js.html +1 -1
  122. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  123. package/coverage/lcov-report/db/index.html +1 -1
  124. package/coverage/lcov-report/db/index.js.html +1 -1
  125. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  126. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  127. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  128. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  129. package/coverage/lcov-report/db/newid.js.html +1 -1
  130. package/coverage/lcov-report/db/utils.js.html +1 -1
  131. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  132. package/coverage/lcov-report/events/index.html +1 -1
  133. package/coverage/lcov-report/events/index.js.html +1 -1
  134. package/coverage/lcov-report/events/utils.js.html +1 -1
  135. package/coverage/lcov-report/index.html +26 -26
  136. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  137. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  138. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  139. package/coverage/lcov-report/middleware/authorized.js.html +2 -2
  140. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  141. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  142. package/coverage/lcov-report/middleware/index.html +1 -1
  143. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  144. package/coverage/lcov-report/middleware/resourceId.js.html +12 -12
  145. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  146. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  147. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  148. package/coverage/lcov-report/threads/automation.js.html +1 -1
  149. package/coverage/lcov-report/threads/index.html +1 -1
  150. package/coverage/lcov-report/threads/index.js.html +1 -1
  151. package/coverage/lcov-report/threads/query.js.html +1 -1
  152. package/coverage/lcov-report/threads/utils.js.html +1 -1
  153. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  154. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  155. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  156. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  157. package/coverage/lcov-report/utilities/global.js.html +1 -1
  158. package/coverage/lcov-report/utilities/index.html +1 -1
  159. package/coverage/lcov-report/utilities/index.js.html +1 -1
  160. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  161. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  162. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  163. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  164. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  165. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  166. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  167. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  168. package/coverage/lcov-report/utilities/security.js.html +1 -1
  169. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  170. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  171. package/coverage/lcov-report/utilities/usageQuota/index.js.html +1 -1
  172. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  173. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  174. package/coverage/lcov-report/utilities/users.js.html +1 -1
  175. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  176. package/coverage/lcov.info +295 -250
  177. package/dist/api/controllers/row/external.js +18 -0
  178. package/dist/api/controllers/row/index.js +11 -0
  179. package/dist/api/controllers/row/internal.js +11 -0
  180. package/dist/api/controllers/table/external.js +8 -2
  181. package/dist/api/routes/row.js +15 -1
  182. package/dist/integrations/base/sqlTable.js +13 -5
  183. package/dist/package.json +4 -4
  184. package/dist/tsconfig.tsbuildinfo +1 -1
  185. package/package.json +5 -5
  186. package/src/api/controllers/row/external.js +21 -0
  187. package/src/api/controllers/row/index.js +9 -0
  188. package/src/api/controllers/row/internal.js +16 -0
  189. package/src/api/controllers/table/external.js +16 -2
  190. package/src/api/routes/row.js +21 -0
  191. package/src/definitions/datasource.ts +6 -0
  192. package/src/integrations/base/sqlTable.ts +24 -6
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">85.07% </span>
26
+ <span class="strong">82.29% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>171/201</span>
28
+ <span class='fraction'>172/209</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">91.66% </span>
40
+ <span class="strong">84.61% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>22/24</span>
42
+ <span class='fraction'>22/26</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">85.12% </span>
47
+ <span class="strong">82.26% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>166/195</span>
49
+ <span class='fraction'>167/203</span>
50
50
  </div>
51
51
 
52
52
 
@@ -481,7 +481,23 @@
481
481
  <a name='L422'></a><a href='#L422'>422</a>
482
482
  <a name='L423'></a><a href='#L423'>423</a>
483
483
  <a name='L424'></a><a href='#L424'>424</a>
484
- <a name='L425'></a><a href='#L425'>425</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">40x</span>
484
+ <a name='L425'></a><a href='#L425'>425</a>
485
+ <a name='L426'></a><a href='#L426'>426</a>
486
+ <a name='L427'></a><a href='#L427'>427</a>
487
+ <a name='L428'></a><a href='#L428'>428</a>
488
+ <a name='L429'></a><a href='#L429'>429</a>
489
+ <a name='L430'></a><a href='#L430'>430</a>
490
+ <a name='L431'></a><a href='#L431'>431</a>
491
+ <a name='L432'></a><a href='#L432'>432</a>
492
+ <a name='L433'></a><a href='#L433'>433</a>
493
+ <a name='L434'></a><a href='#L434'>434</a>
494
+ <a name='L435'></a><a href='#L435'>435</a>
495
+ <a name='L436'></a><a href='#L436'>436</a>
496
+ <a name='L437'></a><a href='#L437'>437</a>
497
+ <a name='L438'></a><a href='#L438'>438</a>
498
+ <a name='L439'></a><a href='#L439'>439</a>
499
+ <a name='L440'></a><a href='#L440'>440</a>
500
+ <a name='L441'></a><a href='#L441'>441</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">40x</span>
485
501
  <span class="cline-any cline-neutral">&nbsp;</span>
486
502
  <span class="cline-any cline-neutral">&nbsp;</span>
487
503
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -846,6 +862,22 @@
846
862
  <span class="cline-any cline-neutral">&nbsp;</span>
847
863
  <span class="cline-any cline-neutral">&nbsp;</span>
848
864
  <span class="cline-any cline-yes">40x</span>
865
+ <span class="cline-any cline-no">&nbsp;</span>
866
+ <span class="cline-any cline-no">&nbsp;</span>
867
+ <span class="cline-any cline-no">&nbsp;</span>
868
+ <span class="cline-any cline-no">&nbsp;</span>
869
+ <span class="cline-any cline-neutral">&nbsp;</span>
870
+ <span class="cline-any cline-neutral">&nbsp;</span>
871
+ <span class="cline-any cline-neutral">&nbsp;</span>
872
+ <span class="cline-any cline-neutral">&nbsp;</span>
873
+ <span class="cline-any cline-no">&nbsp;</span>
874
+ <span class="cline-any cline-neutral">&nbsp;</span>
875
+ <span class="cline-any cline-no">&nbsp;</span>
876
+ <span class="cline-any cline-neutral">&nbsp;</span>
877
+ <span class="cline-any cline-no">&nbsp;</span>
878
+ <span class="cline-any cline-neutral">&nbsp;</span>
879
+ <span class="cline-any cline-neutral">&nbsp;</span>
880
+ <span class="cline-any cline-yes">40x</span>
849
881
  <span class="cline-any cline-yes">2x</span>
850
882
  <span class="cline-any cline-yes">2x</span>
851
883
  <span class="cline-any cline-yes">2x</span>
@@ -1269,6 +1301,22 @@ exports.validate = async ctx =&gt; {
1269
1301
  })
1270
1302
  }
1271
1303
  &nbsp;
1304
+ exports.exportRows = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
1305
+ const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
1306
+ const table = <span class="cstat-no" title="statement not covered" >await db.get(ctx.params.tableId)</span>
1307
+ const rowIds = <span class="cstat-no" title="statement not covered" >ctx.request.body.rows</span>
1308
+ let response = <span class="cstat-no" title="statement not covered" >(</span>
1309
+ await db.allDocs({
1310
+ include_docs: true,
1311
+ keys: rowIds,
1312
+ })
1313
+ ).rows.map(<span class="fstat-no" title="function not covered" >ro</span>w =&gt; <span class="cstat-no" title="statement not covered" >row.doc)</span>
1314
+ &nbsp;
1315
+ let rows = <span class="cstat-no" title="statement not covered" >await outputProcessing(table, response)</span>
1316
+ &nbsp;
1317
+ <span class="cstat-no" title="statement not covered" > return rows</span>
1318
+ }
1319
+ &nbsp;
1272
1320
  exports.fetchEnrichedRow = async ctx =&gt; {
1273
1321
  const db = getAppDB()
1274
1322
  const tableId = ctx.params.tableId
@@ -1336,7 +1384,7 @@ exports.fetchEnrichedRow = async ctx =&gt; {
1336
1384
  <div class='footer quiet pad2 space-top1 center small'>
1337
1385
  Code coverage generated by
1338
1386
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1339
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
1387
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
1340
1388
  </div>
1341
1389
  </div>
1342
1390
  <script src="../../../prettify.js"></script>
@@ -1249,7 +1249,7 @@ exports.fullSearch = async (query, params) =&gt; {
1249
1249
  <div class='footer quiet pad2 space-top1 center small'>
1250
1250
  Code coverage generated by
1251
1251
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1252
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
1252
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
1253
1253
  </div>
1254
1254
  </div>
1255
1255
  <script src="../../../prettify.js"></script>
@@ -532,7 +532,7 @@ exports.finaliseRow = async (
532
532
  <div class='footer quiet pad2 space-top1 center small'>
533
533
  Code coverage generated by
534
534
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
535
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
535
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
536
536
  </div>
537
537
  </div>
538
538
  <script src="../../../prettify.js"></script>
@@ -331,7 +331,7 @@ exports.validate = async ({ tableId, row, table }) =&gt; {
331
331
  <div class='footer quiet pad2 space-top1 center small'>
332
332
  Code coverage generated by
333
333
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
334
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
334
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
335
335
  </div>
336
336
  </div>
337
337
  <script src="../../../prettify.js"></script>
@@ -202,7 +202,7 @@ exports.destroy = async ctx =&gt; {
202
202
  <div class='footer quiet pad2 space-top1 center small'>
203
203
  Code coverage generated by
204
204
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
205
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
205
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
206
206
  </div>
207
207
  </div>
208
208
  <script src="../../prettify.js"></script>
@@ -97,7 +97,7 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
97
97
  <div class='footer quiet pad2 space-top1 center small'>
98
98
  Code coverage generated by
99
99
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
100
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
100
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
101
101
  </div>
102
102
  </div>
103
103
  <script src="../../prettify.js"></script>
@@ -583,7 +583,7 @@ exports.runStaticFormulaChecks = async (table, { oldTable, deletion }) =&gt; {
583
583
  <div class='footer quiet pad2 space-top1 center small'>
584
584
  Code coverage generated by
585
585
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
586
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
586
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
587
587
  </div>
588
588
  </div>
589
589
  <script src="../../../prettify.js"></script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">8.2% </span>
26
+ <span class="strong">7.97% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>11/134</span>
28
+ <span class='fraction'>11/138</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/76</span>
35
+ <span class='fraction'>0/79</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">8.2% </span>
47
+ <span class="strong">7.97% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>11/134</span>
49
+ <span class='fraction'>11/138</span>
50
50
  </div>
51
51
 
52
52
 
@@ -361,7 +361,21 @@
361
361
  <a name='L302'></a><a href='#L302'>302</a>
362
362
  <a name='L303'></a><a href='#L303'>303</a>
363
363
  <a name='L304'></a><a href='#L304'>304</a>
364
- <a name='L305'></a><a href='#L305'>305</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
364
+ <a name='L305'></a><a href='#L305'>305</a>
365
+ <a name='L306'></a><a href='#L306'>306</a>
366
+ <a name='L307'></a><a href='#L307'>307</a>
367
+ <a name='L308'></a><a href='#L308'>308</a>
368
+ <a name='L309'></a><a href='#L309'>309</a>
369
+ <a name='L310'></a><a href='#L310'>310</a>
370
+ <a name='L311'></a><a href='#L311'>311</a>
371
+ <a name='L312'></a><a href='#L312'>312</a>
372
+ <a name='L313'></a><a href='#L313'>313</a>
373
+ <a name='L314'></a><a href='#L314'>314</a>
374
+ <a name='L315'></a><a href='#L315'>315</a>
375
+ <a name='L316'></a><a href='#L316'>316</a>
376
+ <a name='L317'></a><a href='#L317'>317</a>
377
+ <a name='L318'></a><a href='#L318'>318</a>
378
+ <a name='L319'></a><a href='#L319'>319</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
365
379
  <span class="cline-any cline-neutral">&nbsp;</span>
366
380
  <span class="cline-any cline-neutral">&nbsp;</span>
367
381
  <span class="cline-any cline-yes">40x</span>
@@ -390,6 +404,7 @@
390
404
  <span class="cline-any cline-neutral">&nbsp;</span>
391
405
  <span class="cline-any cline-neutral">&nbsp;</span>
392
406
  <span class="cline-any cline-neutral">&nbsp;</span>
407
+ <span class="cline-any cline-neutral">&nbsp;</span>
393
408
  <span class="cline-any cline-no">&nbsp;</span>
394
409
  <span class="cline-any cline-neutral">&nbsp;</span>
395
410
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -405,6 +420,9 @@
405
420
  <span class="cline-any cline-no">&nbsp;</span>
406
421
  <span class="cline-any cline-neutral">&nbsp;</span>
407
422
  <span class="cline-any cline-no">&nbsp;</span>
423
+ <span class="cline-any cline-no">&nbsp;</span>
424
+ <span class="cline-any cline-neutral">&nbsp;</span>
425
+ <span class="cline-any cline-no">&nbsp;</span>
408
426
  <span class="cline-any cline-neutral">&nbsp;</span>
409
427
  <span class="cline-any cline-neutral">&nbsp;</span>
410
428
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -523,6 +541,7 @@
523
541
  <span class="cline-any cline-neutral">&nbsp;</span>
524
542
  <span class="cline-any cline-yes">40x</span>
525
543
  <span class="cline-any cline-no">&nbsp;</span>
544
+ <span class="cline-any cline-no">&nbsp;</span>
526
545
  <span class="cline-any cline-neutral">&nbsp;</span>
527
546
  <span class="cline-any cline-no">&nbsp;</span>
528
547
  <span class="cline-any cline-no">&nbsp;</span>
@@ -606,6 +625,13 @@
606
625
  <span class="cline-any cline-neutral">&nbsp;</span>
607
626
  <span class="cline-any cline-no">&nbsp;</span>
608
627
  <span class="cline-any cline-neutral">&nbsp;</span>
628
+ <span class="cline-any cline-neutral">&nbsp;</span>
629
+ <span class="cline-any cline-neutral">&nbsp;</span>
630
+ <span class="cline-any cline-neutral">&nbsp;</span>
631
+ <span class="cline-any cline-neutral">&nbsp;</span>
632
+ <span class="cline-any cline-neutral">&nbsp;</span>
633
+ <span class="cline-any cline-neutral">&nbsp;</span>
634
+ <span class="cline-any cline-neutral">&nbsp;</span>
609
635
  <span class="cline-any cline-no">&nbsp;</span>
610
636
  <span class="cline-any cline-no">&nbsp;</span>
611
637
  <span class="cline-any cline-no">&nbsp;</span>
@@ -623,6 +649,8 @@
623
649
  <span class="cline-any cline-neutral">&nbsp;</span>
624
650
  <span class="cline-any cline-neutral">&nbsp;</span>
625
651
  <span class="cline-any cline-no">&nbsp;</span>
652
+ <span class="cline-any cline-neutral">&nbsp;</span>
653
+ <span class="cline-any cline-no">&nbsp;</span>
626
654
  <span class="cline-any cline-no">&nbsp;</span>
627
655
  <span class="cline-any cline-neutral">&nbsp;</span>
628
656
  <span class="cline-any cline-no">&nbsp;</span>
@@ -692,7 +720,8 @@ async function <span class="fstat-no" title="function not covered" >makeTableReq
692
720
  operation,
693
721
  table,
694
722
  tables,
695
- oldTable = <span class="branch-0 cbranch-no" title="branch not covered" >null</span>
723
+ oldTable = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
724
+ renamed = <span class="branch-0 cbranch-no" title="branch not covered" >null</span>
696
725
  ) {
697
726
  const json = <span class="cstat-no" title="statement not covered" >{</span>
698
727
  endpoint: {
@@ -708,6 +737,9 @@ async function <span class="fstat-no" title="function not covered" >makeTableReq
708
737
  <span class="cstat-no" title="statement not covered" > if (oldTable) {</span>
709
738
  <span class="cstat-no" title="statement not covered" > json.meta.table = oldTable</span>
710
739
  }
740
+ <span class="cstat-no" title="statement not covered" > if (renamed) {</span>
741
+ <span class="cstat-no" title="statement not covered" > json.meta.renamed = renamed</span>
742
+ }
711
743
  <span class="cstat-no" title="statement not covered" > return makeExternalQuery(datasource, json)</span>
712
744
  }
713
745
  &nbsp;
@@ -827,6 +859,7 @@ function <span class="fstat-no" title="function not covered" >isRelationshipSetu
827
859
  &nbsp;
828
860
  exports.save = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
829
861
  const table = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
862
+ const { _rename: renamed } = <span class="cstat-no" title="statement not covered" >table</span>
830
863
  // can't do this right now
831
864
  <span class="cstat-no" title="statement not covered" > delete table.dataImport</span>
832
865
  const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(ctx.request.body)</span>
@@ -908,7 +941,14 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
908
941
  const operation = <span class="cstat-no" title="statement not covered" >oldTable</span>
909
942
  ? DataSourceOperation.UPDATE_TABLE
910
943
  : DataSourceOperation.CREATE_TABLE
911
- <span class="cstat-no" title="statement not covered" > await makeTableRequest(datasource, operation, tableToSave, tables, oldTable)</span>
944
+ <span class="cstat-no" title="statement not covered" > await makeTableRequest(</span>
945
+ datasource,
946
+ operation,
947
+ tableToSave,
948
+ tables,
949
+ oldTable,
950
+ renamed
951
+ )
912
952
  // update any extra tables (like foreign keys in other tables)
913
953
  <span class="cstat-no" title="statement not covered" > for (let extraTable of extraTablesToUpdate) {</span>
914
954
  const oldExtraTable = <span class="cstat-no" title="statement not covered" >oldTables[extraTable.name]</span>
@@ -925,6 +965,8 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
925
965
  )
926
966
  }
927
967
  &nbsp;
968
+ // remove the rename prop
969
+ <span class="cstat-no" title="statement not covered" > delete tableToSave._rename</span>
928
970
  // store it into couch now for budibase reference
929
971
  <span class="cstat-no" title="statement not covered" > datasource.entities[tableToSave.name] = tableToSave</span>
930
972
  <span class="cstat-no" title="statement not covered" > await db.put(datasource)</span>
@@ -976,7 +1018,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
976
1018
  <div class='footer quiet pad2 space-top1 center small'>
977
1019
  Code coverage generated by
978
1020
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
979
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
1021
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
980
1022
  </div>
981
1023
  </div>
982
1024
  <script src="../../../prettify.js"></script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">53.4% </span>
26
+ <span class="strong">53.01% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>290/543</span>
28
+ <span class='fraction'>290/547</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">36.04% </span>
33
+ <span class="strong">35.66% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>102/283</span>
35
+ <span class='fraction'>102/286</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">53.77% </span>
47
+ <span class="strong">53.37% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>285/530</span>
49
+ <span class='fraction'>285/534</span>
50
50
  </div>
51
51
 
52
52
 
@@ -89,17 +89,17 @@
89
89
 
90
90
  <tr>
91
91
  <td class="file low" data-value="external.js"><a href="external.js.html">external.js</a></td>
92
- <td data-value="8.2" class="pic low">
93
- <div class="chart"><div class="cover-fill" style="width: 8%"></div><div class="cover-empty" style="width: 92%"></div></div>
92
+ <td data-value="7.97" class="pic low">
93
+ <div class="chart"><div class="cover-fill" style="width: 7%"></div><div class="cover-empty" style="width: 93%"></div></div>
94
94
  </td>
95
- <td data-value="8.2" class="pct low">8.2%</td>
96
- <td data-value="134" class="abs low">11/134</td>
95
+ <td data-value="7.97" class="pct low">7.97%</td>
96
+ <td data-value="138" class="abs low">11/138</td>
97
97
  <td data-value="0" class="pct low">0%</td>
98
- <td data-value="76" class="abs low">0/76</td>
98
+ <td data-value="79" class="abs low">0/79</td>
99
99
  <td data-value="0" class="pct low">0%</td>
100
100
  <td data-value="14" class="abs low">0/14</td>
101
- <td data-value="8.2" class="pct low">8.2%</td>
102
- <td data-value="134" class="abs low">11/134</td>
101
+ <td data-value="7.97" class="pct low">7.97%</td>
102
+ <td data-value="138" class="abs low">11/138</td>
103
103
  </tr>
104
104
 
105
105
  <tr>
@@ -155,7 +155,7 @@
155
155
  <div class='footer quiet pad2 space-top1 center small'>
156
156
  Code coverage generated by
157
157
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
158
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
158
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
159
159
  </div>
160
160
  </div>
161
161
  <script src="../../../prettify.js"></script>
@@ -361,7 +361,7 @@ exports.validateCSVSchema = async function (ctx) {
361
361
  <div class='footer quiet pad2 space-top1 center small'>
362
362
  Code coverage generated by
363
363
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
364
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
364
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
365
365
  </div>
366
366
  </div>
367
367
  <script src="../../../prettify.js"></script>
@@ -532,7 +532,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
532
532
  <div class='footer quiet pad2 space-top1 center small'>
533
533
  Code coverage generated by
534
534
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
535
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
535
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
536
536
  </div>
537
537
  </div>
538
538
  <script src="../../../prettify.js"></script>
@@ -1315,7 +1315,7 @@ exports.TableSaveFunctions = TableSaveFunctions
1315
1315
  <div class='footer quiet pad2 space-top1 center small'>
1316
1316
  Code coverage generated by
1317
1317
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1318
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
1318
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
1319
1319
  </div>
1320
1320
  </div>
1321
1321
  <script src="../../../prettify.js"></script>
@@ -181,7 +181,7 @@ exports.downloadTemplate = async function (ctx) {
181
181
  <div class='footer quiet pad2 space-top1 center small'>
182
182
  Code coverage generated by
183
183
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
184
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
184
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
185
185
  </div>
186
186
  </div>
187
187
  <script src="../../prettify.js"></script>
@@ -766,7 +766,7 @@ exports.getFlags = <span class="fstat-no" title="function not covered" >as</span
766
766
  <div class='footer quiet pad2 space-top1 center small'>
767
767
  Code coverage generated by
768
768
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
769
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
769
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
770
770
  </div>
771
771
  </div>
772
772
  <script src="../../prettify.js"></script>
@@ -142,7 +142,7 @@ exports.ExportFormats = {
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
145
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
145
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
146
146
  </div>
147
147
  </div>
148
148
  <script src="../../../prettify.js"></script>
@@ -140,7 +140,7 @@
140
140
  <div class='footer quiet pad2 space-top1 center small'>
141
141
  Code coverage generated by
142
142
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
143
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
143
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
144
144
  </div>
145
145
  </div>
146
146
  <script src="../../../prettify.js"></script>
@@ -421,7 +421,7 @@ exports.exportView = async ctx =&gt; {
421
421
  <div class='footer quiet pad2 space-top1 center small'>
422
422
  Code coverage generated by
423
423
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
424
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
424
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
425
425
  </div>
426
426
  </div>
427
427
  <script src="../../../prettify.js"></script>
@@ -508,7 +508,7 @@ exports.getFromMemoryDoc = async (db, viewName) =&gt; {
508
508
  <div class='footer quiet pad2 space-top1 center small'>
509
509
  Code coverage generated by
510
510
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
511
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
511
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
512
512
  </div>
513
513
  </div>
514
514
  <script src="../../../prettify.js"></script>
@@ -550,7 +550,7 @@ module.exports = viewTemplate
550
550
  <div class='footer quiet pad2 space-top1 center small'>
551
551
  Code coverage generated by
552
552
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
553
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
553
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
554
554
  </div>
555
555
  </div>
556
556
  <script src="../../../prettify.js"></script>
@@ -403,7 +403,7 @@ exports.trigger = async ctx =&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 Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
406
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
407
407
  </div>
408
408
  </div>
409
409
  <script src="../../prettify.js"></script>
@@ -95,7 +95,7 @@
95
95
  <div class='footer quiet pad2 space-top1 center small'>
96
96
  Code coverage generated by
97
97
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
98
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../prettify.js"></script>
@@ -340,7 +340,7 @@ module.exports = router
340
340
  <div class='footer quiet pad2 space-top1 center small'>
341
341
  Code coverage generated by
342
342
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
343
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
343
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
344
344
  </div>
345
345
  </div>
346
346
  <script src="../prettify.js"></script>
@@ -94,7 +94,7 @@ module.exports = router
94
94
  <div class='footer quiet pad2 space-top1 center small'>
95
95
  Code coverage generated by
96
96
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
97
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
97
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
98
98
  </div>
99
99
  </div>
100
100
  <script src="../../prettify.js"></script>
@@ -100,7 +100,7 @@ module.exports = router
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
103
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
103
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
104
104
  </div>
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
@@ -163,7 +163,7 @@ module.exports = router
163
163
  <div class='footer quiet pad2 space-top1 center small'>
164
164
  Code coverage generated by
165
165
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
166
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
166
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
167
167
  </div>
168
168
  </div>
169
169
  <script src="../../prettify.js"></script>
@@ -88,7 +88,7 @@ module.exports = router
88
88
  <div class='footer quiet pad2 space-top1 center small'>
89
89
  Code coverage generated by
90
90
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
91
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
91
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
92
92
  </div>
93
93
  </div>
94
94
  <script src="../../prettify.js"></script>
@@ -289,7 +289,7 @@ module.exports = router
289
289
  <div class='footer quiet pad2 space-top1 center small'>
290
290
  Code coverage generated by
291
291
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
292
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
292
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
293
293
  </div>
294
294
  </div>
295
295
  <script src="../../prettify.js"></script>
@@ -94,7 +94,7 @@ module.exports = router
94
94
  <div class='footer quiet pad2 space-top1 center small'>
95
95
  Code coverage generated by
96
96
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
97
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
97
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
98
98
  </div>
99
99
  </div>
100
100
  <script src="../../prettify.js"></script>
@@ -106,7 +106,7 @@ module.exports = router
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
109
- at Mon Mar 07 2022 17:22:13 GMT+0000 (Coordinated Universal Time)
109
+ at Tue Mar 08 2022 11:39:00 GMT+0000 (Coordinated Universal Time)
110
110
  </div>
111
111
  </div>
112
112
  <script src="../../prettify.js"></script>