@budibase/server 2.1.32-alpha.8 → 2.1.33

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 (663) hide show
  1. package/__mocks__/aws-sdk.ts +0 -14
  2. package/__mocks__/node-fetch.ts +1 -5
  3. package/builder/assets/{index.7176fd99.css → index.534f6c29.css} +1 -1
  4. package/builder/assets/{index.3efa93e2.js → index.d2995f56.js} +316 -316
  5. package/builder/index.html +2 -2
  6. package/coverage/clover.xml +3681 -10588
  7. package/coverage/coverage-final.json +77 -225
  8. package/coverage/lcov-report/{src/api/controllers/apikeys.ts.html → api/controllers/apikeys.js.html} +26 -26
  9. package/coverage/lcov-report/{src/api/controllers/automation.ts.html → api/controllers/automation.js.html} +75 -75
  10. package/coverage/lcov-report/{src/api/controllers/cloud.ts.html → api/controllers/cloud.js.html} +47 -47
  11. package/coverage/lcov-report/{src/api/controllers/datasource.ts.html → api/controllers/datasource.js.html} +87 -246
  12. package/coverage/lcov-report/{src/api/controllers/dev.ts.html → api/controllers/dev.js.html} +71 -53
  13. package/coverage/lcov-report/api/controllers/index.html +326 -0
  14. package/coverage/lcov-report/{src/api → api}/controllers/integration.js.html +10 -10
  15. package/coverage/lcov-report/{src/api/controllers/layout.ts.html → api/controllers/layout.js.html} +26 -26
  16. package/coverage/lcov-report/{src/api/controllers/metadata.ts.html → api/controllers/metadata.js.html} +23 -26
  17. package/coverage/lcov-report/{src/api → api}/controllers/migrations.js.html +10 -10
  18. package/coverage/lcov-report/{src/api/controllers/permission.ts.html → api/controllers/permission.js.html} +71 -80
  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} +17 -17
  21. package/coverage/lcov-report/{src/api/controllers/role.ts.html → api/controllers/role.js.html} +56 -44
  22. package/coverage/lcov-report/{src/api/controllers/routing.ts.html → api/controllers/routing.js.html} +56 -65
  23. package/coverage/lcov-report/{src/api → api}/controllers/row/external.js.html +13 -13
  24. package/coverage/lcov-report/{src/api → api}/controllers/row/index.html +46 -76
  25. package/coverage/lcov-report/{src/api → api}/controllers/row/internal.js.html +29 -26
  26. package/coverage/lcov-report/{src/api/controllers/row/internalSearch.ts.html → api/controllers/row/internalSearch.js.html} +110 -182
  27. package/coverage/lcov-report/{src/api/controllers/row/staticFormula.ts.html → api/controllers/row/staticFormula.js.html} +54 -69
  28. package/coverage/lcov-report/{src/api/controllers/row/utils.ts.html → api/controllers/row/utils.js.html} +43 -64
  29. package/coverage/lcov-report/{src/api/controllers/script.ts.html → api/controllers/script.js.html} +14 -17
  30. package/coverage/lcov-report/{src/api/controllers/table/bulkFormula.ts.html → api/controllers/table/bulkFormula.js.html} +54 -96
  31. package/coverage/lcov-report/{src/api/controllers/table/external.ts.html → api/controllers/table/external.js.html} +100 -196
  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} +35 -35
  34. package/coverage/lcov-report/{src/api/controllers/templates.ts.html → api/controllers/templates.js.html} +25 -34
  35. package/coverage/lcov-report/{src/api/controllers/user.ts.html → api/controllers/user.js.html} +85 -79
  36. package/coverage/lcov-report/{src/api/controllers/view/exporters.ts.html → api/controllers/view/exporters.js.html} +14 -20
  37. package/coverage/lcov-report/{src/api → api}/controllers/view/index.html +30 -30
  38. package/coverage/lcov-report/{src/api/controllers/view/index.ts.html → api/controllers/view/index.js.html} +48 -75
  39. package/coverage/lcov-report/{src/api/controllers/view/utils.ts.html → api/controllers/view/utils.js.html} +43 -61
  40. package/coverage/lcov-report/{src/api → api}/controllers/view/viewBuilder.js.html +10 -10
  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} +56 -35
  43. package/coverage/lcov-report/{src/api/routes/analytics.ts.html → api/routes/analytics.js.html} +14 -14
  44. package/coverage/lcov-report/{src/middleware/selfhost.ts.html → api/routes/apikeys.js.html} +27 -27
  45. package/coverage/lcov-report/{src/api/routes/automation.ts.html → api/routes/automation.js.html} +42 -48
  46. package/coverage/lcov-report/{src/api/routes/backup.ts.html → api/routes/cloud.js.html} +21 -21
  47. package/coverage/lcov-report/{src/api/routes/component.ts.html → api/routes/component.js.html} +17 -17
  48. package/coverage/lcov-report/{src/api/routes/datasource.ts.html → api/routes/datasource.js.html} +33 -60
  49. package/coverage/lcov-report/{src/api/routes/cloud.ts.html → api/routes/deploy.js.html} +22 -25
  50. package/coverage/lcov-report/{src/api/routes/webhook.ts.html → api/routes/dev.js.html} +43 -46
  51. package/coverage/lcov-report/{src/api → api}/routes/index.html +47 -167
  52. package/coverage/lcov-report/{src/api/routes/apikeys.ts.html → api/routes/integration.js.html} +18 -18
  53. package/coverage/lcov-report/{src/api/routes/layout.ts.html → api/routes/layout.js.html} +18 -18
  54. package/coverage/lcov-report/{src/api/routes/metadata.ts.html → api/routes/metadata.js.html} +24 -24
  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/view.ts.html → api/routes/permission.js.html} +37 -40
  57. package/coverage/lcov-report/{src/api/routes/query.ts.html → api/routes/query.js.html} +42 -33
  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} +17 -17
  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} +33 -24
  63. package/coverage/lcov-report/{src/api/routes/templates.ts.html → api/routes/templates.js.html} +18 -18
  64. package/coverage/lcov-report/{src/api/routes/user.ts.html → api/routes/user.js.html} +35 -29
  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} +58 -46
  67. package/coverage/lcov-report/{src/definitions/automations.ts.html → api/routes/view.js.html} +41 -44
  68. package/coverage/lcov-report/{src/automations → automations}/actions.js.html +10 -10
  69. package/coverage/lcov-report/{src/automations → automations}/automationUtils.js.html +10 -10
  70. package/coverage/lcov-report/{src/automations → automations}/bullboard.js.html +10 -10
  71. package/coverage/lcov-report/{src/automations → automations}/index.html +24 -39
  72. package/coverage/lcov-report/{src/automations → automations}/index.js.html +10 -10
  73. package/coverage/lcov-report/{src/automations → automations}/steps/bash.js.html +10 -10
  74. package/coverage/lcov-report/{src/automations → automations}/steps/delay.js.html +10 -10
  75. package/coverage/lcov-report/{src/automations → automations}/steps/discord.js.html +10 -10
  76. package/coverage/lcov-report/{src/automations → automations}/steps/executeQuery.js.html +10 -10
  77. package/coverage/lcov-report/{src/automations → automations}/steps/executeScript.js.html +10 -10
  78. package/coverage/lcov-report/{src/automations → automations}/steps/filter.js.html +10 -10
  79. package/coverage/lcov-report/{src/automations → automations}/steps/index.html +26 -56
  80. package/coverage/lcov-report/{src/automations → automations}/steps/integromat.js.html +10 -10
  81. package/coverage/lcov-report/{src/automations → automations}/steps/loop.js.html +10 -10
  82. package/coverage/lcov-report/{src/automations → automations}/steps/outgoingWebhook.js.html +10 -10
  83. package/coverage/lcov-report/{src/automations → automations}/steps/queryRows.js.html +10 -10
  84. package/coverage/lcov-report/{src/automations → automations}/steps/sendSmtpEmail.js.html +10 -10
  85. package/coverage/lcov-report/{src/automations → automations}/steps/serverLog.js.html +10 -10
  86. package/coverage/lcov-report/{src/automations → automations}/steps/slack.js.html +10 -10
  87. package/coverage/lcov-report/{src/automations → automations}/steps/updateRow.js.html +10 -10
  88. package/coverage/lcov-report/{src/automations → automations}/steps/utils.js.html +19 -19
  89. package/coverage/lcov-report/{src/automations → automations}/steps/zapier.js.html +10 -10
  90. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/app.js.html +10 -10
  91. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/cron.js.html +10 -10
  92. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.html +10 -10
  93. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.js.html +10 -10
  94. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowDeleted.js.html +10 -10
  95. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowSaved.js.html +10 -10
  96. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowUpdated.js.html +10 -10
  97. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/webhook.js.html +10 -10
  98. package/coverage/lcov-report/{src/automations → automations}/triggers.js.html +23 -20
  99. package/coverage/lcov-report/{src/constants → constants}/index.html +14 -14
  100. package/coverage/lcov-report/{src/constants → constants}/index.js.html +22 -16
  101. package/coverage/lcov-report/{src/constants → constants}/layouts.js.html +10 -10
  102. package/coverage/lcov-report/{src/constants → constants}/screens.js.html +12 -12
  103. package/coverage/lcov-report/{src/db → db}/inMemoryView.js.html +13 -13
  104. package/coverage/lcov-report/{src/db → db}/index.html +27 -42
  105. package/coverage/lcov-report/{src/db → db}/index.js.html +18 -18
  106. package/coverage/lcov-report/{src/db → db}/linkedRows/LinkController.js.html +160 -22
  107. package/coverage/lcov-report/{src/db → db}/linkedRows/index.html +22 -37
  108. package/coverage/lcov-report/{src/db → db}/linkedRows/index.js.html +12 -12
  109. package/coverage/lcov-report/{src/db → db}/linkedRows/linkUtils.js.html +13 -13
  110. package/coverage/lcov-report/{src/db → db}/newid.js.html +10 -10
  111. package/coverage/lcov-report/{src/db/utils.ts.html → db/utils.js.html} +153 -105
  112. package/coverage/lcov-report/{src/events → events}/AutomationEmitter.js.html +10 -10
  113. package/coverage/lcov-report/{src/events → events}/index.html +10 -10
  114. package/coverage/lcov-report/{src/events → events}/index.js.html +10 -10
  115. package/coverage/lcov-report/{src/events → events}/utils.js.html +10 -10
  116. package/coverage/lcov-report/index.html +161 -671
  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} +28 -31
  120. package/coverage/lcov-report/{src/middleware/builder.ts.html → middleware/builder.js.html} +37 -43
  121. package/coverage/lcov-report/{src/middleware/currentapp.ts.html → middleware/currentapp.js.html} +68 -77
  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} +24 -24
  125. package/coverage/lcov-report/{src/middleware/resourceId.ts.html → middleware/resourceId.js.html} +25 -40
  126. package/coverage/lcov-report/{src/tests/utilities/index.js.html → middleware/selfhost.js.html} +30 -33
  127. package/coverage/lcov-report/{src/middleware/utils.ts.html → middleware/utils.js.html} +13 -19
  128. package/coverage/lcov-report/{src/utilities/budibaseDir.ts.html → utilities/budibaseDir.js.html} +12 -12
  129. package/coverage/lcov-report/{src/utilities → utilities}/centralPath.js.html +10 -10
  130. package/coverage/lcov-report/{src/utilities → utilities}/csvParser.js.html +10 -10
  131. package/coverage/lcov-report/{src/utilities/global.ts.html → utilities/global.js.html} +74 -107
  132. package/coverage/lcov-report/{src/utilities → utilities}/index.html +61 -76
  133. package/coverage/lcov-report/{src/utilities/index.ts.html → utilities/index.js.html} +53 -77
  134. package/coverage/lcov-report/{src/utilities → utilities}/plugins.js.html +10 -10
  135. package/coverage/lcov-report/{src/utilities → utilities}/queue/inMemoryQueue.js.html +10 -10
  136. package/coverage/lcov-report/{src/utilities → utilities}/queue/index.html +10 -10
  137. package/coverage/lcov-report/{src/sdk → utilities/routing}/index.html +10 -10
  138. package/coverage/lcov-report/{src/api/routes/role.ts.html → utilities/routing/index.js.html} +42 -39
  139. package/coverage/lcov-report/{src/migrations → utilities/rowProcessor}/index.html +37 -22
  140. package/coverage/lcov-report/{src/utilities/rowProcessor/index.ts.html → utilities/rowProcessor/index.js.html} +344 -113
  141. package/coverage/lcov-report/{src/utilities/rowProcessor/utils.ts.html → utilities/rowProcessor/utils.js.html} +38 -50
  142. package/coverage/lcov-report/{src/utilities → utilities}/scriptRunner.js.html +10 -10
  143. package/coverage/lcov-report/{src/utilities/security.ts.html → utilities/security.js.html} +74 -56
  144. package/coverage/lcov-report/{src/utilities → utilities}/statusCodes.js.html +10 -10
  145. package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/index.html +27 -27
  146. package/coverage/lcov-report/{src/utilities/usageQuota/rows.ts.html → utilities/usageQuota/rows.js.html} +46 -34
  147. package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/usageQuoteReset.js.html +10 -10
  148. package/coverage/lcov-report/{src/utilities/users.ts.html → utilities/users.js.html} +35 -29
  149. package/coverage/lcov-report/{src/utilities/workerRequests.ts.html → utilities/workerRequests.js.html} +61 -76
  150. package/coverage/lcov.info +6772 -19273
  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 +84 -104
  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 +92 -144
  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/layout.js +15 -18
  161. package/dist/api/controllers/metadata.js +37 -51
  162. package/dist/api/controllers/permission.js +43 -52
  163. package/dist/api/controllers/plugin/index.js +7 -6
  164. package/dist/api/controllers/public/applications.js +9 -17
  165. package/dist/api/controllers/public/tables.js +9 -29
  166. package/dist/api/controllers/query/import/index.js +2 -1
  167. package/dist/api/controllers/query/index.js +13 -10
  168. package/dist/api/controllers/query/validation.js +33 -41
  169. package/dist/api/controllers/role.js +27 -29
  170. package/dist/api/controllers/routing.js +58 -71
  171. package/dist/api/controllers/row/ExternalRequest.js +8 -12
  172. package/dist/api/controllers/row/external.js +3 -3
  173. package/dist/api/controllers/row/index.js +7 -16
  174. package/dist/api/controllers/row/internal.js +12 -11
  175. package/dist/api/controllers/row/internalSearch.js +80 -95
  176. package/dist/api/controllers/row/staticFormula.js +75 -85
  177. package/dist/api/controllers/row/utils.js +84 -118
  178. package/dist/api/controllers/screen.js +66 -81
  179. package/dist/api/controllers/script.js +6 -13
  180. package/dist/api/controllers/static/index.js +11 -9
  181. package/dist/api/controllers/table/bulkFormula.js +35 -47
  182. package/dist/api/controllers/table/external.js +57 -67
  183. package/dist/api/controllers/table/index.js +33 -66
  184. package/dist/api/controllers/table/internal.js +6 -5
  185. package/dist/api/controllers/table/utils.js +35 -39
  186. package/dist/api/controllers/templates.js +10 -17
  187. package/dist/api/controllers/user.js +70 -82
  188. package/dist/api/controllers/view/exporters.js +4 -8
  189. package/dist/api/controllers/view/index.js +153 -201
  190. package/dist/api/controllers/view/utils.js +121 -151
  191. package/dist/api/index.js +34 -38
  192. package/dist/api/routes/analytics.js +3 -29
  193. package/dist/api/routes/apikeys.js +7 -33
  194. package/dist/api/routes/application.js +9 -8
  195. package/dist/api/routes/auth.js +2 -1
  196. package/dist/api/routes/automation.js +20 -46
  197. package/dist/api/routes/backup.js +4 -3
  198. package/dist/api/routes/cloud.js +6 -32
  199. package/dist/api/routes/component.js +6 -32
  200. package/dist/api/routes/datasource.js +13 -39
  201. package/dist/api/routes/deploy.js +8 -34
  202. package/dist/api/routes/dev.js +10 -36
  203. package/dist/api/routes/integration.js +7 -10
  204. package/dist/api/routes/layout.js +7 -33
  205. package/dist/api/routes/metadata.js +10 -36
  206. package/dist/api/routes/migrations.js +6 -32
  207. package/dist/api/routes/permission.js +12 -38
  208. package/dist/api/routes/plugin.js +5 -5
  209. package/dist/api/routes/public/index.js +9 -9
  210. package/dist/api/routes/query.js +15 -42
  211. package/dist/api/routes/role.js +10 -36
  212. package/dist/api/routes/routing.js +6 -32
  213. package/dist/api/routes/row.js +11 -12
  214. package/dist/api/routes/screen.js +9 -35
  215. package/dist/api/routes/script.js +6 -32
  216. package/dist/api/routes/static.js +9 -9
  217. package/dist/api/routes/table.js +13 -40
  218. package/dist/api/routes/templates.js +7 -33
  219. package/dist/api/routes/tests/utilities/TestFunctions.js +8 -6
  220. package/dist/api/routes/user.js +13 -40
  221. package/dist/api/routes/utils/validators.js +126 -142
  222. package/dist/api/routes/view.js +12 -38
  223. package/dist/api/routes/webhook.js +2 -1
  224. package/dist/app.js +4 -3
  225. package/dist/automations/tests/utilities/index.js +12 -21
  226. package/dist/automations/triggers.js +6 -5
  227. package/dist/automations/utils.js +8 -9
  228. package/dist/constants/index.js +5 -3
  229. package/dist/constants/screens.js +2 -2
  230. package/dist/db/inMemoryView.js +3 -3
  231. package/dist/db/linkedRows/LinkController.js +31 -4
  232. package/dist/db/linkedRows/index.js +2 -2
  233. package/dist/db/linkedRows/linkUtils.js +3 -3
  234. package/dist/db/utils.js +119 -146
  235. package/dist/db/views/staticViews.js +4 -4
  236. package/dist/integrations/elasticsearch.js +2 -26
  237. package/dist/integrations/googlesheets.js +6 -4
  238. package/dist/integrations/index.js +6 -15
  239. package/dist/integrations/s3.js +1 -157
  240. package/dist/middleware/appInfo.js +9 -14
  241. package/dist/middleware/authorized.js +21 -22
  242. package/dist/middleware/builder.js +40 -41
  243. package/dist/middleware/currentapp.js +37 -39
  244. package/dist/middleware/joi-validator.js +10 -17
  245. package/dist/middleware/publicApi.js +6 -5
  246. package/dist/middleware/resourceId.js +9 -16
  247. package/dist/middleware/selfhost.js +4 -5
  248. package/dist/middleware/utils.js +2 -5
  249. package/dist/migrations/functions/appUrls.js +2 -2
  250. package/dist/migrations/functions/backfill/global.js +1 -1
  251. package/dist/migrations/functions/usageQuotas/syncApps.js +4 -3
  252. package/dist/migrations/functions/usageQuotas/syncRows.js +4 -3
  253. package/dist/migrations/functions/userEmailViewCasing.js +3 -3
  254. package/dist/package.json +44 -10
  255. package/dist/sdk/app/backups/exports.js +2 -1
  256. package/dist/sdk/app/backups/imports.js +3 -2
  257. package/dist/sdk/app/tables/index.js +5 -5
  258. package/dist/startup.js +4 -4
  259. package/dist/tests/utilities/TestConfiguration.js +36 -30
  260. package/dist/tests/utilities/structures.js +4 -3
  261. package/dist/threads/automation.js +16 -15
  262. package/dist/threads/query.js +20 -17
  263. package/dist/threads/utils.js +9 -11
  264. package/dist/tsconfig.build.tsbuildinfo +1 -1
  265. package/dist/utilities/budibaseDir.js +2 -4
  266. package/dist/utilities/fileSystem/clientLibrary.js +12 -12
  267. package/dist/utilities/fileSystem/index.js +3 -3
  268. package/dist/utilities/fileSystem/utilities.js +22 -0
  269. package/dist/utilities/global.js +66 -87
  270. package/dist/utilities/index.js +75 -102
  271. package/dist/utilities/redis.js +65 -100
  272. package/dist/utilities/routing/index.js +23 -27
  273. package/dist/utilities/rowProcessor/index.js +191 -124
  274. package/dist/utilities/rowProcessor/utils.js +26 -35
  275. package/dist/utilities/security.js +35 -39
  276. package/dist/utilities/usageQuota/rows.js +49 -56
  277. package/dist/utilities/users.js +28 -31
  278. package/dist/utilities/workerRequests.js +82 -115
  279. package/dist/watch.js +2 -1
  280. package/package.json +45 -11
  281. package/scripts/exportAppTemplate.js +2 -2
  282. package/{src/tests/jestSetup.ts → scripts/jestSetup.js} +2 -11
  283. package/scripts/localdomain.js +6 -34
  284. package/src/api/controllers/{apikeys.ts → apikeys.js} +10 -10
  285. package/src/api/controllers/application.ts +42 -56
  286. package/src/api/controllers/auth.ts +3 -4
  287. package/src/api/controllers/{automation.ts → automation.js} +48 -48
  288. package/src/api/controllers/{cloud.ts → cloud.js} +24 -24
  289. package/src/api/controllers/component.ts +1 -2
  290. package/src/api/controllers/{datasource.ts → datasource.js} +47 -100
  291. package/src/api/controllers/deploy/{Deployment.ts → Deployment.js} +10 -13
  292. package/src/api/controllers/deploy/index.ts +25 -13
  293. package/src/api/controllers/{dev.ts → dev.js} +37 -31
  294. package/src/api/controllers/{layout.ts → layout.js} +8 -8
  295. package/src/api/controllers/{metadata.ts → metadata.js} +10 -11
  296. package/src/api/controllers/{permission.ts → permission.js} +46 -49
  297. package/src/api/controllers/plugin/index.ts +5 -4
  298. package/src/api/controllers/public/applications.ts +9 -15
  299. package/src/api/controllers/public/tables.ts +2 -2
  300. package/src/api/controllers/query/import/index.ts +3 -2
  301. package/src/api/controllers/query/index.ts +14 -11
  302. package/src/api/controllers/query/{validation.ts → validation.js} +7 -7
  303. package/src/api/controllers/{role.ts → role.js} +25 -21
  304. package/src/api/controllers/{routing.ts → routing.js} +34 -37
  305. package/src/api/controllers/row/ExternalRequest.ts +11 -9
  306. package/src/api/controllers/row/external.js +3 -3
  307. package/src/api/controllers/row/index.ts +9 -17
  308. package/src/api/controllers/row/internal.js +12 -11
  309. package/src/api/controllers/row/{internalSearch.ts → internalSearch.js} +68 -92
  310. package/src/api/controllers/row/{staticFormula.ts → staticFormula.js} +23 -28
  311. package/src/api/controllers/row/{utils.ts → utils.js} +18 -25
  312. package/src/api/controllers/screen.ts +6 -10
  313. package/src/api/controllers/script.js +11 -0
  314. package/src/api/controllers/static/index.ts +13 -9
  315. package/src/api/controllers/table/{bulkFormula.ts → bulkFormula.js} +25 -39
  316. package/src/api/controllers/table/{external.ts → external.js} +54 -86
  317. package/src/api/controllers/table/{index.ts → index.js} +17 -17
  318. package/src/api/controllers/table/internal.ts +6 -5
  319. package/src/api/controllers/table/utils.ts +21 -26
  320. package/src/api/controllers/{templates.ts → templates.js} +7 -10
  321. package/src/api/controllers/{user.ts → user.js} +49 -47
  322. package/src/api/controllers/view/{exporters.ts → exporters.js} +3 -5
  323. package/src/api/controllers/view/{index.ts → index.js} +27 -36
  324. package/src/api/controllers/view/{utils.ts → utils.js} +20 -26
  325. package/src/api/{index.ts → index.js} +22 -15
  326. package/src/api/routes/analytics.js +9 -0
  327. package/src/api/routes/apikeys.js +12 -0
  328. package/src/api/routes/application.ts +9 -17
  329. package/src/api/routes/auth.ts +2 -2
  330. package/src/api/routes/automation.js +85 -0
  331. package/src/api/routes/backup.ts +4 -8
  332. package/src/api/routes/cloud.js +14 -0
  333. package/src/api/routes/component.js +14 -0
  334. package/src/api/routes/datasource.js +51 -0
  335. package/src/api/routes/deploy.js +17 -0
  336. package/src/api/routes/dev.js +26 -0
  337. package/src/api/routes/integration.js +12 -0
  338. package/src/api/routes/layout.js +16 -0
  339. package/src/api/routes/{metadata.ts → metadata.js} +13 -13
  340. package/src/api/routes/migrations.js +14 -0
  341. package/src/api/routes/permission.js +33 -0
  342. package/src/api/routes/plugin.ts +6 -14
  343. package/src/api/routes/public/index.ts +10 -10
  344. package/src/api/routes/public/tests/compare.spec.js +1 -1
  345. package/src/api/routes/{query.ts → query.js} +22 -19
  346. package/src/api/routes/role.js +15 -0
  347. package/src/api/routes/routing.js +14 -0
  348. package/src/api/routes/row.ts +15 -13
  349. package/src/api/routes/screen.js +18 -0
  350. package/src/api/routes/script.js +10 -0
  351. package/src/api/routes/static.ts +10 -7
  352. package/src/api/routes/{table.ts → table.js} +13 -10
  353. package/src/api/routes/templates.js +16 -0
  354. package/src/api/routes/tests/analytics.spec.js +1 -1
  355. package/src/api/routes/tests/backup.spec.js +1 -9
  356. package/src/api/routes/tests/permissions.spec.js +1 -2
  357. package/src/api/routes/tests/query.spec.js +10 -15
  358. package/src/api/routes/tests/role.spec.js +9 -7
  359. package/src/api/routes/tests/routing.spec.js +1 -2
  360. package/src/api/routes/tests/row.spec.js +4 -3
  361. package/src/api/routes/tests/static.spec.js +2 -2
  362. package/src/api/routes/tests/table.spec.js +35 -38
  363. package/src/api/routes/tests/user.spec.js +1 -2
  364. package/src/api/routes/tests/utilities/TestFunctions.ts +8 -6
  365. package/src/api/routes/user.js +53 -0
  366. package/src/api/routes/utils/{validators.ts → validators.js} +37 -33
  367. package/src/api/routes/view.js +31 -0
  368. package/src/api/routes/webhook.ts +2 -2
  369. package/src/app.ts +4 -3
  370. package/src/automations/tests/updateRow.spec.js +1 -0
  371. package/src/automations/tests/utilities/index.js +4 -10
  372. package/src/automations/triggers.js +6 -5
  373. package/src/automations/utils.ts +12 -9
  374. package/src/constants/index.js +5 -3
  375. package/src/constants/screens.js +2 -2
  376. package/src/db/inMemoryView.js +3 -3
  377. package/src/db/linkedRows/LinkController.js +50 -4
  378. package/src/db/linkedRows/index.js +2 -2
  379. package/src/db/linkedRows/linkUtils.js +3 -3
  380. package/src/db/tests/linkController.spec.js +57 -73
  381. package/src/db/tests/linkTests.spec.js +14 -17
  382. package/src/db/{utils.ts → utils.js} +93 -77
  383. package/src/db/views/staticViews.js +4 -4
  384. package/src/integrations/base/sql.ts +1 -1
  385. package/src/integrations/base/sqlTable.ts +1 -1
  386. package/src/integrations/elasticsearch.ts +2 -32
  387. package/src/integrations/googlesheets.ts +7 -4
  388. package/src/integrations/index.ts +41 -45
  389. package/src/integrations/s3.ts +3 -179
  390. package/src/integrations/tests/s3.spec.ts +1 -85
  391. package/src/middleware/appInfo.js +19 -0
  392. package/src/middleware/authorized.ts +28 -21
  393. package/src/middleware/{builder.ts → builder.js} +15 -17
  394. package/src/middleware/{currentapp.ts → currentapp.js} +39 -42
  395. package/src/middleware/{joi-validator.ts → joi-validator.js} +8 -9
  396. package/src/middleware/publicApi.js +21 -0
  397. package/src/middleware/{resourceId.ts → resourceId.js} +11 -16
  398. package/src/middleware/{selfhost.ts → selfhost.js} +2 -4
  399. package/src/middleware/tests/authorized.spec.js +6 -5
  400. package/src/middleware/tests/currentapp.spec.js +63 -118
  401. package/src/middleware/{utils.ts → utils.js} +1 -3
  402. package/src/migrations/functions/appUrls.ts +2 -2
  403. package/src/migrations/functions/backfill/app/tables.ts +5 -2
  404. package/src/migrations/functions/backfill/global.ts +1 -1
  405. package/src/migrations/functions/tests/appUrls.spec.js +4 -4
  406. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +9 -14
  407. package/src/migrations/functions/usageQuotas/syncApps.ts +4 -3
  408. package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
  409. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
  410. package/src/migrations/functions/userEmailViewCasing.ts +3 -3
  411. package/src/module.d.ts +14 -0
  412. package/src/sdk/app/backups/exports.ts +3 -5
  413. package/src/sdk/app/backups/imports.ts +14 -7
  414. package/src/sdk/app/backups/statistics.ts +18 -9
  415. package/src/sdk/app/tables/index.ts +8 -7
  416. package/src/startup.ts +2 -2
  417. package/src/tests/utilities/TestConfiguration.js +36 -42
  418. package/src/tests/utilities/structures.js +4 -3
  419. package/src/threads/automation.ts +16 -15
  420. package/src/threads/query.ts +17 -12
  421. package/src/threads/utils.ts +5 -4
  422. package/src/utilities/budibaseDir.js +3 -0
  423. package/src/utilities/fileSystem/clientLibrary.js +12 -12
  424. package/src/utilities/fileSystem/index.js +8 -8
  425. package/src/utilities/fileSystem/utilities.js +36 -0
  426. package/src/utilities/global.js +127 -0
  427. package/src/utilities/{index.ts → index.js} +32 -40
  428. package/src/utilities/{redis.ts → redis.js} +20 -21
  429. package/src/utilities/routing/index.js +25 -0
  430. package/src/utilities/rowProcessor/{index.ts → index.js} +142 -65
  431. package/src/utilities/rowProcessor/{utils.ts → utils.js} +15 -19
  432. package/src/utilities/security.js +71 -0
  433. package/src/utilities/usageQuota/{rows.ts → rows.js} +18 -14
  434. package/src/utilities/{users.ts → users.js} +13 -11
  435. package/src/utilities/{workerRequests.ts → workerRequests.js} +38 -43
  436. package/src/watch.ts +3 -2
  437. package/tsconfig.json +1 -3
  438. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +0 -190
  439. package/coverage/lcov-report/src/api/controllers/application.ts.html +0 -2038
  440. package/coverage/lcov-report/src/api/controllers/auth.ts.html +0 -301
  441. package/coverage/lcov-report/src/api/controllers/backup.ts.html +0 -148
  442. package/coverage/lcov-report/src/api/controllers/component.ts.html +0 -259
  443. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +0 -259
  444. package/coverage/lcov-report/src/api/controllers/deploy/index.html +0 -131
  445. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +0 -730
  446. package/coverage/lcov-report/src/api/controllers/index.html +0 -431
  447. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +0 -130
  448. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +0 -310
  449. package/coverage/lcov-report/src/api/controllers/plugin/index.html +0 -206
  450. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +0 -484
  451. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +0 -253
  452. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +0 -97
  453. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +0 -121
  454. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +0 -142
  455. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +0 -334
  456. package/coverage/lcov-report/src/api/controllers/public/index.html +0 -191
  457. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +0 -181
  458. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +0 -191
  459. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +0 -124
  460. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +0 -202
  461. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +0 -178
  462. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +0 -163
  463. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +0 -181
  464. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +0 -145
  465. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +0 -328
  466. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +0 -253
  467. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +0 -268
  468. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +0 -220
  469. package/coverage/lcov-report/src/api/controllers/query/import/index.html +0 -116
  470. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +0 -373
  471. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +0 -131
  472. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +0 -379
  473. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +0 -157
  474. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +0 -403
  475. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +0 -146
  476. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +0 -586
  477. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +0 -712
  478. package/coverage/lcov-report/src/api/controllers/query/index.html +0 -131
  479. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +0 -976
  480. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +0 -2320
  481. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +0 -541
  482. package/coverage/lcov-report/src/api/controllers/screen.ts.html +0 -463
  483. package/coverage/lcov-report/src/api/controllers/static/index.html +0 -116
  484. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +0 -688
  485. package/coverage/lcov-report/src/api/controllers/table/index.html +0 -176
  486. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +0 -661
  487. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +0 -1255
  488. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +0 -379
  489. package/coverage/lcov-report/src/api/routes/application.ts.html +0 -223
  490. package/coverage/lcov-report/src/api/routes/auth.ts.html +0 -109
  491. package/coverage/lcov-report/src/api/routes/deploy.ts.html +0 -148
  492. package/coverage/lcov-report/src/api/routes/dev.ts.html +0 -199
  493. package/coverage/lcov-report/src/api/routes/index.ts.html +0 -289
  494. package/coverage/lcov-report/src/api/routes/integration.ts.html +0 -133
  495. package/coverage/lcov-report/src/api/routes/migrations.ts.html +0 -127
  496. package/coverage/lcov-report/src/api/routes/permission.ts.html +0 -208
  497. package/coverage/lcov-report/src/api/routes/plugin.ts.html +0 -151
  498. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +0 -541
  499. package/coverage/lcov-report/src/api/routes/public/index.html +0 -191
  500. package/coverage/lcov-report/src/api/routes/public/index.ts.html +0 -502
  501. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +0 -116
  502. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +0 -328
  503. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +0 -313
  504. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +0 -598
  505. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +0 -586
  506. package/coverage/lcov-report/src/api/routes/public/users.ts.html +0 -511
  507. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +0 -238
  508. package/coverage/lcov-report/src/api/routes/public/utils/index.html +0 -116
  509. package/coverage/lcov-report/src/api/routes/row.ts.html +0 -883
  510. package/coverage/lcov-report/src/api/routes/screen.ts.html +0 -154
  511. package/coverage/lcov-report/src/api/routes/static.ts.html +0 -280
  512. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +0 -550
  513. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +0 -131
  514. package/coverage/lcov-report/src/api/routes/tests/utilities/index.js.html +0 -367
  515. package/coverage/lcov-report/src/app.ts.html +0 -400
  516. package/coverage/lcov-report/src/automations/logging/index.html +0 -116
  517. package/coverage/lcov-report/src/automations/logging/index.ts.html +0 -199
  518. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +0 -367
  519. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +0 -334
  520. package/coverage/lcov-report/src/automations/tests/utilities/index.html +0 -116
  521. package/coverage/lcov-report/src/automations/tests/utilities/index.js.html +0 -256
  522. package/coverage/lcov-report/src/automations/utils.ts.html +0 -886
  523. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.js.html +0 -2023
  524. package/coverage/lcov-report/src/db/defaultData/employeeImport.js.html +0 -541
  525. package/coverage/lcov-report/src/db/defaultData/expensesImport.js.html +0 -427
  526. package/coverage/lcov-report/src/db/defaultData/index.html +0 -176
  527. package/coverage/lcov-report/src/db/defaultData/inventoryImport.js.html +0 -403
  528. package/coverage/lcov-report/src/db/defaultData/jobsImport.js.html +0 -559
  529. package/coverage/lcov-report/src/db/dynamoClient.js.html +0 -466
  530. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.js.html +0 -226
  531. package/coverage/lcov-report/src/definitions/datasource.ts.html +0 -235
  532. package/coverage/lcov-report/src/definitions/index.html +0 -131
  533. package/coverage/lcov-report/src/environment.js.html +0 -445
  534. package/coverage/lcov-report/src/index.html +0 -191
  535. package/coverage/lcov-report/src/index.ts.html +0 -133
  536. package/coverage/lcov-report/src/integrations/airtable.ts.html +0 -529
  537. package/coverage/lcov-report/src/integrations/arangodb.ts.html +0 -415
  538. package/coverage/lcov-report/src/integrations/base/index.html +0 -161
  539. package/coverage/lcov-report/src/integrations/base/query.ts.html +0 -133
  540. package/coverage/lcov-report/src/integrations/base/sql.ts.html +0 -1951
  541. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +0 -691
  542. package/coverage/lcov-report/src/integrations/base/utils.ts.html +0 -121
  543. package/coverage/lcov-report/src/integrations/couchdb.ts.html +0 -406
  544. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +0 -745
  545. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +0 -634
  546. package/coverage/lcov-report/src/integrations/firebase.ts.html +0 -646
  547. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +0 -1312
  548. package/coverage/lcov-report/src/integrations/index.html +0 -371
  549. package/coverage/lcov-report/src/integrations/index.ts.html +0 -445
  550. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +0 -1006
  551. package/coverage/lcov-report/src/integrations/mongodb.ts.html +0 -1867
  552. package/coverage/lcov-report/src/integrations/mysql.ts.html +0 -952
  553. package/coverage/lcov-report/src/integrations/oracle.ts.html +0 -1474
  554. package/coverage/lcov-report/src/integrations/postgres.ts.html +0 -1069
  555. package/coverage/lcov-report/src/integrations/queries/index.html +0 -116
  556. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +0 -463
  557. package/coverage/lcov-report/src/integrations/redis.ts.html +0 -550
  558. package/coverage/lcov-report/src/integrations/rest.ts.html +0 -1381
  559. package/coverage/lcov-report/src/integrations/s3.ts.html +0 -862
  560. package/coverage/lcov-report/src/integrations/snowflake.ts.html +0 -376
  561. package/coverage/lcov-report/src/integrations/utils.ts.html +0 -1006
  562. package/coverage/lcov-report/src/middleware/authorized.ts.html +0 -460
  563. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +0 -187
  564. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +0 -163
  565. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +0 -151
  566. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +0 -206
  567. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +0 -172
  568. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +0 -226
  569. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +0 -151
  570. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +0 -151
  571. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +0 -166
  572. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +0 -532
  573. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +0 -283
  574. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +0 -146
  575. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +0 -265
  576. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +0 -232
  577. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +0 -724
  578. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +0 -161
  579. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +0 -106
  580. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +0 -235
  581. package/coverage/lcov-report/src/migrations/functions/index.html +0 -146
  582. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +0 -130
  583. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +0 -161
  584. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +0 -94
  585. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +0 -127
  586. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +0 -115
  587. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +0 -169
  588. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +0 -124
  589. package/coverage/lcov-report/src/migrations/index.ts.html +0 -403
  590. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +0 -205
  591. package/coverage/lcov-report/src/migrations/tests/index.html +0 -131
  592. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +0 -283
  593. package/coverage/lcov-report/src/sdk/app/automations/index.html +0 -131
  594. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +0 -100
  595. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +0 -214
  596. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +0 -91
  597. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +0 -604
  598. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +0 -682
  599. package/coverage/lcov-report/src/sdk/app/backups/index.html +0 -176
  600. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +0 -112
  601. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +0 -292
  602. package/coverage/lcov-report/src/sdk/app/tables/index.html +0 -116
  603. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +0 -265
  604. package/coverage/lcov-report/src/startup.ts.html +0 -499
  605. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.js.html +0 -1885
  606. package/coverage/lcov-report/src/tests/utilities/controllers.js.html +0 -133
  607. package/coverage/lcov-report/src/tests/utilities/index.html +0 -161
  608. package/coverage/lcov-report/src/tests/utilities/structures.js.html +0 -649
  609. package/coverage/lcov-report/src/threads/automation.ts.html +0 -1594
  610. package/coverage/lcov-report/src/threads/index.html +0 -161
  611. package/coverage/lcov-report/src/threads/index.ts.html +0 -418
  612. package/coverage/lcov-report/src/threads/query.ts.html +0 -961
  613. package/coverage/lcov-report/src/threads/utils.ts.html +0 -373
  614. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.js.html +0 -547
  615. package/coverage/lcov-report/src/utilities/fileSystem/index.js.html +0 -1141
  616. package/coverage/lcov-report/src/utilities/fileSystem/processor.js.html +0 -148
  617. package/coverage/lcov-report/src/utilities/redis.ts.html +0 -343
  618. package/coverage/lcov-report/src/utilities/routing/index.ts.html +0 -181
  619. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +0 -146
  620. package/coverage/lcov-report/src/utilities/rowProcessor/map.js.html +0 -370
  621. package/coverage/lcov-report/src/watch.ts.html +0 -196
  622. package/coverage/lcov-report/src/websocket.ts.html +0 -163
  623. package/dist/db/defaultData/datasource_bb_default.js +0 -565
  624. package/dist/db/defaultData/employeeImport.js +0 -153
  625. package/dist/db/defaultData/expensesImport.js +0 -115
  626. package/dist/db/defaultData/inventoryImport.js +0 -107
  627. package/dist/db/defaultData/jobsImport.js +0 -150
  628. package/dist/db/linkedRows/LinkDocument.js +0 -32
  629. package/dist/utilities/rowProcessor/map.js +0 -96
  630. package/jest.config.ts +0 -33
  631. package/src/api/controllers/script.ts +0 -12
  632. package/src/api/routes/analytics.ts +0 -9
  633. package/src/api/routes/apikeys.ts +0 -12
  634. package/src/api/routes/automation.ts +0 -87
  635. package/src/api/routes/cloud.ts +0 -18
  636. package/src/api/routes/component.ts +0 -14
  637. package/src/api/routes/datasource.ts +0 -60
  638. package/src/api/routes/deploy.ts +0 -21
  639. package/src/api/routes/dev.ts +0 -38
  640. package/src/api/routes/integration.ts +0 -16
  641. package/src/api/routes/layout.ts +0 -16
  642. package/src/api/routes/migrations.ts +0 -14
  643. package/src/api/routes/permission.ts +0 -41
  644. package/src/api/routes/role.ts +0 -24
  645. package/src/api/routes/routing.ts +0 -14
  646. package/src/api/routes/screen.ts +0 -23
  647. package/src/api/routes/script.ts +0 -10
  648. package/src/api/routes/templates.ts +0 -16
  649. package/src/api/routes/user.ts +0 -51
  650. package/src/api/routes/view.ts +0 -34
  651. package/src/db/defaultData/datasource_bb_default.js +0 -646
  652. package/src/db/defaultData/employeeImport.js +0 -152
  653. package/src/db/defaultData/expensesImport.js +0 -114
  654. package/src/db/defaultData/inventoryImport.js +0 -106
  655. package/src/db/defaultData/jobsImport.js +0 -158
  656. package/src/db/linkedRows/LinkDocument.js +0 -47
  657. package/src/middleware/appInfo.ts +0 -20
  658. package/src/middleware/publicApi.ts +0 -21
  659. package/src/utilities/budibaseDir.ts +0 -3
  660. package/src/utilities/global.ts +0 -138
  661. package/src/utilities/routing/index.ts +0 -32
  662. package/src/utilities/rowProcessor/map.js +0 -95
  663. 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/row/internalSearch.ts</title>
6
+ <title>Code coverage report for api/controllers/row/internalSearch.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,7 +19,7 @@
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/row</a> internalSearch.ts</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">api/controllers/row</a> internalSearch.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -30,23 +30,23 @@
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">77.41% </span>
33
+ <span class="strong">69.92% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>72/93</span>
35
+ <span class='fraction'>93/133</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">69.04% </span>
40
+ <span class="strong">68.29% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>29/42</span>
42
+ <span class='fraction'>28/41</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">78.74% </span>
47
+ <span class="strong">78.84% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>163/207</span>
49
+ <span class='fraction'>164/208</span>
50
50
  </div>
51
51
 
52
52
 
@@ -570,51 +570,10 @@
570
570
  <a name='L505'></a><a href='#L505'>505</a>
571
571
  <a name='L506'></a><a href='#L506'>506</a>
572
572
  <a name='L507'></a><a href='#L507'>507</a>
573
- <a name='L508'></a><a href='#L508'>508</a>
574
- <a name='L509'></a><a href='#L509'>509</a>
575
- <a name='L510'></a><a href='#L510'>510</a>
576
- <a name='L511'></a><a href='#L511'>511</a>
577
- <a name='L512'></a><a href='#L512'>512</a>
578
- <a name='L513'></a><a href='#L513'>513</a>
579
- <a name='L514'></a><a href='#L514'>514</a>
580
- <a name='L515'></a><a href='#L515'>515</a>
581
- <a name='L516'></a><a href='#L516'>516</a>
582
- <a name='L517'></a><a href='#L517'>517</a>
583
- <a name='L518'></a><a href='#L518'>518</a>
584
- <a name='L519'></a><a href='#L519'>519</a>
585
- <a name='L520'></a><a href='#L520'>520</a>
586
- <a name='L521'></a><a href='#L521'>521</a>
587
- <a name='L522'></a><a href='#L522'>522</a>
588
- <a name='L523'></a><a href='#L523'>523</a>
589
- <a name='L524'></a><a href='#L524'>524</a>
590
- <a name='L525'></a><a href='#L525'>525</a>
591
- <a name='L526'></a><a href='#L526'>526</a>
592
- <a name='L527'></a><a href='#L527'>527</a>
593
- <a name='L528'></a><a href='#L528'>528</a>
594
- <a name='L529'></a><a href='#L529'>529</a>
595
- <a name='L530'></a><a href='#L530'>530</a>
596
- <a name='L531'></a><a href='#L531'>531</a>
597
- <a name='L532'></a><a href='#L532'>532</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
573
+ <a name='L508'></a><a href='#L508'>508</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
598
574
  <span class="cline-any cline-yes">45x</span>
599
575
  <span class="cline-any cline-yes">45x</span>
600
576
  <span class="cline-any cline-yes">45x</span>
601
- <span class="cline-any cline-neutral">&nbsp;</span>
602
- <span class="cline-any cline-neutral">&nbsp;</span>
603
- <span class="cline-any cline-neutral">&nbsp;</span>
604
- <span class="cline-any cline-neutral">&nbsp;</span>
605
- <span class="cline-any cline-neutral">&nbsp;</span>
606
- <span class="cline-any cline-neutral">&nbsp;</span>
607
- <span class="cline-any cline-neutral">&nbsp;</span>
608
- <span class="cline-any cline-neutral">&nbsp;</span>
609
- <span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-neutral">&nbsp;</span>
611
- <span class="cline-any cline-neutral">&nbsp;</span>
612
- <span class="cline-any cline-neutral">&nbsp;</span>
613
- <span class="cline-any cline-neutral">&nbsp;</span>
614
- <span class="cline-any cline-neutral">&nbsp;</span>
615
- <span class="cline-any cline-neutral">&nbsp;</span>
616
- <span class="cline-any cline-neutral">&nbsp;</span>
617
- <span class="cline-any cline-neutral">&nbsp;</span>
618
577
  <span class="cline-any cline-yes">45x</span>
619
578
  <span class="cline-any cline-neutral">&nbsp;</span>
620
579
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -623,9 +582,6 @@
623
582
  <span class="cline-any cline-neutral">&nbsp;</span>
624
583
  <span class="cline-any cline-neutral">&nbsp;</span>
625
584
  <span class="cline-any cline-neutral">&nbsp;</span>
626
- <span class="cline-any cline-neutral">&nbsp;</span>
627
- <span class="cline-any cline-neutral">&nbsp;</span>
628
- <span class="cline-any cline-neutral">&nbsp;</span>
629
585
  <span class="cline-any cline-yes">17x</span>
630
586
  <span class="cline-any cline-neutral">&nbsp;</span>
631
587
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -645,12 +601,11 @@
645
601
  <span class="cline-any cline-yes">17x</span>
646
602
  <span class="cline-any cline-yes">17x</span>
647
603
  <span class="cline-any cline-yes">17x</span>
604
+ <span class="cline-any cline-yes">17x</span>
648
605
  <span class="cline-any cline-neutral">&nbsp;</span>
649
606
  <span class="cline-any cline-neutral">&nbsp;</span>
650
607
  <span class="cline-any cline-neutral">&nbsp;</span>
651
608
  <span class="cline-any cline-yes">17x</span>
652
- <span class="cline-any cline-yes">15x</span>
653
- <span class="cline-any cline-neutral">&nbsp;</span>
654
609
  <span class="cline-any cline-yes">17x</span>
655
610
  <span class="cline-any cline-neutral">&nbsp;</span>
656
611
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -689,8 +644,6 @@
689
644
  <span class="cline-any cline-neutral">&nbsp;</span>
690
645
  <span class="cline-any cline-neutral">&nbsp;</span>
691
646
  <span class="cline-any cline-yes">33x</span>
692
- <span class="cline-any cline-yes">17x</span>
693
- <span class="cline-any cline-neutral">&nbsp;</span>
694
647
  <span class="cline-any cline-yes">33x</span>
695
648
  <span class="cline-any cline-neutral">&nbsp;</span>
696
649
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -822,7 +775,6 @@
822
775
  <span class="cline-any cline-neutral">&nbsp;</span>
823
776
  <span class="cline-any cline-neutral">&nbsp;</span>
824
777
  <span class="cline-any cline-yes">33x</span>
825
- <span class="cline-any cline-neutral">&nbsp;</span>
826
778
  <span class="cline-any cline-yes">2x</span>
827
779
  <span class="cline-any cline-yes">2x</span>
828
780
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -975,6 +927,9 @@
975
927
  <span class="cline-any cline-neutral">&nbsp;</span>
976
928
  <span class="cline-any cline-neutral">&nbsp;</span>
977
929
  <span class="cline-any cline-neutral">&nbsp;</span>
930
+ <span class="cline-any cline-yes">45x</span>
931
+ <span class="cline-any cline-neutral">&nbsp;</span>
932
+ <span class="cline-any cline-neutral">&nbsp;</span>
978
933
  <span class="cline-any cline-neutral">&nbsp;</span>
979
934
  <span class="cline-any cline-neutral">&nbsp;</span>
980
935
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1019,7 +974,7 @@
1019
974
  <span class="cline-any cline-neutral">&nbsp;</span>
1020
975
  <span class="cline-any cline-neutral">&nbsp;</span>
1021
976
  <span class="cline-any cline-neutral">&nbsp;</span>
1022
- <span class="cline-any cline-neutral">&nbsp;</span>
977
+ <span class="cline-any cline-yes">45x</span>
1023
978
  <span class="cline-any cline-yes">1x</span>
1024
979
  <span class="cline-any cline-yes">1x</span>
1025
980
  <span class="cline-any cline-yes">1x</span>
@@ -1068,9 +1023,6 @@
1068
1023
  <span class="cline-any cline-neutral">&nbsp;</span>
1069
1024
  <span class="cline-any cline-neutral">&nbsp;</span>
1070
1025
  <span class="cline-any cline-yes">45x</span>
1071
- <span class="cline-any cline-neutral">&nbsp;</span>
1072
- <span class="cline-any cline-neutral">&nbsp;</span>
1073
- <span class="cline-any cline-neutral">&nbsp;</span>
1074
1026
  <span class="cline-any cline-yes">16x</span>
1075
1027
  <span class="cline-any cline-yes">16x</span>
1076
1028
  <span class="cline-any cline-yes">15x</span>
@@ -1125,38 +1077,18 @@
1125
1077
  <span class="cline-any cline-yes">1x</span>
1126
1078
  <span class="cline-any cline-yes">1x</span>
1127
1079
  <span class="cline-any cline-neutral">&nbsp;</span>
1128
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { SearchIndexes } from "../../../db/utils"
1129
- import { removeKeyNumbering } from "./utils"
1130
- import fetch from "node-fetch"
1131
- import { db as dbCore, context } from "@budibase/backend-core"
1132
- import { SearchFilters, Row } from "@budibase/types"
1133
- &nbsp;
1134
- type SearchParams = {
1135
- tableId: string
1136
- sort?: string
1137
- sortOrder?: string
1138
- sortType?: string
1139
- limit?: number
1140
- bookmark?: string
1141
- version?: string
1142
- rows?: Row[]
1143
- }
1080
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { SearchIndexes } = require("../../../db/utils")
1081
+ const { removeKeyNumbering } = require("./utils")
1082
+ const fetch = require("node-fetch")
1083
+ const { getCouchInfo } = require("@budibase/backend-core/db")
1084
+ const { getAppId } = require("@budibase/backend-core/context")
1144
1085
  &nbsp;
1145
1086
  /**
1146
1087
  * Class to build lucene query URLs.
1147
1088
  * Optionally takes a base lucene query object.
1148
1089
  */
1149
- export class QueryBuilder {
1150
- query: SearchFilters
1151
- limit: number
1152
- sort?: string
1153
- bookmark?: string
1154
- sortOrder: string
1155
- sortType: string
1156
- includeDocs: boolean
1157
- version?: string
1158
- &nbsp;
1159
- constructor(base?: SearchFilters) {
1090
+ class QueryBuilder {
1091
+ constructor(base) {
1160
1092
  this.query = {
1161
1093
  allOr: false,
1162
1094
  string: {},
@@ -1176,115 +1108,112 @@ export class QueryBuilder {
1176
1108
  this.sortOrder = "ascending"
1177
1109
  this.sortType = "string"
1178
1110
  this.includeDocs = true
1111
+ this.version = null
1179
1112
  }
1180
1113
  &nbsp;
1181
- setVersion(version?: string) {
1182
- if (version != null) {
1183
- this.version = version
1184
- }
1114
+ setVersion(version) {
1115
+ this.version = version
1185
1116
  return this
1186
1117
  }
1187
1118
  &nbsp;
1188
- setTable(tableId: string) {
1189
- this.query.equal!.tableId = tableId
1119
+ setTable(tableId) {
1120
+ this.query.equal.tableId = tableId
1190
1121
  return this
1191
1122
  }
1192
1123
  &nbsp;
1193
- setLimit(limit?: number) {
1194
- if (limit != null) {
1124
+ setLimit(limit) {
1125
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (limit != null) {
1195
1126
  this.limit = limit
1196
1127
  }
1197
1128
  return this
1198
1129
  }
1199
1130
  &nbsp;
1200
- setSort(sort?: string) {
1131
+ setSort(sort) {
1201
1132
  if (sort != null) {
1202
1133
  this.sort = sort
1203
1134
  }
1204
1135
  return this
1205
1136
  }
1206
1137
  &nbsp;
1207
- setSortOrder(sortOrder?: string) {
1138
+ setSortOrder(sortOrder) {
1208
1139
  if (sortOrder != null) {
1209
1140
  this.sortOrder = sortOrder
1210
1141
  }
1211
1142
  return this
1212
1143
  }
1213
1144
  &nbsp;
1214
- setSortType(sortType?: string) {
1145
+ setSortType(sortType) {
1215
1146
  if (sortType != null) {
1216
1147
  this.sortType = sortType
1217
1148
  }
1218
1149
  return this
1219
1150
  }
1220
1151
  &nbsp;
1221
- setBookmark(bookmark?: string) {
1222
- if (bookmark != null) {
1223
- this.bookmark = bookmark
1224
- }
1152
+ setBookmark(bookmark) {
1153
+ this.bookmark = bookmark
1225
1154
  return this
1226
1155
  }
1227
1156
  &nbsp;
1228
- <span class="fstat-no" title="function not covered" > excludeDocs(</span>) {
1157
+ <span class="fstat-no" title="function not covered" > ex</span>cludeDocs() {
1229
1158
  <span class="cstat-no" title="statement not covered" > this.includeDocs = false</span>
1230
1159
  <span class="cstat-no" title="statement not covered" > return this</span>
1231
1160
  }
1232
1161
  &nbsp;
1233
- <span class="fstat-no" title="function not covered" > addString(</span>key: string, partial: string) {
1234
- <span class="cstat-no" title="statement not covered" > this.query.string![key] = partial</span>
1162
+ <span class="fstat-no" title="function not covered" > ad</span>dString(key, partial) {
1163
+ <span class="cstat-no" title="statement not covered" > this.query.string[key] = partial</span>
1235
1164
  <span class="cstat-no" title="statement not covered" > return this</span>
1236
1165
  }
1237
1166
  &nbsp;
1238
- <span class="fstat-no" title="function not covered" > addFuzzy(</span>key: string, fuzzy: string) {
1239
- <span class="cstat-no" title="statement not covered" > this.query.fuzzy![key] = fuzzy</span>
1167
+ <span class="fstat-no" title="function not covered" > ad</span>dFuzzy(key, fuzzy) {
1168
+ <span class="cstat-no" title="statement not covered" > this.query.fuzzy[key] = fuzzy</span>
1240
1169
  <span class="cstat-no" title="statement not covered" > return this</span>
1241
1170
  }
1242
1171
  &nbsp;
1243
- <span class="fstat-no" title="function not covered" > addRange(</span>key: string, low: string | number, high: string | number) {
1244
- <span class="cstat-no" title="statement not covered" > this.query.range![key] = {</span>
1172
+ <span class="fstat-no" title="function not covered" > ad</span>dRange(key, low, high) {
1173
+ <span class="cstat-no" title="statement not covered" > this.query.range = {</span>
1245
1174
  low,
1246
1175
  high,
1247
1176
  }
1248
1177
  <span class="cstat-no" title="statement not covered" > return this</span>
1249
1178
  }
1250
1179
  &nbsp;
1251
- <span class="fstat-no" title="function not covered" > addEqual(</span>key: string, value: any) {
1252
- <span class="cstat-no" title="statement not covered" > this.query.equal![key] = value</span>
1180
+ <span class="fstat-no" title="function not covered" > ad</span>dEqual(key, value) {
1181
+ <span class="cstat-no" title="statement not covered" > this.query.equal[key] = value</span>
1253
1182
  <span class="cstat-no" title="statement not covered" > return this</span>
1254
1183
  }
1255
1184
  &nbsp;
1256
- <span class="fstat-no" title="function not covered" > addNotEqual(</span>key: string, value: any) {
1257
- <span class="cstat-no" title="statement not covered" > this.query.notEqual![key] = value</span>
1185
+ <span class="fstat-no" title="function not covered" > ad</span>dNotEqual(key, value) {
1186
+ <span class="cstat-no" title="statement not covered" > this.query.notEqual[key] = value</span>
1258
1187
  <span class="cstat-no" title="statement not covered" > return this</span>
1259
1188
  }
1260
1189
  &nbsp;
1261
- <span class="fstat-no" title="function not covered" > addEmpty(</span>key: string, value: any) {
1262
- <span class="cstat-no" title="statement not covered" > this.query.empty![key] = value</span>
1190
+ <span class="fstat-no" title="function not covered" > ad</span>dEmpty(key, value) {
1191
+ <span class="cstat-no" title="statement not covered" > this.query.empty[key] = value</span>
1263
1192
  <span class="cstat-no" title="statement not covered" > return this</span>
1264
1193
  }
1265
1194
  &nbsp;
1266
- <span class="fstat-no" title="function not covered" > addNotEmpty(</span>key: string, value: any) {
1267
- <span class="cstat-no" title="statement not covered" > this.query.notEmpty![key] = value</span>
1195
+ <span class="fstat-no" title="function not covered" > ad</span>dNotEmpty(key, value) {
1196
+ <span class="cstat-no" title="statement not covered" > this.query.notEmpty[key] = value</span>
1268
1197
  <span class="cstat-no" title="statement not covered" > return this</span>
1269
1198
  }
1270
1199
  &nbsp;
1271
- <span class="fstat-no" title="function not covered" > addOneOf(</span>key: string, value: any) {
1272
- <span class="cstat-no" title="statement not covered" > this.query.oneOf![key] = value</span>
1200
+ <span class="fstat-no" title="function not covered" > ad</span>dOneOf(key, value) {
1201
+ <span class="cstat-no" title="statement not covered" > this.query.oneOf[key] = value</span>
1273
1202
  <span class="cstat-no" title="statement not covered" > return this</span>
1274
1203
  }
1275
1204
  &nbsp;
1276
- <span class="fstat-no" title="function not covered" > addContains(</span>key: string, value: any) {
1277
- <span class="cstat-no" title="statement not covered" > this.query.contains![key] = value</span>
1205
+ <span class="fstat-no" title="function not covered" > ad</span>dContains(key, value) {
1206
+ <span class="cstat-no" title="statement not covered" > this.query.contains[key] = value</span>
1278
1207
  <span class="cstat-no" title="statement not covered" > return this</span>
1279
1208
  }
1280
1209
  &nbsp;
1281
- <span class="fstat-no" title="function not covered" > addNotContains(</span>key: string, value: any) {
1282
- <span class="cstat-no" title="statement not covered" > this.query.notContains![key] = value</span>
1210
+ <span class="fstat-no" title="function not covered" > ad</span>dNotContains(key, value) {
1211
+ <span class="cstat-no" title="statement not covered" > this.query.notContains[key] = value</span>
1283
1212
  <span class="cstat-no" title="statement not covered" > return this</span>
1284
1213
  }
1285
1214
  &nbsp;
1286
- <span class="fstat-no" title="function not covered" > addContainsAny(</span>key: string, value: any) {
1287
- <span class="cstat-no" title="statement not covered" > this.query.containsAny![key] = value</span>
1215
+ <span class="fstat-no" title="function not covered" > ad</span>dContainsAny(key, value) {
1216
+ <span class="cstat-no" title="statement not covered" > this.query.containsAny[key] = value</span>
1288
1217
  <span class="cstat-no" title="statement not covered" > return this</span>
1289
1218
  }
1290
1219
  &nbsp;
@@ -1295,7 +1224,7 @@ export class QueryBuilder {
1295
1224
  * @param options The preprocess options
1296
1225
  * @returns {string|*}
1297
1226
  */
1298
- preprocess(value: any, { escape, lowercase, wrap, type }: any = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
1227
+ preprocess(value, { escape, lowercase, wrap, type } = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
1299
1228
  const hasVersion = !!this.version
1300
1229
  // Determine if type needs wrapped
1301
1230
  const originalType = typeof value
@@ -1323,12 +1252,12 @@ export class QueryBuilder {
1323
1252
  let query = allOr ? "" : "*:*"
1324
1253
  const allPreProcessingOpts = { escape: true, lowercase: true, wrap: true }
1325
1254
  let tableId
1326
- if (this.query.equal!.tableId) {
1327
- tableId = this.query.equal!.tableId
1328
- delete this.query.equal!.tableId
1255
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.equal.tableId) {
1256
+ tableId = this.query.equal.tableId
1257
+ delete this.query.equal.tableId
1329
1258
  }
1330
1259
  &nbsp;
1331
- const equal = (key: string, value: any) =&gt; {
1260
+ const equal = (key, value) =&gt; {
1332
1261
  // 0 evaluates to false, which means we would return all rows if we don't check it
1333
1262
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!value &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >value !== 0)</span> {
1334
1263
  <span class="cstat-no" title="statement not covered" > return null</span>
@@ -1336,7 +1265,7 @@ export class QueryBuilder {
1336
1265
  return `${key}:${builder.preprocess(value, allPreProcessingOpts)}`
1337
1266
  }
1338
1267
  &nbsp;
1339
- const contains = (key: string, value: any, mode = "AND") =&gt; {
1268
+ const contains = (key, value, mode = "AND") =&gt; {
1340
1269
  <span class="missing-if-branch" title="if path not taken" >I</span>if (Array.isArray(value) &amp;&amp; value.length === 0) {
1341
1270
  <span class="cstat-no" title="statement not covered" > return null</span>
1342
1271
  }
@@ -1352,17 +1281,16 @@ export class QueryBuilder {
1352
1281
  return `${key}:(${statement})`
1353
1282
  }
1354
1283
  &nbsp;
1355
- const notContains = (key: string, value: any) =&gt; {
1356
- // @ts-ignore
1284
+ const notContains = (key, value) =&gt; {
1357
1285
  const allPrefix = allOr === "" ? <span class="branch-0 cbranch-no" title="branch not covered" >"*:* AND" </span>: ""
1358
1286
  return allPrefix + "NOT " + contains(key, value)
1359
1287
  }
1360
1288
  &nbsp;
1361
- const containsAny = (key: string, value: any) =&gt; {
1289
+ const containsAny = (key, value) =&gt; {
1362
1290
  return contains(key, value, "OR")
1363
1291
  }
1364
1292
  &nbsp;
1365
- const oneOf = (key: string, value: any) =&gt; {
1293
+ const oneOf = (key, value) =&gt; {
1366
1294
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!Array.isArray(value)) {
1367
1295
  <span class="cstat-no" title="statement not covered" > if (typeof value === "string") {</span>
1368
1296
  <span class="cstat-no" title="statement not covered" > value = value.split(",")</span>
@@ -1380,7 +1308,7 @@ export class QueryBuilder {
1380
1308
  return `${key}:(${orStatement})`
1381
1309
  }
1382
1310
  &nbsp;
1383
- function build(structure: any, queryFn: any) {
1311
+ function build(structure, queryFn) {
1384
1312
  for (let [key, value] of Object.entries(structure)) {
1385
1313
  // check for new format - remove numbering if needed
1386
1314
  key = removeKeyNumbering(key)
@@ -1399,8 +1327,8 @@ export class QueryBuilder {
1399
1327
  }
1400
1328
  &nbsp;
1401
1329
  // Construct the actual lucene search query string from JSON structure
1402
- if (this.query.string) {
1403
- build(this.query.string, (key: string, value: any) =&gt; {
1330
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.string) {
1331
+ build(this.query.string, (key, value) =&gt; {
1404
1332
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!value) {
1405
1333
  <span class="cstat-no" title="statement not covered" > return null</span>
1406
1334
  }
@@ -1412,8 +1340,8 @@ export class QueryBuilder {
1412
1340
  return `${key}:${value}*`
1413
1341
  })
1414
1342
  }
1415
- if (this.query.range) {
1416
- build(this.query.range, (key: string, value: any) =&gt; {
1343
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.range) {
1344
+ build(this.query.range, (key, value) =&gt; {
1417
1345
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!value) {
1418
1346
  <span class="cstat-no" title="statement not covered" > return null</span>
1419
1347
  }
@@ -1428,9 +1356,9 @@ export class QueryBuilder {
1428
1356
  return `${key}:[${low} TO ${high}]`
1429
1357
  })
1430
1358
  }
1431
- if (this.query.fuzzy) {
1432
- build(this.query.fuzzy, <span class="fstat-no" title="function not covered" >(k</span>ey: string, value: any) =&gt; {
1433
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!value) {</span>
1359
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.fuzzy) {
1360
+ build(this.query.fuzzy, <span class="fstat-no" title="function not covered" >(k</span>ey, value) =&gt; {
1361
+ <span class="cstat-no" title="statement not covered" > if (!value) {</span>
1434
1362
  <span class="cstat-no" title="statement not covered" > return null</span>
1435
1363
  }
1436
1364
  <span class="cstat-no" title="statement not covered" > value = builder.preprocess(value, {</span>
@@ -1441,37 +1369,37 @@ export class QueryBuilder {
1441
1369
  <span class="cstat-no" title="statement not covered" > return `${key}:${value}~`</span>
1442
1370
  })
1443
1371
  }
1444
- if (this.query.equal) {
1372
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.equal) {
1445
1373
  build(this.query.equal, equal)
1446
1374
  }
1447
- if (this.query.notEqual) {
1448
- build(this.query.notEqual, (key: string, value: any) =&gt; {
1375
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.notEqual) {
1376
+ build(this.query.notEqual, (key, value) =&gt; {
1449
1377
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!value) {
1450
1378
  <span class="cstat-no" title="statement not covered" > return null</span>
1451
1379
  }
1452
1380
  return `!${key}:${builder.preprocess(value, allPreProcessingOpts)}`
1453
1381
  })
1454
1382
  }
1455
- if (this.query.empty) {
1456
- build(this.query.empty, (key: string) =&gt; `!${key}:["" TO *]`)
1383
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.empty) {
1384
+ build(this.query.empty, key =&gt; `!${key}:["" TO *]`)
1457
1385
  }
1458
- if (this.query.notEmpty) {
1459
- build(this.query.notEmpty, (key: string) =&gt; `${key}:["" TO *]`)
1386
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.notEmpty) {
1387
+ build(this.query.notEmpty, key =&gt; `${key}:["" TO *]`)
1460
1388
  }
1461
- if (this.query.oneOf) {
1389
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.oneOf) {
1462
1390
  build(this.query.oneOf, oneOf)
1463
1391
  }
1464
- if (this.query.contains) {
1392
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.contains) {
1465
1393
  build(this.query.contains, contains)
1466
1394
  }
1467
- if (this.query.notContains) {
1395
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.notContains) {
1468
1396
  build(this.query.notContains, notContains)
1469
1397
  }
1470
- if (this.query.containsAny) {
1398
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.containsAny) {
1471
1399
  build(this.query.containsAny, containsAny)
1472
1400
  }
1473
1401
  // make sure table ID is always added as an AND
1474
- if (tableId) {
1402
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (tableId) {
1475
1403
  query = `(${query})`
1476
1404
  allOr = false
1477
1405
  build({ tableId }, equal)
@@ -1480,7 +1408,7 @@ export class QueryBuilder {
1480
1408
  }
1481
1409
  &nbsp;
1482
1410
  buildSearchBody() {
1483
- let body: any = {
1411
+ let body = {
1484
1412
  q: this.buildSearchQuery(),
1485
1413
  limit: Math.min(this.limit, 200),
1486
1414
  include_docs: this.includeDocs,
@@ -1497,14 +1425,17 @@ export class QueryBuilder {
1497
1425
  }
1498
1426
  &nbsp;
1499
1427
  async run() {
1500
- const appId = context.getAppId()
1501
- const { url, cookie } = dbCore.getCouchInfo()
1428
+ const appId = getAppId()
1429
+ const { url, cookie } = getCouchInfo()
1502
1430
  const fullPath = `${url}/${appId}/_design/database/_search/${SearchIndexes.ROWS}`
1503
1431
  const body = this.buildSearchBody()
1504
1432
  return await runQuery(fullPath, body, cookie)
1505
1433
  }
1506
1434
  }
1507
1435
  &nbsp;
1436
+ // exported for unit testing
1437
+ exports.QueryBuilder = QueryBuilder
1438
+ &nbsp;
1508
1439
  /**
1509
1440
  * Executes a lucene search query.
1510
1441
  * @param url The query URL
@@ -1512,7 +1443,7 @@ export class QueryBuilder {
1512
1443
  * @param cookie The auth cookie for CouchDB
1513
1444
  * @returns {Promise&lt;{rows: []}&gt;}
1514
1445
  */
1515
- const runQuery = async (url: string, body: any, cookie: string) =&gt; {
1446
+ const runQuery = async (url, body, cookie) =&gt; {
1516
1447
  const response = await fetch(url, {
1517
1448
  body: JSON.stringify(body),
1518
1449
  method: "POST",
@@ -1522,13 +1453,13 @@ const runQuery = async (url: string, body: any, cookie: string) =&gt; {
1522
1453
  })
1523
1454
  const json = await response.json()
1524
1455
  &nbsp;
1525
- let output: any = {
1456
+ let output = {
1526
1457
  rows: [],
1527
1458
  }
1528
- if (json.rows != null &amp;&amp; json.rows.length &gt; 0) {
1529
- output.rows = json.rows.map((row: any) =&gt; row.doc)
1459
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (json.rows != null &amp;&amp; json.rows.length &gt; 0) {
1460
+ output.rows = json.rows.map(row =&gt; row.doc)
1530
1461
  }
1531
- if (json.bookmark) {
1462
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (json.bookmark) {
1532
1463
  output.bookmark = json.bookmark
1533
1464
  }
1534
1465
  return output
@@ -1550,7 +1481,7 @@ const runQuery = async (url: string, body: any, cookie: string) =&gt; {
1550
1481
  * rows {array|null} Current results in the recursive search
1551
1482
  * @returns {Promise&lt;*[]|*&gt;}
1552
1483
  */
1553
- async function recursiveSearch(query: any, params: any): Promise&lt;any&gt; {
1484
+ const recursiveSearch = async (query, params) =&gt; {
1554
1485
  const bookmark = params.bookmark
1555
1486
  const rows = params.rows || []
1556
1487
  <span class="missing-if-branch" title="if path not taken" >I</span>if (rows.length &gt;= params.limit) {
@@ -1572,10 +1503,10 @@ async function recursiveSearch(query: any, params: any): Promise&lt;any&gt; {
1572
1503
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!page.rows.length) {
1573
1504
  <span class="cstat-no" title="statement not covered" > return rows</span>
1574
1505
  }
1575
- if (page.rows.length &lt; 200) {
1506
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (page.rows.length &lt; 200) {
1576
1507
  return [...rows, ...page.rows]
1577
1508
  }
1578
- const newParams<span class="cstat-no" title="statement not covered" > = {</span>
1509
+ const newParams = <span class="cstat-no" title="statement not covered" >{</span>
1579
1510
  ...params,
1580
1511
  bookmark: page.bookmark,
1581
1512
  rows: [...rows, ...page.rows],
@@ -1598,10 +1529,7 @@ async function recursiveSearch(query: any, params: any): Promise&lt;any&gt; {
1598
1529
  * bookmark {string} The bookmark to resume from
1599
1530
  * @returns {Promise&lt;{hasNextPage: boolean, rows: *[]}&gt;}
1600
1531
  */
1601
- export async function paginatedSearch(
1602
- query: SearchFilters,
1603
- params: SearchParams
1604
- ) {
1532
+ exports.paginatedSearch = async (query, params) =&gt; {
1605
1533
  let limit = params.limit
1606
1534
  if (limit == null || isNaN(limit) || limit &lt; 0) {
1607
1535
  limit = 50
@@ -1647,9 +1575,9 @@ export async function paginatedSearch(
1647
1575
  * limit {number} The desired number of results
1648
1576
  * @returns {Promise&lt;{rows: *}&gt;}
1649
1577
  */
1650
- export async function fullSearch(query: SearchFilters, params: SearchParams) {
1578
+ exports.fullSearch = async (query, params) =&gt; {
1651
1579
  let limit = params.limit
1652
- if (limit == null || <span class="branch-1 cbranch-no" title="branch not covered" >isNaN(limit) </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >limit &lt; 0)</span> {
1580
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (limit == null || <span class="branch-1 cbranch-no" title="branch not covered" >isNaN(limit) </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >limit &lt; 0)</span> {
1653
1581
  limit = 1000
1654
1582
  }
1655
1583
  params.limit = Math.min(limit, 1000)
@@ -1663,16 +1591,16 @@ export async function fullSearch(query: SearchFilters, params: SearchParams) {
1663
1591
  <div class='footer quiet pad2 space-top1 center small'>
1664
1592
  Code coverage generated by
1665
1593
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1666
- at Wed Nov 23 2022 17:01:42 GMT+0000 (Coordinated Universal Time)
1594
+ at Thu Nov 24 2022 13:54:57 GMT+0000 (Coordinated Universal Time)
1667
1595
  </div>
1668
- <script src="../../../../prettify.js"></script>
1596
+ <script src="../../../prettify.js"></script>
1669
1597
  <script>
1670
1598
  window.onload = function () {
1671
1599
  prettyPrint();
1672
1600
  };
1673
1601
  </script>
1674
- <script src="../../../../sorter.js"></script>
1675
- <script src="../../../../block-navigation.js"></script>
1602
+ <script src="../../../sorter.js"></script>
1603
+ <script src="../../../block-navigation.js"></script>
1676
1604
  </body>
1677
1605
  </html>
1678
1606