@budibase/server 2.1.43-alpha.1 → 2.1.43

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 (798) hide show
  1. package/__mocks__/aws-sdk.ts +0 -14
  2. package/__mocks__/node-fetch.ts +1 -5
  3. package/builder/assets/index.534f6c29.css +6 -0
  4. package/builder/assets/index.fb99ddaf.js +1021 -0
  5. package/builder/index.html +2 -2
  6. package/coverage/clover.xml +3875 -10924
  7. package/coverage/coverage-final.json +118 -267
  8. package/coverage/lcov-report/{src/api/controllers/apikeys.ts.html → api/controllers/apikeys.js.html} +30 -30
  9. package/coverage/lcov-report/{src/api/controllers/automation.ts.html → api/controllers/automation.js.html} +99 -99
  10. package/coverage/lcov-report/{src/api/controllers/cloud.ts.html → api/controllers/cloud.js.html} +58 -58
  11. package/coverage/lcov-report/{src/api/controllers/datasource.ts.html → api/controllers/datasource.js.html} +107 -287
  12. package/coverage/lcov-report/{src/api/controllers/dev.ts.html → api/controllers/dev.js.html} +87 -69
  13. package/coverage/lcov-report/api/controllers/index.html +326 -0
  14. package/coverage/lcov-report/{src/middleware/selfhost.ts.html → api/controllers/integration.js.html} +28 -22
  15. package/coverage/lcov-report/{src/api/controllers/layout.ts.html → api/controllers/layout.js.html} +31 -31
  16. package/coverage/lcov-report/{src/api/controllers/metadata.ts.html → api/controllers/metadata.js.html} +30 -33
  17. package/coverage/lcov-report/{src/api/controllers/migrations.ts.html → api/controllers/migrations.js.html} +17 -20
  18. package/coverage/lcov-report/{src/api/controllers/permission.ts.html → api/controllers/permission.js.html} +79 -88
  19. package/coverage/lcov-report/{src/utilities/routing → api/controllers/query}/index.html +8 -8
  20. package/coverage/lcov-report/{src/api/controllers/query/validation.ts.html → api/controllers/query/validation.js.html} +25 -25
  21. package/coverage/lcov-report/{src/api/controllers/role.ts.html → api/controllers/role.js.html} +60 -48
  22. package/coverage/lcov-report/{src/api/controllers/routing.ts.html → api/controllers/routing.js.html} +58 -67
  23. package/coverage/lcov-report/{src/api/controllers/row/external.ts.html → api/controllers/row/external.js.html} +111 -162
  24. package/coverage/lcov-report/{src/api → api}/controllers/row/index.html +52 -82
  25. package/coverage/lcov-report/{src/api/controllers/row/internal.ts.html → api/controllers/row/internal.js.html} +121 -163
  26. package/coverage/lcov-report/{src/api/controllers/row/internalSearch.ts.html → api/controllers/row/internalSearch.js.html} +117 -189
  27. package/coverage/lcov-report/{src/api/controllers/row/staticFormula.ts.html → api/controllers/row/staticFormula.js.html} +58 -73
  28. package/coverage/lcov-report/{src/api/controllers/row/utils.ts.html → api/controllers/row/utils.js.html} +58 -88
  29. package/coverage/lcov-report/{src/api/controllers/script.ts.html → api/controllers/script.js.html} +16 -19
  30. package/coverage/lcov-report/{src/api/controllers/table/bulkFormula.ts.html → api/controllers/table/bulkFormula.js.html} +62 -104
  31. package/coverage/lcov-report/{src/api/controllers/table/external.ts.html → api/controllers/table/external.js.html} +111 -204
  32. package/coverage/lcov-report/{src/utilities/fileSystem → api/controllers/table}/index.html +44 -44
  33. package/coverage/lcov-report/{src/api/controllers/table/index.ts.html → api/controllers/table/index.js.html} +49 -58
  34. package/coverage/lcov-report/{src/api/controllers/templates.ts.html → api/controllers/templates.js.html} +29 -38
  35. package/coverage/lcov-report/{src/api/controllers/user.ts.html → api/controllers/user.js.html} +99 -93
  36. package/coverage/lcov-report/{src/api/controllers/view/exporters.ts.html → api/controllers/view/exporters.js.html} +16 -22
  37. package/coverage/lcov-report/{src/api → api}/controllers/view/index.html +36 -36
  38. package/coverage/lcov-report/{src/api/controllers/view/index.ts.html → api/controllers/view/index.js.html} +64 -91
  39. package/coverage/lcov-report/{src/api/controllers/view/utils.ts.html → api/controllers/view/utils.js.html} +54 -72
  40. package/coverage/lcov-report/{src/api/controllers/view/viewBuilder.ts.html → api/controllers/view/viewBuilder.js.html} +36 -78
  41. package/coverage/lcov-report/{src/api → api}/index.html +23 -23
  42. package/coverage/lcov-report/{src/api/index.ts.html → api/index.js.html} +76 -55
  43. package/coverage/lcov-report/{src/middleware/utils.ts.html → api/routes/analytics.js.html} +19 -19
  44. package/coverage/lcov-report/api/routes/apikeys.js.html +121 -0
  45. package/coverage/lcov-report/{src/api/routes/automation.ts.html → api/routes/automation.js.html} +47 -53
  46. package/coverage/lcov-report/{src/api/routes/backup.ts.html → api/routes/cloud.js.html} +28 -28
  47. package/coverage/lcov-report/{src/api/routes/component.ts.html → api/routes/component.js.html} +24 -24
  48. package/coverage/lcov-report/{src/definitions/datasource.ts.html → api/routes/datasource.js.html} +64 -61
  49. package/coverage/lcov-report/{src/api/routes/cloud.ts.html → api/routes/deploy.js.html} +28 -31
  50. package/coverage/lcov-report/{src/automations/index.ts.html → api/routes/dev.js.html} +46 -46
  51. package/coverage/lcov-report/{src/api → api}/routes/index.html +47 -167
  52. package/coverage/lcov-report/api/routes/integration.js.html +121 -0
  53. package/coverage/lcov-report/{src/db/index.ts.html → api/routes/layout.js.html} +28 -28
  54. package/coverage/lcov-report/{src/api/routes/metadata.ts.html → api/routes/metadata.js.html} +31 -31
  55. package/coverage/lcov-report/{src/sdk/index.ts.html → api/routes/migrations.js.html} +21 -24
  56. package/coverage/lcov-report/{src/api/routes/permission.ts.html → api/routes/permission.js.html} +31 -55
  57. package/coverage/lcov-report/{src/api/routes/query.ts.html → api/routes/query.js.html} +50 -41
  58. package/coverage/lcov-report/api/routes/role.js.html +130 -0
  59. package/coverage/lcov-report/{src/api/routes/routing.ts.html → api/routes/routing.js.html} +24 -24
  60. package/coverage/lcov-report/api/routes/screen.js.html +139 -0
  61. package/coverage/lcov-report/{src/api/routes/script.ts.html → api/routes/script.js.html} +17 -17
  62. package/coverage/lcov-report/{src/api/routes/table.ts.html → api/routes/table.js.html} +41 -32
  63. package/coverage/lcov-report/{src/api/routes/templates.ts.html → api/routes/templates.js.html} +25 -25
  64. package/coverage/lcov-report/{src/api/routes/user.ts.html → api/routes/user.js.html} +41 -35
  65. package/coverage/lcov-report/{src/api → api}/routes/utils/index.html +15 -15
  66. package/coverage/lcov-report/{src/api/routes/utils/validators.ts.html → api/routes/utils/validators.js.html} +98 -86
  67. package/coverage/lcov-report/{src/api/routes/view.ts.html → api/routes/view.js.html} +36 -45
  68. package/coverage/lcov-report/{src/automations/actions.ts.html → automations/actions.js.html} +60 -69
  69. package/coverage/lcov-report/{src/automations/automationUtils.ts.html → automations/automationUtils.js.html} +33 -36
  70. package/coverage/lcov-report/{src/automations/bullboard.ts.html → automations/bullboard.js.html} +42 -39
  71. package/coverage/lcov-report/{src/automations → automations}/index.html +48 -63
  72. package/coverage/lcov-report/{src/websocket.ts.html → automations/index.js.html} +50 -41
  73. package/coverage/lcov-report/{src/automations/steps/bash.ts.html → automations/steps/bash.js.html} +30 -45
  74. package/coverage/lcov-report/{src/automations/steps/delay.ts.html → automations/steps/delay.js.html} +19 -34
  75. package/coverage/lcov-report/{src/automations/steps/discord.ts.html → automations/steps/discord.js.html} +28 -43
  76. package/coverage/lcov-report/{src/automations/steps/executeQuery.ts.html → automations/steps/executeQuery.js.html} +30 -45
  77. package/coverage/lcov-report/{src/automations/steps/executeScript.ts.html → automations/steps/executeScript.js.html} +28 -58
  78. package/coverage/lcov-report/{src/automations/steps/filter.ts.html → automations/steps/filter.js.html} +30 -39
  79. package/coverage/lcov-report/automations/steps/index.html +341 -0
  80. package/coverage/lcov-report/{src/automations/steps/integromat.ts.html → automations/steps/integromat.js.html} +23 -38
  81. package/coverage/lcov-report/{src/automations/steps/loop.ts.html → automations/steps/loop.js.html} +15 -21
  82. package/coverage/lcov-report/{src/automations/steps/outgoingWebhook.ts.html → automations/steps/outgoingWebhook.js.html} +39 -54
  83. package/coverage/lcov-report/{src/automations/steps/queryRows.ts.html → automations/steps/queryRows.js.html} +66 -102
  84. package/coverage/lcov-report/{src/automations/steps/sendSmtpEmail.ts.html → automations/steps/sendSmtpEmail.js.html} +25 -40
  85. package/coverage/lcov-report/{src/automations/steps/serverLog.ts.html → automations/steps/serverLog.js.html} +22 -40
  86. package/coverage/lcov-report/{src/automations/steps/slack.ts.html → automations/steps/slack.js.html} +23 -38
  87. package/coverage/lcov-report/{src/automations/steps/updateRow.ts.html → automations/steps/updateRow.js.html} +25 -40
  88. package/coverage/lcov-report/{src/automations/steps/utils.ts.html → automations/steps/utils.js.html} +27 -45
  89. package/coverage/lcov-report/{src/automations/steps/zapier.ts.html → automations/steps/zapier.js.html} +23 -41
  90. package/coverage/lcov-report/{src/definitions/automations.ts.html → automations/triggerInfo/app.js.html} +42 -42
  91. package/coverage/lcov-report/{src/automations/triggerInfo/cron.ts.html → automations/triggerInfo/cron.js.html} +15 -30
  92. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.html +31 -31
  93. package/coverage/lcov-report/{src/api/routes/layout.ts.html → automations/triggerInfo/index.js.html} +26 -29
  94. package/coverage/lcov-report/{src/automations/triggerInfo/rowDeleted.ts.html → automations/triggerInfo/rowDeleted.js.html} +15 -30
  95. package/coverage/lcov-report/{src/automations/triggerInfo/rowSaved.ts.html → automations/triggerInfo/rowSaved.js.html} +15 -30
  96. package/coverage/lcov-report/{src/automations/triggerInfo/rowUpdated.ts.html → automations/triggerInfo/rowUpdated.js.html} +15 -30
  97. package/coverage/lcov-report/{src/automations/triggerInfo/webhook.ts.html → automations/triggerInfo/webhook.js.html} +15 -30
  98. package/coverage/lcov-report/{src/automations/triggers.ts.html → automations/triggers.js.html} +66 -78
  99. package/coverage/lcov-report/{src/constants → constants}/index.html +26 -26
  100. package/coverage/lcov-report/{src/integrations/dynamodb.ts.html → constants/index.js.html} +227 -263
  101. package/coverage/lcov-report/{src/constants/layouts.ts.html → constants/layouts.js.html} +36 -18
  102. package/coverage/lcov-report/{src/constants/screens.ts.html → constants/screens.js.html} +58 -64
  103. package/coverage/lcov-report/{src/db/inMemoryView.ts.html → db/inMemoryView.js.html} +29 -47
  104. package/coverage/lcov-report/{src/db → db}/index.html +33 -48
  105. package/coverage/lcov-report/{src/api/routes/integration.ts.html → db/index.js.html} +33 -33
  106. package/coverage/lcov-report/{src/db/linkedRows/LinkController.ts.html → db/linkedRows/LinkController.js.html} +160 -97
  107. package/coverage/lcov-report/db/linkedRows/index.html +146 -0
  108. package/coverage/lcov-report/{src/db/linkedRows/index.ts.html → db/linkedRows/index.js.html} +78 -93
  109. package/coverage/lcov-report/{src/db/linkedRows/linkUtils.ts.html → db/linkedRows/linkUtils.js.html} +56 -83
  110. package/coverage/lcov-report/{src/db/newid.ts.html → db/newid.js.html} +14 -14
  111. package/coverage/lcov-report/{src/db/utils.ts.html → db/utils.js.html} +211 -163
  112. package/coverage/lcov-report/{src/events/AutomationEmitter.ts.html → events/AutomationEmitter.js.html} +25 -40
  113. package/coverage/lcov-report/{src/events → events}/index.html +33 -48
  114. package/coverage/lcov-report/{src/events/BudibaseEmitter.ts.html → events/index.js.html} +29 -26
  115. package/coverage/lcov-report/{src/api/routes/dev.ts.html → events/utils.js.html} +69 -69
  116. package/coverage/lcov-report/index.html +184 -679
  117. package/coverage/lcov-report/{src/integrations → integrations}/tests/TestConfiguration.js.html +10 -10
  118. package/coverage/lcov-report/{src/integrations → integrations}/tests/index.html +10 -10
  119. package/coverage/lcov-report/{src/middleware/appInfo.ts.html → middleware/appInfo.js.html} +30 -33
  120. package/coverage/lcov-report/{src/middleware/builder.ts.html → middleware/builder.js.html} +40 -46
  121. package/coverage/lcov-report/{src/middleware/currentapp.ts.html → middleware/currentapp.js.html} +72 -81
  122. package/coverage/lcov-report/{src/middleware → middleware}/index.html +63 -78
  123. package/coverage/lcov-report/{src/middleware/joi-validator.ts.html → middleware/joi-validator.js.html} +22 -25
  124. package/coverage/lcov-report/{src/middleware/publicApi.ts.html → middleware/publicApi.js.html} +27 -27
  125. package/coverage/lcov-report/{src/middleware/resourceId.ts.html → middleware/resourceId.js.html} +45 -60
  126. package/coverage/lcov-report/{src/tests/utilities/index.ts.html → middleware/selfhost.js.html} +30 -33
  127. package/coverage/lcov-report/{src/events/index.ts.html → middleware/utils.js.html} +24 -18
  128. package/coverage/lcov-report/{src/utilities/budibaseDir.ts.html → utilities/budibaseDir.js.html} +14 -14
  129. package/coverage/lcov-report/{src/utilities/centralPath.ts.html → utilities/centralPath.js.html} +16 -16
  130. package/coverage/lcov-report/{src/utilities/csvParser.ts.html → utilities/csvParser.js.html} +59 -107
  131. package/coverage/lcov-report/{src/utilities/global.ts.html → utilities/global.js.html} +82 -115
  132. package/coverage/lcov-report/{src/utilities → utilities}/index.html +77 -92
  133. package/coverage/lcov-report/{src/utilities/index.ts.html → utilities/index.js.html} +74 -98
  134. package/coverage/lcov-report/{src/utilities/plugins.ts.html → utilities/plugins.js.html} +22 -25
  135. package/coverage/lcov-report/{src/integrations/airtable.ts.html → utilities/queue/inMemoryQueue.js.html} +135 -213
  136. package/coverage/lcov-report/{src/migrations → utilities/queue}/index.html +23 -23
  137. package/coverage/lcov-report/{src/sdk → utilities/routing}/index.html +10 -10
  138. package/coverage/lcov-report/{src/api/controllers/public/mapping/tables.ts.html → utilities/routing/index.js.html} +43 -46
  139. package/coverage/lcov-report/{src/definitions → utilities/rowProcessor}/index.html +34 -34
  140. package/coverage/lcov-report/{src/utilities/rowProcessor/index.ts.html → utilities/rowProcessor/index.js.html} +359 -128
  141. package/coverage/lcov-report/{src/utilities/rowProcessor/utils.ts.html → utilities/rowProcessor/utils.js.html} +42 -54
  142. package/coverage/lcov-report/{src/utilities/scriptRunner.ts.html → utilities/scriptRunner.js.html} +19 -31
  143. package/coverage/lcov-report/{src/utilities/security.ts.html → utilities/security.js.html} +78 -60
  144. package/coverage/lcov-report/{src/utilities/statusCodes.ts.html → utilities/statusCodes.js.html} +11 -11
  145. package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/index.html +28 -28
  146. package/coverage/lcov-report/{src/utilities/usageQuota/rows.ts.html → utilities/usageQuota/rows.js.html} +48 -36
  147. package/coverage/lcov-report/{src/utilities/usageQuota/usageQuoteReset.ts.html → utilities/usageQuota/usageQuoteReset.js.html} +13 -13
  148. package/coverage/lcov-report/{src/utilities/users.ts.html → utilities/users.js.html} +40 -34
  149. package/coverage/lcov-report/{src/utilities/workerRequests.ts.html → utilities/workerRequests.js.html} +112 -127
  150. package/coverage/lcov.info +7069 -19741
  151. package/dist/api/controllers/apikeys.js +9 -12
  152. package/dist/api/controllers/application.js +45 -48
  153. package/dist/api/controllers/automation.js +82 -122
  154. package/dist/api/controllers/cloud.js +71 -84
  155. package/dist/api/controllers/component.js +2 -4
  156. package/dist/api/controllers/datasource.js +94 -151
  157. package/dist/api/controllers/deploy/Deployment.js +6 -10
  158. package/dist/api/controllers/deploy/index.js +16 -13
  159. package/dist/api/controllers/dev.js +81 -96
  160. package/dist/api/controllers/integration.js +8 -11
  161. package/dist/api/controllers/layout.js +15 -18
  162. package/dist/api/controllers/metadata.js +37 -51
  163. package/dist/api/controllers/migrations.js +11 -19
  164. package/dist/api/controllers/permission.js +43 -52
  165. package/dist/api/controllers/plugin/index.js +7 -6
  166. package/dist/api/controllers/plugin/utils.js +1 -2
  167. package/dist/api/controllers/public/applications.js +9 -17
  168. package/dist/api/controllers/public/tables.js +9 -29
  169. package/dist/api/controllers/public/utils.js +2 -2
  170. package/dist/api/controllers/query/import/index.js +2 -1
  171. package/dist/api/controllers/query/index.js +13 -10
  172. package/dist/api/controllers/query/validation.js +33 -41
  173. package/dist/api/controllers/role.js +27 -29
  174. package/dist/api/controllers/routing.js +58 -71
  175. package/dist/api/controllers/row/ExternalRequest.js +542 -538
  176. package/dist/api/controllers/row/external.js +190 -258
  177. package/dist/api/controllers/row/index.js +14 -43
  178. package/dist/api/controllers/row/internal.js +295 -354
  179. package/dist/api/controllers/row/internalSearch.js +80 -95
  180. package/dist/api/controllers/row/staticFormula.js +112 -125
  181. package/dist/api/controllers/row/utils.js +84 -122
  182. package/dist/api/controllers/screen.js +66 -81
  183. package/dist/api/controllers/script.js +6 -13
  184. package/dist/api/controllers/static/index.js +14 -11
  185. package/dist/api/controllers/table/bulkFormula.js +35 -47
  186. package/dist/api/controllers/table/external.js +53 -89
  187. package/dist/api/controllers/table/index.js +31 -64
  188. package/dist/api/controllers/table/internal.js +6 -5
  189. package/dist/api/controllers/table/utils.js +35 -39
  190. package/dist/api/controllers/templates.js +10 -17
  191. package/dist/api/controllers/user.js +70 -82
  192. package/dist/api/controllers/view/exporters.js +4 -8
  193. package/dist/api/controllers/view/index.js +153 -201
  194. package/dist/api/controllers/view/utils.js +121 -151
  195. package/dist/api/controllers/view/viewBuilder.js +16 -4
  196. package/dist/api/controllers/webhook.js +2 -25
  197. package/dist/api/index.js +34 -38
  198. package/dist/api/routes/analytics.js +3 -29
  199. package/dist/api/routes/apikeys.js +7 -33
  200. package/dist/api/routes/application.js +9 -8
  201. package/dist/api/routes/auth.js +2 -1
  202. package/dist/api/routes/automation.js +20 -46
  203. package/dist/api/routes/backup.js +4 -3
  204. package/dist/api/routes/cloud.js +6 -32
  205. package/dist/api/routes/component.js +6 -32
  206. package/dist/api/routes/datasource.js +13 -39
  207. package/dist/api/routes/deploy.js +8 -34
  208. package/dist/api/routes/dev.js +10 -36
  209. package/dist/api/routes/integration.js +7 -33
  210. package/dist/api/routes/layout.js +7 -33
  211. package/dist/api/routes/metadata.js +10 -36
  212. package/dist/api/routes/migrations.js +6 -32
  213. package/dist/api/routes/permission.js +12 -38
  214. package/dist/api/routes/plugin.js +5 -5
  215. package/dist/api/routes/public/index.js +11 -11
  216. package/dist/api/routes/query.js +15 -42
  217. package/dist/api/routes/role.js +10 -36
  218. package/dist/api/routes/routing.js +6 -32
  219. package/dist/api/routes/row.js +11 -12
  220. package/dist/api/routes/screen.js +9 -35
  221. package/dist/api/routes/script.js +6 -32
  222. package/dist/api/routes/static.js +9 -9
  223. package/dist/api/routes/table.js +13 -40
  224. package/dist/api/routes/templates.js +7 -33
  225. package/dist/api/routes/tests/utilities/TestFunctions.js +8 -6
  226. package/dist/api/routes/tests/utilities/index.js +32 -69
  227. package/dist/api/routes/user.js +13 -40
  228. package/dist/api/routes/utils/validators.js +126 -142
  229. package/dist/api/routes/view.js +12 -38
  230. package/dist/api/routes/webhook.js +2 -1
  231. package/dist/app.js +22 -22
  232. package/dist/automations/actions.js +24 -53
  233. package/dist/automations/automationUtils.js +19 -31
  234. package/dist/automations/bullboard.js +29 -59
  235. package/dist/automations/index.js +18 -23
  236. package/dist/automations/steps/bash.js +10 -40
  237. package/dist/automations/steps/createRow.js +1 -2
  238. package/dist/automations/steps/delay.js +5 -9
  239. package/dist/automations/steps/deleteRow.js +1 -2
  240. package/dist/automations/steps/discord.js +7 -14
  241. package/dist/automations/steps/executeQuery.js +7 -34
  242. package/dist/automations/steps/executeScript.js +7 -34
  243. package/dist/automations/steps/filter.js +18 -20
  244. package/dist/automations/steps/integromat.js +7 -14
  245. package/dist/automations/steps/loop.js +1 -4
  246. package/dist/automations/steps/outgoingWebhook.js +14 -45
  247. package/dist/automations/steps/queryRows.js +38 -71
  248. package/dist/automations/steps/sendSmtpEmail.js +6 -33
  249. package/dist/automations/steps/serverLog.js +8 -12
  250. package/dist/automations/steps/slack.js +7 -14
  251. package/dist/automations/steps/updateRow.js +7 -34
  252. package/dist/automations/steps/utils.js +16 -22
  253. package/dist/automations/steps/zapier.js +7 -15
  254. package/dist/automations/tests/utilities/index.js +38 -62
  255. package/dist/automations/triggerInfo/app.js +1 -4
  256. package/dist/automations/triggerInfo/cron.js +1 -4
  257. package/dist/automations/triggerInfo/index.js +6 -31
  258. package/dist/automations/triggerInfo/rowDeleted.js +1 -4
  259. package/dist/automations/triggerInfo/rowSaved.js +1 -4
  260. package/dist/automations/triggerInfo/rowUpdated.js +1 -4
  261. package/dist/automations/triggerInfo/webhook.js +1 -4
  262. package/dist/automations/triggers.js +57 -90
  263. package/dist/automations/utils.js +8 -9
  264. package/dist/constants/index.js +104 -118
  265. package/dist/constants/layouts.js +10 -7
  266. package/dist/constants/screens.js +44 -49
  267. package/dist/db/dynamoClient.js +20 -20
  268. package/dist/db/inMemoryView.js +38 -47
  269. package/dist/db/index.js +4 -7
  270. package/dist/db/linkedRows/LinkController.js +70 -51
  271. package/dist/db/linkedRows/index.js +81 -93
  272. package/dist/db/linkedRows/linkUtils.js +32 -42
  273. package/dist/db/utils.js +119 -146
  274. package/dist/db/views/staticViews.js +74 -91
  275. package/dist/environment.js +6 -9
  276. package/dist/events/AutomationEmitter.js +10 -13
  277. package/dist/events/index.js +23 -5
  278. package/dist/events/utils.js +10 -18
  279. package/dist/integrations/elasticsearch.js +2 -26
  280. package/dist/integrations/googlesheets.js +6 -5
  281. package/dist/integrations/index.js +6 -15
  282. package/dist/integrations/s3.js +1 -157
  283. package/dist/integrations/tests/TestConfiguration.js +1 -0
  284. package/dist/middleware/appInfo.js +9 -14
  285. package/dist/middleware/authorized.js +21 -22
  286. package/dist/middleware/builder.js +40 -41
  287. package/dist/middleware/currentapp.js +37 -39
  288. package/dist/middleware/joi-validator.js +10 -17
  289. package/dist/middleware/publicApi.js +6 -5
  290. package/dist/middleware/resourceId.js +9 -16
  291. package/dist/middleware/selfhost.js +4 -5
  292. package/dist/middleware/utils.js +2 -5
  293. package/dist/migrations/functions/appUrls.js +2 -2
  294. package/dist/migrations/functions/backfill/global.js +1 -1
  295. package/dist/migrations/functions/usageQuotas/syncApps.js +4 -3
  296. package/dist/migrations/functions/usageQuotas/syncRows.js +4 -3
  297. package/dist/migrations/functions/userEmailViewCasing.js +3 -3
  298. package/dist/migrations/index.js +0 -5
  299. package/dist/package.json +45 -11
  300. package/dist/sdk/app/backups/exports.js +2 -1
  301. package/dist/sdk/app/backups/imports.js +3 -2
  302. package/dist/sdk/app/tables/index.js +5 -5
  303. package/dist/startup.js +10 -10
  304. package/dist/tests/utilities/TestConfiguration.js +87 -111
  305. package/dist/tests/utilities/controllers.js +15 -38
  306. package/dist/tests/utilities/structures.js +53 -72
  307. package/dist/threads/automation.js +27 -49
  308. package/dist/threads/query.js +19 -17
  309. package/dist/threads/utils.js +8 -33
  310. package/dist/tsconfig.build.tsbuildinfo +1 -1
  311. package/dist/utilities/budibaseDir.js +2 -4
  312. package/dist/utilities/centralPath.js +7 -14
  313. package/dist/utilities/csvParser.js +21 -27
  314. package/dist/utilities/fileSystem/clientLibrary.js +73 -87
  315. package/dist/utilities/fileSystem/index.js +175 -203
  316. package/dist/utilities/fileSystem/processor.js +3 -8
  317. package/dist/utilities/fileSystem/utilities.js +22 -0
  318. package/dist/utilities/global.js +66 -87
  319. package/dist/utilities/index.js +75 -102
  320. package/dist/utilities/plugins.js +9 -15
  321. package/dist/utilities/queue/inMemoryQueue.js +126 -0
  322. package/dist/utilities/redis.js +65 -100
  323. package/dist/utilities/routing/index.js +23 -27
  324. package/dist/utilities/rowProcessor/index.js +191 -133
  325. package/dist/utilities/rowProcessor/utils.js +26 -35
  326. package/dist/utilities/scriptRunner.js +5 -8
  327. package/dist/utilities/security.js +35 -39
  328. package/dist/utilities/usageQuota/rows.js +49 -56
  329. package/dist/utilities/users.js +28 -31
  330. package/dist/utilities/workerRequests.js +82 -115
  331. package/dist/watch.js +2 -1
  332. package/package.json +46 -12
  333. package/scripts/exportAppTemplate.js +2 -2
  334. package/{src/tests/jestSetup.ts → scripts/jestSetup.js} +2 -11
  335. package/scripts/localdomain.js +6 -34
  336. package/src/api/controllers/{apikeys.ts → apikeys.js} +10 -10
  337. package/src/api/controllers/application.ts +42 -56
  338. package/src/api/controllers/auth.ts +3 -4
  339. package/src/api/controllers/{automation.ts → automation.js} +48 -48
  340. package/src/api/controllers/{cloud.ts → cloud.js} +24 -24
  341. package/src/api/controllers/component.ts +1 -2
  342. package/src/api/controllers/{datasource.ts → datasource.js} +49 -109
  343. package/src/api/controllers/deploy/{Deployment.ts → Deployment.js} +10 -13
  344. package/src/api/controllers/deploy/index.ts +25 -13
  345. package/src/api/controllers/{dev.ts → dev.js} +37 -31
  346. package/src/api/controllers/integration.js +14 -0
  347. package/src/api/controllers/{layout.ts → layout.js} +8 -8
  348. package/src/api/controllers/{metadata.ts → metadata.js} +10 -11
  349. package/src/api/controllers/migrations.js +13 -0
  350. package/src/api/controllers/{permission.ts → permission.js} +46 -49
  351. package/src/api/controllers/plugin/index.ts +5 -4
  352. package/src/api/controllers/plugin/utils.ts +5 -3
  353. package/src/api/controllers/public/applications.ts +9 -15
  354. package/src/api/controllers/public/rows.ts +1 -1
  355. package/src/api/controllers/public/tables.ts +2 -2
  356. package/src/api/controllers/public/utils.ts +2 -2
  357. package/src/api/controllers/query/import/index.ts +3 -2
  358. package/src/api/controllers/query/index.ts +14 -11
  359. package/src/api/controllers/query/{validation.ts → validation.js} +7 -7
  360. package/src/api/controllers/{role.ts → role.js} +25 -21
  361. package/src/api/controllers/{routing.ts → routing.js} +34 -37
  362. package/src/api/controllers/row/ExternalRequest.ts +624 -602
  363. package/src/api/controllers/row/{external.ts → external.js} +62 -79
  364. package/src/api/controllers/row/index.ts +11 -19
  365. package/src/api/controllers/row/{internal.ts → internal.js} +73 -87
  366. package/src/api/controllers/row/{internalSearch.ts → internalSearch.js} +68 -92
  367. package/src/api/controllers/row/{staticFormula.ts → staticFormula.js} +25 -30
  368. package/src/api/controllers/row/{utils.ts → utils.js} +22 -32
  369. package/src/api/controllers/screen.ts +6 -10
  370. package/src/api/controllers/script.js +11 -0
  371. package/src/api/controllers/static/index.ts +16 -14
  372. package/src/api/controllers/table/{bulkFormula.ts → bulkFormula.js} +25 -39
  373. package/src/api/controllers/table/{external.ts → external.js} +55 -86
  374. package/src/api/controllers/table/{index.ts → index.js} +18 -21
  375. package/src/api/controllers/table/internal.ts +6 -5
  376. package/src/api/controllers/table/utils.ts +21 -26
  377. package/src/api/controllers/{templates.ts → templates.js} +7 -10
  378. package/src/api/controllers/{user.ts → user.js} +49 -47
  379. package/src/api/controllers/view/{exporters.ts → exporters.js} +3 -5
  380. package/src/api/controllers/view/{index.ts → index.js} +27 -36
  381. package/src/api/controllers/view/{utils.ts → utils.js} +20 -26
  382. package/src/api/controllers/view/{viewBuilder.ts → viewBuilder.js} +11 -25
  383. package/src/api/controllers/webhook.ts +1 -1
  384. package/src/api/{index.ts → index.js} +22 -15
  385. package/src/api/routes/analytics.js +9 -0
  386. package/src/api/routes/apikeys.js +12 -0
  387. package/src/api/routes/application.ts +9 -17
  388. package/src/api/routes/auth.ts +2 -2
  389. package/src/api/routes/automation.js +85 -0
  390. package/src/api/routes/backup.ts +4 -8
  391. package/src/api/routes/cloud.js +14 -0
  392. package/src/api/routes/component.js +14 -0
  393. package/src/api/routes/datasource.js +51 -0
  394. package/src/api/routes/deploy.js +17 -0
  395. package/src/api/routes/dev.js +26 -0
  396. package/src/api/routes/integration.js +12 -0
  397. package/src/api/routes/layout.js +16 -0
  398. package/src/api/routes/{metadata.ts → metadata.js} +13 -13
  399. package/src/api/routes/migrations.js +14 -0
  400. package/src/api/routes/permission.js +33 -0
  401. package/src/api/routes/plugin.ts +6 -14
  402. package/src/api/routes/public/index.ts +14 -11
  403. package/src/api/routes/public/tests/compare.spec.js +1 -1
  404. package/src/api/routes/{query.ts → query.js} +22 -19
  405. package/src/api/routes/role.js +15 -0
  406. package/src/api/routes/routing.js +14 -0
  407. package/src/api/routes/row.ts +15 -13
  408. package/src/api/routes/screen.js +18 -0
  409. package/src/api/routes/script.js +10 -0
  410. package/src/api/routes/static.ts +10 -7
  411. package/src/api/routes/{table.ts → table.js} +13 -10
  412. package/src/api/routes/templates.js +16 -0
  413. package/src/api/routes/tests/analytics.spec.js +1 -1
  414. package/src/api/routes/tests/backup.spec.js +1 -9
  415. package/src/api/routes/tests/deployment.spec.ts +1 -1
  416. package/src/api/routes/tests/permissions.spec.js +1 -2
  417. package/src/api/routes/tests/query.spec.js +10 -15
  418. package/src/api/routes/tests/role.spec.js +9 -7
  419. package/src/api/routes/tests/routing.spec.js +1 -2
  420. package/src/api/routes/tests/row.spec.js +4 -3
  421. package/src/api/routes/tests/static.spec.js +2 -2
  422. package/src/api/routes/tests/table.spec.js +36 -40
  423. package/src/api/routes/tests/user.spec.js +1 -2
  424. package/src/api/routes/tests/utilities/TestFunctions.ts +8 -6
  425. package/src/api/routes/tests/utilities/{index.ts → index.js} +12 -12
  426. package/src/api/routes/tests/view.spec.js +3 -3
  427. package/src/api/routes/user.js +53 -0
  428. package/src/api/routes/utils/{validators.ts → validators.js} +37 -33
  429. package/src/api/routes/view.js +31 -0
  430. package/src/api/routes/webhook.ts +2 -2
  431. package/src/app.ts +14 -15
  432. package/src/automations/{actions.ts → actions.js} +23 -26
  433. package/src/automations/{automationUtils.ts → automationUtils.js} +12 -13
  434. package/src/automations/bullboard.js +39 -0
  435. package/src/automations/index.js +29 -0
  436. package/src/automations/steps/{bash.ts → bash.js} +8 -13
  437. package/src/automations/steps/createRow.ts +3 -8
  438. package/src/automations/steps/{delay.ts → delay.js} +4 -9
  439. package/src/automations/steps/deleteRow.ts +3 -8
  440. package/src/automations/steps/{discord.ts → discord.js} +5 -10
  441. package/src/automations/steps/{executeQuery.ts → executeQuery.js} +7 -12
  442. package/src/automations/steps/{executeScript.ts → executeScript.js} +7 -17
  443. package/src/automations/steps/{filter.ts → filter.js} +9 -12
  444. package/src/automations/steps/{integromat.ts → integromat.js} +5 -10
  445. package/src/automations/steps/{loop.ts → loop.js} +2 -4
  446. package/src/automations/steps/{outgoingWebhook.ts → outgoingWebhook.js} +13 -18
  447. package/src/automations/steps/{queryRows.ts → queryRows.js} +36 -48
  448. package/src/automations/steps/{sendSmtpEmail.ts → sendSmtpEmail.js} +5 -10
  449. package/src/automations/steps/{serverLog.ts → serverLog.js} +3 -9
  450. package/src/automations/steps/{slack.ts → slack.js} +5 -10
  451. package/src/automations/steps/{updateRow.ts → updateRow.js} +7 -12
  452. package/src/automations/steps/{utils.ts → utils.js} +4 -10
  453. package/src/automations/steps/{zapier.ts → zapier.js} +5 -11
  454. package/src/automations/tests/updateRow.spec.js +1 -0
  455. package/src/automations/tests/utilities/index.js +51 -0
  456. package/src/automations/triggerInfo/{app.ts → app.js} +2 -7
  457. package/src/automations/triggerInfo/{cron.ts → cron.js} +2 -7
  458. package/src/automations/triggerInfo/index.js +15 -0
  459. package/src/automations/triggerInfo/{rowDeleted.ts → rowDeleted.js} +2 -7
  460. package/src/automations/triggerInfo/{rowSaved.ts → rowSaved.js} +2 -7
  461. package/src/automations/triggerInfo/{rowUpdated.ts → rowUpdated.js} +2 -7
  462. package/src/automations/triggerInfo/{webhook.ts → webhook.js} +2 -7
  463. package/src/automations/{triggers.ts → triggers.js} +26 -30
  464. package/src/automations/utils.ts +12 -9
  465. package/src/constants/index.js +208 -0
  466. package/src/constants/{layouts.ts → layouts.js} +9 -3
  467. package/src/constants/screens.js +46 -0
  468. package/src/db/{dynamoClient.ts → dynamoClient.js} +19 -39
  469. package/src/db/{inMemoryView.ts → inMemoryView.js} +9 -15
  470. package/src/db/index.js +16 -0
  471. package/src/db/linkedRows/{LinkController.ts → LinkController.js} +85 -64
  472. package/src/db/linkedRows/{index.ts → index.js} +38 -43
  473. package/src/db/linkedRows/{linkUtils.ts → linkUtils.js} +24 -33
  474. package/src/db/{newid.ts → newid.js} +1 -1
  475. package/src/db/tests/linkController.spec.js +57 -73
  476. package/src/db/tests/linkTests.spec.js +14 -17
  477. package/src/db/{utils.ts → utils.js} +93 -77
  478. package/src/db/views/{staticViews.ts → staticViews.js} +13 -20
  479. package/src/{environment.ts → environment.js} +7 -11
  480. package/src/events/{AutomationEmitter.ts → AutomationEmitter.js} +7 -12
  481. package/src/events/{BudibaseEmitter.ts → index.js} +8 -7
  482. package/src/events/utils.js +38 -0
  483. package/src/integrations/base/sql.ts +1 -1
  484. package/src/integrations/base/sqlTable.ts +1 -1
  485. package/src/integrations/elasticsearch.ts +2 -32
  486. package/src/integrations/googlesheets.ts +7 -5
  487. package/src/integrations/index.ts +41 -45
  488. package/src/integrations/s3.ts +3 -179
  489. package/src/integrations/tests/s3.spec.ts +1 -85
  490. package/src/integrations/utils.ts +2 -6
  491. package/src/middleware/appInfo.js +19 -0
  492. package/src/middleware/authorized.ts +28 -21
  493. package/src/middleware/{builder.ts → builder.js} +15 -17
  494. package/src/middleware/{currentapp.ts → currentapp.js} +39 -42
  495. package/src/middleware/{joi-validator.ts → joi-validator.js} +8 -9
  496. package/src/middleware/publicApi.js +21 -0
  497. package/src/middleware/{resourceId.ts → resourceId.js} +11 -16
  498. package/src/middleware/{selfhost.ts → selfhost.js} +2 -4
  499. package/src/middleware/tests/authorized.spec.js +6 -5
  500. package/src/middleware/tests/currentapp.spec.js +63 -118
  501. package/src/middleware/{utils.ts → utils.js} +1 -3
  502. package/src/migrations/functions/appUrls.ts +2 -2
  503. package/src/migrations/functions/backfill/app/tables.ts +5 -2
  504. package/src/migrations/functions/backfill/global.ts +1 -1
  505. package/src/migrations/functions/tests/appUrls.spec.js +4 -4
  506. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +9 -14
  507. package/src/migrations/functions/usageQuotas/syncApps.ts +4 -3
  508. package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
  509. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
  510. package/src/migrations/functions/userEmailViewCasing.ts +3 -3
  511. package/src/migrations/index.ts +0 -9
  512. package/src/migrations/tests/index.spec.ts +1 -1
  513. package/src/module.d.ts +14 -0
  514. package/src/sdk/app/backups/exports.ts +3 -5
  515. package/src/sdk/app/backups/imports.ts +14 -7
  516. package/src/sdk/app/backups/statistics.ts +18 -9
  517. package/src/sdk/app/tables/index.ts +8 -7
  518. package/src/startup.ts +5 -5
  519. package/src/tests/utilities/{TestConfiguration.ts → TestConfiguration.js} +78 -111
  520. package/src/tests/utilities/controllers.js +16 -0
  521. package/src/tests/utilities/{index.ts → index.js} +2 -2
  522. package/src/tests/utilities/{structures.ts → structures.js} +36 -41
  523. package/src/threads/automation.ts +19 -18
  524. package/src/threads/query.ts +16 -11
  525. package/src/threads/utils.ts +5 -4
  526. package/src/utilities/budibaseDir.js +3 -0
  527. package/src/utilities/{centralPath.ts → centralPath.js} +3 -3
  528. package/src/utilities/{csvParser.ts → csvParser.js} +26 -42
  529. package/src/utilities/fileSystem/{clientLibrary.ts → clientLibrary.js} +20 -20
  530. package/src/utilities/fileSystem/{index.ts → index.js} +65 -61
  531. package/src/utilities/fileSystem/{processor.ts → processor.js} +5 -3
  532. package/src/utilities/fileSystem/utilities.js +36 -0
  533. package/src/utilities/global.js +127 -0
  534. package/src/utilities/{index.ts → index.js} +32 -40
  535. package/src/utilities/{plugins.ts → plugins.js} +4 -5
  536. package/src/utilities/queue/inMemoryQueue.js +122 -0
  537. package/src/utilities/{redis.ts → redis.js} +20 -21
  538. package/src/utilities/routing/index.js +25 -0
  539. package/src/utilities/rowProcessor/{index.ts → index.js} +144 -67
  540. package/src/utilities/rowProcessor/{utils.ts → utils.js} +15 -19
  541. package/src/utilities/{scriptRunner.ts → scriptRunner.js} +4 -8
  542. package/src/utilities/security.js +71 -0
  543. package/src/utilities/{statusCodes.ts → statusCodes.js} +1 -1
  544. package/src/utilities/usageQuota/{rows.ts → rows.js} +18 -14
  545. package/src/utilities/usageQuota/{usageQuoteReset.ts → usageQuoteReset.js} +1 -1
  546. package/src/utilities/{users.ts → users.js} +13 -11
  547. package/src/utilities/{workerRequests.ts → workerRequests.js} +38 -43
  548. package/src/watch.ts +3 -2
  549. package/tsconfig.build.json +2 -1
  550. package/tsconfig.json +1 -3
  551. package/builder/assets/index.0c44dac3.css +0 -6
  552. package/builder/assets/index.8935424b.js +0 -1021
  553. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +0 -190
  554. package/coverage/lcov-report/src/api/controllers/application.ts.html +0 -2038
  555. package/coverage/lcov-report/src/api/controllers/auth.ts.html +0 -301
  556. package/coverage/lcov-report/src/api/controllers/backup.ts.html +0 -148
  557. package/coverage/lcov-report/src/api/controllers/component.ts.html +0 -259
  558. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +0 -259
  559. package/coverage/lcov-report/src/api/controllers/deploy/index.html +0 -131
  560. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +0 -730
  561. package/coverage/lcov-report/src/api/controllers/index.html +0 -431
  562. package/coverage/lcov-report/src/api/controllers/integration.ts.html +0 -124
  563. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +0 -130
  564. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +0 -310
  565. package/coverage/lcov-report/src/api/controllers/plugin/index.html +0 -206
  566. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +0 -484
  567. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +0 -253
  568. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +0 -97
  569. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +0 -121
  570. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +0 -136
  571. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +0 -334
  572. package/coverage/lcov-report/src/api/controllers/public/index.html +0 -191
  573. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +0 -181
  574. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +0 -191
  575. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +0 -124
  576. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +0 -202
  577. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +0 -178
  578. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +0 -181
  579. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +0 -145
  580. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +0 -328
  581. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +0 -253
  582. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +0 -268
  583. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +0 -220
  584. package/coverage/lcov-report/src/api/controllers/query/import/index.html +0 -116
  585. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +0 -373
  586. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +0 -131
  587. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +0 -379
  588. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +0 -157
  589. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +0 -403
  590. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +0 -146
  591. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +0 -586
  592. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +0 -712
  593. package/coverage/lcov-report/src/api/controllers/query/index.html +0 -131
  594. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +0 -976
  595. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +0 -2260
  596. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +0 -541
  597. package/coverage/lcov-report/src/api/controllers/screen.ts.html +0 -463
  598. package/coverage/lcov-report/src/api/controllers/static/index.html +0 -116
  599. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +0 -694
  600. package/coverage/lcov-report/src/api/controllers/table/index.html +0 -176
  601. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +0 -661
  602. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +0 -1255
  603. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +0 -379
  604. package/coverage/lcov-report/src/api/routes/analytics.ts.html +0 -112
  605. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +0 -121
  606. package/coverage/lcov-report/src/api/routes/application.ts.html +0 -223
  607. package/coverage/lcov-report/src/api/routes/auth.ts.html +0 -109
  608. package/coverage/lcov-report/src/api/routes/datasource.ts.html +0 -265
  609. package/coverage/lcov-report/src/api/routes/deploy.ts.html +0 -148
  610. package/coverage/lcov-report/src/api/routes/index.ts.html +0 -289
  611. package/coverage/lcov-report/src/api/routes/migrations.ts.html +0 -127
  612. package/coverage/lcov-report/src/api/routes/plugin.ts.html +0 -151
  613. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +0 -541
  614. package/coverage/lcov-report/src/api/routes/public/index.html +0 -191
  615. package/coverage/lcov-report/src/api/routes/public/index.ts.html +0 -493
  616. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +0 -116
  617. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +0 -328
  618. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +0 -313
  619. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +0 -598
  620. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +0 -586
  621. package/coverage/lcov-report/src/api/routes/public/users.ts.html +0 -511
  622. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +0 -238
  623. package/coverage/lcov-report/src/api/routes/public/utils/index.html +0 -116
  624. package/coverage/lcov-report/src/api/routes/role.ts.html +0 -157
  625. package/coverage/lcov-report/src/api/routes/row.ts.html +0 -883
  626. package/coverage/lcov-report/src/api/routes/screen.ts.html +0 -154
  627. package/coverage/lcov-report/src/api/routes/static.ts.html +0 -280
  628. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +0 -550
  629. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +0 -131
  630. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +0 -367
  631. package/coverage/lcov-report/src/api/routes/webhook.ts.html +0 -166
  632. package/coverage/lcov-report/src/app.ts.html +0 -406
  633. package/coverage/lcov-report/src/automations/logging/index.html +0 -116
  634. package/coverage/lcov-report/src/automations/logging/index.ts.html +0 -199
  635. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +0 -382
  636. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +0 -349
  637. package/coverage/lcov-report/src/automations/steps/index.html +0 -371
  638. package/coverage/lcov-report/src/automations/tests/utilities/index.html +0 -116
  639. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +0 -265
  640. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +0 -196
  641. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +0 -130
  642. package/coverage/lcov-report/src/automations/utils.ts.html +0 -886
  643. package/coverage/lcov-report/src/constants/index.ts.html +0 -697
  644. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +0 -2059
  645. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +0 -541
  646. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +0 -427
  647. package/coverage/lcov-report/src/db/defaultData/index.html +0 -176
  648. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +0 -403
  649. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +0 -559
  650. package/coverage/lcov-report/src/db/dynamoClient.ts.html +0 -526
  651. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +0 -265
  652. package/coverage/lcov-report/src/db/linkedRows/index.html +0 -161
  653. package/coverage/lcov-report/src/environment.ts.html +0 -457
  654. package/coverage/lcov-report/src/events/utils.ts.html +0 -319
  655. package/coverage/lcov-report/src/index.html +0 -191
  656. package/coverage/lcov-report/src/index.ts.html +0 -133
  657. package/coverage/lcov-report/src/integrations/arangodb.ts.html +0 -415
  658. package/coverage/lcov-report/src/integrations/base/index.html +0 -161
  659. package/coverage/lcov-report/src/integrations/base/query.ts.html +0 -133
  660. package/coverage/lcov-report/src/integrations/base/sql.ts.html +0 -1951
  661. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +0 -691
  662. package/coverage/lcov-report/src/integrations/base/utils.ts.html +0 -121
  663. package/coverage/lcov-report/src/integrations/couchdb.ts.html +0 -406
  664. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +0 -634
  665. package/coverage/lcov-report/src/integrations/firebase.ts.html +0 -646
  666. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +0 -1315
  667. package/coverage/lcov-report/src/integrations/index.html +0 -371
  668. package/coverage/lcov-report/src/integrations/index.ts.html +0 -445
  669. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +0 -1006
  670. package/coverage/lcov-report/src/integrations/mongodb.ts.html +0 -1867
  671. package/coverage/lcov-report/src/integrations/mysql.ts.html +0 -964
  672. package/coverage/lcov-report/src/integrations/oracle.ts.html +0 -1474
  673. package/coverage/lcov-report/src/integrations/postgres.ts.html +0 -1069
  674. package/coverage/lcov-report/src/integrations/queries/index.html +0 -116
  675. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +0 -463
  676. package/coverage/lcov-report/src/integrations/redis.ts.html +0 -550
  677. package/coverage/lcov-report/src/integrations/rest.ts.html +0 -1381
  678. package/coverage/lcov-report/src/integrations/s3.ts.html +0 -862
  679. package/coverage/lcov-report/src/integrations/snowflake.ts.html +0 -376
  680. package/coverage/lcov-report/src/integrations/utils.ts.html +0 -1018
  681. package/coverage/lcov-report/src/middleware/authorized.ts.html +0 -460
  682. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +0 -187
  683. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +0 -163
  684. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +0 -151
  685. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +0 -206
  686. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +0 -172
  687. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +0 -226
  688. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +0 -151
  689. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +0 -151
  690. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +0 -166
  691. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +0 -532
  692. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +0 -283
  693. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +0 -146
  694. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +0 -265
  695. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +0 -232
  696. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +0 -724
  697. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +0 -161
  698. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +0 -106
  699. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +0 -235
  700. package/coverage/lcov-report/src/migrations/functions/index.html +0 -161
  701. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +0 -130
  702. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +0 -520
  703. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +0 -161
  704. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +0 -94
  705. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +0 -127
  706. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +0 -115
  707. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +0 -169
  708. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +0 -124
  709. package/coverage/lcov-report/src/migrations/index.ts.html +0 -430
  710. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +0 -205
  711. package/coverage/lcov-report/src/migrations/tests/index.html +0 -131
  712. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +0 -283
  713. package/coverage/lcov-report/src/sdk/app/automations/index.html +0 -131
  714. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +0 -100
  715. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +0 -214
  716. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +0 -91
  717. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +0 -604
  718. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +0 -682
  719. package/coverage/lcov-report/src/sdk/app/backups/index.html +0 -176
  720. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +0 -112
  721. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +0 -292
  722. package/coverage/lcov-report/src/sdk/app/tables/index.html +0 -116
  723. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +0 -265
  724. package/coverage/lcov-report/src/startup.ts.html +0 -499
  725. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +0 -1966
  726. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +0 -127
  727. package/coverage/lcov-report/src/tests/utilities/index.html +0 -161
  728. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +0 -667
  729. package/coverage/lcov-report/src/threads/automation.ts.html +0 -1594
  730. package/coverage/lcov-report/src/threads/index.html +0 -161
  731. package/coverage/lcov-report/src/threads/index.ts.html +0 -418
  732. package/coverage/lcov-report/src/threads/query.ts.html +0 -961
  733. package/coverage/lcov-report/src/threads/utils.ts.html +0 -373
  734. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +0 -547
  735. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +0 -1129
  736. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +0 -142
  737. package/coverage/lcov-report/src/utilities/redis.ts.html +0 -343
  738. package/coverage/lcov-report/src/utilities/routing/index.ts.html +0 -181
  739. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +0 -146
  740. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +0 -373
  741. package/coverage/lcov-report/src/watch.ts.html +0 -196
  742. package/dist/db/defaultData/datasource_bb_default.js +0 -573
  743. package/dist/db/defaultData/employeeImport.js +0 -155
  744. package/dist/db/defaultData/expensesImport.js +0 -117
  745. package/dist/db/defaultData/inventoryImport.js +0 -109
  746. package/dist/db/defaultData/jobsImport.js +0 -152
  747. package/dist/db/linkedRows/LinkDocument.js +0 -32
  748. package/dist/events/BudibaseEmitter.js +0 -24
  749. package/dist/migrations/functions/tableSettings.js +0 -130
  750. package/dist/utilities/rowProcessor/map.js +0 -99
  751. package/jest.config.ts +0 -33
  752. package/src/api/controllers/integration.ts +0 -13
  753. package/src/api/controllers/migrations.ts +0 -14
  754. package/src/api/controllers/script.ts +0 -12
  755. package/src/api/routes/analytics.ts +0 -9
  756. package/src/api/routes/apikeys.ts +0 -12
  757. package/src/api/routes/automation.ts +0 -87
  758. package/src/api/routes/cloud.ts +0 -18
  759. package/src/api/routes/component.ts +0 -14
  760. package/src/api/routes/datasource.ts +0 -60
  761. package/src/api/routes/deploy.ts +0 -21
  762. package/src/api/routes/dev.ts +0 -38
  763. package/src/api/routes/integration.ts +0 -16
  764. package/src/api/routes/layout.ts +0 -16
  765. package/src/api/routes/migrations.ts +0 -14
  766. package/src/api/routes/permission.ts +0 -41
  767. package/src/api/routes/role.ts +0 -24
  768. package/src/api/routes/routing.ts +0 -14
  769. package/src/api/routes/screen.ts +0 -23
  770. package/src/api/routes/script.ts +0 -10
  771. package/src/api/routes/templates.ts +0 -16
  772. package/src/api/routes/user.ts +0 -51
  773. package/src/api/routes/view.ts +0 -34
  774. package/src/automations/bullboard.ts +0 -38
  775. package/src/automations/index.ts +0 -26
  776. package/src/automations/tests/utilities/index.ts +0 -60
  777. package/src/automations/triggerInfo/index.ts +0 -15
  778. package/src/constants/index.ts +0 -204
  779. package/src/constants/screens.ts +0 -48
  780. package/src/db/defaultData/datasource_bb_default.ts +0 -658
  781. package/src/db/defaultData/employeeImport.ts +0 -152
  782. package/src/db/defaultData/expensesImport.ts +0 -114
  783. package/src/db/defaultData/inventoryImport.ts +0 -106
  784. package/src/db/defaultData/jobsImport.ts +0 -158
  785. package/src/db/index.ts +0 -16
  786. package/src/db/linkedRows/LinkDocument.ts +0 -60
  787. package/src/events/index.ts +0 -5
  788. package/src/events/utils.ts +0 -78
  789. package/src/middleware/appInfo.ts +0 -20
  790. package/src/middleware/publicApi.ts +0 -21
  791. package/src/migrations/functions/tableSettings.ts +0 -145
  792. package/src/migrations/functions/tests/tableSettings.spec.ts +0 -144
  793. package/src/tests/utilities/controllers.ts +0 -14
  794. package/src/utilities/budibaseDir.ts +0 -3
  795. package/src/utilities/global.ts +0 -138
  796. package/src/utilities/routing/index.ts +0 -32
  797. package/src/utilities/rowProcessor/map.ts +0 -96
  798. package/src/utilities/security.ts +0 -65
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/api/controllers/table/external.ts</title>
6
+ <title>Code coverage report for api/controllers/table/external.js</title>
7
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" />
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
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../../../../sort-arrow-sprite.png);
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,20 +19,20 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../../../index.html">All files</a> / <a href="index.html">src/api/controllers/table</a> external.ts</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">api/controllers/table</a> external.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">8.72% </span>
26
+ <span class="strong">9.09% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>13/149</span>
28
+ <span class='fraction'>13/143</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/69</span>
35
+ <span class='fraction'>0/81</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.72% </span>
47
+ <span class="strong">9.09% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>13/149</span>
49
+ <span class='fraction'>13/143</span>
50
50
  </div>
51
51
 
52
52
 
@@ -386,64 +386,28 @@
386
386
  <a name='L321'></a><a href='#L321'>321</a>
387
387
  <a name='L322'></a><a href='#L322'>322</a>
388
388
  <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a>
410
- <a name='L345'></a><a href='#L345'>345</a>
411
- <a name='L346'></a><a href='#L346'>346</a>
412
- <a name='L347'></a><a href='#L347'>347</a>
413
- <a name='L348'></a><a href='#L348'>348</a>
414
- <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a>
416
- <a name='L351'></a><a href='#L351'>351</a>
417
- <a name='L352'></a><a href='#L352'>352</a>
418
- <a name='L353'></a><a href='#L353'>353</a>
419
- <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
389
+ <a name='L324'></a><a href='#L324'>324</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
421
390
  <span class="cline-any cline-neutral">&nbsp;</span>
422
391
  <span class="cline-any cline-neutral">&nbsp;</span>
392
+ <span class="cline-any cline-yes">45x</span>
423
393
  <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-yes">46x</span>
425
394
  <span class="cline-any cline-neutral">&nbsp;</span>
426
395
  <span class="cline-any cline-neutral">&nbsp;</span>
427
396
  <span class="cline-any cline-neutral">&nbsp;</span>
428
397
  <span class="cline-any cline-neutral">&nbsp;</span>
398
+ <span class="cline-any cline-yes">45x</span>
429
399
  <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-yes">46x</span>
431
- <span class="cline-any cline-yes">46x</span>
432
- <span class="cline-any cline-yes">46x</span>
433
- <span class="cline-any cline-yes">46x</span>
434
- <span class="cline-any cline-yes">46x</span>
435
- <span class="cline-any cline-yes">46x</span>
436
400
  <span class="cline-any cline-neutral">&nbsp;</span>
437
401
  <span class="cline-any cline-neutral">&nbsp;</span>
438
402
  <span class="cline-any cline-neutral">&nbsp;</span>
439
- <span class="cline-any cline-neutral">&nbsp;</span>
440
- <span class="cline-any cline-neutral">&nbsp;</span>
441
- <span class="cline-any cline-neutral">&nbsp;</span>
442
- <span class="cline-any cline-neutral">&nbsp;</span>
443
- <span class="cline-any cline-neutral">&nbsp;</span>
444
- <span class="cline-any cline-neutral">&nbsp;</span>
445
- <span class="cline-any cline-yes">46x</span>
446
- <span class="cline-any cline-yes">46x</span>
403
+ <span class="cline-any cline-yes">45x</span>
404
+ <span class="cline-any cline-yes">45x</span>
405
+ <span class="cline-any cline-yes">45x</span>
406
+ <span class="cline-any cline-yes">45x</span>
407
+ <span class="cline-any cline-yes">45x</span>
408
+ <span class="cline-any cline-yes">45x</span>
409
+ <span class="cline-any cline-yes">45x</span>
410
+ <span class="cline-any cline-yes">45x</span>
447
411
  <span class="cline-any cline-neutral">&nbsp;</span>
448
412
  <span class="cline-any cline-neutral">&nbsp;</span>
449
413
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -474,10 +438,6 @@
474
438
  <span class="cline-any cline-neutral">&nbsp;</span>
475
439
  <span class="cline-any cline-neutral">&nbsp;</span>
476
440
  <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
480
- <span class="cline-any cline-neutral">&nbsp;</span>
481
441
  <span class="cline-any cline-no">&nbsp;</span>
482
442
  <span class="cline-any cline-neutral">&nbsp;</span>
483
443
  <span class="cline-any cline-no">&nbsp;</span>
@@ -526,14 +486,6 @@
526
486
  <span class="cline-any cline-neutral">&nbsp;</span>
527
487
  <span class="cline-any cline-neutral">&nbsp;</span>
528
488
  <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-neutral">&nbsp;</span>
532
- <span class="cline-any cline-neutral">&nbsp;</span>
533
- <span class="cline-any cline-neutral">&nbsp;</span>
534
- <span class="cline-any cline-no">&nbsp;</span>
535
- <span class="cline-any cline-no">&nbsp;</span>
536
- <span class="cline-any cline-neutral">&nbsp;</span>
537
489
  <span class="cline-any cline-no">&nbsp;</span>
538
490
  <span class="cline-any cline-no">&nbsp;</span>
539
491
  <span class="cline-any cline-no">&nbsp;</span>
@@ -562,27 +514,14 @@
562
514
  <span class="cline-any cline-neutral">&nbsp;</span>
563
515
  <span class="cline-any cline-neutral">&nbsp;</span>
564
516
  <span class="cline-any cline-neutral">&nbsp;</span>
565
- <span class="cline-any cline-neutral">&nbsp;</span>
566
- <span class="cline-any cline-neutral">&nbsp;</span>
567
- <span class="cline-any cline-neutral">&nbsp;</span>
568
- <span class="cline-any cline-neutral">&nbsp;</span>
569
- <span class="cline-any cline-neutral">&nbsp;</span>
570
517
  <span class="cline-any cline-no">&nbsp;</span>
571
518
  <span class="cline-any cline-no">&nbsp;</span>
572
519
  <span class="cline-any cline-neutral">&nbsp;</span>
573
520
  <span class="cline-any cline-no">&nbsp;</span>
574
521
  <span class="cline-any cline-no">&nbsp;</span>
575
- <span class="cline-any cline-neutral">&nbsp;</span>
576
- <span class="cline-any cline-no">&nbsp;</span>
577
522
  <span class="cline-any cline-no">&nbsp;</span>
578
523
  <span class="cline-any cline-no">&nbsp;</span>
579
524
  <span class="cline-any cline-no">&nbsp;</span>
580
- <span class="cline-any cline-no">&nbsp;</span>
581
- <span class="cline-any cline-neutral">&nbsp;</span>
582
- <span class="cline-any cline-neutral">&nbsp;</span>
583
- <span class="cline-any cline-neutral">&nbsp;</span>
584
- <span class="cline-any cline-neutral">&nbsp;</span>
585
- <span class="cline-any cline-neutral">&nbsp;</span>
586
525
  <span class="cline-any cline-neutral">&nbsp;</span>
587
526
  <span class="cline-any cline-neutral">&nbsp;</span>
588
527
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -612,7 +551,7 @@
612
551
  <span class="cline-any cline-no">&nbsp;</span>
613
552
  <span class="cline-any cline-neutral">&nbsp;</span>
614
553
  <span class="cline-any cline-neutral">&nbsp;</span>
615
- <span class="cline-any cline-yes">46x</span>
554
+ <span class="cline-any cline-yes">45x</span>
616
555
  <span class="cline-any cline-no">&nbsp;</span>
617
556
  <span class="cline-any cline-no">&nbsp;</span>
618
557
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -657,9 +596,6 @@
657
596
  <span class="cline-any cline-neutral">&nbsp;</span>
658
597
  <span class="cline-any cline-no">&nbsp;</span>
659
598
  <span class="cline-any cline-no">&nbsp;</span>
660
- <span class="cline-any cline-neutral">&nbsp;</span>
661
- <span class="cline-any cline-no">&nbsp;</span>
662
- <span class="cline-any cline-no">&nbsp;</span>
663
599
  <span class="cline-any cline-no">&nbsp;</span>
664
600
  <span class="cline-any cline-no">&nbsp;</span>
665
601
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -700,6 +636,8 @@
700
636
  <span class="cline-any cline-no">&nbsp;</span>
701
637
  <span class="cline-any cline-neutral">&nbsp;</span>
702
638
  <span class="cline-any cline-no">&nbsp;</span>
639
+ <span class="cline-any cline-neutral">&nbsp;</span>
640
+ <span class="cline-any cline-neutral">&nbsp;</span>
703
641
  <span class="cline-any cline-no">&nbsp;</span>
704
642
  <span class="cline-any cline-neutral">&nbsp;</span>
705
643
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -712,6 +650,8 @@
712
650
  <span class="cline-any cline-no">&nbsp;</span>
713
651
  <span class="cline-any cline-no">&nbsp;</span>
714
652
  <span class="cline-any cline-no">&nbsp;</span>
653
+ <span class="cline-any cline-neutral">&nbsp;</span>
654
+ <span class="cline-any cline-neutral">&nbsp;</span>
715
655
  <span class="cline-any cline-no">&nbsp;</span>
716
656
  <span class="cline-any cline-neutral">&nbsp;</span>
717
657
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -731,10 +671,8 @@
731
671
  <span class="cline-any cline-no">&nbsp;</span>
732
672
  <span class="cline-any cline-neutral">&nbsp;</span>
733
673
  <span class="cline-any cline-neutral">&nbsp;</span>
734
- <span class="cline-any cline-yes">46x</span>
674
+ <span class="cline-any cline-yes">45x</span>
735
675
  <span class="cline-any cline-no">&nbsp;</span>
736
- <span class="cline-any cline-neutral">&nbsp;</span>
737
- <span class="cline-any cline-neutral">&nbsp;</span>
738
676
  <span class="cline-any cline-no">&nbsp;</span>
739
677
  <span class="cline-any cline-no">&nbsp;</span>
740
678
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -755,7 +693,7 @@
755
693
  <span class="cline-any cline-no">&nbsp;</span>
756
694
  <span class="cline-any cline-neutral">&nbsp;</span>
757
695
  <span class="cline-any cline-neutral">&nbsp;</span>
758
- <span class="cline-any cline-yes">46x</span>
696
+ <span class="cline-any cline-yes">45x</span>
759
697
  <span class="cline-any cline-no">&nbsp;</span>
760
698
  <span class="cline-any cline-no">&nbsp;</span>
761
699
  <span class="cline-any cline-no">&nbsp;</span>
@@ -771,46 +709,41 @@
771
709
  <span class="cline-any cline-no">&nbsp;</span>
772
710
  <span class="cline-any cline-no">&nbsp;</span>
773
711
  <span class="cline-any cline-neutral">&nbsp;</span>
774
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
712
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const {
775
713
  buildExternalTableId,
776
714
  breakExternalTableId,
777
- } from "../../../integrations/utils"
778
- import {
715
+ } = require("../../../integrations/utils")
716
+ const {
779
717
  generateForeignKey,
780
718
  generateJunctionTableName,
781
719
  foreignKeyStructure,
782
720
  hasTypeChanged,
783
- } from "./utils"
784
- import { FieldTypes, RelationshipTypes } from "../../../constants"
785
- import { makeExternalQuery } from "../../../integrations/base/query"
786
- import * as csvParser from "../../../utilities/csvParser"
787
- import { handleRequest } from "../row/external"
788
- import { events, context } from "@budibase/backend-core"
789
- import {
790
- Datasource,
791
- Table,
792
- QueryJson,
793
- Operation,
794
- RenameColumn,
795
- FieldSchema,
796
- BBContext,
797
- TableRequest,
798
- } from "@budibase/types"
799
- import sdk from "../../../sdk"
721
+ } = require("./utils")
722
+ const {
723
+ DataSourceOperation,
724
+ FieldTypes,
725
+ RelationshipTypes,
726
+ } = require("../../../constants")
727
+ const { makeExternalQuery } = require("../../../integrations/base/query")
800
728
  const { cloneDeep } = require("lodash/fp")
729
+ const csvParser = require("../../../utilities/csvParser")
730
+ const { handleRequest } = require("../row/external")
731
+ const { getAppDB } = require("@budibase/backend-core/context")
732
+ const { events } = require("@budibase/backend-core")
733
+ const sdk = require("../../../sdk")
801
734
  &nbsp;
802
735
  async function <span class="fstat-no" title="function not covered" >makeTableRequest(</span>
803
- datasource: Datasource,
804
- operation: Operation,
805
- table: Table,
806
- tables: Record&lt;string, Table&gt;,
807
- oldTable?: Table,
808
- renamed?: RenameColumn
736
+ datasource,
737
+ operation,
738
+ table,
739
+ tables,
740
+ oldTable = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
741
+ renamed = <span class="branch-0 cbranch-no" title="branch not covered" >null</span>
809
742
  ) {
810
- const json: QueryJson = <span class="cstat-no" title="statement not covered" >{</span>
743
+ const json = <span class="cstat-no" title="statement not covered" >{</span>
811
744
  endpoint: {
812
- datasourceId: datasource._id!,
813
- entityId: table._id!,
745
+ datasourceId: datasource._id,
746
+ entityId: table._id,
814
747
  operation,
815
748
  },
816
749
  meta: {
@@ -818,38 +751,34 @@ async function <span class="fstat-no" title="function not covered" >makeTableReq
818
751
  },
819
752
  table,
820
753
  }
821
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (oldTable) {</span>
822
- <span class="cstat-no" title="statement not covered" > json.meta!.table = oldTable</span>
754
+ <span class="cstat-no" title="statement not covered" > if (oldTable) {</span>
755
+ <span class="cstat-no" title="statement not covered" > json.meta.table = oldTable</span>
823
756
  }
824
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (renamed) {</span>
825
- <span class="cstat-no" title="statement not covered" > json.meta!.renamed = renamed</span>
757
+ <span class="cstat-no" title="statement not covered" > if (renamed) {</span>
758
+ <span class="cstat-no" title="statement not covered" > json.meta.renamed = renamed</span>
826
759
  }
827
760
  <span class="cstat-no" title="statement not covered" > return makeExternalQuery(datasource, json)</span>
828
761
  }
829
762
  &nbsp;
830
- function <span class="fstat-no" title="function not covered" >cleanupRelationships(</span>
831
- table: Table,
832
- tables: Record&lt;string, Table&gt;,
833
- oldTable?: Table
834
- ) {
763
+ function <span class="fstat-no" title="function not covered" >cleanupRelationships(</span>table, tables, oldTable = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> {
835
764
  const tableToIterate = <span class="cstat-no" title="statement not covered" >oldTable ? oldTable : table</span>
836
765
  // clean up relationships in couch table schemas
837
766
  <span class="cstat-no" title="statement not covered" > for (let [key, schema] of Object.entries(tableToIterate.schema)) {</span>
838
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
767
+ <span class="cstat-no" title="statement not covered" > if (</span>
839
768
  schema.type === FieldTypes.LINK &amp;&amp;
840
769
  (!oldTable || table.schema[key] == null)
841
770
  ) {
842
771
  const relatedTable = <span class="cstat-no" title="statement not covered" >Object.values(tables).find(</span>
843
- <span class="fstat-no" title="function not covered" > table </span>=&gt; <span class="cstat-no" title="statement not covered" >table._id === schema.tableId</span>
772
+ <span class="fstat-no" title="function not covered" > ta</span>ble =&gt; <span class="cstat-no" title="statement not covered" >table._id === schema.tableId</span>
844
773
  )
845
774
  const foreignKey = <span class="cstat-no" title="statement not covered" >schema.foreignKey</span>
846
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!relatedTable || !foreignKey) {</span>
775
+ <span class="cstat-no" title="statement not covered" > if (!relatedTable || !foreignKey) {</span>
847
776
  <span class="cstat-no" title="statement not covered" > continue</span>
848
777
  }
849
778
  <span class="cstat-no" title="statement not covered" > for (let [relatedKey, relatedSchema] of Object.entries(</span>
850
779
  relatedTable.schema
851
780
  )) {
852
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
781
+ <span class="cstat-no" title="statement not covered" > if (</span>
853
782
  relatedSchema.type === FieldTypes.LINK &amp;&amp;
854
783
  relatedSchema.fieldName === foreignKey
855
784
  ) {
@@ -860,18 +789,18 @@ function <span class="fstat-no" title="function not covered" >cleanupRelationshi
860
789
  }
861
790
  }
862
791
  &nbsp;
863
- function <span class="fstat-no" title="function not covered" >getDatasourceId(</span>table: Table) {
864
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!table) {</span>
792
+ function <span class="fstat-no" title="function not covered" >getDatasourceId(</span>table) {
793
+ <span class="cstat-no" title="statement not covered" > if (!table) {</span>
865
794
  <span class="cstat-no" title="statement not covered" > throw "No table supplied"</span>
866
795
  }
867
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (table.sourceId) {</span>
796
+ <span class="cstat-no" title="statement not covered" > if (table.sourceId) {</span>
868
797
  <span class="cstat-no" title="statement not covered" > return table.sourceId</span>
869
798
  }
870
799
  <span class="cstat-no" title="statement not covered" > return breakExternalTableId(table._id).datasourceId</span>
871
800
  }
872
801
  &nbsp;
873
- function <span class="fstat-no" title="function not covered" >otherRelationshipType(</span>type?: string) {
874
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (type === RelationshipTypes.MANY_TO_MANY) {</span>
802
+ function <span class="fstat-no" title="function not covered" >otherRelationshipType(</span>type) {
803
+ <span class="cstat-no" title="statement not covered" > if (type === RelationshipTypes.MANY_TO_MANY) {</span>
875
804
  <span class="cstat-no" title="statement not covered" > return RelationshipTypes.MANY_TO_MANY</span>
876
805
  }
877
806
  <span class="cstat-no" title="statement not covered" > return type === RelationshipTypes.ONE_TO_MANY</span>
@@ -879,21 +808,13 @@ function <span class="fstat-no" title="function not covered" >otherRelationshipT
879
808
  : RelationshipTypes.ONE_TO_MANY
880
809
  }
881
810
  &nbsp;
882
- function <span class="fstat-no" title="function not covered" >generateManyLinkSchema(</span>
883
- datasource: Datasource,
884
- column: FieldSchema,
885
- table: Table,
886
- relatedTable: Table
887
- ): Table {
888
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!table.primary || !relatedTable.primary) {</span>
889
- <span class="cstat-no" title="statement not covered" > throw new Error("Unable to generate many link schema, no primary keys")</span>
890
- }
811
+ function <span class="fstat-no" title="function not covered" >generateManyLinkSchema(</span>datasource, column, table, relatedTable) {
891
812
  const primary = <span class="cstat-no" title="statement not covered" >table.name + table.primary[0]</span>
892
813
  const relatedPrimary = <span class="cstat-no" title="statement not covered" >relatedTable.name + relatedTable.primary[0]</span>
893
814
  const jcTblName = <span class="cstat-no" title="statement not covered" >generateJunctionTableName(column, table, relatedTable)</span>
894
815
  // first create the new table
895
816
  const junctionTable = <span class="cstat-no" title="statement not covered" >{</span>
896
- _id: buildExternalTableId(datasource._id!, jcTblName),
817
+ _id: buildExternalTableId(datasource._id, jcTblName),
897
818
  name: jcTblName,
898
819
  primary: [primary, relatedPrimary],
899
820
  constrained: [primary, relatedPrimary],
@@ -915,15 +836,7 @@ function <span class="fstat-no" title="function not covered" >generateManyLinkSc
915
836
  <span class="cstat-no" title="statement not covered" > return junctionTable</span>
916
837
  }
917
838
  &nbsp;
918
- function <span class="fstat-no" title="function not covered" >generateLinkSchema(</span>
919
- column: FieldSchema,
920
- table: Table,
921
- relatedTable: Table,
922
- type: string
923
- ) {
924
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!table.primary || !relatedTable.primary) {</span>
925
- <span class="cstat-no" title="statement not covered" > throw new Error("Unable to generate link schema, no primary keys")</span>
926
- }
839
+ function <span class="fstat-no" title="function not covered" >generateLinkSchema(</span>column, table, relatedTable, type) {
927
840
  const isOneSide = <span class="cstat-no" title="statement not covered" >type === RelationshipTypes.ONE_TO_MANY</span>
928
841
  const primary = <span class="cstat-no" title="statement not covered" >isOneSide ? relatedTable.primary[0] : table.primary[0]</span>
929
842
  // generate a foreign key
@@ -934,12 +847,7 @@ function <span class="fstat-no" title="function not covered" >generateLinkSchema
934
847
  <span class="cstat-no" title="statement not covered" > return foreignKey</span>
935
848
  }
936
849
  &nbsp;
937
- function <span class="fstat-no" title="function not covered" >generateRelatedSchema(</span>
938
- linkColumn: FieldSchema,
939
- table: Table,
940
- relatedTable: Table,
941
- columnName: string
942
- ) {
850
+ function <span class="fstat-no" title="function not covered" >generateRelatedSchema(</span>linkColumn, table, relatedTable, columnName) {
943
851
  // generate column for other table
944
852
  const relatedSchema = <span class="cstat-no" title="statement not covered" >cloneDeep(linkColumn)</span>
945
853
  // swap them from the main link
@@ -962,58 +870,55 @@ function <span class="fstat-no" title="function not covered" >generateRelatedSch
962
870
  <span class="cstat-no" title="statement not covered" > table.schema[columnName] = relatedSchema</span>
963
871
  }
964
872
  &nbsp;
965
- function <span class="fstat-no" title="function not covered" >isRelationshipSetup(</span>column: FieldSchema) {
873
+ function <span class="fstat-no" title="function not covered" >isRelationshipSetup(</span>column) {
966
874
  <span class="cstat-no" title="statement not covered" > return column.foreignKey || column.through</span>
967
875
  }
968
876
  &nbsp;
969
- export async function <span class="fstat-no" title="function not covered" >save(</span>ctx: BBContext) {
970
- const table: TableRequest = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
971
- const renamed = <span class="cstat-no" title="statement not covered" >table?._rename</span>
877
+ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
878
+ const table = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
879
+ const { _rename: renamed } = <span class="cstat-no" title="statement not covered" >table</span>
972
880
  // can't do this right now
973
881
  <span class="cstat-no" title="statement not covered" > delete table.dataImport</span>
974
- const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(ctx.request.body)!</span>
882
+ const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(ctx.request.body)</span>
975
883
  // table doesn't exist already, note that it is created
976
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!table._id) {</span>
884
+ <span class="cstat-no" title="statement not covered" > if (!table._id) {</span>
977
885
  <span class="cstat-no" title="statement not covered" > table.created = true</span>
978
886
  }
979
- let tableToSave<span class="cstat-no" title="statement not covered" >: TableRequest = {</span>
887
+ let tableToSave = <span class="cstat-no" title="statement not covered" >{</span>
980
888
  type: "table",
981
889
  _id: buildExternalTableId(datasourceId, table.name),
982
890
  ...table,
983
891
  }
984
892
  &nbsp;
985
893
  let oldTable
986
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (ctx.request.body &amp;&amp; ctx.request.body._id) {</span>
894
+ <span class="cstat-no" title="statement not covered" > if (ctx.request.body &amp;&amp; ctx.request.body._id) {</span>
987
895
  <span class="cstat-no" title="statement not covered" > oldTable = await sdk.tables.getTable(ctx.request.body._id)</span>
988
896
  }
989
897
  &nbsp;
990
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (hasTypeChanged(tableToSave, oldTable)) {</span>
898
+ <span class="cstat-no" title="statement not covered" > if (hasTypeChanged(tableToSave, oldTable)) {</span>
991
899
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "A column type has changed.")</span>
992
900
  }
993
901
  &nbsp;
994
- const db = <span class="cstat-no" title="statement not covered" >context.getAppDB()</span>
902
+ const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
995
903
  const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
996
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!datasource.entities) {</span>
904
+ <span class="cstat-no" title="statement not covered" > if (!datasource.entities) {</span>
997
905
  <span class="cstat-no" title="statement not covered" > datasource.entities = {}</span>
998
906
  }
999
907
  const oldTables = <span class="cstat-no" title="statement not covered" >cloneDeep(datasource.entities)</span>
1000
- const tables: Record&lt;string, Table&gt; = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
908
+ const tables = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
1001
909
  &nbsp;
1002
910
  const extraTablesToUpdate = <span class="cstat-no" title="statement not covered" >[]</span>
1003
911
  &nbsp;
1004
912
  // check if relations need setup
1005
913
  <span class="cstat-no" title="statement not covered" > for (let schema of Object.values(tableToSave.schema)) {</span>
1006
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (schema.type !== FieldTypes.LINK || isRelationshipSetup(schema)) {</span>
914
+ <span class="cstat-no" title="statement not covered" > if (schema.type !== FieldTypes.LINK || isRelationshipSetup(schema)) {</span>
1007
915
  <span class="cstat-no" title="statement not covered" > continue</span>
1008
916
  }
1009
917
  const relatedTable = <span class="cstat-no" title="statement not covered" >Object.values(tables).find(</span>
1010
- <span class="fstat-no" title="function not covered" > table </span>=&gt; <span class="cstat-no" title="statement not covered" >table._id === schema.tableId</span>
918
+ <span class="fstat-no" title="function not covered" > ta</span>ble =&gt; <span class="cstat-no" title="statement not covered" >table._id === schema.tableId</span>
1011
919
  )
1012
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!relatedTable) {</span>
1013
- <span class="cstat-no" title="statement not covered" > continue</span>
1014
- }
1015
- const relatedColumnName = <span class="cstat-no" title="statement not covered" >schema.fieldName!</span>
1016
- const relationType = <span class="cstat-no" title="statement not covered" >schema.relationshipType!</span>
920
+ const relatedColumnName = <span class="cstat-no" title="statement not covered" >schema.fieldName</span>
921
+ const relationType = <span class="cstat-no" title="statement not covered" >schema.relationshipType</span>
1017
922
  <span class="cstat-no" title="statement not covered" > if (relationType === RelationshipTypes.MANY_TO_MANY) {</span>
1018
923
  const junctionTable = <span class="cstat-no" title="statement not covered" >generateManyLinkSchema(</span>
1019
924
  datasource,
@@ -1021,7 +926,7 @@ export async function <span class="fstat-no" title="function not covered" >save(
1021
926
  table,
1022
927
  relatedTable
1023
928
  )
1024
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (tables[junctionTable.name]) {</span>
929
+ <span class="cstat-no" title="statement not covered" > if (tables[junctionTable.name]) {</span>
1025
930
  <span class="cstat-no" title="statement not covered" > throw "Junction table already exists, cannot create another relationship."</span>
1026
931
  }
1027
932
  <span class="cstat-no" title="statement not covered" > tables[junctionTable.name] = junctionTable</span>
@@ -1036,14 +941,14 @@ export async function <span class="fstat-no" title="function not covered" >save(
1036
941
  relationType
1037
942
  )
1038
943
  <span class="cstat-no" title="statement not covered" > fkTable.schema[foreignKey] = foreignKeyStructure(foreignKey)</span>
1039
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (fkTable.constrained == null) {</span>
944
+ <span class="cstat-no" title="statement not covered" > if (fkTable.constrained == null) {</span>
1040
945
  <span class="cstat-no" title="statement not covered" > fkTable.constrained = []</span>
1041
946
  }
1042
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (fkTable.constrained.indexOf(foreignKey) === -1) {</span>
947
+ <span class="cstat-no" title="statement not covered" > if (fkTable.constrained.indexOf(foreignKey) === -1) {</span>
1043
948
  <span class="cstat-no" title="statement not covered" > fkTable.constrained.push(foreignKey)</span>
1044
949
  }
1045
950
  // foreign key is in other table, need to save it to external
1046
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (fkTable._id !== table._id) {</span>
951
+ <span class="cstat-no" title="statement not covered" > if (fkTable._id !== table._id) {</span>
1047
952
  <span class="cstat-no" title="statement not covered" > extraTablesToUpdate.push(fkTable)</span>
1048
953
  }
1049
954
  }
@@ -1053,7 +958,9 @@ export async function <span class="fstat-no" title="function not covered" >save(
1053
958
  &nbsp;
1054
959
  <span class="cstat-no" title="statement not covered" > cleanupRelationships(tableToSave, tables, oldTable)</span>
1055
960
  &nbsp;
1056
- const operation = <span class="cstat-no" title="statement not covered" >oldTable ? Operation.UPDATE_TABLE : Operation.CREATE_TABLE</span>
961
+ const operation = <span class="cstat-no" title="statement not covered" >oldTable</span>
962
+ ? DataSourceOperation.UPDATE_TABLE
963
+ : DataSourceOperation.CREATE_TABLE
1057
964
  <span class="cstat-no" title="statement not covered" > await makeTableRequest(</span>
1058
965
  datasource,
1059
966
  operation,
@@ -1065,13 +972,15 @@ export async function <span class="fstat-no" title="function not covered" >save(
1065
972
  // update any extra tables (like foreign keys in other tables)
1066
973
  <span class="cstat-no" title="statement not covered" > for (let extraTable of extraTablesToUpdate) {</span>
1067
974
  const oldExtraTable = <span class="cstat-no" title="statement not covered" >oldTables[extraTable.name]</span>
1068
- let op = <span class="cstat-no" title="statement not covered" >oldExtraTable ? Operation.UPDATE_TABLE : Operation.CREATE_TABLE</span>
975
+ let op = <span class="cstat-no" title="statement not covered" >oldExtraTable</span>
976
+ ? DataSourceOperation.UPDATE_TABLE
977
+ : DataSourceOperation.CREATE_TABLE
1069
978
  <span class="cstat-no" title="statement not covered" > await makeTableRequest(datasource, op, extraTable, tables, oldExtraTable)</span>
1070
979
  }
1071
980
  &nbsp;
1072
981
  // make sure the constrained list, all still exist
1073
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (Array.isArray(tableToSave.constrained)) {</span>
1074
- <span class="cstat-no" title="statement not covered" > tableToSave.constrained = tableToSave.constrained.filter(<span class="fstat-no" title="function not covered" >constraint </span>=&gt;</span>
982
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(tableToSave.constrained)) {</span>
983
+ <span class="cstat-no" title="statement not covered" > tableToSave.constrained = tableToSave.constrained.filter(<span class="fstat-no" title="function not covered" >co</span>nstraint =&gt;</span>
1075
984
  <span class="cstat-no" title="statement not covered" > Object.keys(tableToSave.schema).includes(constraint)</span>
1076
985
  )
1077
986
  }
@@ -1085,20 +994,18 @@ export async function <span class="fstat-no" title="function not covered" >save(
1085
994
  <span class="cstat-no" title="statement not covered" > return tableToSave</span>
1086
995
  }
1087
996
  &nbsp;
1088
- export async function <span class="fstat-no" title="function not covered" >destroy(</span>ctx: BBContext) {
1089
- const tableToDelete: TableRequest = <span class="cstat-no" title="statement not covered" >await sdk.tables.getTable(</span>
1090
- ctx.params.tableId
1091
- )
1092
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!tableToDelete || !tableToDelete.created) {</span>
997
+ exports.destroy = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
998
+ const tableToDelete = <span class="cstat-no" title="statement not covered" >await sdk.tables.getTable(ctx.params.tableId)</span>
999
+ <span class="cstat-no" title="statement not covered" > if (!tableToDelete || !tableToDelete.created) {</span>
1093
1000
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot delete tables which weren't created in Budibase.")</span>
1094
1001
  }
1095
1002
  const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(tableToDelete)</span>
1096
1003
  &nbsp;
1097
- const db = <span class="cstat-no" title="statement not covered" >context.getAppDB()</span>
1004
+ const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
1098
1005
  const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
1099
1006
  const tables = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
1100
1007
  &nbsp;
1101
- const operation = <span class="cstat-no" title="statement not covered" >Operation.DELETE_TABLE</span>
1008
+ const operation = <span class="cstat-no" title="statement not covered" >DataSourceOperation.DELETE_TABLE</span>
1102
1009
  <span class="cstat-no" title="statement not covered" > await makeTableRequest(datasource, operation, tableToDelete, tables)</span>
1103
1010
  &nbsp;
1104
1011
  <span class="cstat-no" title="statement not covered" > cleanupRelationships(tableToDelete, tables)</span>
@@ -1109,17 +1016,17 @@ export async function <span class="fstat-no" title="function not covered" >destr
1109
1016
  <span class="cstat-no" title="statement not covered" > return tableToDelete</span>
1110
1017
  }
1111
1018
  &nbsp;
1112
- export async function <span class="fstat-no" title="function not covered" >bulkImport(</span>ctx: BBContext) {
1019
+ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
1113
1020
  const table = <span class="cstat-no" title="statement not covered" >await sdk.tables.getTable(ctx.params.tableId)</span>
1114
1021
  const { dataImport } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
1115
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!dataImport || !dataImport.schema || !dataImport.csvString) {</span>
1022
+ <span class="cstat-no" title="statement not covered" > if (!dataImport || !dataImport.schema || !dataImport.csvString) {</span>
1116
1023
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Provided data import information is invalid.")</span>
1117
1024
  }
1118
1025
  const rows = <span class="cstat-no" title="statement not covered" >await csvParser.transform({</span>
1119
1026
  ...dataImport,
1120
1027
  existingTable: table,
1121
1028
  })
1122
- <span class="cstat-no" title="statement not covered" > await handleRequest(Operation.BULK_CREATE, table._id!, {</span>
1029
+ <span class="cstat-no" title="statement not covered" > await handleRequest(DataSourceOperation.BULK_CREATE, table._id, {</span>
1123
1030
  rows,
1124
1031
  })
1125
1032
  <span class="cstat-no" title="statement not covered" > await events.rows.imported(table, "csv", rows.length)</span>
@@ -1132,16 +1039,16 @@ export async function <span class="fstat-no" title="function not covered" >bulkI
1132
1039
  <div class='footer quiet pad2 space-top1 center small'>
1133
1040
  Code coverage generated by
1134
1041
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1135
- at Fri Dec 02 2022 13:39:42 GMT+0000 (Coordinated Universal Time)
1042
+ at Mon Dec 05 2022 09:32:59 GMT+0000 (Coordinated Universal Time)
1136
1043
  </div>
1137
- <script src="../../../../prettify.js"></script>
1044
+ <script src="../../../prettify.js"></script>
1138
1045
  <script>
1139
1046
  window.onload = function () {
1140
1047
  prettyPrint();
1141
1048
  };
1142
1049
  </script>
1143
- <script src="../../../../sorter.js"></script>
1144
- <script src="../../../../block-navigation.js"></script>
1050
+ <script src="../../../sorter.js"></script>
1051
+ <script src="../../../block-navigation.js"></script>
1145
1052
  </body>
1146
1053
  </html>
1147
1054