@budibase/server 2.1.43-alpha.2 → 2.1.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (798) hide show
  1. package/__mocks__/aws-sdk.ts +0 -14
  2. package/__mocks__/node-fetch.ts +1 -5
  3. package/builder/assets/index.534f6c29.css +6 -0
  4. package/builder/assets/index.fb99ddaf.js +1021 -0
  5. package/builder/index.html +2 -2
  6. package/coverage/clover.xml +3875 -10924
  7. package/coverage/coverage-final.json +118 -267
  8. package/coverage/lcov-report/{src/api/controllers/apikeys.ts.html → api/controllers/apikeys.js.html} +30 -30
  9. package/coverage/lcov-report/{src/api/controllers/automation.ts.html → api/controllers/automation.js.html} +99 -99
  10. package/coverage/lcov-report/{src/api/controllers/cloud.ts.html → api/controllers/cloud.js.html} +58 -58
  11. package/coverage/lcov-report/{src/api/controllers/datasource.ts.html → api/controllers/datasource.js.html} +107 -287
  12. package/coverage/lcov-report/{src/api/controllers/dev.ts.html → api/controllers/dev.js.html} +87 -69
  13. package/coverage/lcov-report/api/controllers/index.html +326 -0
  14. package/coverage/lcov-report/{src/middleware/selfhost.ts.html → api/controllers/integration.js.html} +28 -22
  15. package/coverage/lcov-report/{src/api/controllers/layout.ts.html → api/controllers/layout.js.html} +31 -31
  16. package/coverage/lcov-report/{src/api/controllers/metadata.ts.html → api/controllers/metadata.js.html} +30 -33
  17. package/coverage/lcov-report/{src/api/controllers/migrations.ts.html → api/controllers/migrations.js.html} +17 -20
  18. package/coverage/lcov-report/{src/api/controllers/permission.ts.html → api/controllers/permission.js.html} +79 -88
  19. package/coverage/lcov-report/{src/utilities/routing → api/controllers/query}/index.html +8 -8
  20. package/coverage/lcov-report/{src/api/controllers/query/validation.ts.html → api/controllers/query/validation.js.html} +25 -25
  21. package/coverage/lcov-report/{src/api/controllers/role.ts.html → api/controllers/role.js.html} +60 -48
  22. package/coverage/lcov-report/{src/api/controllers/routing.ts.html → api/controllers/routing.js.html} +58 -67
  23. package/coverage/lcov-report/{src/api/controllers/row/external.ts.html → api/controllers/row/external.js.html} +111 -162
  24. package/coverage/lcov-report/{src/api → api}/controllers/row/index.html +52 -82
  25. package/coverage/lcov-report/{src/api/controllers/row/internal.ts.html → api/controllers/row/internal.js.html} +121 -163
  26. package/coverage/lcov-report/{src/api/controllers/row/internalSearch.ts.html → api/controllers/row/internalSearch.js.html} +117 -189
  27. package/coverage/lcov-report/{src/api/controllers/row/staticFormula.ts.html → api/controllers/row/staticFormula.js.html} +58 -73
  28. package/coverage/lcov-report/{src/api/controllers/row/utils.ts.html → api/controllers/row/utils.js.html} +58 -88
  29. package/coverage/lcov-report/{src/api/controllers/script.ts.html → api/controllers/script.js.html} +16 -19
  30. package/coverage/lcov-report/{src/api/controllers/table/bulkFormula.ts.html → api/controllers/table/bulkFormula.js.html} +62 -104
  31. package/coverage/lcov-report/{src/api/controllers/table/external.ts.html → api/controllers/table/external.js.html} +111 -204
  32. package/coverage/lcov-report/{src/utilities/fileSystem → api/controllers/table}/index.html +44 -44
  33. package/coverage/lcov-report/{src/api/controllers/table/index.ts.html → api/controllers/table/index.js.html} +49 -58
  34. package/coverage/lcov-report/{src/api/controllers/templates.ts.html → api/controllers/templates.js.html} +29 -38
  35. package/coverage/lcov-report/{src/api/controllers/user.ts.html → api/controllers/user.js.html} +99 -93
  36. package/coverage/lcov-report/{src/api/controllers/view/exporters.ts.html → api/controllers/view/exporters.js.html} +16 -22
  37. package/coverage/lcov-report/{src/api → api}/controllers/view/index.html +36 -36
  38. package/coverage/lcov-report/{src/api/controllers/view/index.ts.html → api/controllers/view/index.js.html} +64 -91
  39. package/coverage/lcov-report/{src/api/controllers/view/utils.ts.html → api/controllers/view/utils.js.html} +54 -72
  40. package/coverage/lcov-report/{src/api/controllers/view/viewBuilder.ts.html → api/controllers/view/viewBuilder.js.html} +36 -78
  41. package/coverage/lcov-report/{src/api → api}/index.html +23 -23
  42. package/coverage/lcov-report/{src/api/index.ts.html → api/index.js.html} +76 -55
  43. package/coverage/lcov-report/{src/middleware/utils.ts.html → api/routes/analytics.js.html} +19 -19
  44. package/coverage/lcov-report/api/routes/apikeys.js.html +121 -0
  45. package/coverage/lcov-report/{src/api/routes/automation.ts.html → api/routes/automation.js.html} +47 -53
  46. package/coverage/lcov-report/{src/api/routes/backup.ts.html → api/routes/cloud.js.html} +28 -28
  47. package/coverage/lcov-report/{src/api/routes/component.ts.html → api/routes/component.js.html} +24 -24
  48. package/coverage/lcov-report/{src/definitions/datasource.ts.html → api/routes/datasource.js.html} +64 -61
  49. package/coverage/lcov-report/{src/api/routes/cloud.ts.html → api/routes/deploy.js.html} +28 -31
  50. package/coverage/lcov-report/{src/automations/index.ts.html → api/routes/dev.js.html} +46 -46
  51. package/coverage/lcov-report/{src/api → api}/routes/index.html +47 -167
  52. package/coverage/lcov-report/api/routes/integration.js.html +121 -0
  53. package/coverage/lcov-report/{src/db/index.ts.html → api/routes/layout.js.html} +28 -28
  54. package/coverage/lcov-report/{src/api/routes/metadata.ts.html → api/routes/metadata.js.html} +31 -31
  55. package/coverage/lcov-report/{src/sdk/index.ts.html → api/routes/migrations.js.html} +21 -24
  56. package/coverage/lcov-report/{src/api/routes/permission.ts.html → api/routes/permission.js.html} +31 -55
  57. package/coverage/lcov-report/{src/api/routes/query.ts.html → api/routes/query.js.html} +50 -41
  58. package/coverage/lcov-report/api/routes/role.js.html +130 -0
  59. package/coverage/lcov-report/{src/api/routes/routing.ts.html → api/routes/routing.js.html} +24 -24
  60. package/coverage/lcov-report/api/routes/screen.js.html +139 -0
  61. package/coverage/lcov-report/{src/api/routes/script.ts.html → api/routes/script.js.html} +17 -17
  62. package/coverage/lcov-report/{src/api/routes/table.ts.html → api/routes/table.js.html} +41 -32
  63. package/coverage/lcov-report/{src/api/routes/templates.ts.html → api/routes/templates.js.html} +25 -25
  64. package/coverage/lcov-report/{src/api/routes/user.ts.html → api/routes/user.js.html} +41 -35
  65. package/coverage/lcov-report/{src/api → api}/routes/utils/index.html +15 -15
  66. package/coverage/lcov-report/{src/api/routes/utils/validators.ts.html → api/routes/utils/validators.js.html} +98 -86
  67. package/coverage/lcov-report/{src/api/routes/view.ts.html → api/routes/view.js.html} +36 -45
  68. package/coverage/lcov-report/{src/automations/actions.ts.html → automations/actions.js.html} +60 -69
  69. package/coverage/lcov-report/{src/automations/automationUtils.ts.html → automations/automationUtils.js.html} +33 -36
  70. package/coverage/lcov-report/{src/automations/bullboard.ts.html → automations/bullboard.js.html} +42 -39
  71. package/coverage/lcov-report/{src/automations → automations}/index.html +48 -63
  72. package/coverage/lcov-report/{src/websocket.ts.html → automations/index.js.html} +50 -41
  73. package/coverage/lcov-report/{src/automations/steps/bash.ts.html → automations/steps/bash.js.html} +30 -45
  74. package/coverage/lcov-report/{src/automations/steps/delay.ts.html → automations/steps/delay.js.html} +19 -34
  75. package/coverage/lcov-report/{src/automations/steps/discord.ts.html → automations/steps/discord.js.html} +28 -43
  76. package/coverage/lcov-report/{src/automations/steps/executeQuery.ts.html → automations/steps/executeQuery.js.html} +30 -45
  77. package/coverage/lcov-report/{src/automations/steps/executeScript.ts.html → automations/steps/executeScript.js.html} +28 -58
  78. package/coverage/lcov-report/{src/automations/steps/filter.ts.html → automations/steps/filter.js.html} +30 -39
  79. package/coverage/lcov-report/automations/steps/index.html +341 -0
  80. package/coverage/lcov-report/{src/automations/steps/integromat.ts.html → automations/steps/integromat.js.html} +23 -38
  81. package/coverage/lcov-report/{src/automations/steps/loop.ts.html → automations/steps/loop.js.html} +15 -21
  82. package/coverage/lcov-report/{src/automations/steps/outgoingWebhook.ts.html → automations/steps/outgoingWebhook.js.html} +39 -54
  83. package/coverage/lcov-report/{src/automations/steps/queryRows.ts.html → automations/steps/queryRows.js.html} +66 -102
  84. package/coverage/lcov-report/{src/automations/steps/sendSmtpEmail.ts.html → automations/steps/sendSmtpEmail.js.html} +25 -40
  85. package/coverage/lcov-report/{src/automations/steps/serverLog.ts.html → automations/steps/serverLog.js.html} +22 -40
  86. package/coverage/lcov-report/{src/automations/steps/slack.ts.html → automations/steps/slack.js.html} +23 -38
  87. package/coverage/lcov-report/{src/automations/steps/updateRow.ts.html → automations/steps/updateRow.js.html} +25 -40
  88. package/coverage/lcov-report/{src/automations/steps/utils.ts.html → automations/steps/utils.js.html} +27 -45
  89. package/coverage/lcov-report/{src/automations/steps/zapier.ts.html → automations/steps/zapier.js.html} +23 -41
  90. package/coverage/lcov-report/{src/definitions/automations.ts.html → automations/triggerInfo/app.js.html} +42 -42
  91. package/coverage/lcov-report/{src/automations/triggerInfo/cron.ts.html → automations/triggerInfo/cron.js.html} +15 -30
  92. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.html +31 -31
  93. package/coverage/lcov-report/{src/api/routes/layout.ts.html → automations/triggerInfo/index.js.html} +26 -29
  94. package/coverage/lcov-report/{src/automations/triggerInfo/rowDeleted.ts.html → automations/triggerInfo/rowDeleted.js.html} +15 -30
  95. package/coverage/lcov-report/{src/automations/triggerInfo/rowSaved.ts.html → automations/triggerInfo/rowSaved.js.html} +15 -30
  96. package/coverage/lcov-report/{src/automations/triggerInfo/rowUpdated.ts.html → automations/triggerInfo/rowUpdated.js.html} +15 -30
  97. package/coverage/lcov-report/{src/automations/triggerInfo/webhook.ts.html → automations/triggerInfo/webhook.js.html} +15 -30
  98. package/coverage/lcov-report/{src/automations/triggers.ts.html → automations/triggers.js.html} +66 -78
  99. package/coverage/lcov-report/{src/constants → constants}/index.html +26 -26
  100. package/coverage/lcov-report/{src/integrations/dynamodb.ts.html → constants/index.js.html} +227 -263
  101. package/coverage/lcov-report/{src/constants/layouts.ts.html → constants/layouts.js.html} +36 -18
  102. package/coverage/lcov-report/{src/constants/screens.ts.html → constants/screens.js.html} +58 -64
  103. package/coverage/lcov-report/{src/db/inMemoryView.ts.html → db/inMemoryView.js.html} +29 -47
  104. package/coverage/lcov-report/{src/db → db}/index.html +33 -48
  105. package/coverage/lcov-report/{src/api/routes/integration.ts.html → db/index.js.html} +33 -33
  106. package/coverage/lcov-report/{src/db/linkedRows/LinkController.ts.html → db/linkedRows/LinkController.js.html} +160 -97
  107. package/coverage/lcov-report/db/linkedRows/index.html +146 -0
  108. package/coverage/lcov-report/{src/db/linkedRows/index.ts.html → db/linkedRows/index.js.html} +78 -93
  109. package/coverage/lcov-report/{src/db/linkedRows/linkUtils.ts.html → db/linkedRows/linkUtils.js.html} +56 -83
  110. package/coverage/lcov-report/{src/db/newid.ts.html → db/newid.js.html} +14 -14
  111. package/coverage/lcov-report/{src/db/utils.ts.html → db/utils.js.html} +211 -163
  112. package/coverage/lcov-report/{src/events/AutomationEmitter.ts.html → events/AutomationEmitter.js.html} +25 -40
  113. package/coverage/lcov-report/{src/events → events}/index.html +33 -48
  114. package/coverage/lcov-report/{src/events/BudibaseEmitter.ts.html → events/index.js.html} +29 -26
  115. package/coverage/lcov-report/{src/api/routes/dev.ts.html → events/utils.js.html} +69 -69
  116. package/coverage/lcov-report/index.html +184 -679
  117. package/coverage/lcov-report/{src/integrations → integrations}/tests/TestConfiguration.js.html +10 -10
  118. package/coverage/lcov-report/{src/integrations → integrations}/tests/index.html +10 -10
  119. package/coverage/lcov-report/{src/middleware/appInfo.ts.html → middleware/appInfo.js.html} +30 -33
  120. package/coverage/lcov-report/{src/middleware/builder.ts.html → middleware/builder.js.html} +40 -46
  121. package/coverage/lcov-report/{src/middleware/currentapp.ts.html → middleware/currentapp.js.html} +72 -81
  122. package/coverage/lcov-report/{src/middleware → middleware}/index.html +63 -78
  123. package/coverage/lcov-report/{src/middleware/joi-validator.ts.html → middleware/joi-validator.js.html} +22 -25
  124. package/coverage/lcov-report/{src/middleware/publicApi.ts.html → middleware/publicApi.js.html} +27 -27
  125. package/coverage/lcov-report/{src/middleware/resourceId.ts.html → middleware/resourceId.js.html} +45 -60
  126. package/coverage/lcov-report/{src/tests/utilities/index.ts.html → middleware/selfhost.js.html} +30 -33
  127. package/coverage/lcov-report/{src/events/index.ts.html → middleware/utils.js.html} +24 -18
  128. package/coverage/lcov-report/{src/utilities/budibaseDir.ts.html → utilities/budibaseDir.js.html} +14 -14
  129. package/coverage/lcov-report/{src/utilities/centralPath.ts.html → utilities/centralPath.js.html} +16 -16
  130. package/coverage/lcov-report/{src/utilities/csvParser.ts.html → utilities/csvParser.js.html} +59 -107
  131. package/coverage/lcov-report/{src/utilities/global.ts.html → utilities/global.js.html} +82 -115
  132. package/coverage/lcov-report/{src/utilities → utilities}/index.html +77 -92
  133. package/coverage/lcov-report/{src/utilities/index.ts.html → utilities/index.js.html} +74 -98
  134. package/coverage/lcov-report/{src/utilities/plugins.ts.html → utilities/plugins.js.html} +22 -25
  135. package/coverage/lcov-report/{src/integrations/airtable.ts.html → utilities/queue/inMemoryQueue.js.html} +135 -213
  136. package/coverage/lcov-report/{src/migrations → utilities/queue}/index.html +23 -23
  137. package/coverage/lcov-report/{src/sdk → utilities/routing}/index.html +10 -10
  138. package/coverage/lcov-report/{src/api/controllers/public/mapping/tables.ts.html → utilities/routing/index.js.html} +43 -46
  139. package/coverage/lcov-report/{src/definitions → utilities/rowProcessor}/index.html +34 -34
  140. package/coverage/lcov-report/{src/utilities/rowProcessor/index.ts.html → utilities/rowProcessor/index.js.html} +359 -128
  141. package/coverage/lcov-report/{src/utilities/rowProcessor/utils.ts.html → utilities/rowProcessor/utils.js.html} +42 -54
  142. package/coverage/lcov-report/{src/utilities/scriptRunner.ts.html → utilities/scriptRunner.js.html} +19 -31
  143. package/coverage/lcov-report/{src/utilities/security.ts.html → utilities/security.js.html} +78 -60
  144. package/coverage/lcov-report/{src/utilities/statusCodes.ts.html → utilities/statusCodes.js.html} +11 -11
  145. package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/index.html +28 -28
  146. package/coverage/lcov-report/{src/utilities/usageQuota/rows.ts.html → utilities/usageQuota/rows.js.html} +48 -36
  147. package/coverage/lcov-report/{src/utilities/usageQuota/usageQuoteReset.ts.html → utilities/usageQuota/usageQuoteReset.js.html} +13 -13
  148. package/coverage/lcov-report/{src/utilities/users.ts.html → utilities/users.js.html} +40 -34
  149. package/coverage/lcov-report/{src/utilities/workerRequests.ts.html → utilities/workerRequests.js.html} +112 -127
  150. package/coverage/lcov.info +7069 -19741
  151. package/dist/api/controllers/apikeys.js +9 -12
  152. package/dist/api/controllers/application.js +45 -48
  153. package/dist/api/controllers/automation.js +82 -122
  154. package/dist/api/controllers/cloud.js +71 -84
  155. package/dist/api/controllers/component.js +2 -4
  156. package/dist/api/controllers/datasource.js +94 -151
  157. package/dist/api/controllers/deploy/Deployment.js +6 -10
  158. package/dist/api/controllers/deploy/index.js +16 -13
  159. package/dist/api/controllers/dev.js +81 -96
  160. package/dist/api/controllers/integration.js +8 -11
  161. package/dist/api/controllers/layout.js +15 -18
  162. package/dist/api/controllers/metadata.js +37 -51
  163. package/dist/api/controllers/migrations.js +11 -19
  164. package/dist/api/controllers/permission.js +43 -52
  165. package/dist/api/controllers/plugin/index.js +7 -6
  166. package/dist/api/controllers/plugin/utils.js +1 -2
  167. package/dist/api/controllers/public/applications.js +9 -17
  168. package/dist/api/controllers/public/tables.js +9 -29
  169. package/dist/api/controllers/public/utils.js +2 -2
  170. package/dist/api/controllers/query/import/index.js +2 -1
  171. package/dist/api/controllers/query/index.js +13 -10
  172. package/dist/api/controllers/query/validation.js +33 -41
  173. package/dist/api/controllers/role.js +27 -29
  174. package/dist/api/controllers/routing.js +58 -71
  175. package/dist/api/controllers/row/ExternalRequest.js +542 -538
  176. package/dist/api/controllers/row/external.js +190 -258
  177. package/dist/api/controllers/row/index.js +14 -43
  178. package/dist/api/controllers/row/internal.js +295 -354
  179. package/dist/api/controllers/row/internalSearch.js +80 -95
  180. package/dist/api/controllers/row/staticFormula.js +112 -125
  181. package/dist/api/controllers/row/utils.js +84 -122
  182. package/dist/api/controllers/screen.js +66 -81
  183. package/dist/api/controllers/script.js +6 -13
  184. package/dist/api/controllers/static/index.js +14 -11
  185. package/dist/api/controllers/table/bulkFormula.js +35 -47
  186. package/dist/api/controllers/table/external.js +53 -89
  187. package/dist/api/controllers/table/index.js +31 -64
  188. package/dist/api/controllers/table/internal.js +6 -5
  189. package/dist/api/controllers/table/utils.js +35 -39
  190. package/dist/api/controllers/templates.js +10 -17
  191. package/dist/api/controllers/user.js +70 -82
  192. package/dist/api/controllers/view/exporters.js +4 -8
  193. package/dist/api/controllers/view/index.js +153 -201
  194. package/dist/api/controllers/view/utils.js +121 -151
  195. package/dist/api/controllers/view/viewBuilder.js +16 -4
  196. package/dist/api/controllers/webhook.js +2 -25
  197. package/dist/api/index.js +34 -38
  198. package/dist/api/routes/analytics.js +3 -29
  199. package/dist/api/routes/apikeys.js +7 -33
  200. package/dist/api/routes/application.js +9 -8
  201. package/dist/api/routes/auth.js +2 -1
  202. package/dist/api/routes/automation.js +20 -46
  203. package/dist/api/routes/backup.js +4 -3
  204. package/dist/api/routes/cloud.js +6 -32
  205. package/dist/api/routes/component.js +6 -32
  206. package/dist/api/routes/datasource.js +13 -39
  207. package/dist/api/routes/deploy.js +8 -34
  208. package/dist/api/routes/dev.js +10 -36
  209. package/dist/api/routes/integration.js +7 -33
  210. package/dist/api/routes/layout.js +7 -33
  211. package/dist/api/routes/metadata.js +10 -36
  212. package/dist/api/routes/migrations.js +6 -32
  213. package/dist/api/routes/permission.js +12 -38
  214. package/dist/api/routes/plugin.js +5 -5
  215. package/dist/api/routes/public/index.js +11 -11
  216. package/dist/api/routes/query.js +15 -42
  217. package/dist/api/routes/role.js +10 -36
  218. package/dist/api/routes/routing.js +6 -32
  219. package/dist/api/routes/row.js +11 -12
  220. package/dist/api/routes/screen.js +9 -35
  221. package/dist/api/routes/script.js +6 -32
  222. package/dist/api/routes/static.js +9 -9
  223. package/dist/api/routes/table.js +13 -40
  224. package/dist/api/routes/templates.js +7 -33
  225. package/dist/api/routes/tests/utilities/TestFunctions.js +8 -6
  226. package/dist/api/routes/tests/utilities/index.js +32 -69
  227. package/dist/api/routes/user.js +13 -40
  228. package/dist/api/routes/utils/validators.js +126 -142
  229. package/dist/api/routes/view.js +12 -38
  230. package/dist/api/routes/webhook.js +2 -1
  231. package/dist/app.js +22 -22
  232. package/dist/automations/actions.js +24 -53
  233. package/dist/automations/automationUtils.js +19 -31
  234. package/dist/automations/bullboard.js +29 -59
  235. package/dist/automations/index.js +18 -23
  236. package/dist/automations/steps/bash.js +10 -40
  237. package/dist/automations/steps/createRow.js +1 -2
  238. package/dist/automations/steps/delay.js +5 -9
  239. package/dist/automations/steps/deleteRow.js +1 -2
  240. package/dist/automations/steps/discord.js +7 -14
  241. package/dist/automations/steps/executeQuery.js +7 -34
  242. package/dist/automations/steps/executeScript.js +7 -34
  243. package/dist/automations/steps/filter.js +18 -20
  244. package/dist/automations/steps/integromat.js +7 -14
  245. package/dist/automations/steps/loop.js +1 -4
  246. package/dist/automations/steps/outgoingWebhook.js +14 -45
  247. package/dist/automations/steps/queryRows.js +38 -71
  248. package/dist/automations/steps/sendSmtpEmail.js +6 -33
  249. package/dist/automations/steps/serverLog.js +8 -12
  250. package/dist/automations/steps/slack.js +7 -14
  251. package/dist/automations/steps/updateRow.js +7 -34
  252. package/dist/automations/steps/utils.js +16 -22
  253. package/dist/automations/steps/zapier.js +7 -15
  254. package/dist/automations/tests/utilities/index.js +38 -62
  255. package/dist/automations/triggerInfo/app.js +1 -4
  256. package/dist/automations/triggerInfo/cron.js +1 -4
  257. package/dist/automations/triggerInfo/index.js +6 -31
  258. package/dist/automations/triggerInfo/rowDeleted.js +1 -4
  259. package/dist/automations/triggerInfo/rowSaved.js +1 -4
  260. package/dist/automations/triggerInfo/rowUpdated.js +1 -4
  261. package/dist/automations/triggerInfo/webhook.js +1 -4
  262. package/dist/automations/triggers.js +57 -90
  263. package/dist/automations/utils.js +8 -9
  264. package/dist/constants/index.js +104 -118
  265. package/dist/constants/layouts.js +10 -7
  266. package/dist/constants/screens.js +44 -49
  267. package/dist/db/dynamoClient.js +20 -20
  268. package/dist/db/inMemoryView.js +38 -47
  269. package/dist/db/index.js +4 -7
  270. package/dist/db/linkedRows/LinkController.js +70 -51
  271. package/dist/db/linkedRows/index.js +81 -93
  272. package/dist/db/linkedRows/linkUtils.js +32 -42
  273. package/dist/db/utils.js +119 -146
  274. package/dist/db/views/staticViews.js +74 -91
  275. package/dist/environment.js +6 -9
  276. package/dist/events/AutomationEmitter.js +10 -13
  277. package/dist/events/index.js +23 -5
  278. package/dist/events/utils.js +10 -18
  279. package/dist/integrations/elasticsearch.js +2 -26
  280. package/dist/integrations/googlesheets.js +6 -5
  281. package/dist/integrations/index.js +6 -15
  282. package/dist/integrations/s3.js +1 -157
  283. package/dist/integrations/tests/TestConfiguration.js +1 -0
  284. package/dist/middleware/appInfo.js +9 -14
  285. package/dist/middleware/authorized.js +21 -22
  286. package/dist/middleware/builder.js +40 -41
  287. package/dist/middleware/currentapp.js +37 -39
  288. package/dist/middleware/joi-validator.js +10 -17
  289. package/dist/middleware/publicApi.js +6 -5
  290. package/dist/middleware/resourceId.js +9 -16
  291. package/dist/middleware/selfhost.js +4 -5
  292. package/dist/middleware/utils.js +2 -5
  293. package/dist/migrations/functions/appUrls.js +2 -2
  294. package/dist/migrations/functions/backfill/global.js +1 -1
  295. package/dist/migrations/functions/usageQuotas/syncApps.js +4 -3
  296. package/dist/migrations/functions/usageQuotas/syncRows.js +4 -3
  297. package/dist/migrations/functions/userEmailViewCasing.js +3 -3
  298. package/dist/migrations/index.js +0 -5
  299. package/dist/package.json +45 -11
  300. package/dist/sdk/app/backups/exports.js +2 -1
  301. package/dist/sdk/app/backups/imports.js +3 -2
  302. package/dist/sdk/app/tables/index.js +5 -5
  303. package/dist/startup.js +10 -10
  304. package/dist/tests/utilities/TestConfiguration.js +87 -111
  305. package/dist/tests/utilities/controllers.js +15 -38
  306. package/dist/tests/utilities/structures.js +53 -72
  307. package/dist/threads/automation.js +27 -49
  308. package/dist/threads/query.js +19 -17
  309. package/dist/threads/utils.js +8 -33
  310. package/dist/tsconfig.build.tsbuildinfo +1 -1
  311. package/dist/utilities/budibaseDir.js +2 -4
  312. package/dist/utilities/centralPath.js +7 -14
  313. package/dist/utilities/csvParser.js +21 -27
  314. package/dist/utilities/fileSystem/clientLibrary.js +73 -87
  315. package/dist/utilities/fileSystem/index.js +175 -203
  316. package/dist/utilities/fileSystem/processor.js +3 -8
  317. package/dist/utilities/fileSystem/utilities.js +22 -0
  318. package/dist/utilities/global.js +66 -87
  319. package/dist/utilities/index.js +75 -102
  320. package/dist/utilities/plugins.js +9 -15
  321. package/dist/utilities/queue/inMemoryQueue.js +126 -0
  322. package/dist/utilities/redis.js +65 -100
  323. package/dist/utilities/routing/index.js +23 -27
  324. package/dist/utilities/rowProcessor/index.js +191 -133
  325. package/dist/utilities/rowProcessor/utils.js +26 -35
  326. package/dist/utilities/scriptRunner.js +5 -8
  327. package/dist/utilities/security.js +35 -39
  328. package/dist/utilities/usageQuota/rows.js +49 -56
  329. package/dist/utilities/users.js +28 -31
  330. package/dist/utilities/workerRequests.js +82 -115
  331. package/dist/watch.js +2 -1
  332. package/package.json +46 -12
  333. package/scripts/exportAppTemplate.js +2 -2
  334. package/{src/tests/jestSetup.ts → scripts/jestSetup.js} +2 -11
  335. package/scripts/localdomain.js +6 -34
  336. package/src/api/controllers/{apikeys.ts → apikeys.js} +10 -10
  337. package/src/api/controllers/application.ts +42 -56
  338. package/src/api/controllers/auth.ts +3 -4
  339. package/src/api/controllers/{automation.ts → automation.js} +48 -48
  340. package/src/api/controllers/{cloud.ts → cloud.js} +24 -24
  341. package/src/api/controllers/component.ts +1 -2
  342. package/src/api/controllers/{datasource.ts → datasource.js} +49 -109
  343. package/src/api/controllers/deploy/{Deployment.ts → Deployment.js} +10 -13
  344. package/src/api/controllers/deploy/index.ts +25 -13
  345. package/src/api/controllers/{dev.ts → dev.js} +37 -31
  346. package/src/api/controllers/integration.js +14 -0
  347. package/src/api/controllers/{layout.ts → layout.js} +8 -8
  348. package/src/api/controllers/{metadata.ts → metadata.js} +10 -11
  349. package/src/api/controllers/migrations.js +13 -0
  350. package/src/api/controllers/{permission.ts → permission.js} +46 -49
  351. package/src/api/controllers/plugin/index.ts +5 -4
  352. package/src/api/controllers/plugin/utils.ts +5 -3
  353. package/src/api/controllers/public/applications.ts +9 -15
  354. package/src/api/controllers/public/rows.ts +1 -1
  355. package/src/api/controllers/public/tables.ts +2 -2
  356. package/src/api/controllers/public/utils.ts +2 -2
  357. package/src/api/controllers/query/import/index.ts +3 -2
  358. package/src/api/controllers/query/index.ts +14 -11
  359. package/src/api/controllers/query/{validation.ts → validation.js} +7 -7
  360. package/src/api/controllers/{role.ts → role.js} +25 -21
  361. package/src/api/controllers/{routing.ts → routing.js} +34 -37
  362. package/src/api/controllers/row/ExternalRequest.ts +624 -602
  363. package/src/api/controllers/row/{external.ts → external.js} +62 -79
  364. package/src/api/controllers/row/index.ts +11 -19
  365. package/src/api/controllers/row/{internal.ts → internal.js} +73 -87
  366. package/src/api/controllers/row/{internalSearch.ts → internalSearch.js} +68 -92
  367. package/src/api/controllers/row/{staticFormula.ts → staticFormula.js} +25 -30
  368. package/src/api/controllers/row/{utils.ts → utils.js} +22 -32
  369. package/src/api/controllers/screen.ts +6 -10
  370. package/src/api/controllers/script.js +11 -0
  371. package/src/api/controllers/static/index.ts +16 -14
  372. package/src/api/controllers/table/{bulkFormula.ts → bulkFormula.js} +25 -39
  373. package/src/api/controllers/table/{external.ts → external.js} +55 -86
  374. package/src/api/controllers/table/{index.ts → index.js} +18 -21
  375. package/src/api/controllers/table/internal.ts +6 -5
  376. package/src/api/controllers/table/utils.ts +21 -26
  377. package/src/api/controllers/{templates.ts → templates.js} +7 -10
  378. package/src/api/controllers/{user.ts → user.js} +49 -47
  379. package/src/api/controllers/view/{exporters.ts → exporters.js} +3 -5
  380. package/src/api/controllers/view/{index.ts → index.js} +27 -36
  381. package/src/api/controllers/view/{utils.ts → utils.js} +20 -26
  382. package/src/api/controllers/view/{viewBuilder.ts → viewBuilder.js} +11 -25
  383. package/src/api/controllers/webhook.ts +1 -1
  384. package/src/api/{index.ts → index.js} +22 -15
  385. package/src/api/routes/analytics.js +9 -0
  386. package/src/api/routes/apikeys.js +12 -0
  387. package/src/api/routes/application.ts +9 -17
  388. package/src/api/routes/auth.ts +2 -2
  389. package/src/api/routes/automation.js +85 -0
  390. package/src/api/routes/backup.ts +4 -8
  391. package/src/api/routes/cloud.js +14 -0
  392. package/src/api/routes/component.js +14 -0
  393. package/src/api/routes/datasource.js +51 -0
  394. package/src/api/routes/deploy.js +17 -0
  395. package/src/api/routes/dev.js +26 -0
  396. package/src/api/routes/integration.js +12 -0
  397. package/src/api/routes/layout.js +16 -0
  398. package/src/api/routes/{metadata.ts → metadata.js} +13 -13
  399. package/src/api/routes/migrations.js +14 -0
  400. package/src/api/routes/permission.js +33 -0
  401. package/src/api/routes/plugin.ts +6 -14
  402. package/src/api/routes/public/index.ts +14 -11
  403. package/src/api/routes/public/tests/compare.spec.js +1 -1
  404. package/src/api/routes/{query.ts → query.js} +22 -19
  405. package/src/api/routes/role.js +15 -0
  406. package/src/api/routes/routing.js +14 -0
  407. package/src/api/routes/row.ts +15 -13
  408. package/src/api/routes/screen.js +18 -0
  409. package/src/api/routes/script.js +10 -0
  410. package/src/api/routes/static.ts +10 -7
  411. package/src/api/routes/{table.ts → table.js} +13 -10
  412. package/src/api/routes/templates.js +16 -0
  413. package/src/api/routes/tests/analytics.spec.js +1 -1
  414. package/src/api/routes/tests/backup.spec.js +1 -9
  415. package/src/api/routes/tests/deployment.spec.ts +1 -1
  416. package/src/api/routes/tests/permissions.spec.js +1 -2
  417. package/src/api/routes/tests/query.spec.js +10 -15
  418. package/src/api/routes/tests/role.spec.js +9 -7
  419. package/src/api/routes/tests/routing.spec.js +1 -2
  420. package/src/api/routes/tests/row.spec.js +4 -3
  421. package/src/api/routes/tests/static.spec.js +2 -2
  422. package/src/api/routes/tests/table.spec.js +36 -40
  423. package/src/api/routes/tests/user.spec.js +1 -2
  424. package/src/api/routes/tests/utilities/TestFunctions.ts +8 -6
  425. package/src/api/routes/tests/utilities/{index.ts → index.js} +12 -12
  426. package/src/api/routes/tests/view.spec.js +3 -3
  427. package/src/api/routes/user.js +53 -0
  428. package/src/api/routes/utils/{validators.ts → validators.js} +37 -33
  429. package/src/api/routes/view.js +31 -0
  430. package/src/api/routes/webhook.ts +2 -2
  431. package/src/app.ts +14 -15
  432. package/src/automations/{actions.ts → actions.js} +23 -26
  433. package/src/automations/{automationUtils.ts → automationUtils.js} +12 -13
  434. package/src/automations/bullboard.js +39 -0
  435. package/src/automations/index.js +29 -0
  436. package/src/automations/steps/{bash.ts → bash.js} +8 -13
  437. package/src/automations/steps/createRow.ts +3 -8
  438. package/src/automations/steps/{delay.ts → delay.js} +4 -9
  439. package/src/automations/steps/deleteRow.ts +3 -8
  440. package/src/automations/steps/{discord.ts → discord.js} +5 -10
  441. package/src/automations/steps/{executeQuery.ts → executeQuery.js} +7 -12
  442. package/src/automations/steps/{executeScript.ts → executeScript.js} +7 -17
  443. package/src/automations/steps/{filter.ts → filter.js} +9 -12
  444. package/src/automations/steps/{integromat.ts → integromat.js} +5 -10
  445. package/src/automations/steps/{loop.ts → loop.js} +2 -4
  446. package/src/automations/steps/{outgoingWebhook.ts → outgoingWebhook.js} +13 -18
  447. package/src/automations/steps/{queryRows.ts → queryRows.js} +36 -48
  448. package/src/automations/steps/{sendSmtpEmail.ts → sendSmtpEmail.js} +5 -10
  449. package/src/automations/steps/{serverLog.ts → serverLog.js} +3 -9
  450. package/src/automations/steps/{slack.ts → slack.js} +5 -10
  451. package/src/automations/steps/{updateRow.ts → updateRow.js} +7 -12
  452. package/src/automations/steps/{utils.ts → utils.js} +4 -10
  453. package/src/automations/steps/{zapier.ts → zapier.js} +5 -11
  454. package/src/automations/tests/updateRow.spec.js +1 -0
  455. package/src/automations/tests/utilities/index.js +51 -0
  456. package/src/automations/triggerInfo/{app.ts → app.js} +2 -7
  457. package/src/automations/triggerInfo/{cron.ts → cron.js} +2 -7
  458. package/src/automations/triggerInfo/index.js +15 -0
  459. package/src/automations/triggerInfo/{rowDeleted.ts → rowDeleted.js} +2 -7
  460. package/src/automations/triggerInfo/{rowSaved.ts → rowSaved.js} +2 -7
  461. package/src/automations/triggerInfo/{rowUpdated.ts → rowUpdated.js} +2 -7
  462. package/src/automations/triggerInfo/{webhook.ts → webhook.js} +2 -7
  463. package/src/automations/{triggers.ts → triggers.js} +26 -30
  464. package/src/automations/utils.ts +12 -9
  465. package/src/constants/index.js +208 -0
  466. package/src/constants/{layouts.ts → layouts.js} +9 -3
  467. package/src/constants/screens.js +46 -0
  468. package/src/db/{dynamoClient.ts → dynamoClient.js} +19 -39
  469. package/src/db/{inMemoryView.ts → inMemoryView.js} +9 -15
  470. package/src/db/index.js +16 -0
  471. package/src/db/linkedRows/{LinkController.ts → LinkController.js} +85 -64
  472. package/src/db/linkedRows/{index.ts → index.js} +38 -43
  473. package/src/db/linkedRows/{linkUtils.ts → linkUtils.js} +24 -33
  474. package/src/db/{newid.ts → newid.js} +1 -1
  475. package/src/db/tests/linkController.spec.js +57 -73
  476. package/src/db/tests/linkTests.spec.js +14 -17
  477. package/src/db/{utils.ts → utils.js} +93 -77
  478. package/src/db/views/{staticViews.ts → staticViews.js} +13 -20
  479. package/src/{environment.ts → environment.js} +7 -11
  480. package/src/events/{AutomationEmitter.ts → AutomationEmitter.js} +7 -12
  481. package/src/events/{BudibaseEmitter.ts → index.js} +8 -7
  482. package/src/events/utils.js +38 -0
  483. package/src/integrations/base/sql.ts +1 -1
  484. package/src/integrations/base/sqlTable.ts +1 -1
  485. package/src/integrations/elasticsearch.ts +2 -32
  486. package/src/integrations/googlesheets.ts +7 -5
  487. package/src/integrations/index.ts +41 -45
  488. package/src/integrations/s3.ts +3 -179
  489. package/src/integrations/tests/s3.spec.ts +1 -85
  490. package/src/integrations/utils.ts +2 -6
  491. package/src/middleware/appInfo.js +19 -0
  492. package/src/middleware/authorized.ts +28 -21
  493. package/src/middleware/{builder.ts → builder.js} +15 -17
  494. package/src/middleware/{currentapp.ts → currentapp.js} +39 -42
  495. package/src/middleware/{joi-validator.ts → joi-validator.js} +8 -9
  496. package/src/middleware/publicApi.js +21 -0
  497. package/src/middleware/{resourceId.ts → resourceId.js} +11 -16
  498. package/src/middleware/{selfhost.ts → selfhost.js} +2 -4
  499. package/src/middleware/tests/authorized.spec.js +6 -5
  500. package/src/middleware/tests/currentapp.spec.js +63 -118
  501. package/src/middleware/{utils.ts → utils.js} +1 -3
  502. package/src/migrations/functions/appUrls.ts +2 -2
  503. package/src/migrations/functions/backfill/app/tables.ts +5 -2
  504. package/src/migrations/functions/backfill/global.ts +1 -1
  505. package/src/migrations/functions/tests/appUrls.spec.js +4 -4
  506. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +9 -14
  507. package/src/migrations/functions/usageQuotas/syncApps.ts +4 -3
  508. package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
  509. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
  510. package/src/migrations/functions/userEmailViewCasing.ts +3 -3
  511. package/src/migrations/index.ts +0 -9
  512. package/src/migrations/tests/index.spec.ts +1 -1
  513. package/src/module.d.ts +14 -0
  514. package/src/sdk/app/backups/exports.ts +3 -5
  515. package/src/sdk/app/backups/imports.ts +14 -7
  516. package/src/sdk/app/backups/statistics.ts +18 -9
  517. package/src/sdk/app/tables/index.ts +8 -7
  518. package/src/startup.ts +5 -5
  519. package/src/tests/utilities/{TestConfiguration.ts → TestConfiguration.js} +78 -111
  520. package/src/tests/utilities/controllers.js +16 -0
  521. package/src/tests/utilities/{index.ts → index.js} +2 -2
  522. package/src/tests/utilities/{structures.ts → structures.js} +36 -41
  523. package/src/threads/automation.ts +19 -18
  524. package/src/threads/query.ts +16 -11
  525. package/src/threads/utils.ts +5 -4
  526. package/src/utilities/budibaseDir.js +3 -0
  527. package/src/utilities/{centralPath.ts → centralPath.js} +3 -3
  528. package/src/utilities/{csvParser.ts → csvParser.js} +26 -42
  529. package/src/utilities/fileSystem/{clientLibrary.ts → clientLibrary.js} +20 -20
  530. package/src/utilities/fileSystem/{index.ts → index.js} +65 -61
  531. package/src/utilities/fileSystem/{processor.ts → processor.js} +5 -3
  532. package/src/utilities/fileSystem/utilities.js +36 -0
  533. package/src/utilities/global.js +127 -0
  534. package/src/utilities/{index.ts → index.js} +32 -40
  535. package/src/utilities/{plugins.ts → plugins.js} +4 -5
  536. package/src/utilities/queue/inMemoryQueue.js +122 -0
  537. package/src/utilities/{redis.ts → redis.js} +20 -21
  538. package/src/utilities/routing/index.js +25 -0
  539. package/src/utilities/rowProcessor/{index.ts → index.js} +144 -67
  540. package/src/utilities/rowProcessor/{utils.ts → utils.js} +15 -19
  541. package/src/utilities/{scriptRunner.ts → scriptRunner.js} +4 -8
  542. package/src/utilities/security.js +71 -0
  543. package/src/utilities/{statusCodes.ts → statusCodes.js} +1 -1
  544. package/src/utilities/usageQuota/{rows.ts → rows.js} +18 -14
  545. package/src/utilities/usageQuota/{usageQuoteReset.ts → usageQuoteReset.js} +1 -1
  546. package/src/utilities/{users.ts → users.js} +13 -11
  547. package/src/utilities/{workerRequests.ts → workerRequests.js} +38 -43
  548. package/src/watch.ts +3 -2
  549. package/tsconfig.build.json +2 -1
  550. package/tsconfig.json +1 -3
  551. package/builder/assets/index.0c44dac3.css +0 -6
  552. package/builder/assets/index.cdf540dc.js +0 -1021
  553. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +0 -190
  554. package/coverage/lcov-report/src/api/controllers/application.ts.html +0 -2038
  555. package/coverage/lcov-report/src/api/controllers/auth.ts.html +0 -301
  556. package/coverage/lcov-report/src/api/controllers/backup.ts.html +0 -148
  557. package/coverage/lcov-report/src/api/controllers/component.ts.html +0 -259
  558. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +0 -259
  559. package/coverage/lcov-report/src/api/controllers/deploy/index.html +0 -131
  560. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +0 -730
  561. package/coverage/lcov-report/src/api/controllers/index.html +0 -431
  562. package/coverage/lcov-report/src/api/controllers/integration.ts.html +0 -124
  563. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +0 -130
  564. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +0 -310
  565. package/coverage/lcov-report/src/api/controllers/plugin/index.html +0 -206
  566. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +0 -484
  567. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +0 -253
  568. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +0 -97
  569. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +0 -121
  570. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +0 -136
  571. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +0 -334
  572. package/coverage/lcov-report/src/api/controllers/public/index.html +0 -191
  573. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +0 -181
  574. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +0 -191
  575. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +0 -124
  576. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +0 -202
  577. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +0 -178
  578. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +0 -181
  579. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +0 -145
  580. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +0 -328
  581. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +0 -253
  582. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +0 -268
  583. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +0 -220
  584. package/coverage/lcov-report/src/api/controllers/query/import/index.html +0 -116
  585. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +0 -373
  586. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +0 -131
  587. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +0 -379
  588. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +0 -157
  589. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +0 -403
  590. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +0 -146
  591. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +0 -586
  592. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +0 -712
  593. package/coverage/lcov-report/src/api/controllers/query/index.html +0 -131
  594. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +0 -976
  595. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +0 -2260
  596. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +0 -541
  597. package/coverage/lcov-report/src/api/controllers/screen.ts.html +0 -463
  598. package/coverage/lcov-report/src/api/controllers/static/index.html +0 -116
  599. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +0 -694
  600. package/coverage/lcov-report/src/api/controllers/table/index.html +0 -176
  601. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +0 -661
  602. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +0 -1255
  603. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +0 -379
  604. package/coverage/lcov-report/src/api/routes/analytics.ts.html +0 -112
  605. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +0 -121
  606. package/coverage/lcov-report/src/api/routes/application.ts.html +0 -223
  607. package/coverage/lcov-report/src/api/routes/auth.ts.html +0 -109
  608. package/coverage/lcov-report/src/api/routes/datasource.ts.html +0 -265
  609. package/coverage/lcov-report/src/api/routes/deploy.ts.html +0 -148
  610. package/coverage/lcov-report/src/api/routes/index.ts.html +0 -289
  611. package/coverage/lcov-report/src/api/routes/migrations.ts.html +0 -127
  612. package/coverage/lcov-report/src/api/routes/plugin.ts.html +0 -151
  613. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +0 -541
  614. package/coverage/lcov-report/src/api/routes/public/index.html +0 -191
  615. package/coverage/lcov-report/src/api/routes/public/index.ts.html +0 -493
  616. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +0 -116
  617. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +0 -328
  618. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +0 -313
  619. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +0 -598
  620. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +0 -586
  621. package/coverage/lcov-report/src/api/routes/public/users.ts.html +0 -511
  622. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +0 -238
  623. package/coverage/lcov-report/src/api/routes/public/utils/index.html +0 -116
  624. package/coverage/lcov-report/src/api/routes/role.ts.html +0 -157
  625. package/coverage/lcov-report/src/api/routes/row.ts.html +0 -883
  626. package/coverage/lcov-report/src/api/routes/screen.ts.html +0 -154
  627. package/coverage/lcov-report/src/api/routes/static.ts.html +0 -280
  628. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +0 -550
  629. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +0 -131
  630. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +0 -367
  631. package/coverage/lcov-report/src/api/routes/webhook.ts.html +0 -166
  632. package/coverage/lcov-report/src/app.ts.html +0 -406
  633. package/coverage/lcov-report/src/automations/logging/index.html +0 -116
  634. package/coverage/lcov-report/src/automations/logging/index.ts.html +0 -199
  635. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +0 -382
  636. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +0 -349
  637. package/coverage/lcov-report/src/automations/steps/index.html +0 -371
  638. package/coverage/lcov-report/src/automations/tests/utilities/index.html +0 -116
  639. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +0 -265
  640. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +0 -196
  641. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +0 -130
  642. package/coverage/lcov-report/src/automations/utils.ts.html +0 -886
  643. package/coverage/lcov-report/src/constants/index.ts.html +0 -697
  644. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +0 -2059
  645. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +0 -541
  646. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +0 -427
  647. package/coverage/lcov-report/src/db/defaultData/index.html +0 -176
  648. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +0 -403
  649. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +0 -559
  650. package/coverage/lcov-report/src/db/dynamoClient.ts.html +0 -526
  651. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +0 -265
  652. package/coverage/lcov-report/src/db/linkedRows/index.html +0 -161
  653. package/coverage/lcov-report/src/environment.ts.html +0 -457
  654. package/coverage/lcov-report/src/events/utils.ts.html +0 -319
  655. package/coverage/lcov-report/src/index.html +0 -191
  656. package/coverage/lcov-report/src/index.ts.html +0 -133
  657. package/coverage/lcov-report/src/integrations/arangodb.ts.html +0 -415
  658. package/coverage/lcov-report/src/integrations/base/index.html +0 -161
  659. package/coverage/lcov-report/src/integrations/base/query.ts.html +0 -133
  660. package/coverage/lcov-report/src/integrations/base/sql.ts.html +0 -1951
  661. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +0 -691
  662. package/coverage/lcov-report/src/integrations/base/utils.ts.html +0 -121
  663. package/coverage/lcov-report/src/integrations/couchdb.ts.html +0 -406
  664. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +0 -634
  665. package/coverage/lcov-report/src/integrations/firebase.ts.html +0 -646
  666. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +0 -1315
  667. package/coverage/lcov-report/src/integrations/index.html +0 -371
  668. package/coverage/lcov-report/src/integrations/index.ts.html +0 -445
  669. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +0 -1006
  670. package/coverage/lcov-report/src/integrations/mongodb.ts.html +0 -1867
  671. package/coverage/lcov-report/src/integrations/mysql.ts.html +0 -964
  672. package/coverage/lcov-report/src/integrations/oracle.ts.html +0 -1474
  673. package/coverage/lcov-report/src/integrations/postgres.ts.html +0 -1069
  674. package/coverage/lcov-report/src/integrations/queries/index.html +0 -116
  675. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +0 -463
  676. package/coverage/lcov-report/src/integrations/redis.ts.html +0 -550
  677. package/coverage/lcov-report/src/integrations/rest.ts.html +0 -1381
  678. package/coverage/lcov-report/src/integrations/s3.ts.html +0 -862
  679. package/coverage/lcov-report/src/integrations/snowflake.ts.html +0 -376
  680. package/coverage/lcov-report/src/integrations/utils.ts.html +0 -1018
  681. package/coverage/lcov-report/src/middleware/authorized.ts.html +0 -460
  682. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +0 -187
  683. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +0 -163
  684. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +0 -151
  685. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +0 -206
  686. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +0 -172
  687. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +0 -226
  688. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +0 -151
  689. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +0 -151
  690. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +0 -166
  691. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +0 -532
  692. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +0 -283
  693. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +0 -146
  694. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +0 -265
  695. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +0 -232
  696. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +0 -724
  697. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +0 -161
  698. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +0 -106
  699. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +0 -235
  700. package/coverage/lcov-report/src/migrations/functions/index.html +0 -161
  701. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +0 -130
  702. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +0 -520
  703. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +0 -161
  704. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +0 -94
  705. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +0 -127
  706. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +0 -115
  707. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +0 -169
  708. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +0 -124
  709. package/coverage/lcov-report/src/migrations/index.ts.html +0 -430
  710. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +0 -205
  711. package/coverage/lcov-report/src/migrations/tests/index.html +0 -131
  712. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +0 -283
  713. package/coverage/lcov-report/src/sdk/app/automations/index.html +0 -131
  714. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +0 -100
  715. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +0 -214
  716. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +0 -91
  717. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +0 -604
  718. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +0 -682
  719. package/coverage/lcov-report/src/sdk/app/backups/index.html +0 -176
  720. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +0 -112
  721. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +0 -292
  722. package/coverage/lcov-report/src/sdk/app/tables/index.html +0 -116
  723. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +0 -265
  724. package/coverage/lcov-report/src/startup.ts.html +0 -499
  725. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +0 -1966
  726. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +0 -127
  727. package/coverage/lcov-report/src/tests/utilities/index.html +0 -161
  728. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +0 -667
  729. package/coverage/lcov-report/src/threads/automation.ts.html +0 -1594
  730. package/coverage/lcov-report/src/threads/index.html +0 -161
  731. package/coverage/lcov-report/src/threads/index.ts.html +0 -418
  732. package/coverage/lcov-report/src/threads/query.ts.html +0 -961
  733. package/coverage/lcov-report/src/threads/utils.ts.html +0 -373
  734. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +0 -547
  735. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +0 -1129
  736. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +0 -142
  737. package/coverage/lcov-report/src/utilities/redis.ts.html +0 -343
  738. package/coverage/lcov-report/src/utilities/routing/index.ts.html +0 -181
  739. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +0 -146
  740. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +0 -373
  741. package/coverage/lcov-report/src/watch.ts.html +0 -196
  742. package/dist/db/defaultData/datasource_bb_default.js +0 -573
  743. package/dist/db/defaultData/employeeImport.js +0 -155
  744. package/dist/db/defaultData/expensesImport.js +0 -117
  745. package/dist/db/defaultData/inventoryImport.js +0 -109
  746. package/dist/db/defaultData/jobsImport.js +0 -152
  747. package/dist/db/linkedRows/LinkDocument.js +0 -32
  748. package/dist/events/BudibaseEmitter.js +0 -24
  749. package/dist/migrations/functions/tableSettings.js +0 -130
  750. package/dist/utilities/rowProcessor/map.js +0 -99
  751. package/jest.config.ts +0 -33
  752. package/src/api/controllers/integration.ts +0 -13
  753. package/src/api/controllers/migrations.ts +0 -14
  754. package/src/api/controllers/script.ts +0 -12
  755. package/src/api/routes/analytics.ts +0 -9
  756. package/src/api/routes/apikeys.ts +0 -12
  757. package/src/api/routes/automation.ts +0 -87
  758. package/src/api/routes/cloud.ts +0 -18
  759. package/src/api/routes/component.ts +0 -14
  760. package/src/api/routes/datasource.ts +0 -60
  761. package/src/api/routes/deploy.ts +0 -21
  762. package/src/api/routes/dev.ts +0 -38
  763. package/src/api/routes/integration.ts +0 -16
  764. package/src/api/routes/layout.ts +0 -16
  765. package/src/api/routes/migrations.ts +0 -14
  766. package/src/api/routes/permission.ts +0 -41
  767. package/src/api/routes/role.ts +0 -24
  768. package/src/api/routes/routing.ts +0 -14
  769. package/src/api/routes/screen.ts +0 -23
  770. package/src/api/routes/script.ts +0 -10
  771. package/src/api/routes/templates.ts +0 -16
  772. package/src/api/routes/user.ts +0 -51
  773. package/src/api/routes/view.ts +0 -34
  774. package/src/automations/bullboard.ts +0 -38
  775. package/src/automations/index.ts +0 -26
  776. package/src/automations/tests/utilities/index.ts +0 -60
  777. package/src/automations/triggerInfo/index.ts +0 -15
  778. package/src/constants/index.ts +0 -204
  779. package/src/constants/screens.ts +0 -48
  780. package/src/db/defaultData/datasource_bb_default.ts +0 -658
  781. package/src/db/defaultData/employeeImport.ts +0 -152
  782. package/src/db/defaultData/expensesImport.ts +0 -114
  783. package/src/db/defaultData/inventoryImport.ts +0 -106
  784. package/src/db/defaultData/jobsImport.ts +0 -158
  785. package/src/db/index.ts +0 -16
  786. package/src/db/linkedRows/LinkDocument.ts +0 -60
  787. package/src/events/index.ts +0 -5
  788. package/src/events/utils.ts +0 -78
  789. package/src/middleware/appInfo.ts +0 -20
  790. package/src/middleware/publicApi.ts +0 -21
  791. package/src/migrations/functions/tableSettings.ts +0 -145
  792. package/src/migrations/functions/tests/tableSettings.spec.ts +0 -144
  793. package/src/tests/utilities/controllers.ts +0 -14
  794. package/src/utilities/budibaseDir.ts +0 -3
  795. package/src/utilities/global.ts +0 -138
  796. package/src/utilities/routing/index.ts +0 -32
  797. package/src/utilities/rowProcessor/map.ts +0 -96
  798. package/src/utilities/security.ts +0 -65
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/utilities/rowProcessor/index.ts</title>
6
+ <title>Code coverage report for utilities/rowProcessor/index.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,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/utilities/rowProcessor</a> index.ts</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">utilities/rowProcessor</a> index.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">57.62% </span>
26
+ <span class="strong">58.39% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>68/118</span>
28
+ <span class='fraction'>80/137</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">47.94% </span>
33
+ <span class="strong">46.53% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>35/73</span>
35
+ <span class='fraction'>47/101</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">42.85% </span>
40
+ <span class="strong">50% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>6/14</span>
42
+ <span class='fraction'>10/20</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">60.71% </span>
47
+ <span class="strong">60.76% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>68/112</span>
49
+ <span class='fraction'>79/130</span>
50
50
  </div>
51
51
 
52
52
 
@@ -333,24 +333,189 @@
333
333
  <a name='L268'></a><a href='#L268'>268</a>
334
334
  <a name='L269'></a><a href='#L269'>269</a>
335
335
  <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
337
- <span class="cline-any cline-yes">46x</span>
338
- <span class="cline-any cline-yes">46x</span>
339
- <span class="cline-any cline-yes">46x</span>
340
- <span class="cline-any cline-yes">46x</span>
341
- <span class="cline-any cline-yes">46x</span>
342
- <span class="cline-any cline-yes">46x</span>
343
- <span class="cline-any cline-yes">46x</span>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a>
381
+ <a name='L316'></a><a href='#L316'>316</a>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
414
+ <span class="cline-any cline-yes">45x</span>
415
+ <span class="cline-any cline-yes">45x</span>
416
+ <span class="cline-any cline-yes">45x</span>
417
+ <span class="cline-any cline-yes">45x</span>
418
+ <span class="cline-any cline-yes">45x</span>
419
+ <span class="cline-any cline-yes">45x</span>
420
+ <span class="cline-any cline-neutral">&nbsp;</span>
421
+ <span class="cline-any cline-neutral">&nbsp;</span>
422
+ <span class="cline-any cline-neutral">&nbsp;</span>
423
+ <span class="cline-any cline-neutral">&nbsp;</span>
424
+ <span class="cline-any cline-yes">45x</span>
425
+ <span class="cline-any cline-yes">45x</span>
426
+ <span class="cline-any cline-yes">45x</span>
427
+ <span class="cline-any cline-neutral">&nbsp;</span>
428
+ <span class="cline-any cline-yes">45x</span>
429
+ <span class="cline-any cline-neutral">&nbsp;</span>
430
+ <span class="cline-any cline-neutral">&nbsp;</span>
431
+ <span class="cline-any cline-neutral">&nbsp;</span>
432
+ <span class="cline-any cline-neutral">&nbsp;</span>
433
+ <span class="cline-any cline-yes">45x</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-neutral">&nbsp;</span>
436
+ <span class="cline-any cline-neutral">&nbsp;</span>
437
+ <span class="cline-any cline-neutral">&nbsp;</span>
438
+ <span class="cline-any cline-neutral">&nbsp;</span>
439
+ <span class="cline-any cline-yes">11x</span>
440
+ <span class="cline-any cline-yes">2x</span>
441
+ <span class="cline-any cline-neutral">&nbsp;</span>
442
+ <span class="cline-any cline-yes">9x</span>
443
+ <span class="cline-any cline-no">&nbsp;</span>
444
+ <span class="cline-any cline-neutral">&nbsp;</span>
445
+ <span class="cline-any cline-yes">9x</span>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-neutral">&nbsp;</span>
448
+ <span class="cline-any cline-neutral">&nbsp;</span>
449
+ <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-neutral">&nbsp;</span>
451
+ <span class="cline-any cline-neutral">&nbsp;</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-neutral">&nbsp;</span>
454
+ <span class="cline-any cline-neutral">&nbsp;</span>
455
+ <span class="cline-any cline-neutral">&nbsp;</span>
456
+ <span class="cline-any cline-neutral">&nbsp;</span>
457
+ <span class="cline-any cline-neutral">&nbsp;</span>
458
+ <span class="cline-any cline-neutral">&nbsp;</span>
459
+ <span class="cline-any cline-neutral">&nbsp;</span>
460
+ <span class="cline-any cline-neutral">&nbsp;</span>
461
+ <span class="cline-any cline-neutral">&nbsp;</span>
462
+ <span class="cline-any cline-neutral">&nbsp;</span>
463
+ <span class="cline-any cline-neutral">&nbsp;</span>
464
+ <span class="cline-any cline-neutral">&nbsp;</span>
465
+ <span class="cline-any cline-neutral">&nbsp;</span>
466
+ <span class="cline-any cline-neutral">&nbsp;</span>
467
+ <span class="cline-any cline-neutral">&nbsp;</span>
468
+ <span class="cline-any cline-neutral">&nbsp;</span>
469
+ <span class="cline-any cline-neutral">&nbsp;</span>
470
+ <span class="cline-any cline-neutral">&nbsp;</span>
471
+ <span class="cline-any cline-neutral">&nbsp;</span>
472
+ <span class="cline-any cline-neutral">&nbsp;</span>
473
+ <span class="cline-any cline-neutral">&nbsp;</span>
474
+ <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-neutral">&nbsp;</span>
476
+ <span class="cline-any cline-neutral">&nbsp;</span>
477
+ <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-neutral">&nbsp;</span>
480
+ <span class="cline-any cline-neutral">&nbsp;</span>
481
+ <span class="cline-any cline-neutral">&nbsp;</span>
482
+ <span class="cline-any cline-yes">9x</span>
483
+ <span class="cline-any cline-neutral">&nbsp;</span>
484
+ <span class="cline-any cline-neutral">&nbsp;</span>
485
+ <span class="cline-any cline-neutral">&nbsp;</span>
486
+ <span class="cline-any cline-neutral">&nbsp;</span>
487
+ <span class="cline-any cline-neutral">&nbsp;</span>
488
+ <span class="cline-any cline-neutral">&nbsp;</span>
489
+ <span class="cline-any cline-yes">2x</span>
490
+ <span class="cline-any cline-yes">1x</span>
491
+ <span class="cline-any cline-neutral">&nbsp;</span>
492
+ <span class="cline-any cline-yes">1x</span>
344
493
  <span class="cline-any cline-neutral">&nbsp;</span>
345
- <span class="cline-any cline-yes">46x</span>
346
- <span class="cline-any cline-yes">46x</span>
347
494
  <span class="cline-any cline-neutral">&nbsp;</span>
348
495
  <span class="cline-any cline-neutral">&nbsp;</span>
349
496
  <span class="cline-any cline-neutral">&nbsp;</span>
350
497
  <span class="cline-any cline-neutral">&nbsp;</span>
351
498
  <span class="cline-any cline-neutral">&nbsp;</span>
352
499
  <span class="cline-any cline-neutral">&nbsp;</span>
353
- <span class="cline-any cline-yes">46x</span>
500
+ <span class="cline-any cline-neutral">&nbsp;</span>
501
+ <span class="cline-any cline-neutral">&nbsp;</span>
502
+ <span class="cline-any cline-neutral">&nbsp;</span>
503
+ <span class="cline-any cline-neutral">&nbsp;</span>
504
+ <span class="cline-any cline-neutral">&nbsp;</span>
505
+ <span class="cline-any cline-neutral">&nbsp;</span>
506
+ <span class="cline-any cline-neutral">&nbsp;</span>
507
+ <span class="cline-any cline-neutral">&nbsp;</span>
508
+ <span class="cline-any cline-no">&nbsp;</span>
509
+ <span class="cline-any cline-neutral">&nbsp;</span>
510
+ <span class="cline-any cline-neutral">&nbsp;</span>
511
+ <span class="cline-any cline-neutral">&nbsp;</span>
512
+ <span class="cline-any cline-no">&nbsp;</span>
513
+ <span class="cline-any cline-no">&nbsp;</span>
514
+ <span class="cline-any cline-no">&nbsp;</span>
515
+ <span class="cline-any cline-neutral">&nbsp;</span>
516
+ <span class="cline-any cline-no">&nbsp;</span>
517
+ <span class="cline-any cline-neutral">&nbsp;</span>
518
+ <span class="cline-any cline-no">&nbsp;</span>
354
519
  <span class="cline-any cline-neutral">&nbsp;</span>
355
520
  <span class="cline-any cline-neutral">&nbsp;</span>
356
521
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -383,7 +548,7 @@
383
548
  <span class="cline-any cline-neutral">&nbsp;</span>
384
549
  <span class="cline-any cline-neutral">&nbsp;</span>
385
550
  <span class="cline-any cline-neutral">&nbsp;</span>
386
- <span class="cline-any cline-yes">46x</span>
551
+ <span class="cline-any cline-neutral">&nbsp;</span>
387
552
  <span class="cline-any cline-neutral">&nbsp;</span>
388
553
  <span class="cline-any cline-neutral">&nbsp;</span>
389
554
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -433,6 +598,9 @@
433
598
  <span class="cline-any cline-neutral">&nbsp;</span>
434
599
  <span class="cline-any cline-yes">86x</span>
435
600
  <span class="cline-any cline-neutral">&nbsp;</span>
601
+ <span class="cline-any cline-yes">45x</span>
602
+ <span class="cline-any cline-yes">45x</span>
603
+ <span class="cline-any cline-yes">45x</span>
436
604
  <span class="cline-any cline-neutral">&nbsp;</span>
437
605
  <span class="cline-any cline-neutral">&nbsp;</span>
438
606
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -440,17 +608,15 @@
440
608
  <span class="cline-any cline-neutral">&nbsp;</span>
441
609
  <span class="cline-any cline-neutral">&nbsp;</span>
442
610
  <span class="cline-any cline-neutral">&nbsp;</span>
443
- <span class="cline-any cline-yes">46x</span>
611
+ <span class="cline-any cline-yes">45x</span>
444
612
  <span class="cline-any cline-neutral">&nbsp;</span>
445
613
  <span class="cline-any cline-yes">200x</span>
446
614
  <span class="cline-any cline-no">&nbsp;</span>
447
615
  <span class="cline-any cline-neutral">&nbsp;</span>
448
616
  <span class="cline-any cline-neutral">&nbsp;</span>
449
617
  <span class="cline-any cline-yes">200x</span>
450
- <span class="cline-any cline-neutral">&nbsp;</span>
451
618
  <span class="cline-any cline-yes">16x</span>
452
619
  <span class="cline-any cline-yes">184x</span>
453
- <span class="cline-any cline-neutral">&nbsp;</span>
454
620
  <span class="cline-any cline-yes">22x</span>
455
621
  <span class="cline-any cline-neutral">&nbsp;</span>
456
622
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -466,7 +632,7 @@
466
632
  <span class="cline-any cline-neutral">&nbsp;</span>
467
633
  <span class="cline-any cline-neutral">&nbsp;</span>
468
634
  <span class="cline-any cline-neutral">&nbsp;</span>
469
- <span class="cline-any cline-yes">46x</span>
635
+ <span class="cline-any cline-yes">45x</span>
470
636
  <span class="cline-any cline-neutral">&nbsp;</span>
471
637
  <span class="cline-any cline-neutral">&nbsp;</span>
472
638
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -513,11 +679,7 @@
513
679
  <span class="cline-any cline-neutral">&nbsp;</span>
514
680
  <span class="cline-any cline-neutral">&nbsp;</span>
515
681
  <span class="cline-any cline-neutral">&nbsp;</span>
516
- <span class="cline-any cline-yes">46x</span>
517
- <span class="cline-any cline-neutral">&nbsp;</span>
518
- <span class="cline-any cline-neutral">&nbsp;</span>
519
- <span class="cline-any cline-neutral">&nbsp;</span>
520
- <span class="cline-any cline-neutral">&nbsp;</span>
682
+ <span class="cline-any cline-yes">45x</span>
521
683
  <span class="cline-any cline-yes">126x</span>
522
684
  <span class="cline-any cline-yes">126x</span>
523
685
  <span class="cline-any cline-yes">106x</span>
@@ -558,15 +720,7 @@
558
720
  <span class="cline-any cline-neutral">&nbsp;</span>
559
721
  <span class="cline-any cline-neutral">&nbsp;</span>
560
722
  <span class="cline-any cline-neutral">&nbsp;</span>
561
- <span class="cline-any cline-yes">46x</span>
562
- <span class="cline-any cline-neutral">&nbsp;</span>
563
- <span class="cline-any cline-neutral">&nbsp;</span>
564
- <span class="cline-any cline-neutral">&nbsp;</span>
565
- <span class="cline-any cline-neutral">&nbsp;</span>
566
- <span class="cline-any cline-neutral">&nbsp;</span>
567
- <span class="cline-any cline-neutral">&nbsp;</span>
568
- <span class="cline-any cline-neutral">&nbsp;</span>
569
- <span class="cline-any cline-neutral">&nbsp;</span>
723
+ <span class="cline-any cline-yes">45x</span>
570
724
  <span class="cline-any cline-yes">14x</span>
571
725
  <span class="cline-any cline-yes">14x</span>
572
726
  <span class="cline-any cline-yes">14x</span>
@@ -603,44 +757,132 @@
603
757
  <span class="cline-any cline-no">&nbsp;</span>
604
758
  <span class="cline-any cline-neutral">&nbsp;</span>
605
759
  <span class="cline-any cline-neutral">&nbsp;</span>
606
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import * as linkRows from "../../db/linkedRows"
607
- import { FieldTypes, AutoFieldSubTypes } from "../../constants"
608
- import { attachmentsRelativeURL } from "../index"
609
- import { processFormulas, fixAutoColumnSubType } from "./utils"
610
- import { ObjectStoreBuckets } from "../../constants"
611
- import { context, db as dbCore, objectStore } from "@budibase/backend-core"
612
- import { InternalTables } from "../../db/utils"
613
- import { TYPE_TRANSFORM_MAP } from "./map"
614
- import { Row, Table, ContextUser } from "@budibase/types"
760
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const linkRows = require("../../db/linkedRows")
615
761
  const { cloneDeep } = require("lodash/fp")
616
- export * from "./utils"
617
- &nbsp;
618
- type AutoColumnProcessingOpts = {
619
- reprocessing?: boolean
620
- noAutoRelationships?: boolean
621
- }
762
+ const { FieldTypes, AutoFieldSubTypes } = require("../../constants")
763
+ const { attachmentsRelativeURL } = require("../index")
764
+ const { processFormulas, fixAutoColumnSubType } = require("./utils")
765
+ const { deleteFiles } = require("../../utilities/fileSystem/utilities")
766
+ const { ObjectStoreBuckets } = require("../../constants")
767
+ const {
768
+ isProdAppID,
769
+ getProdAppID,
770
+ dbExists,
771
+ } = require("@budibase/backend-core/db")
772
+ const { getAppId } = require("@budibase/backend-core/context")
773
+ const { InternalTables } = require("../../db/utils")
622
774
  &nbsp;
623
775
  const BASE_AUTO_ID = 1
624
776
  &nbsp;
777
+ /**
778
+ * A map of how we convert various properties in rows to each other based on the row type.
779
+ */
780
+ const TYPE_TRANSFORM_MAP = {
781
+ [FieldTypes.LINK]: {
782
+ "": [],
783
+ [null]: [],
784
+ [undefined]: undefined,
785
+ parse: link =&gt; {
786
+ if (Array.isArray(link) &amp;&amp; typeof link[0] === "object") {
787
+ return link.map(el =&gt; (el &amp;&amp; el._id ? el._id : <span class="branch-1 cbranch-no" title="branch not covered" >el)</span>)
788
+ }
789
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof link === "string") {
790
+ <span class="cstat-no" title="statement not covered" > return [link]</span>
791
+ }
792
+ return link
793
+ },
794
+ },
795
+ [FieldTypes.OPTIONS]: {
796
+ "": null,
797
+ [null]: null,
798
+ [undefined]: undefined,
799
+ },
800
+ [FieldTypes.ARRAY]: {
801
+ "": [],
802
+ [null]: [],
803
+ [undefined]: undefined,
804
+ },
805
+ [FieldTypes.STRING]: {
806
+ "": "",
807
+ [null]: "",
808
+ [undefined]: undefined,
809
+ },
810
+ [FieldTypes.BARCODEQR]: {
811
+ "": "",
812
+ [null]: "",
813
+ [undefined]: undefined,
814
+ },
815
+ [FieldTypes.FORMULA]: {
816
+ "": "",
817
+ [null]: "",
818
+ [undefined]: undefined,
819
+ },
820
+ [FieldTypes.LONGFORM]: {
821
+ "": "",
822
+ [null]: "",
823
+ [undefined]: undefined,
824
+ },
825
+ [FieldTypes.NUMBER]: {
826
+ "": null,
827
+ [null]: null,
828
+ [undefined]: undefined,
829
+ parse: n =&gt; parseFloat(n),
830
+ },
831
+ [FieldTypes.DATETIME]: {
832
+ "": null,
833
+ [undefined]: undefined,
834
+ [null]: null,
835
+ parse: date =&gt; {
836
+ if (date instanceof Date) {
837
+ return date.toISOString()
838
+ }
839
+ return date
840
+ },
841
+ },
842
+ [FieldTypes.ATTACHMENT]: {
843
+ "": [],
844
+ [null]: [],
845
+ [undefined]: undefined,
846
+ },
847
+ [FieldTypes.BOOLEAN]: {
848
+ "": null,
849
+ [null]: null,
850
+ [undefined]: undefined,
851
+ true: true,
852
+ false: false,
853
+ },
854
+ [FieldTypes.AUTO]: {
855
+ parse: <span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >undefined,</span>
856
+ },
857
+ [FieldTypes.JSON]: {
858
+ parse: <span class="fstat-no" title="function not covered" >in</span>put =&gt; {
859
+ <span class="cstat-no" title="statement not covered" > try {</span>
860
+ <span class="cstat-no" title="statement not covered" > if (input === "") {</span>
861
+ <span class="cstat-no" title="statement not covered" > return undefined</span>
862
+ }
863
+ <span class="cstat-no" title="statement not covered" > return JSON.parse(input)</span>
864
+ } catch (err) {
865
+ <span class="cstat-no" title="statement not covered" > return input</span>
866
+ }
867
+ },
868
+ },
869
+ }
870
+ &nbsp;
625
871
  /**
626
872
  * Given the old state of the row and the new one after an update, this will
627
873
  * find the keys that have been removed in the updated row.
628
874
  */
629
- function <span class="fstat-no" title="function not covered" >getRemovedAttachmentKeys(</span>
630
- oldRow: Row,
631
- row: Row,
632
- attachmentKey: string
633
- ) {
634
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!oldRow[attachmentKey]) {</span>
875
+ function <span class="fstat-no" title="function not covered" >getRemovedAttachmentKeys(</span>oldRow, row, attachmentKey) {
876
+ <span class="cstat-no" title="statement not covered" > if (!oldRow[attachmentKey]) {</span>
635
877
  <span class="cstat-no" title="statement not covered" > return []</span>
636
878
  }
637
- const oldKeys = <span class="cstat-no" title="statement not covered" >oldRow[attachmentKey].map(<span class="fstat-no" title="function not covered" >(a</span>ttachment: any) =&gt; <span class="cstat-no" title="statement not covered" >attachment.key)</span></span>
879
+ const oldKeys = <span class="cstat-no" title="statement not covered" >oldRow[attachmentKey].map(<span class="fstat-no" title="function not covered" >at</span>tachment =&gt; <span class="cstat-no" title="statement not covered" >attachment.key)</span></span>
638
880
  // no attachments in new row, all removed
639
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!row[attachmentKey]) {</span>
881
+ <span class="cstat-no" title="statement not covered" > if (!row[attachmentKey]) {</span>
640
882
  <span class="cstat-no" title="statement not covered" > return oldKeys</span>
641
883
  }
642
- const newKeys = <span class="cstat-no" title="statement not covered" >row[attachmentKey].map(<span class="fstat-no" title="function not covered" >(a</span>ttachment: any) =&gt; <span class="cstat-no" title="statement not covered" >attachment.key)</span></span>
643
- <span class="cstat-no" title="statement not covered" > return oldKeys.filter(<span class="fstat-no" title="function not covered" >(k</span>ey: any) =&gt; <span class="cstat-no" title="statement not covered" >newKeys.indexOf(key) === -1)</span></span>
884
+ const newKeys = <span class="cstat-no" title="statement not covered" >row[attachmentKey].map(<span class="fstat-no" title="function not covered" >at</span>tachment =&gt; <span class="cstat-no" title="statement not covered" >attachment.key)</span></span>
885
+ <span class="cstat-no" title="statement not covered" > return oldKeys.filter(<span class="fstat-no" title="function not covered" >ke</span>y =&gt; <span class="cstat-no" title="statement not covered" >newKeys.indexOf(key) === -1)</span></span>
644
886
  }
645
887
  &nbsp;
646
888
  /**
@@ -653,11 +895,11 @@ function <span class="fstat-no" title="function not covered" >getRemovedAttachme
653
895
  * @returns {{row: Object, table: Object}} The updated row and table, the table may need to be updated
654
896
  * for automatic ID purposes.
655
897
  */
656
- export function processAutoColumn(
657
- user: ContextUser | null,
658
- table: Table,
659
- row: Row,
660
- opts?: AutoColumnProcessingOpts
898
+ function processAutoColumn(
899
+ user,
900
+ table,
901
+ row,
902
+ opts = <span class="branch-0 cbranch-no" title="branch not covered" >{ reprocessing: false, noAutoRelationships: false }</span>
661
903
  ) {
662
904
  let noUser = !user || !user.userId
663
905
  let isUserTable = table._id === InternalTables.USER_METADATA
@@ -666,27 +908,27 @@ export function processAutoColumn(
666
908
  const creating = !row._rev
667
909
  // check its not user table, or whether any of the processing options have been disabled
668
910
  const shouldUpdateUserFields =
669
- !isUserTable &amp;&amp; !opts?.reprocessing &amp;&amp; !opts?.noAutoRelationships &amp;&amp; !noUser
911
+ !isUserTable &amp;&amp; !opts.reprocessing &amp;&amp; !opts.noAutoRelationships &amp;&amp; !noUser
670
912
  for (let [key, schema] of Object.entries(table.schema)) {
671
- if (!schema.autocolumn) {
913
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (!schema.autocolumn) {
672
914
  continue
673
915
  }
674
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!schema.subtype) {</span>
916
+ <span class="cstat-no" title="statement not covered" > if (!schema.subtype) {</span>
675
917
  <span class="cstat-no" title="statement not covered" > schema = fixAutoColumnSubType(schema)</span>
676
918
  }
677
919
  <span class="cstat-no" title="statement not covered" > switch (schema.subtype) {</span>
678
920
  case AutoFieldSubTypes.CREATED_BY:
679
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (creating &amp;&amp; shouldUpdateUserFields &amp;&amp; user) {</span>
921
+ <span class="cstat-no" title="statement not covered" > if (creating &amp;&amp; shouldUpdateUserFields) {</span>
680
922
  <span class="cstat-no" title="statement not covered" > row[key] = [user.userId]</span>
681
923
  }
682
924
  <span class="cstat-no" title="statement not covered" > break</span>
683
925
  case AutoFieldSubTypes.CREATED_AT:
684
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (creating) {</span>
926
+ <span class="cstat-no" title="statement not covered" > if (creating) {</span>
685
927
  <span class="cstat-no" title="statement not covered" > row[key] = now</span>
686
928
  }
687
929
  <span class="cstat-no" title="statement not covered" > break</span>
688
930
  case AutoFieldSubTypes.UPDATED_BY:
689
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (shouldUpdateUserFields &amp;&amp; user) {</span>
931
+ <span class="cstat-no" title="statement not covered" > if (shouldUpdateUserFields) {</span>
690
932
  <span class="cstat-no" title="statement not covered" > row[key] = [user.userId]</span>
691
933
  }
692
934
  <span class="cstat-no" title="statement not covered" > break</span>
@@ -694,7 +936,7 @@ export function processAutoColumn(
694
936
  <span class="cstat-no" title="statement not covered" > row[key] = now</span>
695
937
  <span class="cstat-no" title="statement not covered" > break</span>
696
938
  case AutoFieldSubTypes.AUTO_ID:
697
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (creating) {</span>
939
+ <span class="cstat-no" title="statement not covered" > if (creating) {</span>
698
940
  <span class="cstat-no" title="statement not covered" > schema.lastID = !schema.lastID ? BASE_AUTO_ID : schema.lastID + 1</span>
699
941
  <span class="cstat-no" title="statement not covered" > row[key] = schema.lastID</span>
700
942
  }
@@ -703,6 +945,9 @@ export function processAutoColumn(
703
945
  }
704
946
  return { table, row }
705
947
  }
948
+ exports.processAutoColumn = processAutoColumn
949
+ exports.fixAutoColumnSubType = fixAutoColumnSubType
950
+ exports.processFormulas = processFormulas
706
951
  &nbsp;
707
952
  /**
708
953
  * This will coerce a value to the correct types based on the type transform map
@@ -710,17 +955,15 @@ export function processAutoColumn(
710
955
  * @param {object} type The type fo coerce to
711
956
  * @returns {object} The coerced value
712
957
  */
713
- export function coerce(row: any, type: any) {
958
+ exports.coerce = (row, type) =&gt; {
714
959
  // no coercion specified for type, skip it
715
960
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!TYPE_TRANSFORM_MAP[type]) {
716
961
  <span class="cstat-no" title="statement not covered" > return row</span>
717
962
  }
718
963
  // eslint-disable-next-line no-prototype-builtins
719
964
  if (TYPE_TRANSFORM_MAP[type].hasOwnProperty(row)) {
720
- // @ts-ignore
721
965
  return TYPE_TRANSFORM_MAP[type][row]
722
966
  } else if (TYPE_TRANSFORM_MAP[type].parse) {
723
- // @ts-ignore
724
967
  return TYPE_TRANSFORM_MAP[type].parse(row)
725
968
  }
726
969
  &nbsp;
@@ -736,12 +979,12 @@ export function coerce(row: any, type: any) {
736
979
  * @param {object} opts some input processing options (like disabling auto-column relationships).
737
980
  * @returns {object} the row which has been prepared to be written to the DB.
738
981
  */
739
- export function inputProcessing(
740
- user: ContextUser,
741
- table: Table,
742
- row: Row,
743
- opts?: AutoColumnProcessingOpts
744
- ) {
982
+ exports.inputProcessing = (
983
+ user = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
984
+ table,
985
+ row,
986
+ opts = { noAutoRelationships: false }
987
+ ) =&gt; {
745
988
  let clonedRow = cloneDeep(row)
746
989
  // need to copy the table so it can be differenced on way out
747
990
  const copiedTable = cloneDeep(table)
@@ -761,7 +1004,7 @@ export function inputProcessing(
761
1004
  }
762
1005
  // otherwise coerce what is there to correct types
763
1006
  else {
764
- clonedRow[key] = coerce(value, field.type)
1007
+ clonedRow[key] = exports.coerce(value, field.type)
765
1008
  }
766
1009
  }
767
1010
  &nbsp;
@@ -783,21 +1026,17 @@ export function inputProcessing(
783
1026
  * @param {object} opts used to set some options for the output, such as disabling relationship squashing.
784
1027
  * @returns {object[]|object} the enriched rows will be returned.
785
1028
  */
786
- export async function outputProcessing(
787
- table: Table,
788
- rows: Row[] | Row,
789
- opts = { squash: true }
790
- ) {
1029
+ exports.outputProcessing = async (table, rows, opts = { squash: true }) =&gt; {
791
1030
  let wasArray = true
792
1031
  if (!(rows instanceof Array)) {
793
1032
  rows = [rows]
794
1033
  wasArray = false
795
1034
  }
796
1035
  // attach any linked row information
797
- let enriched = await linkRows.attachFullLinkedDocs(table, rows as Row[])
1036
+ let enriched = await linkRows.attachFullLinkedDocs(table, rows)
798
1037
  &nbsp;
799
1038
  // process formulas
800
- enriched = processFormulas(table, enriched, { dynamic: true }) as Row[]
1039
+ enriched = processFormulas(table, enriched, { dynamic: true })
801
1040
  &nbsp;
802
1041
  // update the attachments URL depending on hosting
803
1042
  for (let [property, column] of Object.entries(table.schema)) {
@@ -806,7 +1045,7 @@ export async function outputProcessing(
806
1045
  if (row[property] == null || !Array.isArray(row[property])) {
807
1046
  continue
808
1047
  }
809
- row[property].forEach((attachment: any) =&gt; {
1048
+ row[property].forEach(attachment =&gt; {
810
1049
  attachment.url = attachmentsRelativeURL(attachment.key)
811
1050
  })
812
1051
  }
@@ -828,49 +1067,41 @@ export async function outputProcessing(
828
1067
  * deleted attachment columns.
829
1068
  * @return {Promise&lt;void&gt;} When all attachments have been removed this will return.
830
1069
  */
831
- export async function cleanupAttachments(
832
- table: Table,
833
- {
834
- row,
835
- rows,
836
- oldRow,
837
- oldTable,
838
- }: { row?: Row; rows?: Row[]; oldRow?: Row; oldTable?: Table }
839
- ): Promise&lt;any&gt; {
840
- const appId = context.getAppId()
841
- if (!dbCore.isProdAppID(appId)) {
842
- const prodAppId = dbCore.getProdAppID(appId!)
1070
+ exports.cleanupAttachments = async (table, { row, rows, oldRow, oldTable }) =&gt; {
1071
+ const appId = getAppId()
1072
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (!isProdAppID(appId)) {
1073
+ const prodAppId = getProdAppID(appId)
843
1074
  // if prod exists, then don't allow deleting
844
- const exists = await dbCore.dbExists(prodAppId)
845
- if (exists) {
1075
+ const exists = await dbExists(prodAppId)
1076
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (exists) {
846
1077
  return
847
1078
  }
848
1079
  }
849
- let files: string[] = <span class="cstat-no" title="statement not covered" >[]</span>
850
- function <span class="fstat-no" title="function not covered" >addFiles(</span>row: Row, key: string) {
851
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (row[key]) {</span>
852
- <span class="cstat-no" title="statement not covered" > files = files.concat(row[key].map(<span class="fstat-no" title="function not covered" >(a</span>ttachment: any) =&gt; <span class="cstat-no" title="statement not covered" >attachment.key)</span>)</span>
1080
+ let files = <span class="cstat-no" title="statement not covered" >[]</span>
1081
+ function <span class="fstat-no" title="function not covered" >addFiles(</span>row, key) {
1082
+ <span class="cstat-no" title="statement not covered" > if (row[key]) {</span>
1083
+ <span class="cstat-no" title="statement not covered" > files = files.concat(row[key].map(<span class="fstat-no" title="function not covered" >at</span>tachment =&gt; <span class="cstat-no" title="statement not covered" >attachment.key)</span>)</span>
853
1084
  }
854
1085
  }
855
1086
  const schemaToUse = <span class="cstat-no" title="statement not covered" >oldTable ? oldTable.schema : table.schema</span>
856
1087
  <span class="cstat-no" title="statement not covered" > for (let [key, schema] of Object.entries(schemaToUse)) {</span>
857
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (schema.type !== FieldTypes.ATTACHMENT) {</span>
1088
+ <span class="cstat-no" title="statement not covered" > if (schema.type !== FieldTypes.ATTACHMENT) {</span>
858
1089
  <span class="cstat-no" title="statement not covered" > continue</span>
859
1090
  }
860
1091
  // old table had this column, new table doesn't - delete it
861
- <span class="cstat-no" title="statement not covered" > if (rows &amp;&amp; oldTable &amp;&amp; !table.schema[key]) {</span>
862
- <span class="cstat-no" title="statement not covered" > rows.forEach(<span class="fstat-no" title="function not covered" >row </span>=&gt; <span class="cstat-no" title="statement not covered" >addFiles(row, key))</span></span>
1092
+ <span class="cstat-no" title="statement not covered" > if (oldTable &amp;&amp; !table.schema[key]) {</span>
1093
+ <span class="cstat-no" title="statement not covered" > rows.forEach(<span class="fstat-no" title="function not covered" >ro</span>w =&gt; <span class="cstat-no" title="statement not covered" >addFiles(row, key))</span></span>
863
1094
  } else <span class="cstat-no" title="statement not covered" >if (oldRow &amp;&amp; row) {</span>
864
1095
  // if updating, need to manage the differences
865
1096
  <span class="cstat-no" title="statement not covered" > files = files.concat(getRemovedAttachmentKeys(oldRow, row, key))</span>
866
1097
  } else <span class="cstat-no" title="statement not covered" >if (row) {</span>
867
1098
  <span class="cstat-no" title="statement not covered" > addFiles(row, key)</span>
868
- } else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span>if (rows) {</span>
869
- <span class="cstat-no" title="statement not covered" > rows.forEach(<span class="fstat-no" title="function not covered" >row </span>=&gt; <span class="cstat-no" title="statement not covered" >addFiles(row, key))</span></span>
1099
+ } else <span class="cstat-no" title="statement not covered" >if (rows) {</span>
1100
+ <span class="cstat-no" title="statement not covered" > rows.forEach(<span class="fstat-no" title="function not covered" >ro</span>w =&gt; <span class="cstat-no" title="statement not covered" >addFiles(row, key))</span></span>
870
1101
  }
871
1102
  }
872
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (files.length &gt; 0) {</span>
873
- <span class="cstat-no" title="statement not covered" > return objectStore.deleteFiles(ObjectStoreBuckets.APPS, files)</span>
1103
+ <span class="cstat-no" title="statement not covered" > if (files.length &gt; 0) {</span>
1104
+ <span class="cstat-no" title="statement not covered" > return deleteFiles(ObjectStoreBuckets.APPS, files)</span>
874
1105
  }
875
1106
  }
876
1107
  &nbsp;</pre></td></tr></table></pre>
@@ -880,16 +1111,16 @@ export async function cleanupAttachments(
880
1111
  <div class='footer quiet pad2 space-top1 center small'>
881
1112
  Code coverage generated by
882
1113
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
883
- at Fri Dec 02 2022 17:53:23 GMT+0000 (Coordinated Universal Time)
1114
+ at Mon Dec 05 2022 09:32:59 GMT+0000 (Coordinated Universal Time)
884
1115
  </div>
885
- <script src="../../../prettify.js"></script>
1116
+ <script src="../../prettify.js"></script>
886
1117
  <script>
887
1118
  window.onload = function () {
888
1119
  prettyPrint();
889
1120
  };
890
1121
  </script>
891
- <script src="../../../sorter.js"></script>
892
- <script src="../../../block-navigation.js"></script>
1122
+ <script src="../../sorter.js"></script>
1123
+ <script src="../../block-navigation.js"></script>
893
1124
  </body>
894
1125
  </html>
895
1126