@budibase/server 2.1.43-alpha.6 → 2.1.44

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 (809) hide show
  1. package/__mocks__/aws-sdk.ts +0 -14
  2. package/__mocks__/node-fetch.ts +1 -5
  3. package/builder/assets/index.2d05742a.js +1021 -0
  4. package/builder/assets/index.534f6c29.css +6 -0
  5. package/builder/index.html +2 -2
  6. package/coverage/clover.xml +3857 -10913
  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 -19757
  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 -539
  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/microsoftSqlServer.js +3 -8
  283. package/dist/integrations/oracle.js +1 -8
  284. package/dist/integrations/postgres.js +3 -6
  285. package/dist/integrations/s3.js +1 -157
  286. package/dist/integrations/tests/TestConfiguration.js +1 -0
  287. package/dist/middleware/appInfo.js +9 -14
  288. package/dist/middleware/authorized.js +21 -22
  289. package/dist/middleware/builder.js +40 -41
  290. package/dist/middleware/currentapp.js +37 -39
  291. package/dist/middleware/joi-validator.js +10 -17
  292. package/dist/middleware/publicApi.js +6 -5
  293. package/dist/middleware/resourceId.js +9 -16
  294. package/dist/middleware/selfhost.js +4 -5
  295. package/dist/middleware/utils.js +2 -5
  296. package/dist/migrations/functions/appUrls.js +2 -2
  297. package/dist/migrations/functions/backfill/global.js +1 -1
  298. package/dist/migrations/functions/usageQuotas/syncApps.js +4 -3
  299. package/dist/migrations/functions/usageQuotas/syncRows.js +4 -3
  300. package/dist/migrations/functions/userEmailViewCasing.js +3 -3
  301. package/dist/migrations/index.js +0 -5
  302. package/dist/package.json +45 -11
  303. package/dist/sdk/app/backups/exports.js +2 -1
  304. package/dist/sdk/app/backups/imports.js +3 -2
  305. package/dist/sdk/app/tables/index.js +5 -5
  306. package/dist/startup.js +10 -10
  307. package/dist/tests/utilities/TestConfiguration.js +87 -111
  308. package/dist/tests/utilities/controllers.js +15 -38
  309. package/dist/tests/utilities/structures.js +53 -72
  310. package/dist/threads/automation.js +27 -49
  311. package/dist/threads/query.js +19 -17
  312. package/dist/threads/utils.js +8 -33
  313. package/dist/tsconfig.build.tsbuildinfo +1 -1
  314. package/dist/utilities/budibaseDir.js +2 -4
  315. package/dist/utilities/centralPath.js +7 -14
  316. package/dist/utilities/csvParser.js +21 -27
  317. package/dist/utilities/fileSystem/clientLibrary.js +73 -87
  318. package/dist/utilities/fileSystem/index.js +175 -203
  319. package/dist/utilities/fileSystem/processor.js +3 -8
  320. package/dist/utilities/fileSystem/utilities.js +22 -0
  321. package/dist/utilities/global.js +66 -87
  322. package/dist/utilities/index.js +75 -102
  323. package/dist/utilities/plugins.js +9 -15
  324. package/dist/utilities/queue/inMemoryQueue.js +126 -0
  325. package/dist/utilities/redis.js +65 -100
  326. package/dist/utilities/routing/index.js +23 -27
  327. package/dist/utilities/rowProcessor/index.js +191 -133
  328. package/dist/utilities/rowProcessor/utils.js +26 -35
  329. package/dist/utilities/scriptRunner.js +5 -8
  330. package/dist/utilities/security.js +35 -39
  331. package/dist/utilities/usageQuota/rows.js +49 -56
  332. package/dist/utilities/users.js +28 -31
  333. package/dist/utilities/workerRequests.js +82 -115
  334. package/dist/watch.js +2 -1
  335. package/package.json +46 -12
  336. package/scripts/exportAppTemplate.js +2 -2
  337. package/scripts/integrations/mssql/data/setup.sql +3 -3
  338. package/{src/tests/jestSetup.ts → scripts/jestSetup.js} +2 -11
  339. package/scripts/localdomain.js +6 -34
  340. package/src/api/controllers/{apikeys.ts → apikeys.js} +10 -10
  341. package/src/api/controllers/application.ts +42 -56
  342. package/src/api/controllers/auth.ts +3 -4
  343. package/src/api/controllers/{automation.ts → automation.js} +48 -48
  344. package/src/api/controllers/{cloud.ts → cloud.js} +24 -24
  345. package/src/api/controllers/component.ts +1 -2
  346. package/src/api/controllers/{datasource.ts → datasource.js} +49 -109
  347. package/src/api/controllers/deploy/{Deployment.ts → Deployment.js} +10 -13
  348. package/src/api/controllers/deploy/index.ts +25 -13
  349. package/src/api/controllers/{dev.ts → dev.js} +37 -31
  350. package/src/api/controllers/integration.js +14 -0
  351. package/src/api/controllers/{layout.ts → layout.js} +8 -8
  352. package/src/api/controllers/{metadata.ts → metadata.js} +10 -11
  353. package/src/api/controllers/migrations.js +13 -0
  354. package/src/api/controllers/{permission.ts → permission.js} +46 -49
  355. package/src/api/controllers/plugin/index.ts +5 -4
  356. package/src/api/controllers/plugin/utils.ts +5 -3
  357. package/src/api/controllers/public/applications.ts +9 -15
  358. package/src/api/controllers/public/rows.ts +1 -1
  359. package/src/api/controllers/public/tables.ts +2 -2
  360. package/src/api/controllers/public/utils.ts +2 -2
  361. package/src/api/controllers/query/import/index.ts +3 -2
  362. package/src/api/controllers/query/index.ts +14 -11
  363. package/src/api/controllers/query/{validation.ts → validation.js} +7 -7
  364. package/src/api/controllers/{role.ts → role.js} +25 -21
  365. package/src/api/controllers/{routing.ts → routing.js} +34 -37
  366. package/src/api/controllers/row/ExternalRequest.ts +624 -605
  367. package/src/api/controllers/row/{external.ts → external.js} +62 -79
  368. package/src/api/controllers/row/index.ts +11 -19
  369. package/src/api/controllers/row/{internal.ts → internal.js} +73 -87
  370. package/src/api/controllers/row/{internalSearch.ts → internalSearch.js} +68 -92
  371. package/src/api/controllers/row/{staticFormula.ts → staticFormula.js} +25 -30
  372. package/src/api/controllers/row/{utils.ts → utils.js} +22 -32
  373. package/src/api/controllers/screen.ts +6 -10
  374. package/src/api/controllers/script.js +11 -0
  375. package/src/api/controllers/static/index.ts +16 -14
  376. package/src/api/controllers/table/{bulkFormula.ts → bulkFormula.js} +25 -39
  377. package/src/api/controllers/table/{external.ts → external.js} +55 -86
  378. package/src/api/controllers/table/{index.ts → index.js} +18 -21
  379. package/src/api/controllers/table/internal.ts +6 -5
  380. package/src/api/controllers/table/utils.ts +21 -26
  381. package/src/api/controllers/{templates.ts → templates.js} +7 -10
  382. package/src/api/controllers/{user.ts → user.js} +49 -47
  383. package/src/api/controllers/view/{exporters.ts → exporters.js} +3 -5
  384. package/src/api/controllers/view/{index.ts → index.js} +27 -36
  385. package/src/api/controllers/view/{utils.ts → utils.js} +20 -26
  386. package/src/api/controllers/view/{viewBuilder.ts → viewBuilder.js} +11 -25
  387. package/src/api/controllers/webhook.ts +1 -1
  388. package/src/api/{index.ts → index.js} +22 -15
  389. package/src/api/routes/analytics.js +9 -0
  390. package/src/api/routes/apikeys.js +12 -0
  391. package/src/api/routes/application.ts +9 -17
  392. package/src/api/routes/auth.ts +2 -2
  393. package/src/api/routes/automation.js +85 -0
  394. package/src/api/routes/backup.ts +4 -8
  395. package/src/api/routes/cloud.js +14 -0
  396. package/src/api/routes/component.js +14 -0
  397. package/src/api/routes/datasource.js +51 -0
  398. package/src/api/routes/deploy.js +17 -0
  399. package/src/api/routes/dev.js +26 -0
  400. package/src/api/routes/integration.js +12 -0
  401. package/src/api/routes/layout.js +16 -0
  402. package/src/api/routes/{metadata.ts → metadata.js} +13 -13
  403. package/src/api/routes/migrations.js +14 -0
  404. package/src/api/routes/permission.js +33 -0
  405. package/src/api/routes/plugin.ts +6 -14
  406. package/src/api/routes/public/index.ts +14 -11
  407. package/src/api/routes/public/tests/compare.spec.js +1 -1
  408. package/src/api/routes/{query.ts → query.js} +22 -19
  409. package/src/api/routes/role.js +15 -0
  410. package/src/api/routes/routing.js +14 -0
  411. package/src/api/routes/row.ts +15 -13
  412. package/src/api/routes/screen.js +18 -0
  413. package/src/api/routes/script.js +10 -0
  414. package/src/api/routes/static.ts +10 -7
  415. package/src/api/routes/{table.ts → table.js} +13 -10
  416. package/src/api/routes/templates.js +16 -0
  417. package/src/api/routes/tests/analytics.spec.js +1 -1
  418. package/src/api/routes/tests/backup.spec.js +1 -9
  419. package/src/api/routes/tests/deployment.spec.ts +1 -1
  420. package/src/api/routes/tests/permissions.spec.js +1 -2
  421. package/src/api/routes/tests/query.spec.js +10 -15
  422. package/src/api/routes/tests/role.spec.js +9 -7
  423. package/src/api/routes/tests/routing.spec.js +1 -2
  424. package/src/api/routes/tests/row.spec.js +4 -3
  425. package/src/api/routes/tests/static.spec.js +2 -2
  426. package/src/api/routes/tests/table.spec.js +36 -40
  427. package/src/api/routes/tests/user.spec.js +1 -2
  428. package/src/api/routes/tests/utilities/TestFunctions.ts +8 -6
  429. package/src/api/routes/tests/utilities/{index.ts → index.js} +12 -12
  430. package/src/api/routes/tests/view.spec.js +3 -3
  431. package/src/api/routes/user.js +53 -0
  432. package/src/api/routes/utils/{validators.ts → validators.js} +37 -33
  433. package/src/api/routes/view.js +31 -0
  434. package/src/api/routes/webhook.ts +2 -2
  435. package/src/app.ts +14 -15
  436. package/src/automations/{actions.ts → actions.js} +23 -26
  437. package/src/automations/{automationUtils.ts → automationUtils.js} +12 -13
  438. package/src/automations/bullboard.js +39 -0
  439. package/src/automations/index.js +29 -0
  440. package/src/automations/steps/{bash.ts → bash.js} +8 -13
  441. package/src/automations/steps/createRow.ts +3 -8
  442. package/src/automations/steps/{delay.ts → delay.js} +4 -9
  443. package/src/automations/steps/deleteRow.ts +3 -8
  444. package/src/automations/steps/{discord.ts → discord.js} +5 -10
  445. package/src/automations/steps/{executeQuery.ts → executeQuery.js} +7 -12
  446. package/src/automations/steps/{executeScript.ts → executeScript.js} +7 -17
  447. package/src/automations/steps/{filter.ts → filter.js} +9 -12
  448. package/src/automations/steps/{integromat.ts → integromat.js} +5 -10
  449. package/src/automations/steps/{loop.ts → loop.js} +2 -4
  450. package/src/automations/steps/{outgoingWebhook.ts → outgoingWebhook.js} +13 -18
  451. package/src/automations/steps/{queryRows.ts → queryRows.js} +36 -48
  452. package/src/automations/steps/{sendSmtpEmail.ts → sendSmtpEmail.js} +5 -10
  453. package/src/automations/steps/{serverLog.ts → serverLog.js} +3 -9
  454. package/src/automations/steps/{slack.ts → slack.js} +5 -10
  455. package/src/automations/steps/{updateRow.ts → updateRow.js} +7 -12
  456. package/src/automations/steps/{utils.ts → utils.js} +4 -10
  457. package/src/automations/steps/{zapier.ts → zapier.js} +5 -11
  458. package/src/automations/tests/updateRow.spec.js +1 -0
  459. package/src/automations/tests/utilities/index.js +51 -0
  460. package/src/automations/triggerInfo/{app.ts → app.js} +2 -7
  461. package/src/automations/triggerInfo/{cron.ts → cron.js} +2 -7
  462. package/src/automations/triggerInfo/index.js +15 -0
  463. package/src/automations/triggerInfo/{rowDeleted.ts → rowDeleted.js} +2 -7
  464. package/src/automations/triggerInfo/{rowSaved.ts → rowSaved.js} +2 -7
  465. package/src/automations/triggerInfo/{rowUpdated.ts → rowUpdated.js} +2 -7
  466. package/src/automations/triggerInfo/{webhook.ts → webhook.js} +2 -7
  467. package/src/automations/{triggers.ts → triggers.js} +26 -30
  468. package/src/automations/utils.ts +12 -9
  469. package/src/constants/index.js +208 -0
  470. package/src/constants/{layouts.ts → layouts.js} +9 -3
  471. package/src/constants/screens.js +46 -0
  472. package/src/db/{dynamoClient.ts → dynamoClient.js} +19 -39
  473. package/src/db/{inMemoryView.ts → inMemoryView.js} +9 -15
  474. package/src/db/index.js +16 -0
  475. package/src/db/linkedRows/{LinkController.ts → LinkController.js} +85 -64
  476. package/src/db/linkedRows/{index.ts → index.js} +38 -43
  477. package/src/db/linkedRows/{linkUtils.ts → linkUtils.js} +24 -33
  478. package/src/db/{newid.ts → newid.js} +1 -1
  479. package/src/db/tests/linkController.spec.js +57 -73
  480. package/src/db/tests/linkTests.spec.js +14 -17
  481. package/src/db/{utils.ts → utils.js} +93 -77
  482. package/src/db/views/{staticViews.ts → staticViews.js} +13 -20
  483. package/src/{environment.ts → environment.js} +7 -11
  484. package/src/events/{AutomationEmitter.ts → AutomationEmitter.js} +7 -12
  485. package/src/events/{BudibaseEmitter.ts → index.js} +8 -7
  486. package/src/events/utils.js +38 -0
  487. package/src/integrations/base/sql.ts +1 -1
  488. package/src/integrations/base/sqlTable.ts +1 -1
  489. package/src/integrations/elasticsearch.ts +2 -32
  490. package/src/integrations/googlesheets.ts +7 -5
  491. package/src/integrations/index.ts +41 -45
  492. package/src/integrations/microsoftSqlServer.ts +12 -14
  493. package/src/integrations/mysql.ts +3 -4
  494. package/src/integrations/oracle.ts +46 -17
  495. package/src/integrations/postgres.ts +2 -8
  496. package/src/integrations/s3.ts +3 -179
  497. package/src/integrations/tests/s3.spec.ts +1 -85
  498. package/src/integrations/utils.ts +2 -6
  499. package/src/middleware/appInfo.js +19 -0
  500. package/src/middleware/authorized.ts +28 -21
  501. package/src/middleware/{builder.ts → builder.js} +15 -17
  502. package/src/middleware/{currentapp.ts → currentapp.js} +39 -42
  503. package/src/middleware/{joi-validator.ts → joi-validator.js} +8 -9
  504. package/src/middleware/publicApi.js +21 -0
  505. package/src/middleware/{resourceId.ts → resourceId.js} +11 -16
  506. package/src/middleware/{selfhost.ts → selfhost.js} +2 -4
  507. package/src/middleware/tests/authorized.spec.js +6 -5
  508. package/src/middleware/tests/currentapp.spec.js +63 -118
  509. package/src/middleware/{utils.ts → utils.js} +1 -3
  510. package/src/migrations/functions/appUrls.ts +2 -2
  511. package/src/migrations/functions/backfill/app/tables.ts +5 -2
  512. package/src/migrations/functions/backfill/global.ts +1 -1
  513. package/src/migrations/functions/tests/appUrls.spec.js +4 -4
  514. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +9 -14
  515. package/src/migrations/functions/usageQuotas/syncApps.ts +4 -3
  516. package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
  517. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
  518. package/src/migrations/functions/userEmailViewCasing.ts +3 -3
  519. package/src/migrations/index.ts +0 -9
  520. package/src/migrations/tests/index.spec.ts +1 -1
  521. package/src/module.d.ts +14 -0
  522. package/src/sdk/app/backups/exports.ts +3 -5
  523. package/src/sdk/app/backups/imports.ts +14 -7
  524. package/src/sdk/app/backups/statistics.ts +18 -9
  525. package/src/sdk/app/tables/index.ts +8 -7
  526. package/src/startup.ts +5 -5
  527. package/src/tests/utilities/{TestConfiguration.ts → TestConfiguration.js} +78 -111
  528. package/src/tests/utilities/controllers.js +16 -0
  529. package/src/tests/utilities/{index.ts → index.js} +2 -2
  530. package/src/tests/utilities/{structures.ts → structures.js} +36 -41
  531. package/src/threads/automation.ts +19 -18
  532. package/src/threads/query.ts +16 -11
  533. package/src/threads/utils.ts +5 -4
  534. package/src/utilities/budibaseDir.js +3 -0
  535. package/src/utilities/{centralPath.ts → centralPath.js} +3 -3
  536. package/src/utilities/{csvParser.ts → csvParser.js} +26 -42
  537. package/src/utilities/fileSystem/{clientLibrary.ts → clientLibrary.js} +20 -20
  538. package/src/utilities/fileSystem/{index.ts → index.js} +65 -61
  539. package/src/utilities/fileSystem/{processor.ts → processor.js} +5 -3
  540. package/src/utilities/fileSystem/utilities.js +36 -0
  541. package/src/utilities/global.js +127 -0
  542. package/src/utilities/{index.ts → index.js} +32 -40
  543. package/src/utilities/{plugins.ts → plugins.js} +4 -5
  544. package/src/utilities/queue/inMemoryQueue.js +122 -0
  545. package/src/utilities/{redis.ts → redis.js} +20 -21
  546. package/src/utilities/routing/index.js +25 -0
  547. package/src/utilities/rowProcessor/{index.ts → index.js} +144 -67
  548. package/src/utilities/rowProcessor/{utils.ts → utils.js} +15 -19
  549. package/src/utilities/{scriptRunner.ts → scriptRunner.js} +4 -8
  550. package/src/utilities/security.js +71 -0
  551. package/src/utilities/{statusCodes.ts → statusCodes.js} +1 -1
  552. package/src/utilities/usageQuota/{rows.ts → rows.js} +18 -14
  553. package/src/utilities/usageQuota/{usageQuoteReset.ts → usageQuoteReset.js} +1 -1
  554. package/src/utilities/{users.ts → users.js} +13 -11
  555. package/src/utilities/{workerRequests.ts → workerRequests.js} +38 -43
  556. package/src/watch.ts +3 -2
  557. package/tsconfig.build.json +2 -1
  558. package/tsconfig.json +1 -3
  559. package/builder/assets/index.0c44dac3.css +0 -6
  560. package/builder/assets/index.e19dcc8e.js +0 -1021
  561. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +0 -190
  562. package/coverage/lcov-report/src/api/controllers/application.ts.html +0 -2038
  563. package/coverage/lcov-report/src/api/controllers/auth.ts.html +0 -301
  564. package/coverage/lcov-report/src/api/controllers/backup.ts.html +0 -148
  565. package/coverage/lcov-report/src/api/controllers/component.ts.html +0 -259
  566. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +0 -259
  567. package/coverage/lcov-report/src/api/controllers/deploy/index.html +0 -131
  568. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +0 -730
  569. package/coverage/lcov-report/src/api/controllers/index.html +0 -431
  570. package/coverage/lcov-report/src/api/controllers/integration.ts.html +0 -124
  571. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +0 -130
  572. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +0 -310
  573. package/coverage/lcov-report/src/api/controllers/plugin/index.html +0 -206
  574. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +0 -484
  575. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +0 -253
  576. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +0 -97
  577. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +0 -121
  578. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +0 -136
  579. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +0 -334
  580. package/coverage/lcov-report/src/api/controllers/public/index.html +0 -191
  581. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +0 -181
  582. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +0 -191
  583. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +0 -124
  584. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +0 -202
  585. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +0 -178
  586. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +0 -181
  587. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +0 -145
  588. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +0 -328
  589. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +0 -253
  590. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +0 -268
  591. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +0 -220
  592. package/coverage/lcov-report/src/api/controllers/query/import/index.html +0 -116
  593. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +0 -373
  594. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +0 -131
  595. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +0 -379
  596. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +0 -157
  597. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +0 -403
  598. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +0 -146
  599. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +0 -586
  600. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +0 -712
  601. package/coverage/lcov-report/src/api/controllers/query/index.html +0 -131
  602. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +0 -976
  603. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +0 -2269
  604. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +0 -541
  605. package/coverage/lcov-report/src/api/controllers/screen.ts.html +0 -463
  606. package/coverage/lcov-report/src/api/controllers/static/index.html +0 -116
  607. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +0 -694
  608. package/coverage/lcov-report/src/api/controllers/table/index.html +0 -176
  609. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +0 -661
  610. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +0 -1255
  611. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +0 -379
  612. package/coverage/lcov-report/src/api/routes/analytics.ts.html +0 -112
  613. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +0 -121
  614. package/coverage/lcov-report/src/api/routes/application.ts.html +0 -223
  615. package/coverage/lcov-report/src/api/routes/auth.ts.html +0 -109
  616. package/coverage/lcov-report/src/api/routes/datasource.ts.html +0 -265
  617. package/coverage/lcov-report/src/api/routes/deploy.ts.html +0 -148
  618. package/coverage/lcov-report/src/api/routes/index.ts.html +0 -289
  619. package/coverage/lcov-report/src/api/routes/migrations.ts.html +0 -127
  620. package/coverage/lcov-report/src/api/routes/plugin.ts.html +0 -151
  621. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +0 -541
  622. package/coverage/lcov-report/src/api/routes/public/index.html +0 -191
  623. package/coverage/lcov-report/src/api/routes/public/index.ts.html +0 -493
  624. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +0 -116
  625. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +0 -328
  626. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +0 -313
  627. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +0 -598
  628. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +0 -586
  629. package/coverage/lcov-report/src/api/routes/public/users.ts.html +0 -511
  630. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +0 -238
  631. package/coverage/lcov-report/src/api/routes/public/utils/index.html +0 -116
  632. package/coverage/lcov-report/src/api/routes/role.ts.html +0 -157
  633. package/coverage/lcov-report/src/api/routes/row.ts.html +0 -883
  634. package/coverage/lcov-report/src/api/routes/screen.ts.html +0 -154
  635. package/coverage/lcov-report/src/api/routes/static.ts.html +0 -280
  636. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +0 -550
  637. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +0 -131
  638. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +0 -367
  639. package/coverage/lcov-report/src/api/routes/webhook.ts.html +0 -166
  640. package/coverage/lcov-report/src/app.ts.html +0 -406
  641. package/coverage/lcov-report/src/automations/logging/index.html +0 -116
  642. package/coverage/lcov-report/src/automations/logging/index.ts.html +0 -199
  643. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +0 -382
  644. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +0 -349
  645. package/coverage/lcov-report/src/automations/steps/index.html +0 -371
  646. package/coverage/lcov-report/src/automations/tests/utilities/index.html +0 -116
  647. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +0 -265
  648. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +0 -196
  649. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +0 -130
  650. package/coverage/lcov-report/src/automations/utils.ts.html +0 -886
  651. package/coverage/lcov-report/src/constants/index.ts.html +0 -697
  652. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +0 -2059
  653. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +0 -541
  654. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +0 -427
  655. package/coverage/lcov-report/src/db/defaultData/index.html +0 -176
  656. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +0 -403
  657. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +0 -559
  658. package/coverage/lcov-report/src/db/dynamoClient.ts.html +0 -526
  659. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +0 -265
  660. package/coverage/lcov-report/src/db/linkedRows/index.html +0 -161
  661. package/coverage/lcov-report/src/environment.ts.html +0 -457
  662. package/coverage/lcov-report/src/events/utils.ts.html +0 -319
  663. package/coverage/lcov-report/src/index.html +0 -191
  664. package/coverage/lcov-report/src/index.ts.html +0 -133
  665. package/coverage/lcov-report/src/integrations/arangodb.ts.html +0 -415
  666. package/coverage/lcov-report/src/integrations/base/index.html +0 -161
  667. package/coverage/lcov-report/src/integrations/base/query.ts.html +0 -133
  668. package/coverage/lcov-report/src/integrations/base/sql.ts.html +0 -1951
  669. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +0 -691
  670. package/coverage/lcov-report/src/integrations/base/utils.ts.html +0 -121
  671. package/coverage/lcov-report/src/integrations/couchdb.ts.html +0 -406
  672. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +0 -634
  673. package/coverage/lcov-report/src/integrations/firebase.ts.html +0 -646
  674. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +0 -1315
  675. package/coverage/lcov-report/src/integrations/index.html +0 -371
  676. package/coverage/lcov-report/src/integrations/index.ts.html +0 -445
  677. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +0 -1012
  678. package/coverage/lcov-report/src/integrations/mongodb.ts.html +0 -1867
  679. package/coverage/lcov-report/src/integrations/mysql.ts.html +0 -967
  680. package/coverage/lcov-report/src/integrations/oracle.ts.html +0 -1387
  681. package/coverage/lcov-report/src/integrations/postgres.ts.html +0 -1087
  682. package/coverage/lcov-report/src/integrations/queries/index.html +0 -116
  683. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +0 -463
  684. package/coverage/lcov-report/src/integrations/redis.ts.html +0 -550
  685. package/coverage/lcov-report/src/integrations/rest.ts.html +0 -1381
  686. package/coverage/lcov-report/src/integrations/s3.ts.html +0 -862
  687. package/coverage/lcov-report/src/integrations/snowflake.ts.html +0 -376
  688. package/coverage/lcov-report/src/integrations/utils.ts.html +0 -1018
  689. package/coverage/lcov-report/src/middleware/authorized.ts.html +0 -460
  690. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +0 -187
  691. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +0 -163
  692. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +0 -151
  693. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +0 -206
  694. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +0 -172
  695. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +0 -226
  696. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +0 -151
  697. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +0 -151
  698. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +0 -166
  699. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +0 -532
  700. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +0 -283
  701. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +0 -146
  702. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +0 -265
  703. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +0 -232
  704. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +0 -724
  705. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +0 -161
  706. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +0 -106
  707. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +0 -235
  708. package/coverage/lcov-report/src/migrations/functions/index.html +0 -161
  709. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +0 -130
  710. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +0 -520
  711. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +0 -161
  712. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +0 -94
  713. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +0 -127
  714. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +0 -115
  715. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +0 -169
  716. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +0 -124
  717. package/coverage/lcov-report/src/migrations/index.ts.html +0 -430
  718. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +0 -205
  719. package/coverage/lcov-report/src/migrations/tests/index.html +0 -131
  720. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +0 -283
  721. package/coverage/lcov-report/src/sdk/app/automations/index.html +0 -131
  722. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +0 -100
  723. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +0 -214
  724. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +0 -91
  725. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +0 -604
  726. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +0 -682
  727. package/coverage/lcov-report/src/sdk/app/backups/index.html +0 -176
  728. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +0 -112
  729. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +0 -292
  730. package/coverage/lcov-report/src/sdk/app/tables/index.html +0 -116
  731. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +0 -265
  732. package/coverage/lcov-report/src/startup.ts.html +0 -499
  733. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +0 -1966
  734. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +0 -127
  735. package/coverage/lcov-report/src/tests/utilities/index.html +0 -161
  736. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +0 -667
  737. package/coverage/lcov-report/src/threads/automation.ts.html +0 -1594
  738. package/coverage/lcov-report/src/threads/index.html +0 -161
  739. package/coverage/lcov-report/src/threads/index.ts.html +0 -418
  740. package/coverage/lcov-report/src/threads/query.ts.html +0 -961
  741. package/coverage/lcov-report/src/threads/utils.ts.html +0 -373
  742. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +0 -547
  743. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +0 -1129
  744. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +0 -142
  745. package/coverage/lcov-report/src/utilities/redis.ts.html +0 -343
  746. package/coverage/lcov-report/src/utilities/routing/index.ts.html +0 -181
  747. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +0 -146
  748. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +0 -373
  749. package/coverage/lcov-report/src/watch.ts.html +0 -196
  750. package/dist/db/defaultData/datasource_bb_default.js +0 -573
  751. package/dist/db/defaultData/employeeImport.js +0 -155
  752. package/dist/db/defaultData/expensesImport.js +0 -117
  753. package/dist/db/defaultData/inventoryImport.js +0 -109
  754. package/dist/db/defaultData/jobsImport.js +0 -152
  755. package/dist/db/linkedRows/LinkDocument.js +0 -32
  756. package/dist/events/BudibaseEmitter.js +0 -24
  757. package/dist/integrations/base/types.js +0 -2
  758. package/dist/migrations/functions/tableSettings.js +0 -130
  759. package/dist/utilities/rowProcessor/map.js +0 -99
  760. package/jest.config.ts +0 -33
  761. package/scripts/integrations/postgres/emp-skill.sql +0 -46
  762. package/src/api/controllers/integration.ts +0 -13
  763. package/src/api/controllers/migrations.ts +0 -14
  764. package/src/api/controllers/script.ts +0 -12
  765. package/src/api/routes/analytics.ts +0 -9
  766. package/src/api/routes/apikeys.ts +0 -12
  767. package/src/api/routes/automation.ts +0 -87
  768. package/src/api/routes/cloud.ts +0 -18
  769. package/src/api/routes/component.ts +0 -14
  770. package/src/api/routes/datasource.ts +0 -60
  771. package/src/api/routes/deploy.ts +0 -21
  772. package/src/api/routes/dev.ts +0 -38
  773. package/src/api/routes/integration.ts +0 -16
  774. package/src/api/routes/layout.ts +0 -16
  775. package/src/api/routes/migrations.ts +0 -14
  776. package/src/api/routes/permission.ts +0 -41
  777. package/src/api/routes/role.ts +0 -24
  778. package/src/api/routes/routing.ts +0 -14
  779. package/src/api/routes/screen.ts +0 -23
  780. package/src/api/routes/script.ts +0 -10
  781. package/src/api/routes/templates.ts +0 -16
  782. package/src/api/routes/user.ts +0 -51
  783. package/src/api/routes/view.ts +0 -34
  784. package/src/automations/bullboard.ts +0 -38
  785. package/src/automations/index.ts +0 -26
  786. package/src/automations/tests/utilities/index.ts +0 -60
  787. package/src/automations/triggerInfo/index.ts +0 -15
  788. package/src/constants/index.ts +0 -204
  789. package/src/constants/screens.ts +0 -48
  790. package/src/db/defaultData/datasource_bb_default.ts +0 -658
  791. package/src/db/defaultData/employeeImport.ts +0 -152
  792. package/src/db/defaultData/expensesImport.ts +0 -114
  793. package/src/db/defaultData/inventoryImport.ts +0 -106
  794. package/src/db/defaultData/jobsImport.ts +0 -158
  795. package/src/db/index.ts +0 -16
  796. package/src/db/linkedRows/LinkDocument.ts +0 -60
  797. package/src/events/index.ts +0 -5
  798. package/src/events/utils.ts +0 -78
  799. package/src/integrations/base/types.ts +0 -134
  800. package/src/middleware/appInfo.ts +0 -20
  801. package/src/middleware/publicApi.ts +0 -21
  802. package/src/migrations/functions/tableSettings.ts +0 -145
  803. package/src/migrations/functions/tests/tableSettings.spec.ts +0 -144
  804. package/src/tests/utilities/controllers.ts +0 -14
  805. package/src/utilities/budibaseDir.ts +0 -3
  806. package/src/utilities/global.ts +0 -138
  807. package/src/utilities/routing/index.ts +0 -32
  808. package/src/utilities/rowProcessor/map.ts +0 -96
  809. package/src/utilities/security.ts +0 -65
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/integrations/airtable.ts</title>
6
+ <title>Code coverage report for utilities/queue/inMemoryQueue.js</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../base.css" />
@@ -19,34 +19,34 @@
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/integrations</a> airtable.ts</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">utilities/queue</a> inMemoryQueue.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">65.38% </span>
26
+ <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>17/26</span>
28
+ <span class='fraction'>0/23</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
33
+ <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>2/2</span>
35
+ <span class='fraction'>0/7</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">83.33% </span>
40
+ <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>5/6</span>
42
+ <span class='fraction'>0/12</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">68% </span>
47
+ <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>17/25</span>
49
+ <span class='fraction'>0/23</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line medium'></div>
64
+ <div class='status-line low'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -185,55 +185,7 @@
185
185
  <a name='L120'></a><a href='#L120'>120</a>
186
186
  <a name='L121'></a><a href='#L121'>121</a>
187
187
  <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">48x</span>
215
- <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-neutral">&nbsp;</span>
217
- <span class="cline-any cline-neutral">&nbsp;</span>
218
- <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-neutral">&nbsp;</span>
221
- <span class="cline-any cline-yes">48x</span>
222
- <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-neutral">&nbsp;</span>
225
- <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-neutral">&nbsp;</span>
227
- <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-yes">48x</span>
229
- <span class="cline-any cline-neutral">&nbsp;</span>
230
- <span class="cline-any cline-neutral">&nbsp;</span>
231
- <span class="cline-any cline-neutral">&nbsp;</span>
232
- <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-neutral">&nbsp;</span>
234
- <span class="cline-any cline-neutral">&nbsp;</span>
235
- <span class="cline-any cline-neutral">&nbsp;</span>
236
- <span class="cline-any cline-neutral">&nbsp;</span>
188
+ <a name='L123'></a><a href='#L123'>123</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
237
189
  <span class="cline-any cline-neutral">&nbsp;</span>
238
190
  <span class="cline-any cline-neutral">&nbsp;</span>
239
191
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -245,6 +197,7 @@
245
197
  <span class="cline-any cline-neutral">&nbsp;</span>
246
198
  <span class="cline-any cline-neutral">&nbsp;</span>
247
199
  <span class="cline-any cline-neutral">&nbsp;</span>
200
+ <span class="cline-any cline-no">&nbsp;</span>
248
201
  <span class="cline-any cline-neutral">&nbsp;</span>
249
202
  <span class="cline-any cline-neutral">&nbsp;</span>
250
203
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -264,6 +217,10 @@
264
217
  <span class="cline-any cline-neutral">&nbsp;</span>
265
218
  <span class="cline-any cline-neutral">&nbsp;</span>
266
219
  <span class="cline-any cline-neutral">&nbsp;</span>
220
+ <span class="cline-any cline-no">&nbsp;</span>
221
+ <span class="cline-any cline-no">&nbsp;</span>
222
+ <span class="cline-any cline-no">&nbsp;</span>
223
+ <span class="cline-any cline-no">&nbsp;</span>
267
224
  <span class="cline-any cline-neutral">&nbsp;</span>
268
225
  <span class="cline-any cline-neutral">&nbsp;</span>
269
226
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -276,7 +233,14 @@
276
233
  <span class="cline-any cline-neutral">&nbsp;</span>
277
234
  <span class="cline-any cline-neutral">&nbsp;</span>
278
235
  <span class="cline-any cline-neutral">&nbsp;</span>
236
+ <span class="cline-any cline-no">&nbsp;</span>
237
+ <span class="cline-any cline-no">&nbsp;</span>
238
+ <span class="cline-any cline-no">&nbsp;</span>
279
239
  <span class="cline-any cline-neutral">&nbsp;</span>
240
+ <span class="cline-any cline-no">&nbsp;</span>
241
+ <span class="cline-any cline-no">&nbsp;</span>
242
+ <span class="cline-any cline-no">&nbsp;</span>
243
+ <span class="cline-any cline-no">&nbsp;</span>
280
244
  <span class="cline-any cline-neutral">&nbsp;</span>
281
245
  <span class="cline-any cline-neutral">&nbsp;</span>
282
246
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -291,49 +255,39 @@
291
255
  <span class="cline-any cline-neutral">&nbsp;</span>
292
256
  <span class="cline-any cline-neutral">&nbsp;</span>
293
257
  <span class="cline-any cline-neutral">&nbsp;</span>
258
+ <span class="cline-any cline-no">&nbsp;</span>
259
+ <span class="cline-any cline-no">&nbsp;</span>
294
260
  <span class="cline-any cline-neutral">&nbsp;</span>
261
+ <span class="cline-any cline-no">&nbsp;</span>
262
+ <span class="cline-any cline-no">&nbsp;</span>
295
263
  <span class="cline-any cline-neutral">&nbsp;</span>
296
264
  <span class="cline-any cline-neutral">&nbsp;</span>
297
265
  <span class="cline-any cline-neutral">&nbsp;</span>
298
266
  <span class="cline-any cline-neutral">&nbsp;</span>
299
267
  <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-yes">4x</span>
301
- <span class="cline-any cline-yes">4x</span>
302
268
  <span class="cline-any cline-neutral">&nbsp;</span>
269
+ <span class="cline-any cline-no">&nbsp;</span>
303
270
  <span class="cline-any cline-neutral">&nbsp;</span>
304
271
  <span class="cline-any cline-neutral">&nbsp;</span>
305
- <span class="cline-any cline-yes">1x</span>
306
272
  <span class="cline-any cline-neutral">&nbsp;</span>
307
- <span class="cline-any cline-yes">1x</span>
308
- <span class="cline-any cline-yes">1x</span>
309
273
  <span class="cline-any cline-neutral">&nbsp;</span>
310
274
  <span class="cline-any cline-neutral">&nbsp;</span>
311
275
  <span class="cline-any cline-neutral">&nbsp;</span>
312
276
  <span class="cline-any cline-neutral">&nbsp;</span>
313
277
  <span class="cline-any cline-neutral">&nbsp;</span>
314
278
  <span class="cline-any cline-no">&nbsp;</span>
315
- <span class="cline-any cline-no">&nbsp;</span>
316
- <span class="cline-any cline-neutral">&nbsp;</span>
317
279
  <span class="cline-any cline-neutral">&nbsp;</span>
318
280
  <span class="cline-any cline-neutral">&nbsp;</span>
319
281
  <span class="cline-any cline-neutral">&nbsp;</span>
320
- <span class="cline-any cline-yes">1x</span>
321
- <span class="cline-any cline-yes">1x</span>
322
282
  <span class="cline-any cline-neutral">&nbsp;</span>
323
283
  <span class="cline-any cline-neutral">&nbsp;</span>
324
284
  <span class="cline-any cline-neutral">&nbsp;</span>
325
- <span class="cline-any cline-yes">1x</span>
326
- <span class="cline-any cline-neutral">&nbsp;</span>
327
- <span class="cline-any cline-no">&nbsp;</span>
328
285
  <span class="cline-any cline-no">&nbsp;</span>
329
286
  <span class="cline-any cline-neutral">&nbsp;</span>
330
287
  <span class="cline-any cline-neutral">&nbsp;</span>
331
288
  <span class="cline-any cline-neutral">&nbsp;</span>
332
289
  <span class="cline-any cline-neutral">&nbsp;</span>
333
- <span class="cline-any cline-yes">1x</span>
334
290
  <span class="cline-any cline-neutral">&nbsp;</span>
335
- <span class="cline-any cline-yes">1x</span>
336
- <span class="cline-any cline-yes">1x</span>
337
291
  <span class="cline-any cline-neutral">&nbsp;</span>
338
292
  <span class="cline-any cline-neutral">&nbsp;</span>
339
293
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -341,172 +295,140 @@
341
295
  <span class="cline-any cline-neutral">&nbsp;</span>
342
296
  <span class="cline-any cline-neutral">&nbsp;</span>
343
297
  <span class="cline-any cline-no">&nbsp;</span>
344
- <span class="cline-any cline-no">&nbsp;</span>
345
- <span class="cline-any cline-neutral">&nbsp;</span>
346
298
  <span class="cline-any cline-neutral">&nbsp;</span>
347
299
  <span class="cline-any cline-neutral">&nbsp;</span>
348
300
  <span class="cline-any cline-neutral">&nbsp;</span>
349
- <span class="cline-any cline-yes">1x</span>
350
- <span class="cline-any cline-yes">1x</span>
351
- <span class="cline-any cline-neutral">&nbsp;</span>
352
- <span class="cline-any cline-no">&nbsp;</span>
353
301
  <span class="cline-any cline-no">&nbsp;</span>
354
302
  <span class="cline-any cline-neutral">&nbsp;</span>
355
303
  <span class="cline-any cline-neutral">&nbsp;</span>
356
304
  <span class="cline-any cline-neutral">&nbsp;</span>
357
305
  <span class="cline-any cline-neutral">&nbsp;</span>
358
- <span class="cline-any cline-yes">48x</span>
359
306
  <span class="cline-any cline-neutral">&nbsp;</span>
360
307
  <span class="cline-any cline-neutral">&nbsp;</span>
361
308
  <span class="cline-any cline-neutral">&nbsp;</span>
362
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
363
- Integration,
364
- DatasourceFieldType,
365
- QueryType,
366
- IntegrationBase,
367
- } from "@budibase/types"
368
- &nbsp;
369
- const Airtable = require("airtable")
309
+ <span class="cline-any cline-no">&nbsp;</span>
310
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">let events = <span class="cstat-no" title="statement not covered" >require("events")</span>
370
311
  &nbsp;
371
- interface AirtableConfig {
372
- apiKey: string
373
- base: string
312
+ /**
313
+ * Bull works with a Job wrapper around all messages that contains a lot more information about
314
+ * the state of the message, this object constructor implements the same schema of Bull jobs
315
+ * for the sake of maintaining API consistency.
316
+ * @param {string} queue The name of the queue which the message will be carried on.
317
+ * @param {object} message The JSON message which will be passed back to the consumer.
318
+ * @returns {Object} A new job which can now be put onto the queue, this is mostly an
319
+ * internal structure so that an in memory queue can be easily swapped for a Bull queue.
320
+ */
321
+ function <span class="fstat-no" title="function not covered" >newJob(</span>queue, message) {
322
+ <span class="cstat-no" title="statement not covered" > return {</span>
323
+ timestamp: Date.now(),
324
+ queue: queue,
325
+ data: message,
326
+ }
374
327
  }
375
328
  &nbsp;
376
- const SCHEMA: Integration = {
377
- docs: "https://airtable.com/api",
378
- description:
379
- "Airtable is a spreadsheet-database hybrid, with the features of a database but applied to a spreadsheet.",
380
- friendlyName: "Airtable",
381
- type: "Spreadsheet",
382
- datasource: {
383
- apiKey: {
384
- type: DatasourceFieldType.PASSWORD,
385
- default: "enter api key",
386
- required: true,
387
- },
388
- base: {
389
- type: DatasourceFieldType.STRING,
390
- default: "mybase",
391
- required: true,
392
- },
393
- },
394
- query: {
395
- create: {
396
- type: QueryType.FIELDS,
397
- customisable: true,
398
- fields: {
399
- table: {
400
- type: DatasourceFieldType.STRING,
401
- required: true,
402
- },
403
- },
404
- },
405
- read: {
406
- type: QueryType.FIELDS,
407
- fields: {
408
- table: {
409
- type: DatasourceFieldType.STRING,
410
- required: true,
411
- },
412
- view: {
413
- type: DatasourceFieldType.STRING,
414
- required: true,
415
- },
416
- numRecords: {
417
- type: DatasourceFieldType.NUMBER,
418
- default: 10,
419
- },
420
- },
421
- },
422
- update: {
423
- type: QueryType.FIELDS,
424
- customisable: true,
425
- fields: {
426
- id: {
427
- display: "Record ID",
428
- type: DatasourceFieldType.STRING,
429
- required: true,
430
- },
431
- table: {
432
- type: DatasourceFieldType.STRING,
433
- required: true,
434
- },
435
- },
436
- },
437
- delete: {
438
- type: QueryType.JSON,
439
- },
440
- },
441
- }
329
+ /**
330
+ * This is designed to replicate Bull (https://github.com/OptimalBits/bull) in memory as a sort of mock.
331
+ * It is relatively simple, using an event emitter internally to register when messages are available
332
+ * to the consumers - in can support many inputs and many consumers.
333
+ */
334
+ class InMemoryQueue {
335
+ /**
336
+ * The constructor the queue, exactly the same as that of Bulls.
337
+ * @param {string} name The name of the queue which is being configured.
338
+ * @param {object|null} opts This is not used by the in memory queue as there is no real use
339
+ * case when in memory, but is the same API as Bull
340
+ */
341
+ <span class="fstat-no" title="function not covered" > co</span>nstructor(name, opts = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> {
342
+ <span class="cstat-no" title="statement not covered" > this._name = name</span>
343
+ <span class="cstat-no" title="statement not covered" > this._opts = opts</span>
344
+ <span class="cstat-no" title="statement not covered" > this._messages = []</span>
345
+ <span class="cstat-no" title="statement not covered" > this._emitter = new events.EventEmitter()</span>
346
+ }
442
347
  &nbsp;
443
- class AirtableIntegration implements IntegrationBase {
444
- private config: AirtableConfig
445
- private client: any
348
+ /**
349
+ * Same callback API as Bull, each callback passed to this will consume messages as they are
350
+ * available. Please note this is a queue service, not a notification service, so each
351
+ * consumer will receive different messages.
352
+ * @param {function&lt;object&gt;} func The callback function which will return a "Job", the same
353
+ * as the Bull API, within this job the property "data" contains the JSON message. Please
354
+ * note this is incredibly limited compared to Bull as in reality the Job would contain
355
+ * a lot more information about the queue and current status of Bull cluster.
356
+ */
357
+ <span class="fstat-no" title="function not covered" > pr</span>ocess(func) {
358
+ <span class="cstat-no" title="statement not covered" > this._emitter.on("message", <span class="fstat-no" title="function not covered" >as</span>ync () =&gt; {</span>
359
+ <span class="cstat-no" title="statement not covered" > if (this._messages.length &lt;= 0) {</span>
360
+ <span class="cstat-no" title="statement not covered" > return</span>
361
+ }
362
+ let msg = <span class="cstat-no" title="statement not covered" >this._messages.shift()</span>
363
+ let resp = <span class="cstat-no" title="statement not covered" >func(msg)</span>
364
+ <span class="cstat-no" title="statement not covered" > if (resp.then != null) {</span>
365
+ <span class="cstat-no" title="statement not covered" > await resp</span>
366
+ }
367
+ })
368
+ }
446
369
  &nbsp;
447
- constructor(config: AirtableConfig) {
448
- this.config = config
449
- this.client = new Airtable(config).base(config.base)
370
+ // simply puts a message to the queue and emits to the queue for processing
371
+ /**
372
+ * Simple function to replicate the add message functionality of Bull, putting
373
+ * a new message on the queue. This then emits an event which will be used to
374
+ * return the message to a consumer (if one is attached).
375
+ * @param {object} msg A message to be transported over the queue, this should be
376
+ * a JSON message as this is required by Bull.
377
+ */
378
+ // eslint-disable-next-line no-unused-vars
379
+ <span class="fstat-no" title="function not covered" > ad</span>d(msg, repeat) {
380
+ <span class="cstat-no" title="statement not covered" > if (typeof msg !== "object") {</span>
381
+ <span class="cstat-no" title="statement not covered" > throw "Queue only supports carrying JSON."</span>
382
+ }
383
+ <span class="cstat-no" title="statement not covered" > this._messages.push(newJob(this._name, msg))</span>
384
+ <span class="cstat-no" title="statement not covered" > this._emitter.emit("message")</span>
450
385
  }
451
386
  &nbsp;
452
- async create(query: { table: any; json: any }) {
453
- const { table, json } = query
387
+ /**
388
+ * replicating the close function from bull, which waits for jobs to finish.
389
+ */
390
+ <span class="fstat-no" title="function not covered" > as</span>ync close() {
391
+ <span class="cstat-no" title="statement not covered" > return []</span>
392
+ }
454
393
  &nbsp;
455
- try {
456
- return await this.client(table).create([
457
- {
458
- fields: json,
459
- },
460
- ])
461
- } catch (err) {
462
- <span class="cstat-no" title="statement not covered" > console.error("Error writing to airtable", err)</span>
463
- <span class="cstat-no" title="statement not covered" > throw err</span>
464
- }
394
+ /**
395
+ * This removes a cron which has been implemented, this is part of Bull API.
396
+ * @param {string} cronJobId The cron which is to be removed.
397
+ */
398
+ <span class="fstat-no" title="function not covered" > re</span>moveRepeatableByKey(cronJobId) {
399
+ // TODO: implement for testing
400
+ <span class="cstat-no" title="statement not covered" > console.log(cronJobId)</span>
465
401
  }
466
402
  &nbsp;
467
- async read(query: { table: any; numRecords: any; view: any }) {
468
- try {
469
- const records = await this.client(query.table)
470
- .select({ maxRecords: query.numRecords || 10, view: query.view })
471
- .firstPage()
472
- // @ts-ignore
473
- return records.map(<span class="fstat-no" title="function not covered" >({</span> fields }) =&gt; <span class="cstat-no" title="statement not covered" >fields)</span>
474
- } catch (err) {
475
- <span class="cstat-no" title="statement not covered" > console.error("Error writing to airtable", err)</span>
476
- <span class="cstat-no" title="statement not covered" > return []</span>
477
- }
403
+ /**
404
+ * Implemented for tests
405
+ */
406
+ <span class="fstat-no" title="function not covered" > ge</span>tRepeatableJobs() {
407
+ <span class="cstat-no" title="statement not covered" > return []</span>
478
408
  }
479
409
  &nbsp;
480
- async update(query: { table: any; id: any; json: any }) {
481
- const { table, id, json } = query
410
+ // eslint-disable-next-line no-unused-vars
411
+ <span class="fstat-no" title="function not covered" > re</span>moveJobs(pattern) {
412
+ // no-op
413
+ }
482
414
  &nbsp;
483
- try {
484
- return await this.client(table).update([
485
- {
486
- id,
487
- fields: json,
488
- },
489
- ])
490
- } catch (err) {
491
- <span class="cstat-no" title="statement not covered" > console.error("Error writing to airtable", err)</span>
492
- <span class="cstat-no" title="statement not covered" > throw err</span>
493
- }
415
+ /**
416
+ * Implemented for tests
417
+ */
418
+ <span class="fstat-no" title="function not covered" > as</span>ync clean() {
419
+ <span class="cstat-no" title="statement not covered" > return []</span>
494
420
  }
495
421
  &nbsp;
496
- async delete(query: { table: any; ids: any }) {
497
- try {
498
- return await this.client(query.table).destroy(query.ids)
499
- } catch (err) {
500
- <span class="cstat-no" title="statement not covered" > console.error("Error writing to airtable", err)</span>
501
- <span class="cstat-no" title="statement not covered" > throw err</span>
502
- }
422
+ <span class="fstat-no" title="function not covered" > as</span>ync getJob() {
423
+ <span class="cstat-no" title="statement not covered" > return {}</span>
503
424
  }
504
- }
505
425
  &nbsp;
506
- export default {
507
- schema: SCHEMA,
508
- integration: AirtableIntegration,
426
+ <span class="fstat-no" title="function not covered" > on</span>() {
427
+ // do nothing
428
+ }
509
429
  }
430
+ &nbsp;
431
+ <span class="cstat-no" title="statement not covered" >module.exports = InMemoryQueue</span>
510
432
  &nbsp;</pre></td></tr></table></pre>
511
433
 
512
434
  <div class='push'></div><!-- for sticky footer -->
@@ -514,7 +436,7 @@ export default {
514
436
  <div class='footer quiet pad2 space-top1 center small'>
515
437
  Code coverage generated by
516
438
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
517
- at Mon Dec 05 2022 18:24:26 GMT+0000 (Coordinated Universal Time)
439
+ at Mon Dec 05 2022 18:40:03 GMT+0000 (Coordinated Universal Time)
518
440
  </div>
519
441
  <script src="../../prettify.js"></script>
520
442
  <script>
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/migrations</title>
6
+ <title>Code coverage report for utilities/queue</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../base.css" />
@@ -19,34 +19,34 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> src/migrations</h1>
22
+ <h1><a href="../../index.html">All files</a> utilities/queue</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">80.48% </span>
26
+ <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>33/41</span>
28
+ <span class='fraction'>0/23</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">77.77% </span>
33
+ <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>7/9</span>
35
+ <span class='fraction'>0/7</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">14.28% </span>
40
+ <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>1/7</span>
42
+ <span class='fraction'>0/12</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">83.78% </span>
47
+ <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>31/37</span>
49
+ <span class='fraction'>0/23</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line high'></div>
64
+ <div class='status-line low'></div>
65
65
  <div class="pad1">
66
66
  <table class="coverage-summary">
67
67
  <thead>
@@ -79,18 +79,18 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
- <td class="file high" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
83
- <td data-value="80.48" class="pic high">
84
- <div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
82
+ <td class="file low" data-value="inMemoryQueue.js"><a href="inMemoryQueue.js.html">inMemoryQueue.js</a></td>
83
+ <td data-value="0" class="pic low">
84
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
85
85
  </td>
86
- <td data-value="80.48" class="pct high">80.48%</td>
87
- <td data-value="41" class="abs high">33/41</td>
88
- <td data-value="77.77" class="pct medium">77.77%</td>
89
- <td data-value="9" class="abs medium">7/9</td>
90
- <td data-value="14.28" class="pct low">14.28%</td>
91
- <td data-value="7" class="abs low">1/7</td>
92
- <td data-value="83.78" class="pct high">83.78%</td>
93
- <td data-value="37" class="abs high">31/37</td>
86
+ <td data-value="0" class="pct low">0%</td>
87
+ <td data-value="23" class="abs low">0/23</td>
88
+ <td data-value="0" class="pct low">0%</td>
89
+ <td data-value="7" class="abs low">0/7</td>
90
+ <td data-value="0" class="pct low">0%</td>
91
+ <td data-value="12" class="abs low">0/12</td>
92
+ <td data-value="0" class="pct low">0%</td>
93
+ <td data-value="23" class="abs low">0/23</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Mon Dec 05 2022 18:24:26 GMT+0000 (Coordinated Universal Time)
104
+ at Mon Dec 05 2022 18:40:03 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>