@budibase/server 2.2.12-alpha.4 → 2.2.12-alpha.40

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 (508) hide show
  1. package/builder/assets/{bb-emblem.4e4717da.svg → bb-emblem.05f7ae7a.svg} +1 -1
  2. package/builder/assets/index.80229ab4.css +6 -0
  3. package/builder/assets/{index.11f4795c.js → index.b8f2b884.js} +408 -419
  4. package/builder/index.html +2 -2
  5. package/coverage/clover.xml +4294 -4395
  6. package/coverage/coverage-final.json +278 -279
  7. package/coverage/lcov-report/index.html +395 -395
  8. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +9 -9
  9. package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +6 -6
  10. package/coverage/lcov-report/src/api/controllers/application.ts.html +105 -105
  11. package/coverage/lcov-report/src/api/controllers/auth.ts.html +10 -10
  12. package/coverage/lcov-report/src/api/controllers/automation.ts.html +37 -37
  13. package/coverage/lcov-report/src/api/controllers/backup.ts.html +8 -8
  14. package/coverage/lcov-report/src/api/controllers/cloud.ts.html +16 -16
  15. package/coverage/lcov-report/src/api/controllers/component.ts.html +12 -12
  16. package/coverage/lcov-report/src/api/controllers/datasource.ts.html +24 -24
  17. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +18 -18
  18. package/coverage/lcov-report/src/api/controllers/deploy/index.html +7 -7
  19. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +83 -83
  20. package/coverage/lcov-report/src/api/controllers/dev.ts.html +28 -28
  21. package/coverage/lcov-report/src/api/controllers/index.html +98 -98
  22. package/coverage/lcov-report/src/api/controllers/integration.ts.html +5 -5
  23. package/coverage/lcov-report/src/api/controllers/layout.ts.html +9 -9
  24. package/coverage/lcov-report/src/api/controllers/metadata.ts.html +11 -11
  25. package/coverage/lcov-report/src/api/controllers/migrations.ts.html +6 -6
  26. package/coverage/lcov-report/src/api/controllers/permission.ts.html +14 -14
  27. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +4 -4
  28. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +20 -20
  29. package/coverage/lcov-report/src/api/controllers/plugin/index.html +31 -31
  30. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +26 -26
  31. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +10 -10
  32. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +3 -3
  33. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +4 -4
  34. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +4 -4
  35. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +31 -31
  36. package/coverage/lcov-report/src/api/controllers/public/index.html +58 -58
  37. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +7 -7
  38. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +25 -25
  39. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +9 -9
  40. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +8 -8
  41. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +4 -4
  42. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +4 -4
  43. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +4 -4
  44. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +15 -15
  45. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +21 -21
  46. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +21 -21
  47. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +27 -27
  48. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +8 -8
  49. package/coverage/lcov-report/src/api/controllers/query/import/index.html +8 -8
  50. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +11 -11
  51. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +14 -14
  52. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +14 -14
  53. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +8 -8
  54. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +12 -12
  55. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +23 -23
  56. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +16 -16
  57. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +20 -20
  58. package/coverage/lcov-report/src/api/controllers/query/index.html +15 -15
  59. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +28 -28
  60. package/coverage/lcov-report/src/api/controllers/query/validation.ts.html +9 -9
  61. package/coverage/lcov-report/src/api/controllers/role.ts.html +9 -9
  62. package/coverage/lcov-report/src/api/controllers/routing.ts.html +10 -10
  63. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +55 -37
  64. package/coverage/lcov-report/src/api/controllers/row/external.ts.html +44 -44
  65. package/coverage/lcov-report/src/api/controllers/row/index.html +58 -58
  66. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +36 -36
  67. package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +77 -74
  68. package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +146 -146
  69. package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +33 -33
  70. package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +28 -28
  71. package/coverage/lcov-report/src/api/controllers/screen.ts.html +12 -12
  72. package/coverage/lcov-report/src/api/controllers/script.ts.html +11 -11
  73. package/coverage/lcov-report/src/api/controllers/static/index.html +15 -15
  74. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +34 -34
  75. package/coverage/lcov-report/src/api/controllers/table/bulkFormula.ts.html +60 -60
  76. package/coverage/lcov-report/src/api/controllers/table/external.ts.html +42 -42
  77. package/coverage/lcov-report/src/api/controllers/table/index.html +48 -48
  78. package/coverage/lcov-report/src/api/controllers/table/index.ts.html +155 -68
  79. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +58 -61
  80. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +93 -96
  81. package/coverage/lcov-report/src/api/controllers/templates.ts.html +21 -21
  82. package/coverage/lcov-report/src/api/controllers/user.ts.html +103 -79
  83. package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +64 -19
  84. package/coverage/lcov-report/src/api/controllers/view/index.html +38 -38
  85. package/coverage/lcov-report/src/api/controllers/view/index.ts.html +74 -47
  86. package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +22 -22
  87. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.html +8 -8
  88. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +15 -15
  89. package/coverage/lcov-report/src/api/index.html +15 -15
  90. package/coverage/lcov-report/src/api/index.ts.html +31 -31
  91. package/coverage/lcov-report/src/api/routes/analytics.ts.html +10 -10
  92. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +11 -11
  93. package/coverage/lcov-report/src/api/routes/application.ts.html +13 -13
  94. package/coverage/lcov-report/src/api/routes/auth.ts.html +9 -9
  95. package/coverage/lcov-report/src/api/routes/automation.ts.html +14 -14
  96. package/coverage/lcov-report/src/api/routes/backup.ts.html +11 -11
  97. package/coverage/lcov-report/src/api/routes/cloud.ts.html +11 -11
  98. package/coverage/lcov-report/src/api/routes/component.ts.html +11 -11
  99. package/coverage/lcov-report/src/api/routes/datasource.ts.html +12 -12
  100. package/coverage/lcov-report/src/api/routes/deploy.ts.html +11 -11
  101. package/coverage/lcov-report/src/api/routes/dev.ts.html +17 -17
  102. package/coverage/lcov-report/src/api/routes/index.html +66 -66
  103. package/coverage/lcov-report/src/api/routes/index.ts.html +36 -36
  104. package/coverage/lcov-report/src/api/routes/integration.ts.html +11 -11
  105. package/coverage/lcov-report/src/api/routes/layout.ts.html +11 -11
  106. package/coverage/lcov-report/src/api/routes/metadata.ts.html +12 -12
  107. package/coverage/lcov-report/src/api/routes/migrations.ts.html +10 -10
  108. package/coverage/lcov-report/src/api/routes/permission.ts.html +12 -12
  109. package/coverage/lcov-report/src/api/routes/plugin.ts.html +10 -10
  110. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +16 -16
  111. package/coverage/lcov-report/src/api/routes/public/index.html +24 -24
  112. package/coverage/lcov-report/src/api/routes/public/index.ts.html +60 -60
  113. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +5 -5
  114. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +12 -12
  115. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +11 -11
  116. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +14 -14
  117. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +14 -14
  118. package/coverage/lcov-report/src/api/routes/public/tests/index.html +7 -7
  119. package/coverage/lcov-report/src/api/routes/public/tests/utils.ts.html +5 -5
  120. package/coverage/lcov-report/src/api/routes/public/users.ts.html +14 -14
  121. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +21 -21
  122. package/coverage/lcov-report/src/api/routes/public/utils/index.html +5 -5
  123. package/coverage/lcov-report/src/api/routes/query.ts.html +14 -14
  124. package/coverage/lcov-report/src/api/routes/role.ts.html +12 -12
  125. package/coverage/lcov-report/src/api/routes/routing.ts.html +11 -11
  126. package/coverage/lcov-report/src/api/routes/row.ts.html +13 -13
  127. package/coverage/lcov-report/src/api/routes/screen.ts.html +12 -12
  128. package/coverage/lcov-report/src/api/routes/script.ts.html +13 -13
  129. package/coverage/lcov-report/src/api/routes/static.ts.html +18 -18
  130. package/coverage/lcov-report/src/api/routes/table.ts.html +29 -98
  131. package/coverage/lcov-report/src/api/routes/templates.ts.html +11 -11
  132. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +13 -13
  133. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +23 -23
  134. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +14 -14
  135. package/coverage/lcov-report/src/api/routes/user.ts.html +12 -12
  136. package/coverage/lcov-report/src/api/routes/utils/index.html +3 -3
  137. package/coverage/lcov-report/src/api/routes/utils/validators.ts.html +44 -44
  138. package/coverage/lcov-report/src/api/routes/view.ts.html +13 -13
  139. package/coverage/lcov-report/src/api/routes/webhook.ts.html +13 -13
  140. package/coverage/lcov-report/src/app.ts.html +22 -16
  141. package/coverage/lcov-report/src/automations/actions.ts.html +31 -31
  142. package/coverage/lcov-report/src/automations/automationUtils.ts.html +61 -61
  143. package/coverage/lcov-report/src/automations/bullboard.ts.html +19 -19
  144. package/coverage/lcov-report/src/automations/index.html +53 -53
  145. package/coverage/lcov-report/src/automations/index.ts.html +23 -23
  146. package/coverage/lcov-report/src/automations/logging/index.html +3 -3
  147. package/coverage/lcov-report/src/automations/logging/index.ts.html +10 -10
  148. package/coverage/lcov-report/src/automations/steps/bash.ts.html +11 -11
  149. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +9 -9
  150. package/coverage/lcov-report/src/automations/steps/delay.ts.html +7 -7
  151. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +9 -9
  152. package/coverage/lcov-report/src/automations/steps/discord.ts.html +11 -11
  153. package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +9 -9
  154. package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +9 -9
  155. package/coverage/lcov-report/src/automations/steps/filter.ts.html +12 -12
  156. package/coverage/lcov-report/src/automations/steps/index.html +75 -75
  157. package/coverage/lcov-report/src/automations/steps/integromat.ts.html +10 -10
  158. package/coverage/lcov-report/src/automations/steps/loop.ts.html +5 -5
  159. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +19 -19
  160. package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +43 -43
  161. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +9 -9
  162. package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +10 -10
  163. package/coverage/lcov-report/src/automations/steps/slack.ts.html +10 -10
  164. package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +9 -9
  165. package/coverage/lcov-report/src/automations/steps/utils.ts.html +12 -12
  166. package/coverage/lcov-report/src/automations/steps/zapier.ts.html +8 -8
  167. package/coverage/lcov-report/src/automations/tests/utilities/index.html +15 -15
  168. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +24 -24
  169. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +6 -6
  170. package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +6 -6
  171. package/coverage/lcov-report/src/automations/triggerInfo/index.html +17 -17
  172. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +10 -10
  173. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +6 -6
  174. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +6 -6
  175. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +6 -6
  176. package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +6 -6
  177. package/coverage/lcov-report/src/automations/triggers.ts.html +53 -38
  178. package/coverage/lcov-report/src/automations/utils.ts.html +65 -65
  179. package/coverage/lcov-report/src/constants/index.html +19 -19
  180. package/coverage/lcov-report/src/constants/index.ts.html +80 -80
  181. package/coverage/lcov-report/src/constants/layouts.ts.html +9 -9
  182. package/coverage/lcov-report/src/constants/screens.ts.html +4 -4
  183. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +45 -45
  184. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +8 -8
  185. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +8 -8
  186. package/coverage/lcov-report/src/db/defaultData/index.html +43 -43
  187. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +8 -8
  188. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +8 -8
  189. package/coverage/lcov-report/src/db/dynamoClient.ts.html +26 -26
  190. package/coverage/lcov-report/src/db/inMemoryView.ts.html +13 -13
  191. package/coverage/lcov-report/src/db/index.html +32 -32
  192. package/coverage/lcov-report/src/db/index.ts.html +10 -10
  193. package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +38 -38
  194. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +7 -7
  195. package/coverage/lcov-report/src/db/linkedRows/index.html +37 -37
  196. package/coverage/lcov-report/src/db/linkedRows/index.ts.html +40 -40
  197. package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +25 -25
  198. package/coverage/lcov-report/src/db/newid.ts.html +5 -5
  199. package/coverage/lcov-report/src/db/utils.ts.html +75 -75
  200. package/coverage/lcov-report/src/definitions/automations.ts.html +5 -5
  201. package/coverage/lcov-report/src/definitions/datasource.ts.html +5 -5
  202. package/coverage/lcov-report/src/definitions/index.html +4 -4
  203. package/coverage/lcov-report/src/environment.ts.html +16 -16
  204. package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +14 -14
  205. package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +8 -8
  206. package/coverage/lcov-report/src/events/index.html +20 -20
  207. package/coverage/lcov-report/src/events/index.ts.html +7 -7
  208. package/coverage/lcov-report/src/events/utils.ts.html +11 -11
  209. package/coverage/lcov-report/src/index.html +36 -36
  210. package/coverage/lcov-report/src/index.ts.html +6 -6
  211. package/coverage/lcov-report/src/integrations/airtable.ts.html +10 -10
  212. package/coverage/lcov-report/src/integrations/arangodb.ts.html +9 -9
  213. package/coverage/lcov-report/src/integrations/base/index.html +20 -20
  214. package/coverage/lcov-report/src/integrations/base/query.ts.html +3 -3
  215. package/coverage/lcov-report/src/integrations/base/sql.ts.html +37 -37
  216. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +21 -21
  217. package/coverage/lcov-report/src/integrations/base/utils.ts.html +5 -5
  218. package/coverage/lcov-report/src/integrations/couchdb.ts.html +10 -10
  219. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +15 -15
  220. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +9 -9
  221. package/coverage/lcov-report/src/integrations/firebase.ts.html +12 -12
  222. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +41 -41
  223. package/coverage/lcov-report/src/integrations/index.html +125 -125
  224. package/coverage/lcov-report/src/integrations/index.ts.html +40 -40
  225. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +31 -31
  226. package/coverage/lcov-report/src/integrations/mongodb.ts.html +421 -289
  227. package/coverage/lcov-report/src/integrations/mysql.ts.html +27 -27
  228. package/coverage/lcov-report/src/integrations/oracle.ts.html +31 -31
  229. package/coverage/lcov-report/src/integrations/postgres.ts.html +22 -22
  230. package/coverage/lcov-report/src/integrations/queries/index.html +5 -5
  231. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +6 -6
  232. package/coverage/lcov-report/src/integrations/redis.ts.html +8 -8
  233. package/coverage/lcov-report/src/integrations/rest.ts.html +28 -28
  234. package/coverage/lcov-report/src/integrations/s3.ts.html +17 -17
  235. package/coverage/lcov-report/src/integrations/snowflake.ts.html +15 -15
  236. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  237. package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
  238. package/coverage/lcov-report/src/integrations/utils.ts.html +49 -49
  239. package/coverage/lcov-report/src/middleware/appInfo.ts.html +11 -11
  240. package/coverage/lcov-report/src/middleware/authorized.ts.html +31 -19
  241. package/coverage/lcov-report/src/middleware/builder.ts.html +15 -15
  242. package/coverage/lcov-report/src/middleware/currentapp.ts.html +18 -15
  243. package/coverage/lcov-report/src/middleware/index.html +40 -40
  244. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +10 -10
  245. package/coverage/lcov-report/src/middleware/publicApi.ts.html +9 -9
  246. package/coverage/lcov-report/src/middleware/resourceId.ts.html +23 -23
  247. package/coverage/lcov-report/src/middleware/selfhost.ts.html +2 -2
  248. package/coverage/lcov-report/src/middleware/utils.ts.html +3 -3
  249. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +6 -6
  250. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +7 -7
  251. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +7 -7
  252. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +31 -31
  253. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +8 -8
  254. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +13 -13
  255. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +7 -7
  256. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +7 -7
  257. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +8 -8
  258. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +21 -21
  259. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +10 -10
  260. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +19 -19
  261. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +9 -9
  262. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +13 -13
  263. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +23 -23
  264. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +26 -26
  265. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +7 -7
  266. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +14 -14
  267. package/coverage/lcov-report/src/migrations/functions/index.html +18 -18
  268. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +8 -8
  269. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +11 -11
  270. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +11 -11
  271. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +3 -3
  272. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +6 -6
  273. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +8 -8
  274. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +7 -7
  275. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +4 -4
  276. package/coverage/lcov-report/src/migrations/index.html +15 -15
  277. package/coverage/lcov-report/src/migrations/index.ts.html +43 -43
  278. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +4 -4
  279. package/coverage/lcov-report/src/migrations/tests/index.html +6 -6
  280. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +3 -3
  281. package/coverage/lcov-report/src/sdk/app/applications/index.html +11 -11
  282. package/coverage/lcov-report/src/sdk/app/applications/index.ts.html +6 -6
  283. package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +24 -24
  284. package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +15 -15
  285. package/coverage/lcov-report/src/sdk/app/automations/index.html +7 -7
  286. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +5 -5
  287. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +8 -8
  288. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +5 -5
  289. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +30 -30
  290. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +24 -24
  291. package/coverage/lcov-report/src/sdk/app/backups/index.html +27 -27
  292. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +7 -7
  293. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +12 -12
  294. package/coverage/lcov-report/src/sdk/app/rows/attachments.ts.html +8 -8
  295. package/coverage/lcov-report/src/sdk/app/rows/index.html +8 -8
  296. package/coverage/lcov-report/src/sdk/app/rows/index.ts.html +6 -6
  297. package/coverage/lcov-report/src/sdk/app/rows/rows.ts.html +4 -4
  298. package/coverage/lcov-report/src/sdk/app/tables/index.html +11 -11
  299. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +16 -16
  300. package/coverage/lcov-report/src/sdk/index.html +5 -5
  301. package/coverage/lcov-report/src/sdk/index.ts.html +11 -11
  302. package/coverage/lcov-report/src/sdk/users/index.html +6 -6
  303. package/coverage/lcov-report/src/sdk/users/index.ts.html +5 -5
  304. package/coverage/lcov-report/src/sdk/users/utils.ts.html +29 -29
  305. package/coverage/lcov-report/src/startup.ts.html +40 -55
  306. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +108 -108
  307. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +20 -20
  308. package/coverage/lcov-report/src/tests/utilities/index.html +30 -30
  309. package/coverage/lcov-report/src/tests/utilities/index.ts.html +2 -2
  310. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +231 -42
  311. package/coverage/lcov-report/src/threads/automation.ts.html +202 -190
  312. package/coverage/lcov-report/src/threads/index.html +43 -43
  313. package/coverage/lcov-report/src/threads/index.ts.html +38 -38
  314. package/coverage/lcov-report/src/threads/query.ts.html +12 -12
  315. package/coverage/lcov-report/src/threads/utils.ts.html +26 -26
  316. package/coverage/lcov-report/src/utilities/budibaseDir.ts.html +4 -4
  317. package/coverage/lcov-report/src/utilities/centralPath.ts.html +5 -5
  318. package/coverage/lcov-report/src/utilities/fileSystem/app.ts.html +10 -10
  319. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +12 -12
  320. package/coverage/lcov-report/src/utilities/fileSystem/filesystem.ts.html +20 -20
  321. package/coverage/lcov-report/src/utilities/fileSystem/index.html +42 -42
  322. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +1 -1
  323. package/coverage/lcov-report/src/utilities/fileSystem/plugin.ts.html +6 -6
  324. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +9 -9
  325. package/coverage/lcov-report/src/utilities/fileSystem/template.ts.html +5 -5
  326. package/coverage/lcov-report/src/utilities/global.ts.html +54 -54
  327. package/coverage/lcov-report/src/utilities/index.html +74 -89
  328. package/coverage/lcov-report/src/utilities/index.ts.html +32 -32
  329. package/coverage/lcov-report/src/utilities/redis.ts.html +35 -35
  330. package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
  331. package/coverage/lcov-report/src/utilities/routing/index.ts.html +5 -5
  332. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +32 -32
  333. package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +67 -67
  334. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +9 -9
  335. package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +26 -26
  336. package/coverage/lcov-report/src/utilities/{csvParser.ts.html → schema.ts.html} +173 -233
  337. package/coverage/lcov-report/src/utilities/scriptRunner.ts.html +8 -8
  338. package/coverage/lcov-report/src/utilities/security.ts.html +13 -13
  339. package/coverage/lcov-report/src/utilities/usageQuota/index.html +9 -9
  340. package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +8 -8
  341. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +3 -3
  342. package/coverage/lcov-report/src/utilities/users.ts.html +7 -7
  343. package/coverage/lcov-report/src/utilities/workerRequests.ts.html +61 -34
  344. package/coverage/lcov-report/src/watch.ts.html +20 -20
  345. package/coverage/lcov-report/src/websocket.ts.html +5 -5
  346. package/coverage/lcov.info +10214 -9826
  347. package/dist/api/controllers/query/index.js +5 -2
  348. package/dist/api/controllers/row/ExternalRequest.js +7 -0
  349. package/dist/api/controllers/row/internal.js +12 -8
  350. package/dist/api/controllers/static/index.js +7 -4
  351. package/dist/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  352. package/dist/api/controllers/table/external.js +8 -30
  353. package/dist/api/controllers/table/index.js +44 -15
  354. package/dist/api/controllers/table/internal.js +6 -7
  355. package/dist/api/controllers/table/utils.js +9 -9
  356. package/dist/api/controllers/user.js +14 -6
  357. package/dist/api/controllers/view/exporters.js +22 -6
  358. package/dist/api/controllers/view/index.js +19 -34
  359. package/dist/api/controllers/view/viewBuilder.js +15 -2
  360. package/dist/api/routes/analytics.js +2 -1
  361. package/dist/api/routes/apikeys.js +2 -1
  362. package/dist/api/routes/application.js +2 -1
  363. package/dist/api/routes/auth.js +2 -1
  364. package/dist/api/routes/automation.js +2 -1
  365. package/dist/api/routes/backup.js +2 -1
  366. package/dist/api/routes/cloud.js +2 -1
  367. package/dist/api/routes/component.js +2 -1
  368. package/dist/api/routes/datasource.js +2 -1
  369. package/dist/api/routes/deploy.js +2 -1
  370. package/dist/api/routes/dev.js +2 -1
  371. package/dist/api/routes/integration.js +2 -1
  372. package/dist/api/routes/layout.js +2 -1
  373. package/dist/api/routes/metadata.js +2 -1
  374. package/dist/api/routes/migrations.js +2 -1
  375. package/dist/api/routes/permission.js +2 -1
  376. package/dist/api/routes/query.js +2 -1
  377. package/dist/api/routes/role.js +2 -1
  378. package/dist/api/routes/routing.js +2 -1
  379. package/dist/api/routes/screen.js +2 -1
  380. package/dist/api/routes/script.js +2 -1
  381. package/dist/api/routes/static.js +6 -5
  382. package/dist/api/routes/table.js +8 -38
  383. package/dist/api/routes/templates.js +2 -1
  384. package/dist/api/routes/user.js +2 -1
  385. package/dist/api/routes/utils/validators.js +1 -1
  386. package/dist/api/routes/view.js +2 -1
  387. package/dist/api/routes/webhook.js +2 -1
  388. package/dist/app.js +9 -7
  389. package/dist/automations/logging/index.js +5 -25
  390. package/dist/automations/triggers.js +1 -0
  391. package/dist/db/index.js +5 -2
  392. package/dist/db/linkedRows/LinkController.js +2 -1
  393. package/dist/db/linkedRows/LinkDocument.js +2 -1
  394. package/dist/db/newid.js +4 -2
  395. package/dist/environment.js +2 -1
  396. package/dist/events/AutomationEmitter.js +2 -1
  397. package/dist/events/BudibaseEmitter.js +2 -1
  398. package/dist/events/index.js +2 -1
  399. package/dist/integrations/index.js +5 -5
  400. package/dist/integrations/mongodb.js +311 -271
  401. package/dist/middleware/authorized.js +2 -1
  402. package/dist/middleware/builder.js +4 -2
  403. package/dist/middleware/currentapp.js +6 -3
  404. package/dist/middleware/publicApi.js +4 -2
  405. package/dist/middleware/selfhost.js +4 -1
  406. package/dist/package.json +9 -7
  407. package/dist/startup.js +17 -17
  408. package/dist/threads/automation.js +9 -5
  409. package/dist/threads/index.js +4 -4
  410. package/dist/tsconfig.build.tsbuildinfo +1 -1
  411. package/dist/utilities/fileSystem/filesystem.js +3 -3
  412. package/dist/utilities/schema.js +108 -0
  413. package/dist/utilities/scriptRunner.js +2 -1
  414. package/dist/utilities/statusCodes.js +2 -1
  415. package/dist/utilities/workerRequests.js +2 -0
  416. package/dist/watch.js +2 -25
  417. package/jest.config.ts +5 -2
  418. package/package.json +10 -8
  419. package/src/api/controllers/query/index.ts +2 -2
  420. package/src/api/controllers/row/ExternalRequest.ts +6 -0
  421. package/src/api/controllers/row/internal.ts +10 -9
  422. package/src/api/controllers/static/index.ts +1 -1
  423. package/src/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  424. package/src/api/controllers/table/external.ts +10 -10
  425. package/src/api/controllers/table/index.ts +46 -17
  426. package/src/api/controllers/table/internal.ts +6 -7
  427. package/src/api/controllers/table/utils.ts +12 -13
  428. package/src/api/controllers/user.ts +21 -13
  429. package/src/api/controllers/view/exporters.ts +20 -5
  430. package/src/api/controllers/view/index.ts +21 -12
  431. package/src/api/controllers/view/tests/viewBuilder.spec.js +1 -1
  432. package/src/api/controllers/view/viewBuilder.ts +1 -1
  433. package/src/api/routes/analytics.ts +1 -1
  434. package/src/api/routes/apikeys.ts +1 -1
  435. package/src/api/routes/application.ts +1 -1
  436. package/src/api/routes/auth.ts +1 -1
  437. package/src/api/routes/automation.ts +1 -1
  438. package/src/api/routes/backup.ts +1 -1
  439. package/src/api/routes/cloud.ts +1 -1
  440. package/src/api/routes/component.ts +1 -1
  441. package/src/api/routes/datasource.ts +1 -1
  442. package/src/api/routes/deploy.ts +1 -1
  443. package/src/api/routes/dev.ts +1 -1
  444. package/src/api/routes/integration.ts +1 -1
  445. package/src/api/routes/layout.ts +1 -1
  446. package/src/api/routes/metadata.ts +1 -1
  447. package/src/api/routes/migrations.ts +1 -1
  448. package/src/api/routes/permission.ts +1 -1
  449. package/src/api/routes/query.ts +1 -1
  450. package/src/api/routes/role.ts +1 -1
  451. package/src/api/routes/routing.ts +1 -1
  452. package/src/api/routes/screen.ts +1 -1
  453. package/src/api/routes/script.ts +1 -1
  454. package/src/api/routes/static.ts +2 -2
  455. package/src/api/routes/table.ts +16 -39
  456. package/src/api/routes/templates.ts +1 -1
  457. package/src/api/routes/tests/misc.spec.js +4 -10
  458. package/src/api/routes/tests/plugin.spec.ts +10 -10
  459. package/src/api/routes/tests/table.spec.js +8 -30
  460. package/src/api/routes/tests/user.spec.js +20 -1
  461. package/src/api/routes/tests/utilities/TestFunctions.ts +1 -1
  462. package/src/api/routes/user.ts +1 -1
  463. package/src/api/routes/utils/validators.ts +1 -1
  464. package/src/api/routes/view.ts +1 -1
  465. package/src/api/routes/webhook.ts +1 -1
  466. package/src/app.ts +5 -3
  467. package/src/automations/logging/index.ts +1 -1
  468. package/src/automations/tests/loop.spec.ts +45 -0
  469. package/src/automations/triggers.ts +6 -1
  470. package/src/db/index.ts +1 -1
  471. package/src/db/linkedRows/LinkController.ts +1 -1
  472. package/src/db/linkedRows/LinkDocument.ts +1 -1
  473. package/src/db/newid.ts +1 -1
  474. package/src/db/tests/linkController.spec.js +1 -1
  475. package/src/environment.ts +1 -1
  476. package/src/events/AutomationEmitter.ts +1 -1
  477. package/src/events/BudibaseEmitter.ts +1 -1
  478. package/src/events/index.ts +1 -1
  479. package/src/integrations/index.ts +4 -4
  480. package/src/integrations/mongodb.ts +315 -271
  481. package/src/integrations/tests/rest.spec.ts +15 -13
  482. package/src/middleware/authorized.ts +5 -1
  483. package/src/middleware/builder.ts +1 -1
  484. package/src/middleware/currentapp.ts +4 -3
  485. package/src/middleware/publicApi.ts +1 -1
  486. package/src/middleware/selfhost.ts +1 -1
  487. package/src/middleware/tests/authorized.spec.js +1 -1
  488. package/src/middleware/tests/currentapp.spec.js +1 -1
  489. package/src/middleware/tests/selfhost.spec.js +1 -1
  490. package/src/startup.ts +3 -8
  491. package/src/tests/jestEnv.ts +13 -0
  492. package/src/tests/jestSetup.ts +0 -14
  493. package/src/tests/utilities/TestConfiguration.ts +1 -1
  494. package/src/tests/utilities/structures.ts +65 -2
  495. package/src/threads/automation.ts +9 -5
  496. package/src/threads/index.ts +1 -1
  497. package/src/utilities/fileSystem/filesystem.ts +1 -1
  498. package/src/utilities/schema.ts +141 -0
  499. package/src/utilities/scriptRunner.ts +1 -1
  500. package/src/utilities/statusCodes.ts +1 -1
  501. package/src/utilities/workerRequests.ts +10 -1
  502. package/src/watch.ts +1 -1
  503. package/builder/assets/index.fa480d5b.css +0 -6
  504. package/coverage/lcov-report/src/utilities/statusCodes.ts.html +0 -106
  505. package/dist/utilities/csvParser.js +0 -152
  506. package/src/utilities/csvParser.ts +0 -161
  507. package/src/utilities/tests/__snapshots__/csvParser.spec.js.snap +0 -15
  508. package/src/utilities/tests/csvParser.spec.js +0 -112
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">70.1% </span>
26
+ <span class="strong">64.13% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>129/184</span>
28
+ <span class='fraction'>118/184</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">45% </span>
33
+ <span class="strong">45.9% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>27/60</span>
35
+ <span class='fraction'>28/61</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">64.51% </span>
40
+ <span class="strong">51.11% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>20/31</span>
42
+ <span class='fraction'>23/45</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">70.22% </span>
47
+ <span class="strong">64.04% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>125/178</span>
49
+ <span class='fraction'>114/178</span>
50
50
  </div>
51
51
 
52
52
 
@@ -452,28 +452,27 @@
452
452
  <a name='L387'></a><a href='#L387'>387</a>
453
453
  <a name='L388'></a><a href='#L388'>388</a>
454
454
  <a name='L389'></a><a href='#L389'>389</a>
455
- <a name='L390'></a><a href='#L390'>390</a>
456
- <a name='L391'></a><a href='#L391'>391</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
457
- <span class="cline-any cline-yes">55x</span>
458
- <span class="cline-any cline-yes">55x</span>
459
- <span class="cline-any cline-yes">55x</span>
460
- <span class="cline-any cline-yes">55x</span>
455
+ <a name='L390'></a><a href='#L390'>390</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">56x</span>
456
+ <span class="cline-any cline-yes">56x</span>
457
+ <span class="cline-any cline-yes">56x</span>
458
+ <span class="cline-any cline-yes">56x</span>
461
459
  <span class="cline-any cline-neutral">&nbsp;</span>
462
460
  <span class="cline-any cline-neutral">&nbsp;</span>
463
461
  <span class="cline-any cline-neutral">&nbsp;</span>
464
- <span class="cline-any cline-yes">55x</span>
462
+ <span class="cline-any cline-yes">56x</span>
465
463
  <span class="cline-any cline-neutral">&nbsp;</span>
466
464
  <span class="cline-any cline-neutral">&nbsp;</span>
467
465
  <span class="cline-any cline-neutral">&nbsp;</span>
468
466
  <span class="cline-any cline-neutral">&nbsp;</span>
469
- <span class="cline-any cline-yes">55x</span>
470
- <span class="cline-any cline-yes">55x</span>
471
- <span class="cline-any cline-yes">55x</span>
472
- <span class="cline-any cline-yes">55x</span>
473
- <span class="cline-any cline-yes">55x</span>
474
467
  <span class="cline-any cline-neutral">&nbsp;</span>
468
+ <span class="cline-any cline-yes">56x</span>
469
+ <span class="cline-any cline-yes">56x</span>
470
+ <span class="cline-any cline-yes">56x</span>
471
+ <span class="cline-any cline-yes">56x</span>
472
+ <span class="cline-any cline-yes">56x</span>
475
473
  <span class="cline-any cline-neutral">&nbsp;</span>
476
- <span class="cline-any cline-yes">55x</span>
474
+ <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-no">&nbsp;</span>
477
476
  <span class="cline-any cline-no">&nbsp;</span>
478
477
  <span class="cline-any cline-no">&nbsp;</span>
479
478
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -488,18 +487,18 @@
488
487
  <span class="cline-any cline-neutral">&nbsp;</span>
489
488
  <span class="cline-any cline-neutral">&nbsp;</span>
490
489
  <span class="cline-any cline-neutral">&nbsp;</span>
491
- <span class="cline-any cline-yes">55x</span>
492
- <span class="cline-any cline-yes">130x</span>
493
- <span class="cline-any cline-yes">130x</span>
494
- <span class="cline-any cline-yes">130x</span>
495
- <span class="cline-any cline-yes">130x</span>
496
- <span class="cline-any cline-yes">130x</span>
490
+ <span class="cline-any cline-no">&nbsp;</span>
491
+ <span class="cline-any cline-yes">132x</span>
492
+ <span class="cline-any cline-yes">132x</span>
493
+ <span class="cline-any cline-yes">132x</span>
494
+ <span class="cline-any cline-yes">132x</span>
495
+ <span class="cline-any cline-yes">132x</span>
497
496
  <span class="cline-any cline-yes">6x</span>
498
497
  <span class="cline-any cline-yes">15x</span>
499
498
  <span class="cline-any cline-neutral">&nbsp;</span>
500
499
  <span class="cline-any cline-neutral">&nbsp;</span>
501
500
  <span class="cline-any cline-neutral">&nbsp;</span>
502
- <span class="cline-any cline-yes">130x</span>
501
+ <span class="cline-any cline-yes">132x</span>
503
502
  <span class="cline-any cline-neutral">&nbsp;</span>
504
503
  <span class="cline-any cline-yes">1x</span>
505
504
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -524,11 +523,11 @@
524
523
  <span class="cline-any cline-yes">1x</span>
525
524
  <span class="cline-any cline-yes">1x</span>
526
525
  <span class="cline-any cline-neutral">&nbsp;</span>
527
- <span class="cline-any cline-yes">130x</span>
526
+ <span class="cline-any cline-yes">132x</span>
528
527
  <span class="cline-any cline-neutral">&nbsp;</span>
529
528
  <span class="cline-any cline-neutral">&nbsp;</span>
530
529
  <span class="cline-any cline-neutral">&nbsp;</span>
531
- <span class="cline-any cline-yes">55x</span>
530
+ <span class="cline-any cline-no">&nbsp;</span>
532
531
  <span class="cline-any cline-yes">6x</span>
533
532
  <span class="cline-any cline-no">&nbsp;</span>
534
533
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -550,7 +549,7 @@
550
549
  <span class="cline-any cline-yes">6x</span>
551
550
  <span class="cline-any cline-neutral">&nbsp;</span>
552
551
  <span class="cline-any cline-neutral">&nbsp;</span>
553
- <span class="cline-any cline-yes">55x</span>
552
+ <span class="cline-any cline-no">&nbsp;</span>
554
553
  <span class="cline-any cline-yes">3x</span>
555
554
  <span class="cline-any cline-yes">3x</span>
556
555
  <span class="cline-any cline-yes">3x</span>
@@ -583,31 +582,30 @@
583
582
  <span class="cline-any cline-yes">3x</span>
584
583
  <span class="cline-any cline-neutral">&nbsp;</span>
585
584
  <span class="cline-any cline-neutral">&nbsp;</span>
586
- <span class="cline-any cline-yes">55x</span>
587
- <span class="cline-any cline-yes">132x</span>
588
- <span class="cline-any cline-yes">129x</span>
585
+ <span class="cline-any cline-yes">2x</span>
586
+ <span class="cline-any cline-yes">134x</span>
589
587
  <span class="cline-any cline-neutral">&nbsp;</span>
588
+ <span class="cline-any cline-yes">134x</span>
589
+ <span class="cline-any cline-yes">131x</span>
590
590
  <span class="cline-any cline-neutral">&nbsp;</span>
591
- <span class="cline-any cline-yes">3x</span>
592
591
  <span class="cline-any cline-neutral">&nbsp;</span>
593
592
  <span class="cline-any cline-yes">3x</span>
594
- <span class="cline-any cline-neutral">&nbsp;</span>
595
- <span class="cline-any cline-neutral">&nbsp;</span>
596
- <span class="cline-any cline-neutral">&nbsp;</span>
593
+ <span class="cline-any cline-yes">3x</span>
597
594
  <span class="cline-any cline-neutral">&nbsp;</span>
598
595
  <span class="cline-any cline-yes">3x</span>
599
596
  <span class="cline-any cline-neutral">&nbsp;</span>
600
597
  <span class="cline-any cline-yes">3x</span>
601
598
  <span class="cline-any cline-neutral">&nbsp;</span>
602
599
  <span class="cline-any cline-neutral">&nbsp;</span>
600
+ <span class="cline-any cline-neutral">&nbsp;</span>
603
601
  <span class="cline-any cline-yes">3x</span>
604
602
  <span class="cline-any cline-yes">3x</span>
605
603
  <span class="cline-any cline-neutral">&nbsp;</span>
606
604
  <span class="cline-any cline-neutral">&nbsp;</span>
607
- <span class="cline-any cline-yes">55x</span>
608
- <span class="cline-any cline-yes">130x</span>
605
+ <span class="cline-any cline-no">&nbsp;</span>
606
+ <span class="cline-any cline-yes">132x</span>
609
607
  <span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-yes">130x</span>
608
+ <span class="cline-any cline-yes">132x</span>
611
609
  <span class="cline-any cline-yes">2x</span>
612
610
  <span class="cline-any cline-yes">2x</span>
613
611
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -645,12 +643,12 @@
645
643
  <span class="cline-any cline-neutral">&nbsp;</span>
646
644
  <span class="cline-any cline-neutral">&nbsp;</span>
647
645
  <span class="cline-any cline-neutral">&nbsp;</span>
648
- <span class="cline-any cline-yes">130x</span>
646
+ <span class="cline-any cline-yes">132x</span>
649
647
  <span class="cline-any cline-neutral">&nbsp;</span>
650
648
  <span class="cline-any cline-neutral">&nbsp;</span>
651
- <span class="cline-any cline-yes">55x</span>
649
+ <span class="cline-any cline-no">&nbsp;</span>
652
650
  <span class="cline-any cline-neutral">&nbsp;</span>
653
- <span class="cline-any cline-yes">130x</span>
651
+ <span class="cline-any cline-yes">132x</span>
654
652
  <span class="cline-any cline-yes">1x</span>
655
653
  <span class="cline-any cline-neutral">&nbsp;</span>
656
654
  <span class="cline-any cline-yes">5x</span>
@@ -658,7 +656,7 @@
658
656
  <span class="cline-any cline-neutral">&nbsp;</span>
659
657
  <span class="cline-any cline-neutral">&nbsp;</span>
660
658
  <span class="cline-any cline-neutral">&nbsp;</span>
661
- <span class="cline-any cline-yes">130x</span>
659
+ <span class="cline-any cline-yes">132x</span>
662
660
  <span class="cline-any cline-neutral">&nbsp;</span>
663
661
  <span class="cline-any cline-neutral">&nbsp;</span>
664
662
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -669,43 +667,43 @@
669
667
  <span class="cline-any cline-neutral">&nbsp;</span>
670
668
  <span class="cline-any cline-neutral">&nbsp;</span>
671
669
  <span class="cline-any cline-neutral">&nbsp;</span>
672
- <span class="cline-any cline-yes">130x</span>
673
- <span class="cline-any cline-yes">130x</span>
674
- <span class="cline-any cline-yes">130x</span>
675
- <span class="cline-any cline-yes">130x</span>
670
+ <span class="cline-any cline-yes">132x</span>
671
+ <span class="cline-any cline-yes">132x</span>
672
+ <span class="cline-any cline-yes">132x</span>
673
+ <span class="cline-any cline-yes">132x</span>
676
674
  <span class="cline-any cline-neutral">&nbsp;</span>
677
- <span class="cline-any cline-yes">130x</span>
675
+ <span class="cline-any cline-yes">132x</span>
678
676
  <span class="cline-any cline-neutral">&nbsp;</span>
679
677
  <span class="cline-any cline-neutral">&nbsp;</span>
680
678
  <span class="cline-any cline-neutral">&nbsp;</span>
681
679
  <span class="cline-any cline-neutral">&nbsp;</span>
682
- <span class="cline-any cline-yes">130x</span>
680
+ <span class="cline-any cline-yes">132x</span>
683
681
  <span class="cline-any cline-yes">6x</span>
684
682
  <span class="cline-any cline-neutral">&nbsp;</span>
685
- <span class="cline-any cline-yes">130x</span>
686
- <span class="cline-any cline-yes">130x</span>
683
+ <span class="cline-any cline-yes">132x</span>
684
+ <span class="cline-any cline-yes">132x</span>
687
685
  <span class="cline-any cline-neutral">&nbsp;</span>
688
686
  <span class="cline-any cline-neutral">&nbsp;</span>
689
687
  <span class="cline-any cline-neutral">&nbsp;</span>
690
688
  <span class="cline-any cline-neutral">&nbsp;</span>
691
- <span class="cline-any cline-yes">130x</span>
692
- <span class="cline-any cline-yes">130x</span>
693
- <span class="cline-any cline-yes">130x</span>
689
+ <span class="cline-any cline-yes">132x</span>
690
+ <span class="cline-any cline-yes">132x</span>
691
+ <span class="cline-any cline-yes">132x</span>
694
692
  <span class="cline-any cline-neutral">&nbsp;</span>
695
693
  <span class="cline-any cline-neutral">&nbsp;</span>
696
694
  <span class="cline-any cline-neutral">&nbsp;</span>
697
695
  <span class="cline-any cline-neutral">&nbsp;</span>
698
- <span class="cline-any cline-yes">130x</span>
699
- <span class="cline-any cline-yes">130x</span>
700
- <span class="cline-any cline-yes">130x</span>
696
+ <span class="cline-any cline-yes">132x</span>
697
+ <span class="cline-any cline-yes">132x</span>
698
+ <span class="cline-any cline-yes">132x</span>
701
699
  <span class="cline-any cline-neutral">&nbsp;</span>
702
700
  <span class="cline-any cline-neutral">&nbsp;</span>
703
701
  <span class="cline-any cline-neutral">&nbsp;</span>
704
- <span class="cline-any cline-yes">130x</span>
702
+ <span class="cline-any cline-yes">132x</span>
705
703
  <span class="cline-any cline-neutral">&nbsp;</span>
706
704
  <span class="cline-any cline-neutral">&nbsp;</span>
707
705
  <span class="cline-any cline-neutral">&nbsp;</span>
708
- <span class="cline-any cline-yes">55x</span>
706
+ <span class="cline-any cline-no">&nbsp;</span>
709
707
  <span class="cline-any cline-neutral">&nbsp;</span>
710
708
  <span class="cline-any cline-neutral">&nbsp;</span>
711
709
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -781,11 +779,11 @@
781
779
  <span class="cline-any cline-neutral">&nbsp;</span>
782
780
  <span class="cline-any cline-neutral">&nbsp;</span>
783
781
  <span class="cline-any cline-neutral">&nbsp;</span>
784
- <span class="cline-any cline-yes">55x</span>
782
+ <span class="cline-any cline-no">&nbsp;</span>
785
783
  <span class="cline-any cline-no">&nbsp;</span>
786
784
  <span class="cline-any cline-neutral">&nbsp;</span>
787
785
  <span class="cline-any cline-neutral">&nbsp;</span>
788
- <span class="cline-any cline-yes">55x</span>
786
+ <span class="cline-any cline-no">&nbsp;</span>
789
787
  <span class="cline-any cline-neutral">&nbsp;</span>
790
788
  <span class="cline-any cline-neutral">&nbsp;</span>
791
789
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -793,7 +791,7 @@
793
791
  <span class="cline-any cline-no">&nbsp;</span>
794
792
  <span class="cline-any cline-neutral">&nbsp;</span>
795
793
  <span class="cline-any cline-neutral">&nbsp;</span>
796
- <span class="cline-any cline-yes">55x</span>
794
+ <span class="cline-any cline-no">&nbsp;</span>
797
795
  <span class="cline-any cline-no">&nbsp;</span>
798
796
  <span class="cline-any cline-neutral">&nbsp;</span>
799
797
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -805,7 +803,7 @@
805
803
  <span class="cline-any cline-no">&nbsp;</span>
806
804
  <span class="cline-any cline-neutral">&nbsp;</span>
807
805
  <span class="cline-any cline-neutral">&nbsp;</span>
808
- <span class="cline-any cline-yes">55x</span>
806
+ <span class="cline-any cline-no">&nbsp;</span>
809
807
  <span class="cline-any cline-no">&nbsp;</span>
810
808
  <span class="cline-any cline-neutral">&nbsp;</span>
811
809
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -822,9 +820,9 @@
822
820
  <span class="cline-any cline-no">&nbsp;</span>
823
821
  <span class="cline-any cline-neutral">&nbsp;</span>
824
822
  <span class="cline-any cline-neutral">&nbsp;</span>
825
- <span class="cline-any cline-yes">55x</span>
826
- <span class="cline-any cline-yes">130x</span>
827
- <span class="cline-any cline-yes">124x</span>
823
+ <span class="cline-any cline-yes">132x</span>
824
+ <span class="cline-any cline-yes">132x</span>
825
+ <span class="cline-any cline-yes">126x</span>
828
826
  <span class="cline-any cline-neutral">&nbsp;</span>
829
827
  <span class="cline-any cline-neutral">&nbsp;</span>
830
828
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -841,9 +839,9 @@
841
839
  <span class="cline-any cline-yes">6x</span>
842
840
  <span class="cline-any cline-neutral">&nbsp;</span>
843
841
  <span class="cline-any cline-neutral">&nbsp;</span>
844
- <span class="cline-any cline-yes">55x</span>
845
- <span class="cline-any cline-yes">55x</span>
846
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { transform } from "../../../utilities/csvParser"
842
+ <span class="cline-any cline-yes">56x</span>
843
+ <span class="cline-any cline-yes">132x</span>
844
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { parse, isSchema, isRows } from "../../../utilities/schema"
847
845
  import { getRowParams, generateRowID, InternalTables } from "../../../db/utils"
848
846
  import { isEqual } from "lodash"
849
847
  import { AutoFieldSubTypes, FieldTypes } from "../../../constants"
@@ -863,7 +861,7 @@ import { quotas } from "@budibase/pro"
863
861
  import { events, context } from "@budibase/backend-core"
864
862
  import { Database } from "@budibase/types"
865
863
  &nbsp;
866
- export async function <span class="fstat-no" title="function not covered" >clearColumns(</span>table: any, columnNames: any) {
864
+ export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >clearColumns<span class="fstat-no" title="function not covered" >(</span></span>t</span>able: any, columnNames: any) {
867
865
  const db: Database = <span class="cstat-no" title="statement not covered" >context.getAppDB()</span>
868
866
  const rows = <span class="cstat-no" title="statement not covered" >await db.allDocs(</span>
869
867
  getRowParams(table._id, null, {
@@ -878,7 +876,7 @@ export async function <span class="fstat-no" title="function not covered" >clear
878
876
  )) as { id: string; _rev?: string }[]
879
877
  }
880
878
  &nbsp;
881
- export async function checkForColumnUpdates(oldTable: any, updatedTable: any) {
879
+ export async function <span class="cstat-no" title="statement not covered" >checkForColumnUpdates<span class="fstat-no" title="function not covered" >(</span>o</span>ldTable: any, updatedTable: any) {
882
880
  const db = context.getAppDB()
883
881
  let updatedRows = []
884
882
  const rename = updatedTable._rename
@@ -918,7 +916,7 @@ export async function checkForColumnUpdates(oldTable: any, updatedTable: any) {
918
916
  }
919
917
  &nbsp;
920
918
  // makes sure the passed in table isn't going to reset the auto ID
921
- export function makeSureTableUpToDate(table: any, tableToSave: any) {
919
+ export function <span class="cstat-no" title="statement not covered" >makeSureTableUpToDate<span class="fstat-no" title="function not covered" >(</span>t</span>able: any, tableToSave: any) {
922
920
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!table) {
923
921
  <span class="cstat-no" title="statement not covered" > return tableToSave</span>
924
922
  }
@@ -940,7 +938,7 @@ export function makeSureTableUpToDate(table: any, tableToSave: any) {
940
938
  return tableToSave
941
939
  }
942
940
  &nbsp;
943
- export function importToRows(data: any, table: any, user: any = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
941
+ export function <span class="cstat-no" title="statement not covered" >importToRows<span class="fstat-no" title="function not covered" >(</span>d</span>ata: any, table: any, user: any = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
944
942
  let finalData: any = []
945
943
  for (let i = 0; i &lt; data.length; i++) {
946
944
  let row = data[i]
@@ -973,28 +971,27 @@ export function importToRows(data: any, table: any, user: any = <span class="bra
973
971
  return finalData
974
972
  }
975
973
  &nbsp;
976
- export async function handleDataImport(user: any, table: any, dataImport: any) {
977
- if (!dataImport || !dataImport.csvString) {
974
+ export async function handleDataImport(user: any, table: any, rows: any) {
975
+ const schema: unknown = table.schema
976
+ &nbsp;
977
+ if (!rows || !isRows(rows) || !isSchema(schema)) {
978
978
  return table
979
979
  }
980
980
  &nbsp;
981
981
  const db = context.getAppDB()
982
- // Populate the table with rows imported from CSV in a bulk update
983
- const data = await transform({
984
- ...dataImport,
985
- existingTable: table,
986
- })
982
+ const data = parse(rows, schema)
987
983
  &nbsp;
988
984
  let finalData: any = importToRows(data, table, user)
989
985
  &nbsp;
990
986
  await quotas.addRows(finalData.length, () =&gt; db.bulkDocs(finalData), {
991
987
  tableId: table._id,
992
988
  })
993
- await events.rows.imported(table, "csv", finalData.length)
989
+ &nbsp;
990
+ await events.rows.imported(table, finalData.length)
994
991
  return table
995
992
  }
996
993
  &nbsp;
997
- export async function handleSearchIndexes(table: any) {
994
+ export async function <span class="cstat-no" title="statement not covered" >handleSearchIndexes<span class="fstat-no" title="function not covered" >(</span>t</span>able: any) {
998
995
  const db = context.getAppDB()
999
996
  // create relevant search indexes
1000
997
  if (table.indexes &amp;&amp; table.indexes.length &gt; 0) {
@@ -1038,7 +1035,7 @@ export async function handleSearchIndexes(table: any) {
1038
1035
  return table
1039
1036
  }
1040
1037
  &nbsp;
1041
- export function checkStaticTables(table: any) {
1038
+ export function <span class="cstat-no" title="statement not covered" >checkStaticTables<span class="fstat-no" title="function not covered" >(</span>t</span>able: any) {
1042
1039
  // check user schema has all required elements
1043
1040
  if (table._id === InternalTables.USER_METADATA) {
1044
1041
  for (let [key, schema] of Object.entries(USERS_TABLE_SCHEMA.schema)) {
@@ -1055,14 +1052,14 @@ class TableSaveFunctions {
1055
1052
  db: any
1056
1053
  user: any
1057
1054
  oldTable: any
1058
- dataImport: any
1055
+ importRows: any
1059
1056
  rows: any
1060
1057
  &nbsp;
1061
- constructor({ user, oldTable, dataImport }: any) {
1058
+ constructor({ user, oldTable, importRows }: any) {
1062
1059
  this.db = context.getAppDB()
1063
1060
  this.user = user
1064
1061
  this.oldTable = oldTable
1065
- this.dataImport = dataImport
1062
+ this.importRows = importRows
1066
1063
  // any rows that need updated
1067
1064
  this.rows = []
1068
1065
  }
@@ -1086,7 +1083,7 @@ class TableSaveFunctions {
1086
1083
  // after saving
1087
1084
  async after(table: any) {
1088
1085
  table = await handleSearchIndexes(table)
1089
- table = await handleDataImport(this.user, table, this.dataImport)
1086
+ table = await handleDataImport(this.user, table, this.importRows)
1090
1087
  return table
1091
1088
  }
1092
1089
  &nbsp;
@@ -1095,7 +1092,7 @@ class TableSaveFunctions {
1095
1092
  }
1096
1093
  }
1097
1094
  &nbsp;
1098
- export async function checkForViewUpdates(
1095
+ export async function <span class="cstat-no" title="statement not covered" >checkForViewUpdates<span class="fstat-no" title="function not covered" >(</span></span>
1099
1096
  table: any,
1100
1097
  rename: any,
1101
1098
  deletedColumns: any
@@ -1171,11 +1168,11 @@ export async function checkForViewUpdates(
1171
1168
  }
1172
1169
  }
1173
1170
  &nbsp;
1174
- export function <span class="fstat-no" title="function not covered" >generateForeignKey(</span>column: any, relatedTable: any) {
1171
+ export function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >generateForeignKey<span class="fstat-no" title="function not covered" >(</span></span>c</span>olumn: any, relatedTable: any) {
1175
1172
  <span class="cstat-no" title="statement not covered" > return `fk_${relatedTable.name}_${column.fieldName}`</span>
1176
1173
  }
1177
1174
  &nbsp;
1178
- export function <span class="fstat-no" title="function not covered" >generateJunctionTableName(</span>
1175
+ export function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >generateJunctionTableName<span class="fstat-no" title="function not covered" >(</span></span></span>
1179
1176
  column: any,
1180
1177
  table: any,
1181
1178
  relatedTable: any
@@ -1183,7 +1180,7 @@ export function <span class="fstat-no" title="function not covered" >generateJun
1183
1180
  <span class="cstat-no" title="statement not covered" > return `jt_${table.name}_${relatedTable.name}_${column.name}_${column.fieldName}`</span>
1184
1181
  }
1185
1182
  &nbsp;
1186
- export function <span class="fstat-no" title="function not covered" >foreignKeyStructure(</span>keyName: any, meta?: any) {
1183
+ export function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >foreignKeyStructure<span class="fstat-no" title="function not covered" >(</span></span>k</span>eyName: any, meta?: any) {
1187
1184
  const structure: any = <span class="cstat-no" title="statement not covered" >{</span>
1188
1185
  type: FieldTypes.NUMBER,
1189
1186
  constraints: {},
@@ -1195,7 +1192,7 @@ export function <span class="fstat-no" title="function not covered" >foreignKeyS
1195
1192
  <span class="cstat-no" title="statement not covered" > return structure</span>
1196
1193
  }
1197
1194
  &nbsp;
1198
- export function <span class="fstat-no" title="function not covered" >areSwitchableTypes(</span>type1: any, type2: any) {
1195
+ export function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >areSwitchableTypes<span class="fstat-no" title="function not covered" >(</span></span>t</span>ype1: any, type2: any) {
1199
1196
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
1200
1197
  SwitchableTypes.indexOf(type1) === -1 &amp;&amp;
1201
1198
  SwitchableTypes.indexOf(type2) === -1
@@ -1224,7 +1221,7 @@ export function hasTypeChanged(table: any, oldTable: any) {
1224
1221
  continue
1225
1222
  }
1226
1223
  const newType = table.schema[key].type
1227
- <span class="missing-if-branch" title="if path not taken" >I</span>if (oldType !== newType &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!areSwitchableTypes(oldType, newType))</span> {
1224
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (oldType !== newType &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!areSwitchableTypes(oldType, newType)) {</span>
1228
1225
  <span class="cstat-no" title="statement not covered" > return true</span>
1229
1226
  }
1230
1227
  }
@@ -1240,7 +1237,7 @@ export { _TableSaveFunctions as TableSaveFunctions }
1240
1237
  <div class='footer quiet pad2 space-top1 center small'>
1241
1238
  Code coverage generated by
1242
1239
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1243
- at Tue Jan 10 2023 14:54:34 GMT+0000 (Coordinated Universal Time)
1240
+ at Wed Jan 25 2023 19:12:34 GMT+0000 (Coordinated Universal Time)
1244
1241
  </div>
1245
1242
  <script src="../../../../prettify.js"></script>
1246
1243
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">82.35% </span>
26
+ <span class="strong">70% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>14/17</span>
28
+ <span class='fraction'>14/20</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
40
+ <span class="strong">75% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>1/1</span>
42
+ <span class='fraction'>3/4</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">82.35% </span>
47
+ <span class="strong">70% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>14/17</span>
49
+ <span class='fraction'>14/20</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line high'></div>
64
+ <div class='status-line medium'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -106,16 +106,16 @@
106
106
  <a name='L41'></a><a href='#L41'>41</a>
107
107
  <a name='L42'></a><a href='#L42'>42</a>
108
108
  <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">54x</span>
110
- <span class="cline-any cline-yes">54x</span>
111
- <span class="cline-any cline-yes">54x</span>
109
+ <a name='L44'></a><a href='#L44'>44</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
110
+ <span class="cline-any cline-yes">55x</span>
111
+ <span class="cline-any cline-yes">55x</span>
112
112
  <span class="cline-any cline-neutral">&nbsp;</span>
113
113
  <span class="cline-any cline-neutral">&nbsp;</span>
114
114
  <span class="cline-any cline-neutral">&nbsp;</span>
115
115
  <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-yes">54x</span>
116
+ <span class="cline-any cline-yes">55x</span>
117
117
  <span class="cline-any cline-neutral">&nbsp;</span>
118
- <span class="cline-any cline-yes">54x</span>
118
+ <span class="cline-any cline-yes">55x</span>
119
119
  <span class="cline-any cline-yes">1x</span>
120
120
  <span class="cline-any cline-neutral">&nbsp;</span>
121
121
  <span class="cline-any cline-yes">1x</span>
@@ -140,12 +140,12 @@
140
140
  <span class="cline-any cline-neutral">&nbsp;</span>
141
141
  <span class="cline-any cline-neutral">&nbsp;</span>
142
142
  <span class="cline-any cline-neutral">&nbsp;</span>
143
- <span class="cline-any cline-yes">54x</span>
144
- <span class="cline-any cline-neutral">&nbsp;</span>
145
- <span class="cline-any cline-neutral">&nbsp;</span>
146
- <span class="cline-any cline-neutral">&nbsp;</span>
143
+ <span class="cline-any cline-yes">55x</span>
144
+ <span class="cline-any cline-no">&nbsp;</span>
147
145
  <span class="cline-any cline-neutral">&nbsp;</span>
146
+ <span class="cline-any cline-no">&nbsp;</span>
148
147
  <span class="cline-any cline-neutral">&nbsp;</span>
148
+ <span class="cline-any cline-no">&nbsp;</span>
149
149
  <span class="cline-any cline-neutral">&nbsp;</span>
150
150
  <span class="cline-any cline-neutral">&nbsp;</span>
151
151
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -183,12 +183,12 @@ export async function fetch(ctx: BBContext) {
183
183
  &nbsp;
184
184
  // can't currently test this, have to ignore from coverage
185
185
  /* istanbul ignore next */
186
- export async function downloadTemplate(ctx: BBContext) {
187
- const { type, name } = ctx.params
186
+ export async function <span class="fstat-no" title="function not covered" >downloadTemplate(</span>ctx: BBContext) {
187
+ const { type, name } = <span class="cstat-no" title="statement not covered" >ctx.params</span>
188
188
  &nbsp;
189
- await dlTemplate(type, name)
189
+ <span class="cstat-no" title="statement not covered" > await dlTemplate(type, name)</span>
190
190
  &nbsp;
191
- ctx.body = {
191
+ <span class="cstat-no" title="statement not covered" > ctx.body = {</span>
192
192
  message: `template ${type}:${name} downloaded successfully.`,
193
193
  }
194
194
  }
@@ -199,7 +199,7 @@ export async function downloadTemplate(ctx: BBContext) {
199
199
  <div class='footer quiet pad2 space-top1 center small'>
200
200
  Code coverage generated by
201
201
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
202
- at Tue Jan 10 2023 14:54:34 GMT+0000 (Coordinated Universal Time)
202
+ at Wed Jan 25 2023 19:12:34 GMT+0000 (Coordinated Universal Time)
203
203
  </div>
204
204
  <script src="../../../prettify.js"></script>
205
205
  <script>