@budibase/server 2.3.14-alpha.0 → 2.3.14

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 (550) hide show
  1. package/__mocks__/aws-sdk.ts +1 -1
  2. package/builder/assets/{index.a534ca24.css → index.4488f38d.css} +1 -1
  3. package/builder/assets/{index.d7529be1.js → index.c07b0111.js} +235 -235
  4. package/builder/index.html +2 -2
  5. package/coverage/clover.xml +6679 -11409
  6. package/coverage/coverage-final.json +271 -356
  7. package/coverage/lcov-report/index.html +195 -420
  8. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +6 -6
  9. package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +5 -5
  10. package/coverage/lcov-report/src/api/controllers/application.ts.html +140 -140
  11. package/coverage/lcov-report/src/api/controllers/auth.ts.html +9 -9
  12. package/coverage/lcov-report/src/api/controllers/automation.ts.html +47 -47
  13. package/coverage/lcov-report/src/api/controllers/backup.ts.html +6 -6
  14. package/coverage/lcov-report/src/api/controllers/cloud.ts.html +26 -26
  15. package/coverage/lcov-report/src/api/controllers/component.ts.html +5 -5
  16. package/coverage/lcov-report/src/api/controllers/datasource.ts.html +37 -37
  17. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +14 -14
  18. package/coverage/lcov-report/src/api/controllers/deploy/index.html +1 -1
  19. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +81 -81
  20. package/coverage/lcov-report/src/api/controllers/dev.ts.html +26 -26
  21. package/coverage/lcov-report/src/api/controllers/index.html +37 -37
  22. package/coverage/lcov-report/src/api/controllers/integration.ts.html +4 -4
  23. package/coverage/lcov-report/src/api/controllers/layout.ts.html +15 -15
  24. package/coverage/lcov-report/src/api/controllers/metadata.ts.html +9 -9
  25. package/coverage/lcov-report/src/api/controllers/migrations.ts.html +4 -4
  26. package/coverage/lcov-report/src/api/controllers/permission.ts.html +34 -34
  27. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +2 -2
  28. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +4 -4
  29. package/coverage/lcov-report/src/api/controllers/plugin/index.html +1 -1
  30. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +18 -18
  31. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +5 -5
  32. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +5 -5
  33. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +3 -3
  34. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +3 -3
  35. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +6 -6
  36. package/coverage/lcov-report/src/api/controllers/public/index.html +1 -1
  37. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +2 -2
  38. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +1 -1
  39. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +7 -7
  40. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +2 -2
  41. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +2 -2
  42. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +2 -2
  43. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +2 -2
  44. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +4 -4
  45. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +5 -5
  46. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +4 -4
  47. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +6 -6
  48. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +4 -4
  49. package/coverage/lcov-report/src/api/controllers/query/import/index.html +1 -1
  50. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +7 -7
  51. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +1 -1
  52. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +3 -3
  53. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +5 -5
  54. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +7 -7
  55. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +1 -1
  56. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +9 -9
  57. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +13 -13
  58. package/coverage/lcov-report/src/api/controllers/query/index.html +10 -10
  59. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +55 -61
  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 +8 -8
  62. package/coverage/lcov-report/src/api/controllers/routing.ts.html +6 -6
  63. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +419 -431
  64. package/coverage/lcov-report/src/api/controllers/row/external.ts.html +175 -211
  65. package/coverage/lcov-report/src/api/controllers/row/index.html +42 -42
  66. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +79 -79
  67. package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +34 -34
  68. package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +6 -6
  69. package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +22 -22
  70. package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +31 -31
  71. package/coverage/lcov-report/src/api/controllers/screen.ts.html +26 -26
  72. package/coverage/lcov-report/src/api/controllers/script.ts.html +2 -2
  73. package/coverage/lcov-report/src/api/controllers/static/index.html +1 -1
  74. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +22 -22
  75. package/coverage/lcov-report/src/api/controllers/table/bulkFormula.ts.html +51 -51
  76. package/coverage/lcov-report/src/api/controllers/table/external.ts.html +195 -198
  77. package/coverage/lcov-report/src/api/controllers/table/index.html +47 -47
  78. package/coverage/lcov-report/src/api/controllers/table/index.ts.html +42 -42
  79. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +61 -61
  80. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +63 -63
  81. package/coverage/lcov-report/src/api/controllers/templates.ts.html +7 -7
  82. package/coverage/lcov-report/src/api/controllers/user.ts.html +28 -28
  83. package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +2 -2
  84. package/coverage/lcov-report/src/api/controllers/view/index.html +1 -1
  85. package/coverage/lcov-report/src/api/controllers/view/index.ts.html +16 -16
  86. package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +5 -5
  87. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.html +7 -7
  88. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +25 -25
  89. package/coverage/lcov-report/src/api/index.html +1 -1
  90. package/coverage/lcov-report/src/api/index.ts.html +27 -27
  91. package/coverage/lcov-report/src/api/routes/analytics.ts.html +7 -7
  92. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +8 -8
  93. package/coverage/lcov-report/src/api/routes/application.ts.html +10 -10
  94. package/coverage/lcov-report/src/api/routes/auth.ts.html +6 -6
  95. package/coverage/lcov-report/src/api/routes/automation.ts.html +11 -11
  96. package/coverage/lcov-report/src/api/routes/backup.ts.html +8 -8
  97. package/coverage/lcov-report/src/api/routes/cloud.ts.html +8 -8
  98. package/coverage/lcov-report/src/api/routes/component.ts.html +8 -8
  99. package/coverage/lcov-report/src/api/routes/datasource.ts.html +9 -9
  100. package/coverage/lcov-report/src/api/routes/deploy.ts.html +8 -8
  101. package/coverage/lcov-report/src/api/routes/dev.ts.html +13 -13
  102. package/coverage/lcov-report/src/api/routes/index.html +1 -1
  103. package/coverage/lcov-report/src/api/routes/index.ts.html +35 -35
  104. package/coverage/lcov-report/src/api/routes/integration.ts.html +8 -8
  105. package/coverage/lcov-report/src/api/routes/layout.ts.html +8 -8
  106. package/coverage/lcov-report/src/api/routes/metadata.ts.html +9 -9
  107. package/coverage/lcov-report/src/api/routes/migrations.ts.html +7 -7
  108. package/coverage/lcov-report/src/api/routes/permission.ts.html +9 -9
  109. package/coverage/lcov-report/src/api/routes/plugin.ts.html +8 -8
  110. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +17 -14
  111. package/coverage/lcov-report/src/api/routes/public/index.html +1 -1
  112. package/coverage/lcov-report/src/api/routes/public/index.ts.html +52 -52
  113. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +1 -1
  114. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +4 -4
  115. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +9 -9
  116. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +12 -12
  117. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +12 -12
  118. package/coverage/lcov-report/src/api/routes/public/tests/index.html +12 -42
  119. package/coverage/lcov-report/src/api/routes/public/tests/utils.ts.html +27 -78
  120. package/coverage/lcov-report/src/api/routes/public/users.ts.html +12 -12
  121. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +19 -19
  122. package/coverage/lcov-report/src/api/routes/public/utils/index.html +1 -1
  123. package/coverage/lcov-report/src/api/routes/query.ts.html +11 -11
  124. package/coverage/lcov-report/src/api/routes/role.ts.html +9 -9
  125. package/coverage/lcov-report/src/api/routes/routing.ts.html +8 -8
  126. package/coverage/lcov-report/src/api/routes/row.ts.html +11 -11
  127. package/coverage/lcov-report/src/api/routes/screen.ts.html +9 -9
  128. package/coverage/lcov-report/src/api/routes/script.ts.html +1 -1
  129. package/coverage/lcov-report/src/api/routes/static.ts.html +14 -14
  130. package/coverage/lcov-report/src/api/routes/table.ts.html +11 -11
  131. package/coverage/lcov-report/src/api/routes/templates.ts.html +8 -8
  132. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +41 -110
  133. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +19 -19
  134. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +23 -29
  135. package/coverage/lcov-report/src/api/routes/user.ts.html +9 -9
  136. package/coverage/lcov-report/src/api/routes/utils/index.html +1 -1
  137. package/coverage/lcov-report/src/api/routes/utils/validators.ts.html +42 -42
  138. package/coverage/lcov-report/src/api/routes/view.ts.html +10 -10
  139. package/coverage/lcov-report/src/api/routes/webhook.ts.html +10 -10
  140. package/coverage/lcov-report/src/app.ts.html +37 -40
  141. package/coverage/lcov-report/src/automations/actions.ts.html +24 -24
  142. package/coverage/lcov-report/src/automations/automationUtils.ts.html +4 -4
  143. package/coverage/lcov-report/src/automations/bullboard.ts.html +9 -9
  144. package/coverage/lcov-report/src/automations/index.html +27 -27
  145. package/coverage/lcov-report/src/automations/index.ts.html +5 -5
  146. package/coverage/lcov-report/src/automations/logging/index.html +1 -1
  147. package/coverage/lcov-report/src/automations/logging/index.ts.html +10 -10
  148. package/coverage/lcov-report/src/automations/steps/bash.ts.html +8 -8
  149. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +7 -7
  150. package/coverage/lcov-report/src/automations/steps/delay.ts.html +5 -5
  151. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +7 -7
  152. package/coverage/lcov-report/src/automations/steps/discord.ts.html +8 -8
  153. package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +7 -7
  154. package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +7 -7
  155. package/coverage/lcov-report/src/automations/steps/filter.ts.html +6 -6
  156. package/coverage/lcov-report/src/automations/steps/index.html +1 -1
  157. package/coverage/lcov-report/src/automations/steps/integromat.ts.html +6 -6
  158. package/coverage/lcov-report/src/automations/steps/loop.ts.html +3 -3
  159. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +9 -9
  160. package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +13 -13
  161. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +6 -6
  162. package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +4 -4
  163. package/coverage/lcov-report/src/automations/steps/slack.ts.html +6 -6
  164. package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +7 -7
  165. package/coverage/lcov-report/src/automations/steps/utils.ts.html +1 -1
  166. package/coverage/lcov-report/src/automations/steps/zapier.ts.html +6 -6
  167. package/coverage/lcov-report/src/automations/tests/utilities/index.html +1 -1
  168. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +1 -1
  169. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +3 -3
  170. package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +3 -3
  171. package/coverage/lcov-report/src/automations/triggerInfo/index.html +1 -1
  172. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +8 -8
  173. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +3 -3
  174. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +3 -3
  175. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +3 -3
  176. package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +3 -3
  177. package/coverage/lcov-report/src/automations/triggers.ts.html +44 -44
  178. package/coverage/lcov-report/src/automations/utils.ts.html +63 -63
  179. package/coverage/lcov-report/src/constants/index.html +16 -16
  180. package/coverage/lcov-report/src/constants/index.ts.html +99 -33
  181. package/coverage/lcov-report/src/constants/layouts.ts.html +4 -4
  182. package/coverage/lcov-report/src/constants/screens.ts.html +5 -5
  183. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +45 -33
  184. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +2 -2
  185. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +2 -2
  186. package/coverage/lcov-report/src/db/defaultData/index.html +11 -11
  187. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +2 -2
  188. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +2 -2
  189. package/coverage/lcov-report/src/db/dynamoClient.ts.html +15 -15
  190. package/coverage/lcov-report/src/db/inMemoryView.ts.html +4 -4
  191. package/coverage/lcov-report/src/db/index.html +16 -16
  192. package/coverage/lcov-report/src/db/index.ts.html +19 -19
  193. package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +23 -26
  194. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +4 -4
  195. package/coverage/lcov-report/src/db/linkedRows/index.html +10 -10
  196. package/coverage/lcov-report/src/db/linkedRows/index.ts.html +23 -23
  197. package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +10 -10
  198. package/coverage/lcov-report/src/db/newid.ts.html +4 -4
  199. package/coverage/lcov-report/src/db/utils.ts.html +52 -52
  200. package/coverage/lcov-report/src/definitions/automations.ts.html +2 -2
  201. package/coverage/lcov-report/src/definitions/index.html +1 -1
  202. package/coverage/lcov-report/src/environment.ts.html +31 -31
  203. package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +6 -6
  204. package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +6 -6
  205. package/coverage/lcov-report/src/events/index.html +1 -1
  206. package/coverage/lcov-report/src/events/index.ts.html +4 -4
  207. package/coverage/lcov-report/src/events/utils.ts.html +10 -10
  208. package/coverage/lcov-report/src/index.html +16 -16
  209. package/coverage/lcov-report/src/index.ts.html +1 -1
  210. package/coverage/lcov-report/src/integrations/airtable.ts.html +5 -5
  211. package/coverage/lcov-report/src/integrations/arangodb.ts.html +5 -5
  212. package/coverage/lcov-report/src/integrations/base/index.html +30 -30
  213. package/coverage/lcov-report/src/integrations/base/query.ts.html +9 -9
  214. package/coverage/lcov-report/src/integrations/base/sql.ts.html +223 -214
  215. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +107 -107
  216. package/coverage/lcov-report/src/integrations/base/utils.ts.html +5 -5
  217. package/coverage/lcov-report/src/integrations/couchdb.ts.html +5 -5
  218. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +6 -6
  219. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +5 -5
  220. package/coverage/lcov-report/src/integrations/firebase.ts.html +5 -5
  221. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +11 -11
  222. package/coverage/lcov-report/src/integrations/index.html +27 -27
  223. package/coverage/lcov-report/src/integrations/index.ts.html +40 -40
  224. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +8 -8
  225. package/coverage/lcov-report/src/integrations/mongodb.ts.html +11 -11
  226. package/coverage/lcov-report/src/integrations/mysql.ts.html +10 -10
  227. package/coverage/lcov-report/src/integrations/oracle.ts.html +14 -14
  228. package/coverage/lcov-report/src/integrations/postgres.ts.html +68 -68
  229. package/coverage/lcov-report/src/integrations/queries/index.html +1 -1
  230. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +8 -8
  231. package/coverage/lcov-report/src/integrations/redis.ts.html +5 -5
  232. package/coverage/lcov-report/src/integrations/rest.ts.html +15 -15
  233. package/coverage/lcov-report/src/integrations/s3.ts.html +6 -6
  234. package/coverage/lcov-report/src/integrations/snowflake.ts.html +5 -5
  235. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  236. package/coverage/lcov-report/src/integrations/tests/index.html +5 -230
  237. package/coverage/lcov-report/src/integrations/utils.ts.html +77 -77
  238. package/coverage/lcov-report/src/middleware/appInfo.ts.html +5 -5
  239. package/coverage/lcov-report/src/middleware/authorized.ts.html +29 -29
  240. package/coverage/lcov-report/src/middleware/builder.ts.html +17 -17
  241. package/coverage/lcov-report/src/middleware/currentapp.ts.html +53 -53
  242. package/coverage/lcov-report/src/middleware/index.html +15 -15
  243. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +1 -1
  244. package/coverage/lcov-report/src/middleware/publicApi.ts.html +4 -4
  245. package/coverage/lcov-report/src/middleware/resourceId.ts.html +28 -28
  246. package/coverage/lcov-report/src/middleware/selfhost.ts.html +1 -1
  247. package/coverage/lcov-report/src/middleware/utils.ts.html +4 -4
  248. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +4 -4
  249. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +5 -5
  250. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +5 -5
  251. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +1 -1
  252. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +5 -5
  253. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +7 -7
  254. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +5 -5
  255. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +5 -5
  256. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +4 -4
  257. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +19 -19
  258. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +6 -6
  259. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +1 -1
  260. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +7 -7
  261. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +6 -6
  262. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +15 -15
  263. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +1 -1
  264. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +5 -5
  265. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +8 -8
  266. package/coverage/lcov-report/src/migrations/functions/index.html +1 -1
  267. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +6 -6
  268. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +6 -6
  269. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +1 -1
  270. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +2 -2
  271. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +5 -5
  272. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +4 -4
  273. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +6 -6
  274. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +3 -3
  275. package/coverage/lcov-report/src/migrations/index.html +1 -1
  276. package/coverage/lcov-report/src/migrations/index.ts.html +32 -32
  277. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +1 -1
  278. package/coverage/lcov-report/src/migrations/tests/index.html +8 -23
  279. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +1 -1
  280. package/coverage/lcov-report/src/sdk/app/applications/index.html +1 -1
  281. package/coverage/lcov-report/src/sdk/app/applications/index.ts.html +4 -4
  282. package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +22 -22
  283. package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +9 -9
  284. package/coverage/lcov-report/src/sdk/app/automations/index.html +1 -1
  285. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +3 -3
  286. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +10 -10
  287. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +3 -3
  288. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +23 -41
  289. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +18 -18
  290. package/coverage/lcov-report/src/sdk/app/backups/index.html +10 -10
  291. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +5 -5
  292. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +7 -7
  293. package/coverage/lcov-report/src/sdk/app/datasources/datasources.ts.html +60 -69
  294. package/coverage/lcov-report/src/sdk/app/datasources/index.html +19 -19
  295. package/coverage/lcov-report/src/sdk/app/datasources/index.ts.html +3 -3
  296. package/coverage/lcov-report/src/sdk/app/queries/index.html +1 -1
  297. package/coverage/lcov-report/src/sdk/app/queries/index.ts.html +3 -3
  298. package/coverage/lcov-report/src/sdk/app/queries/queries.ts.html +11 -11
  299. package/coverage/lcov-report/src/sdk/app/rows/attachments.ts.html +6 -6
  300. package/coverage/lcov-report/src/sdk/app/rows/index.html +1 -1
  301. package/coverage/lcov-report/src/sdk/app/rows/index.ts.html +4 -4
  302. package/coverage/lcov-report/src/sdk/app/rows/rows.ts.html +4 -4
  303. package/coverage/lcov-report/src/sdk/app/tables/index.html +1 -1
  304. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +10 -10
  305. package/coverage/lcov-report/src/sdk/index.html +1 -1
  306. package/coverage/lcov-report/src/sdk/index.ts.html +11 -11
  307. package/coverage/lcov-report/src/sdk/users/index.html +1 -1
  308. package/coverage/lcov-report/src/sdk/users/index.ts.html +3 -3
  309. package/coverage/lcov-report/src/sdk/users/utils.ts.html +31 -31
  310. package/coverage/lcov-report/src/sdk/utils/index.html +1 -1
  311. package/coverage/lcov-report/src/sdk/utils/index.ts.html +11 -11
  312. package/coverage/lcov-report/src/startup.ts.html +42 -42
  313. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +193 -421
  314. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +15 -15
  315. package/coverage/lcov-report/src/tests/utilities/index.html +28 -28
  316. package/coverage/lcov-report/src/tests/utilities/index.ts.html +1 -1
  317. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +35 -77
  318. package/coverage/lcov-report/src/threads/automation.ts.html +22 -22
  319. package/coverage/lcov-report/src/threads/index.html +1 -1
  320. package/coverage/lcov-report/src/threads/index.ts.html +24 -24
  321. package/coverage/lcov-report/src/threads/query.ts.html +76 -76
  322. package/coverage/lcov-report/src/threads/utils.ts.html +12 -12
  323. package/coverage/lcov-report/src/utilities/budibaseDir.ts.html +3 -3
  324. package/coverage/lcov-report/src/utilities/centralPath.ts.html +2 -2
  325. package/coverage/lcov-report/src/utilities/fileSystem/app.ts.html +17 -17
  326. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +8 -8
  327. package/coverage/lcov-report/src/utilities/fileSystem/filesystem.ts.html +25 -25
  328. package/coverage/lcov-report/src/utilities/fileSystem/index.html +1 -1
  329. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +6 -6
  330. package/coverage/lcov-report/src/utilities/fileSystem/plugin.ts.html +8 -8
  331. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +1 -1
  332. package/coverage/lcov-report/src/utilities/fileSystem/template.ts.html +7 -7
  333. package/coverage/lcov-report/src/utilities/global.ts.html +40 -40
  334. package/coverage/lcov-report/src/utilities/index.html +19 -34
  335. package/coverage/lcov-report/src/utilities/index.ts.html +26 -26
  336. package/coverage/lcov-report/src/utilities/redis.ts.html +12 -12
  337. package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
  338. package/coverage/lcov-report/src/utilities/routing/index.ts.html +4 -4
  339. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +19 -19
  340. package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +49 -49
  341. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +3 -3
  342. package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +38 -38
  343. package/coverage/lcov-report/src/utilities/schema.ts.html +3 -3
  344. package/coverage/lcov-report/src/utilities/scriptRunner.ts.html +5 -5
  345. package/coverage/lcov-report/src/utilities/security.ts.html +22 -22
  346. package/coverage/lcov-report/src/utilities/usageQuota/index.html +1 -1
  347. package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +35 -35
  348. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +1 -1
  349. package/coverage/lcov-report/src/utilities/users.ts.html +4 -4
  350. package/coverage/lcov-report/src/utilities/workerRequests.ts.html +15 -15
  351. package/coverage/lcov-report/src/watch.ts.html +7 -7
  352. package/coverage/lcov-report/src/websocket.ts.html +5 -5
  353. package/coverage/lcov.info +12121 -19834
  354. package/dist/api/controllers/query/index.js +0 -2
  355. package/dist/api/controllers/row/ExternalRequest.js +2 -4
  356. package/dist/api/controllers/row/external.js +1 -12
  357. package/dist/api/controllers/table/external.js +8 -8
  358. package/dist/api/routes/public/tests/utils.js +2 -29
  359. package/dist/app.js +1 -1
  360. package/dist/constants/index.js +24 -4
  361. package/dist/db/defaultData/datasource_bb_default.js +5 -6
  362. package/dist/db/linkedRows/LinkController.js +8 -9
  363. package/dist/integrations/base/sql.js +14 -10
  364. package/dist/package.json +0 -2
  365. package/dist/sdk/app/backups/exports.js +2 -8
  366. package/dist/sdk/app/datasources/datasources.js +0 -3
  367. package/dist/tsconfig.build.tsbuildinfo +1 -1
  368. package/jest.config.ts +11 -28
  369. package/package.json +6 -8
  370. package/specs/openapi.json +6 -6
  371. package/specs/openapi.yaml +3 -3
  372. package/src/api/controllers/query/import/tests/index.spec.js +1 -1
  373. package/src/api/controllers/query/index.ts +0 -2
  374. package/src/api/controllers/row/ExternalRequest.ts +2 -6
  375. package/src/api/controllers/row/external.ts +1 -13
  376. package/src/api/controllers/table/external.ts +2 -3
  377. package/src/api/routes/public/applications.ts +1 -0
  378. package/src/api/routes/public/tests/compare.spec.js +1 -1
  379. package/src/api/routes/public/tests/users.spec.js +1 -1
  380. package/src/api/routes/public/tests/utils.ts +8 -25
  381. package/src/api/routes/tests/__snapshots__/datasource.spec.ts.snap +1 -1
  382. package/src/api/routes/tests/analytics.spec.js +1 -4
  383. package/src/api/routes/tests/apikeys.spec.js +1 -1
  384. package/src/api/routes/tests/application.spec.ts +6 -20
  385. package/src/api/routes/tests/auth.spec.js +2 -2
  386. package/src/api/routes/tests/automation.spec.js +2 -6
  387. package/src/api/routes/tests/backup.spec.ts +13 -4
  388. package/src/api/routes/tests/{cloud.seq.spec.ts → cloud.spec.ts} +15 -11
  389. package/src/api/routes/tests/component.spec.js +1 -1
  390. package/src/api/routes/tests/datasource.spec.ts +3 -20
  391. package/src/api/routes/tests/dev.spec.js +1 -1
  392. package/src/api/routes/tests/integration.spec.js +1 -1
  393. package/src/api/routes/tests/layout.spec.js +1 -1
  394. package/src/api/routes/tests/metadata.spec.js +1 -1
  395. package/src/api/routes/tests/misc.spec.js +1 -1
  396. package/src/api/routes/tests/permissions.spec.js +1 -4
  397. package/src/api/routes/tests/{query.seq.spec.js → query.spec.js} +1 -22
  398. package/src/api/routes/tests/role.spec.js +1 -6
  399. package/src/api/routes/tests/routing.spec.js +1 -1
  400. package/src/api/routes/tests/row.spec.js +3 -11
  401. package/src/api/routes/tests/screen.spec.js +1 -1
  402. package/src/api/routes/tests/static.spec.js +1 -2
  403. package/src/api/routes/tests/table.spec.js +1 -1
  404. package/src/api/routes/tests/templates.spec.js +1 -1
  405. package/src/api/routes/tests/user.spec.js +12 -12
  406. package/src/api/routes/tests/utilities/TestFunctions.ts +2 -25
  407. package/src/api/routes/tests/utilities/index.ts +3 -5
  408. package/src/api/routes/tests/view.spec.js +1 -4
  409. package/src/api/routes/tests/webhook.spec.js +2 -11
  410. package/src/app.ts +1 -2
  411. package/src/automations/tests/automation.spec.js +4 -4
  412. package/src/automations/tests/bash.spec.js +1 -1
  413. package/src/automations/tests/discord.spec.js +1 -1
  414. package/src/automations/tests/executeQuery.spec.js +3 -2
  415. package/src/automations/tests/executeScript.spec.js +1 -1
  416. package/src/automations/tests/outgoingWebhook.spec.js +1 -1
  417. package/src/automations/tests/sendSmtpEmail.spec.js +1 -1
  418. package/src/automations/tests/serverLog.spec.js +1 -1
  419. package/src/automations/tests/updateRow.spec.js +1 -1
  420. package/src/automations/tests/zapier.spec.js +1 -1
  421. package/src/constants/index.ts +23 -1
  422. package/src/db/defaultData/datasource_bb_default.ts +10 -6
  423. package/src/db/linkedRows/LinkController.ts +1 -2
  424. package/src/db/tests/linkController.spec.js +1 -4
  425. package/src/db/tests/linkTests.spec.js +1 -1
  426. package/src/integrations/base/sql.ts +18 -15
  427. package/src/integrations/oracle.ts +1 -1
  428. package/src/integrations/tests/sql.spec.ts +38 -0
  429. package/src/migrations/functions/tests/appUrls.spec.js +1 -1
  430. package/src/migrations/functions/tests/syncQuotas.spec.js +1 -1
  431. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +1 -1
  432. package/src/migrations/tests/index.spec.ts +20 -13
  433. package/src/sdk/app/backups/exports.ts +2 -8
  434. package/src/sdk/app/datasources/datasources.ts +0 -3
  435. package/src/tests/jestEnv.ts +6 -2
  436. package/src/tests/jestSetup.ts +7 -8
  437. package/src/tests/utilities/TestConfiguration.ts +50 -126
  438. package/src/tests/utilities/structures.ts +2 -16
  439. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/curl/curl.spec.js.html +0 -391
  440. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/curl/index.html +0 -116
  441. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/openapi2/index.html +0 -116
  442. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/openapi2/openapi2.spec.js.html +0 -796
  443. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/openapi3/index.html +0 -116
  444. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/openapi3/openapi3.spec.js.html +0 -805
  445. package/coverage/lcov-report/src/api/controllers/query/import/tests/index.html +0 -116
  446. package/coverage/lcov-report/src/api/controllers/query/import/tests/index.spec.js.html +0 -568
  447. package/coverage/lcov-report/src/api/controllers/view/tests/index.html +0 -116
  448. package/coverage/lcov-report/src/api/controllers/view/tests/viewBuilder.spec.js.html +0 -277
  449. package/coverage/lcov-report/src/api/routes/public/tests/compare.spec.js.html +0 -583
  450. package/coverage/lcov-report/src/api/routes/public/tests/users.spec.js.html +0 -199
  451. package/coverage/lcov-report/src/api/routes/tests/analytics.spec.js.html +0 -271
  452. package/coverage/lcov-report/src/api/routes/tests/apikeys.spec.js.html +0 -259
  453. package/coverage/lcov-report/src/api/routes/tests/application.spec.ts.html +0 -1066
  454. package/coverage/lcov-report/src/api/routes/tests/auth.spec.js.html +0 -154
  455. package/coverage/lcov-report/src/api/routes/tests/automation.spec.js.html +0 -1123
  456. package/coverage/lcov-report/src/api/routes/tests/backup.spec.ts.html +0 -223
  457. package/coverage/lcov-report/src/api/routes/tests/cloud.seq.spec.ts.html +0 -268
  458. package/coverage/lcov-report/src/api/routes/tests/component.spec.js.html +0 -178
  459. package/coverage/lcov-report/src/api/routes/tests/datasource.spec.ts.html +0 -799
  460. package/coverage/lcov-report/src/api/routes/tests/dev.spec.js.html +0 -202
  461. package/coverage/lcov-report/src/api/routes/tests/environmentVariables.spec.ts.html +0 -517
  462. package/coverage/lcov-report/src/api/routes/tests/index.html +0 -536
  463. package/coverage/lcov-report/src/api/routes/tests/integration.spec.js.html +0 -238
  464. package/coverage/lcov-report/src/api/routes/tests/internalSearch.spec.js.html +0 -670
  465. package/coverage/lcov-report/src/api/routes/tests/layout.spec.js.html +0 -259
  466. package/coverage/lcov-report/src/api/routes/tests/metadata.spec.js.html +0 -280
  467. package/coverage/lcov-report/src/api/routes/tests/misc.spec.js.html +0 -358
  468. package/coverage/lcov-report/src/api/routes/tests/permissions.spec.js.html +0 -484
  469. package/coverage/lcov-report/src/api/routes/tests/plugin.spec.ts.html +0 -622
  470. package/coverage/lcov-report/src/api/routes/tests/query.seq.spec.js.html +0 -1699
  471. package/coverage/lcov-report/src/api/routes/tests/role.spec.js.html +0 -478
  472. package/coverage/lcov-report/src/api/routes/tests/routing.spec.js.html +0 -430
  473. package/coverage/lcov-report/src/api/routes/tests/row.spec.js.html +0 -1804
  474. package/coverage/lcov-report/src/api/routes/tests/screen.spec.js.html +0 -391
  475. package/coverage/lcov-report/src/api/routes/tests/static.spec.js.html +0 -541
  476. package/coverage/lcov-report/src/api/routes/tests/table.spec.js.html +0 -991
  477. package/coverage/lcov-report/src/api/routes/tests/templates.spec.js.html +0 -154
  478. package/coverage/lcov-report/src/api/routes/tests/user.spec.js.html +0 -679
  479. package/coverage/lcov-report/src/api/routes/tests/view.spec.js.html +0 -1342
  480. package/coverage/lcov-report/src/api/routes/tests/webhook.spec.js.html +0 -484
  481. package/coverage/lcov-report/src/automations/tests/automation.spec.js.html +0 -337
  482. package/coverage/lcov-report/src/automations/tests/bash.spec.js.html +0 -187
  483. package/coverage/lcov-report/src/automations/tests/createRow.spec.ts.html +0 -223
  484. package/coverage/lcov-report/src/automations/tests/delay.spec.js.html +0 -133
  485. package/coverage/lcov-report/src/automations/tests/deleteRow.spec.ts.html +0 -250
  486. package/coverage/lcov-report/src/automations/tests/discord.spec.js.html +0 -166
  487. package/coverage/lcov-report/src/automations/tests/executeQuery.spec.js.html +0 -229
  488. package/coverage/lcov-report/src/automations/tests/executeScript.spec.js.html +0 -229
  489. package/coverage/lcov-report/src/automations/tests/filter.spec.js.html +0 -232
  490. package/coverage/lcov-report/src/automations/tests/index.html +0 -341
  491. package/coverage/lcov-report/src/automations/tests/loop.spec.ts.html +0 -220
  492. package/coverage/lcov-report/src/automations/tests/outgoingWebhook.spec.js.html +0 -202
  493. package/coverage/lcov-report/src/automations/tests/queryRows.spec.js.html +0 -436
  494. package/coverage/lcov-report/src/automations/tests/sendSmtpEmail.spec.js.html +0 -298
  495. package/coverage/lcov-report/src/automations/tests/serverLog.spec.js.html +0 -151
  496. package/coverage/lcov-report/src/automations/tests/updateRow.spec.js.html +0 -217
  497. package/coverage/lcov-report/src/automations/tests/zapier.spec.js.html +0 -166
  498. package/coverage/lcov-report/src/automations/unitTests/automationUtils.spec.ts.html +0 -280
  499. package/coverage/lcov-report/src/automations/unitTests/index.html +0 -116
  500. package/coverage/lcov-report/src/db/tests/index.html +0 -131
  501. package/coverage/lcov-report/src/db/tests/linkController.spec.js.html +0 -793
  502. package/coverage/lcov-report/src/db/tests/linkTests.spec.js.html +0 -277
  503. package/coverage/lcov-report/src/integration-test/index.html +0 -116
  504. package/coverage/lcov-report/src/integration-test/postgres.spec.ts.html +0 -2341
  505. package/coverage/lcov-report/src/integrations/tests/airtable.spec.ts.html +0 -310
  506. package/coverage/lcov-report/src/integrations/tests/arangodb.spec.ts.html +0 -199
  507. package/coverage/lcov-report/src/integrations/tests/couchdb.spec.ts.html +0 -349
  508. package/coverage/lcov-report/src/integrations/tests/dynamodb.spec.ts.html +0 -550
  509. package/coverage/lcov-report/src/integrations/tests/elasticsearch.spec.ts.html +0 -331
  510. package/coverage/lcov-report/src/integrations/tests/firebase.spec.ts.html +0 -376
  511. package/coverage/lcov-report/src/integrations/tests/microsoftSqlServer.spec.ts.html +0 -253
  512. package/coverage/lcov-report/src/integrations/tests/mongo.spec.ts.html +0 -1087
  513. package/coverage/lcov-report/src/integrations/tests/mysql.spec.ts.html +0 -484
  514. package/coverage/lcov-report/src/integrations/tests/oracle.spec.ts.html +0 -373
  515. package/coverage/lcov-report/src/integrations/tests/postgres.spec.ts.html +0 -328
  516. package/coverage/lcov-report/src/integrations/tests/redis.spec.ts.html +0 -337
  517. package/coverage/lcov-report/src/integrations/tests/rest.spec.ts.html +0 -1870
  518. package/coverage/lcov-report/src/integrations/tests/s3.spec.ts.html +0 -421
  519. package/coverage/lcov-report/src/integrations/tests/sql.spec.ts.html +0 -1753
  520. package/coverage/lcov-report/src/middleware/tests/authorized.spec.js.html +0 -574
  521. package/coverage/lcov-report/src/middleware/tests/currentapp.spec.js.html +0 -814
  522. package/coverage/lcov-report/src/middleware/tests/index.html +0 -161
  523. package/coverage/lcov-report/src/middleware/tests/resourceId.spec.js.html +0 -397
  524. package/coverage/lcov-report/src/middleware/tests/selfhost.spec.js.html +0 -214
  525. package/coverage/lcov-report/src/migrations/functions/tests/appUrls.spec.js.html +0 -163
  526. package/coverage/lcov-report/src/migrations/functions/tests/index.html +0 -161
  527. package/coverage/lcov-report/src/migrations/functions/tests/syncQuotas.spec.js.html +0 -163
  528. package/coverage/lcov-report/src/migrations/functions/tests/tableSettings.spec.ts.html +0 -517
  529. package/coverage/lcov-report/src/migrations/functions/tests/userEmailViewCasing.spec.js.html +0 -190
  530. package/coverage/lcov-report/src/migrations/functions/usageQuotas/tests/index.html +0 -131
  531. package/coverage/lcov-report/src/migrations/functions/usageQuotas/tests/syncApps.spec.ts.html +0 -190
  532. package/coverage/lcov-report/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts.html +0 -244
  533. package/coverage/lcov-report/src/migrations/tests/index.spec.ts.html +0 -511
  534. package/coverage/lcov-report/src/sdk/tests/attachments.spec.ts.html +0 -313
  535. package/coverage/lcov-report/src/sdk/tests/index.html +0 -116
  536. package/coverage/lcov-report/src/utilities/retry.ts.html +0 -139
  537. package/coverage/lcov-report/src/utilities/rowProcessor/tests/index.html +0 -116
  538. package/coverage/lcov-report/src/utilities/rowProcessor/tests/utils.spec.ts.html +0 -256
  539. package/dist/api/routes/tests/utilities/index.js +0 -131
  540. package/dist/tests/utilities/TestConfiguration.js +0 -626
  541. package/dist/tests/utilities/controllers.js +0 -40
  542. package/dist/tests/utilities/structures.js +0 -234
  543. package/dist/utilities/retry.js +0 -30
  544. package/jest-testcontainers-config.js +0 -8
  545. package/scripts/load/create-many-apps.js +0 -24
  546. package/scripts/load/create-many-rows.js +0 -30
  547. package/scripts/load/utils.js +0 -66
  548. package/src/api/routes/tests/environmentVariables.spec.ts +0 -144
  549. package/src/integration-test/postgres.spec.ts +0 -752
  550. package/src/utilities/retry.ts +0 -18
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">59.86% </span>
26
+ <span class="strong">6.57% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>91/152</span>
28
+ <span class='fraction'>10/152</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">46.96% </span>
33
+ <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>31/66</span>
35
+ <span class='fraction'>0/66</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">64.7% </span>
40
+ <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>11/17</span>
42
+ <span class='fraction'>0/17</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">59.86% </span>
47
+ <span class="strong">6.57% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>91/152</span>
49
+ <span class='fraction'>10/152</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line medium'></div>
64
+ <div class='status-line low'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -419,22 +419,21 @@
419
419
  <a name='L354'></a><a href='#L354'>354</a>
420
420
  <a name='L355'></a><a href='#L355'>355</a>
421
421
  <a name='L356'></a><a href='#L356'>356</a>
422
- <a name='L357'></a><a href='#L357'>357</a>
423
- <a name='L358'></a><a href='#L358'>358</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
422
+ <a name='L357'></a><a href='#L357'>357</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
424
423
  <span class="cline-any cline-neutral">&nbsp;</span>
425
424
  <span class="cline-any cline-neutral">&nbsp;</span>
426
- <span class="cline-any cline-yes">58x</span>
425
+ <span class="cline-any cline-yes">56x</span>
427
426
  <span class="cline-any cline-neutral">&nbsp;</span>
428
427
  <span class="cline-any cline-neutral">&nbsp;</span>
429
428
  <span class="cline-any cline-neutral">&nbsp;</span>
430
429
  <span class="cline-any cline-neutral">&nbsp;</span>
431
430
  <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-yes">58x</span>
433
- <span class="cline-any cline-yes">58x</span>
434
- <span class="cline-any cline-yes">58x</span>
435
- <span class="cline-any cline-yes">58x</span>
436
- <span class="cline-any cline-yes">58x</span>
437
- <span class="cline-any cline-yes">58x</span>
431
+ <span class="cline-any cline-yes">56x</span>
432
+ <span class="cline-any cline-yes">56x</span>
433
+ <span class="cline-any cline-yes">56x</span>
434
+ <span class="cline-any cline-yes">56x</span>
435
+ <span class="cline-any cline-yes">56x</span>
436
+ <span class="cline-any cline-yes">56x</span>
438
437
  <span class="cline-any cline-neutral">&nbsp;</span>
439
438
  <span class="cline-any cline-neutral">&nbsp;</span>
440
439
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -444,10 +443,10 @@
444
443
  <span class="cline-any cline-neutral">&nbsp;</span>
445
444
  <span class="cline-any cline-neutral">&nbsp;</span>
446
445
  <span class="cline-any cline-neutral">&nbsp;</span>
446
+ <span class="cline-any cline-yes">56x</span>
447
+ <span class="cline-any cline-yes">56x</span>
448
+ <span class="cline-any cline-yes">56x</span>
447
449
  <span class="cline-any cline-neutral">&nbsp;</span>
448
- <span class="cline-any cline-yes">58x</span>
449
- <span class="cline-any cline-yes">58x</span>
450
- <span class="cline-any cline-yes">58x</span>
451
450
  <span class="cline-any cline-neutral">&nbsp;</span>
452
451
  <span class="cline-any cline-neutral">&nbsp;</span>
453
452
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -456,8 +455,7 @@
456
455
  <span class="cline-any cline-neutral">&nbsp;</span>
457
456
  <span class="cline-any cline-neutral">&nbsp;</span>
458
457
  <span class="cline-any cline-neutral">&nbsp;</span>
459
- <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-yes">49x</span>
458
+ <span class="cline-any cline-no">&nbsp;</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>
@@ -468,13 +466,13 @@
468
466
  <span class="cline-any cline-neutral">&nbsp;</span>
469
467
  <span class="cline-any cline-neutral">&nbsp;</span>
470
468
  <span class="cline-any cline-neutral">&nbsp;</span>
471
- <span class="cline-any cline-yes">49x</span>
469
+ <span class="cline-any cline-no">&nbsp;</span>
472
470
  <span class="cline-any cline-no">&nbsp;</span>
473
471
  <span class="cline-any cline-neutral">&nbsp;</span>
474
- <span class="cline-any cline-yes">49x</span>
472
+ <span class="cline-any cline-no">&nbsp;</span>
475
473
  <span class="cline-any cline-no">&nbsp;</span>
476
474
  <span class="cline-any cline-neutral">&nbsp;</span>
477
- <span class="cline-any cline-yes">49x</span>
475
+ <span class="cline-any cline-no">&nbsp;</span>
478
476
  <span class="cline-any cline-neutral">&nbsp;</span>
479
477
  <span class="cline-any cline-neutral">&nbsp;</span>
480
478
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -482,28 +480,28 @@
482
480
  <span class="cline-any cline-neutral">&nbsp;</span>
483
481
  <span class="cline-any cline-neutral">&nbsp;</span>
484
482
  <span class="cline-any cline-neutral">&nbsp;</span>
485
- <span class="cline-any cline-yes">49x</span>
483
+ <span class="cline-any cline-no">&nbsp;</span>
486
484
  <span class="cline-any cline-neutral">&nbsp;</span>
487
- <span class="cline-any cline-yes">49x</span>
488
- <span class="cline-any cline-yes">181x</span>
485
+ <span class="cline-any cline-no">&nbsp;</span>
486
+ <span class="cline-any cline-no">&nbsp;</span>
489
487
  <span class="cline-any cline-neutral">&nbsp;</span>
490
488
  <span class="cline-any cline-neutral">&nbsp;</span>
491
489
  <span class="cline-any cline-neutral">&nbsp;</span>
492
- <span class="cline-any cline-yes">22x</span>
493
- <span class="cline-any cline-yes">22x</span>
490
+ <span class="cline-any cline-no">&nbsp;</span>
491
+ <span class="cline-any cline-no">&nbsp;</span>
494
492
  <span class="cline-any cline-neutral">&nbsp;</span>
495
- <span class="cline-any cline-yes">22x</span>
496
- <span class="cline-any cline-yes">22x</span>
493
+ <span class="cline-any cline-no">&nbsp;</span>
494
+ <span class="cline-any cline-no">&nbsp;</span>
497
495
  <span class="cline-any cline-no">&nbsp;</span>
498
496
  <span class="cline-any cline-neutral">&nbsp;</span>
499
- <span class="cline-any cline-yes">22x</span>
497
+ <span class="cline-any cline-no">&nbsp;</span>
500
498
  <span class="cline-any cline-neutral">&nbsp;</span>
501
499
  <span class="cline-any cline-neutral">&nbsp;</span>
502
- <span class="cline-any cline-yes">66x</span>
500
+ <span class="cline-any cline-no">&nbsp;</span>
503
501
  <span class="cline-any cline-neutral">&nbsp;</span>
504
502
  <span class="cline-any cline-neutral">&nbsp;</span>
505
503
  <span class="cline-any cline-neutral">&nbsp;</span>
506
- <span class="cline-any cline-yes">22x</span>
504
+ <span class="cline-any cline-no">&nbsp;</span>
507
505
  <span class="cline-any cline-neutral">&nbsp;</span>
508
506
  <span class="cline-any cline-neutral">&nbsp;</span>
509
507
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -511,20 +509,20 @@
511
509
  <span class="cline-any cline-neutral">&nbsp;</span>
512
510
  <span class="cline-any cline-neutral">&nbsp;</span>
513
511
  <span class="cline-any cline-neutral">&nbsp;</span>
514
- <span class="cline-any cline-yes">49x</span>
512
+ <span class="cline-any cline-no">&nbsp;</span>
515
513
  <span class="cline-any cline-no">&nbsp;</span>
516
514
  <span class="cline-any cline-neutral">&nbsp;</span>
517
- <span class="cline-any cline-yes">49x</span>
518
- <span class="cline-any cline-yes">49x</span>
515
+ <span class="cline-any cline-no">&nbsp;</span>
516
+ <span class="cline-any cline-no">&nbsp;</span>
519
517
  <span class="cline-any cline-neutral">&nbsp;</span>
520
518
  <span class="cline-any cline-no">&nbsp;</span>
521
519
  <span class="cline-any cline-neutral">&nbsp;</span>
522
520
  <span class="cline-any cline-neutral">&nbsp;</span>
523
521
  <span class="cline-any cline-neutral">&nbsp;</span>
524
- <span class="cline-any cline-yes">22x</span>
522
+ <span class="cline-any cline-no">&nbsp;</span>
525
523
  <span class="cline-any cline-no">&nbsp;</span>
526
524
  <span class="cline-any cline-neutral">&nbsp;</span>
527
- <span class="cline-any cline-yes">22x</span>
525
+ <span class="cline-any cline-no">&nbsp;</span>
528
526
  <span class="cline-any cline-neutral">&nbsp;</span>
529
527
  <span class="cline-any cline-neutral">&nbsp;</span>
530
528
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -571,17 +569,17 @@
571
569
  <span class="cline-any cline-neutral">&nbsp;</span>
572
570
  <span class="cline-any cline-neutral">&nbsp;</span>
573
571
  <span class="cline-any cline-neutral">&nbsp;</span>
574
- <span class="cline-any cline-yes">22x</span>
572
+ <span class="cline-any cline-no">&nbsp;</span>
575
573
  <span class="cline-any cline-no">&nbsp;</span>
576
574
  <span class="cline-any cline-neutral">&nbsp;</span>
577
- <span class="cline-any cline-yes">22x</span>
578
- <span class="cline-any cline-yes">22x</span>
575
+ <span class="cline-any cline-no">&nbsp;</span>
576
+ <span class="cline-any cline-no">&nbsp;</span>
579
577
  <span class="cline-any cline-neutral">&nbsp;</span>
580
- <span class="cline-any cline-yes">22x</span>
581
- <span class="cline-any cline-yes">22x</span>
582
- <span class="cline-any cline-yes">22x</span>
583
- <span class="cline-any cline-yes">22x</span>
584
- <span class="cline-any cline-yes">22x</span>
578
+ <span class="cline-any cline-no">&nbsp;</span>
579
+ <span class="cline-any cline-no">&nbsp;</span>
580
+ <span class="cline-any cline-no">&nbsp;</span>
581
+ <span class="cline-any cline-no">&nbsp;</span>
582
+ <span class="cline-any cline-no">&nbsp;</span>
585
583
  <span class="cline-any cline-neutral">&nbsp;</span>
586
584
  <span class="cline-any cline-neutral">&nbsp;</span>
587
585
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -591,11 +589,11 @@
591
589
  <span class="cline-any cline-neutral">&nbsp;</span>
592
590
  <span class="cline-any cline-neutral">&nbsp;</span>
593
591
  <span class="cline-any cline-neutral">&nbsp;</span>
594
- <span class="cline-any cline-yes">22x</span>
592
+ <span class="cline-any cline-no">&nbsp;</span>
595
593
  <span class="cline-any cline-neutral">&nbsp;</span>
596
- <span class="cline-any cline-yes">22x</span>
597
- <span class="cline-any cline-yes">22x</span>
598
- <span class="cline-any cline-yes">22x</span>
594
+ <span class="cline-any cline-no">&nbsp;</span>
595
+ <span class="cline-any cline-no">&nbsp;</span>
596
+ <span class="cline-any cline-no">&nbsp;</span>
599
597
  <span class="cline-any cline-neutral">&nbsp;</span>
600
598
  <span class="cline-any cline-neutral">&nbsp;</span>
601
599
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -604,67 +602,67 @@
604
602
  <span class="cline-any cline-no">&nbsp;</span>
605
603
  <span class="cline-any cline-no">&nbsp;</span>
606
604
  <span class="cline-any cline-neutral">&nbsp;</span>
607
- <span class="cline-any cline-yes">22x</span>
605
+ <span class="cline-any cline-no">&nbsp;</span>
608
606
  <span class="cline-any cline-neutral">&nbsp;</span>
609
607
  <span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-yes">22x</span>
611
- <span class="cline-any cline-yes">22x</span>
612
- <span class="cline-any cline-yes">22x</span>
608
+ <span class="cline-any cline-no">&nbsp;</span>
609
+ <span class="cline-any cline-no">&nbsp;</span>
610
+ <span class="cline-any cline-no">&nbsp;</span>
613
611
  <span class="cline-any cline-neutral">&nbsp;</span>
614
612
  <span class="cline-any cline-neutral">&nbsp;</span>
615
613
  <span class="cline-any cline-neutral">&nbsp;</span>
616
- <span class="cline-any cline-yes">22x</span>
614
+ <span class="cline-any cline-no">&nbsp;</span>
617
615
  <span class="cline-any cline-neutral">&nbsp;</span>
618
616
  <span class="cline-any cline-neutral">&nbsp;</span>
619
- <span class="cline-any cline-yes">49x</span>
620
- <span class="cline-any cline-yes">49x</span>
621
- <span class="cline-any cline-yes">49x</span>
617
+ <span class="cline-any cline-no">&nbsp;</span>
618
+ <span class="cline-any cline-no">&nbsp;</span>
619
+ <span class="cline-any cline-no">&nbsp;</span>
622
620
  <span class="cline-any cline-neutral">&nbsp;</span>
623
- <span class="cline-any cline-yes">49x</span>
624
- <span class="cline-any cline-yes">49x</span>
621
+ <span class="cline-any cline-no">&nbsp;</span>
622
+ <span class="cline-any cline-no">&nbsp;</span>
625
623
  <span class="cline-any cline-neutral">&nbsp;</span>
626
- <span class="cline-any cline-yes">49x</span>
627
- <span class="cline-any cline-yes">49x</span>
624
+ <span class="cline-any cline-no">&nbsp;</span>
625
+ <span class="cline-any cline-no">&nbsp;</span>
628
626
  <span class="cline-any cline-neutral">&nbsp;</span>
629
- <span class="cline-any cline-yes">49x</span>
627
+ <span class="cline-any cline-no">&nbsp;</span>
630
628
  <span class="cline-any cline-neutral">&nbsp;</span>
631
629
  <span class="cline-any cline-neutral">&nbsp;</span>
632
630
  <span class="cline-any cline-neutral">&nbsp;</span>
633
631
  <span class="cline-any cline-neutral">&nbsp;</span>
634
632
  <span class="cline-any cline-neutral">&nbsp;</span>
635
633
  <span class="cline-any cline-neutral">&nbsp;</span>
636
- <span class="cline-any cline-yes">49x</span>
634
+ <span class="cline-any cline-no">&nbsp;</span>
637
635
  <span class="cline-any cline-no">&nbsp;</span>
638
636
  <span class="cline-any cline-neutral">&nbsp;</span>
639
637
  <span class="cline-any cline-neutral">&nbsp;</span>
640
- <span class="cline-any cline-yes">49x</span>
638
+ <span class="cline-any cline-no">&nbsp;</span>
641
639
  <span class="cline-any cline-no">&nbsp;</span>
642
640
  <span class="cline-any cline-neutral">&nbsp;</span>
643
641
  <span class="cline-any cline-neutral">&nbsp;</span>
644
- <span class="cline-any cline-yes">49x</span>
645
- <span class="cline-any cline-yes">49x</span>
646
- <span class="cline-any cline-yes">49x</span>
647
- <span class="cline-any cline-yes">22x</span>
642
+ <span class="cline-any cline-no">&nbsp;</span>
643
+ <span class="cline-any cline-no">&nbsp;</span>
644
+ <span class="cline-any cline-no">&nbsp;</span>
645
+ <span class="cline-any cline-no">&nbsp;</span>
648
646
  <span class="cline-any cline-neutral">&nbsp;</span>
649
- <span class="cline-any cline-yes">49x</span>
650
- <span class="cline-any cline-yes">49x</span>
647
+ <span class="cline-any cline-no">&nbsp;</span>
648
+ <span class="cline-any cline-no">&nbsp;</span>
651
649
  <span class="cline-any cline-neutral">&nbsp;</span>
652
- <span class="cline-any cline-yes">49x</span>
650
+ <span class="cline-any cline-no">&nbsp;</span>
653
651
  <span class="cline-any cline-neutral">&nbsp;</span>
654
652
  <span class="cline-any cline-neutral">&nbsp;</span>
655
- <span class="cline-any cline-yes">49x</span>
656
- <span class="cline-any cline-yes">159x</span>
657
- <span class="cline-any cline-yes">137x</span>
653
+ <span class="cline-any cline-no">&nbsp;</span>
654
+ <span class="cline-any cline-no">&nbsp;</span>
655
+ <span class="cline-any cline-no">&nbsp;</span>
658
656
  <span class="cline-any cline-neutral">&nbsp;</span>
659
- <span class="cline-any cline-yes">22x</span>
660
- <span class="cline-any cline-yes">22x</span>
657
+ <span class="cline-any cline-no">&nbsp;</span>
658
+ <span class="cline-any cline-no">&nbsp;</span>
661
659
  <span class="cline-any cline-neutral">&nbsp;</span>
662
- <span class="cline-any cline-yes">22x</span>
660
+ <span class="cline-any cline-no">&nbsp;</span>
663
661
  <span class="cline-any cline-no">&nbsp;</span>
664
662
  <span class="cline-any cline-neutral">&nbsp;</span>
665
- <span class="cline-any cline-yes">22x</span>
666
- <span class="cline-any cline-yes">22x</span>
667
- <span class="cline-any cline-yes">22x</span>
663
+ <span class="cline-any cline-no">&nbsp;</span>
664
+ <span class="cline-any cline-no">&nbsp;</span>
665
+ <span class="cline-any cline-no">&nbsp;</span>
668
666
  <span class="cline-any cline-no">&nbsp;</span>
669
667
  <span class="cline-any cline-neutral">&nbsp;</span>
670
668
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -678,33 +676,33 @@
678
676
  <span class="cline-any cline-no">&nbsp;</span>
679
677
  <span class="cline-any cline-neutral">&nbsp;</span>
680
678
  <span class="cline-any cline-neutral">&nbsp;</span>
681
- <span class="cline-any cline-yes">22x</span>
682
- <span class="cline-any cline-yes">22x</span>
679
+ <span class="cline-any cline-no">&nbsp;</span>
680
+ <span class="cline-any cline-no">&nbsp;</span>
683
681
  <span class="cline-any cline-neutral">&nbsp;</span>
684
682
  <span class="cline-any cline-neutral">&nbsp;</span>
685
683
  <span class="cline-any cline-neutral">&nbsp;</span>
686
684
  <span class="cline-any cline-neutral">&nbsp;</span>
687
685
  <span class="cline-any cline-neutral">&nbsp;</span>
688
- <span class="cline-any cline-yes">22x</span>
689
- <span class="cline-any cline-yes">22x</span>
690
- <span class="cline-any cline-yes">22x</span>
686
+ <span class="cline-any cline-no">&nbsp;</span>
687
+ <span class="cline-any cline-no">&nbsp;</span>
688
+ <span class="cline-any cline-no">&nbsp;</span>
691
689
  <span class="cline-any cline-neutral">&nbsp;</span>
692
- <span class="cline-any cline-yes">22x</span>
693
- <span class="cline-any cline-yes">22x</span>
690
+ <span class="cline-any cline-no">&nbsp;</span>
691
+ <span class="cline-any cline-no">&nbsp;</span>
694
692
  <span class="cline-any cline-neutral">&nbsp;</span>
695
693
  <span class="cline-any cline-neutral">&nbsp;</span>
696
- <span class="cline-any cline-yes">22x</span>
694
+ <span class="cline-any cline-no">&nbsp;</span>
697
695
  <span class="cline-any cline-no">&nbsp;</span>
698
696
  <span class="cline-any cline-neutral">&nbsp;</span>
699
697
  <span class="cline-any cline-neutral">&nbsp;</span>
700
- <span class="cline-any cline-yes">22x</span>
701
- <span class="cline-any cline-yes">22x</span>
698
+ <span class="cline-any cline-no">&nbsp;</span>
699
+ <span class="cline-any cline-no">&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">49x</span>
702
+ <span class="cline-any cline-no">&nbsp;</span>
705
703
  <span class="cline-any cline-neutral">&nbsp;</span>
706
- <span class="cline-any cline-yes">49x</span>
707
- <span class="cline-any cline-yes">49x</span>
704
+ <span class="cline-any cline-no">&nbsp;</span>
705
+ <span class="cline-any cline-no">&nbsp;</span>
708
706
  <span class="cline-any cline-neutral">&nbsp;</span>
709
707
  <span class="cline-any cline-neutral">&nbsp;</span>
710
708
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -713,26 +711,26 @@
713
711
  <span class="cline-any cline-neutral">&nbsp;</span>
714
712
  <span class="cline-any cline-neutral">&nbsp;</span>
715
713
  <span class="cline-any cline-neutral">&nbsp;</span>
716
- <span class="cline-any cline-yes">49x</span>
714
+ <span class="cline-any cline-no">&nbsp;</span>
717
715
  <span class="cline-any cline-no">&nbsp;</span>
718
716
  <span class="cline-any cline-no">&nbsp;</span>
719
717
  <span class="cline-any cline-no">&nbsp;</span>
720
718
  <span class="cline-any cline-neutral">&nbsp;</span>
721
719
  <span class="cline-any cline-neutral">&nbsp;</span>
722
720
  <span class="cline-any cline-neutral">&nbsp;</span>
723
- <span class="cline-any cline-yes">49x</span>
721
+ <span class="cline-any cline-no">&nbsp;</span>
724
722
  <span class="cline-any cline-no">&nbsp;</span>
725
723
  <span class="cline-any cline-no">&nbsp;</span>
726
724
  <span class="cline-any cline-neutral">&nbsp;</span>
727
725
  <span class="cline-any cline-neutral">&nbsp;</span>
728
726
  <span class="cline-any cline-neutral">&nbsp;</span>
729
727
  <span class="cline-any cline-neutral">&nbsp;</span>
730
- <span class="cline-any cline-yes">49x</span>
728
+ <span class="cline-any cline-no">&nbsp;</span>
731
729
  <span class="cline-any cline-neutral">&nbsp;</span>
732
- <span class="cline-any cline-yes">49x</span>
733
- <span class="cline-any cline-yes">49x</span>
730
+ <span class="cline-any cline-no">&nbsp;</span>
731
+ <span class="cline-any cline-no">&nbsp;</span>
734
732
  <span class="cline-any cline-neutral">&nbsp;</span>
735
- <span class="cline-any cline-yes">49x</span>
733
+ <span class="cline-any cline-no">&nbsp;</span>
736
734
  <span class="cline-any cline-neutral">&nbsp;</span>
737
735
  <span class="cline-any cline-neutral">&nbsp;</span>
738
736
  <span class="cline-any cline-no">&nbsp;</span>
@@ -787,7 +785,7 @@ import {
787
785
  foreignKeyStructure,
788
786
  hasTypeChanged,
789
787
  } from "./utils"
790
- import { FieldTypes } from "../../../constants"
788
+ import { FieldTypes, RelationshipTypes } from "../../../constants"
791
789
  import { makeExternalQuery } from "../../../integrations/base/query"
792
790
  import { handleRequest } from "../row/external"
793
791
  import { events, context } from "@budibase/backend-core"
@@ -801,12 +799,11 @@ import {
801
799
  FieldSchema,
802
800
  BBContext,
803
801
  TableRequest,
804
- RelationshipTypes,
805
802
  } from "@budibase/types"
806
803
  import sdk from "../../../sdk"
807
804
  const { cloneDeep } = require("lodash/fp")
808
805
  &nbsp;
809
- async function makeTableRequest(
806
+ async function <span class="fstat-no" title="function not covered" >makeTableRequest(</span>
810
807
  datasource: Datasource,
811
808
  operation: Operation,
812
809
  table: Table,
@@ -814,7 +811,7 @@ async function makeTableRequest(
814
811
  oldTable?: Table,
815
812
  renamed?: RenameColumn
816
813
  ) {
817
- const json: QueryJson = {
814
+ const json: QueryJson = <span class="cstat-no" title="statement not covered" >{</span>
818
815
  endpoint: {
819
816
  datasourceId: datasource._id!,
820
817
  entityId: table._id!,
@@ -825,65 +822,65 @@ async function makeTableRequest(
825
822
  },
826
823
  table,
827
824
  }
828
- <span class="missing-if-branch" title="if path not taken" >I</span>if (oldTable) {
825
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (oldTable) {</span>
829
826
  <span class="cstat-no" title="statement not covered" > json.meta!.table = oldTable</span>
830
827
  }
831
- <span class="missing-if-branch" title="if path not taken" >I</span>if (renamed) {
828
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (renamed) {</span>
832
829
  <span class="cstat-no" title="statement not covered" > json.meta!.renamed = renamed</span>
833
830
  }
834
- return makeExternalQuery(datasource, json)
831
+ <span class="cstat-no" title="statement not covered" > return makeExternalQuery(datasource, json)</span>
835
832
  }
836
833
  &nbsp;
837
- function cleanupRelationships(
834
+ function <span class="fstat-no" title="function not covered" >cleanupRelationships(</span>
838
835
  table: Table,
839
836
  tables: Record&lt;string, Table&gt;,
840
837
  oldTable?: Table
841
838
  ) {
842
- const tableToIterate = oldTable ? <span class="branch-0 cbranch-no" title="branch not covered" >oldTable : t</span>able
839
+ const tableToIterate = <span class="cstat-no" title="statement not covered" >oldTable ? oldTable : table</span>
843
840
  // clean up relationships in couch table schemas
844
- for (let [key, schema] of Object.entries(tableToIterate.schema)) {
845
- if (
841
+ <span class="cstat-no" title="statement not covered" > for (let [key, schema] of Object.entries(tableToIterate.schema)) {</span>
842
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
846
843
  schema.type === FieldTypes.LINK &amp;&amp;
847
- (!oldTable || <span class="branch-2 cbranch-no" title="branch not covered" >table.schema[key] == null</span>)
844
+ (!oldTable || table.schema[key] == null)
848
845
  ) {
849
- const relatedTable = Object.values(tables).find(
850
- table =&gt; table._id === schema.tableId
846
+ const relatedTable = <span class="cstat-no" title="statement not covered" >Object.values(tables).find(</span>
847
+ <span class="fstat-no" title="function not covered" > table =&gt; <span class="cstat-no" title="statement not covered" >t</span>able._id === schema.tableId</span>
851
848
  )
852
- const foreignKey = schema.foreignKey
853
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!relatedTable || !foreignKey) {
849
+ const foreignKey = <span class="cstat-no" title="statement not covered" >schema.foreignKey</span>
850
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!relatedTable || !foreignKey) {</span>
854
851
  <span class="cstat-no" title="statement not covered" > continue</span>
855
852
  }
856
- for (let [relatedKey, relatedSchema] of Object.entries(
853
+ <span class="cstat-no" title="statement not covered" > for (let [relatedKey, relatedSchema] of Object.entries(</span>
857
854
  relatedTable.schema
858
855
  )) {
859
- if (
856
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
860
857
  relatedSchema.type === FieldTypes.LINK &amp;&amp;
861
858
  relatedSchema.fieldName === foreignKey
862
859
  ) {
863
- delete relatedTable.schema[relatedKey]
860
+ <span class="cstat-no" title="statement not covered" > delete relatedTable.schema[relatedKey]</span>
864
861
  }
865
862
  }
866
863
  }
867
864
  }
868
865
  }
869
866
  &nbsp;
870
- function getDatasourceId(table: Table) {
871
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!table) {
867
+ function <span class="fstat-no" title="function not covered" >getDatasourceId(t</span>able: Table) {
868
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!table) {</span>
872
869
  <span class="cstat-no" title="statement not covered" > throw "No table supplied"</span>
873
870
  }
874
- if (table.sourceId) {
875
- return table.sourceId
871
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (table.sourceId) {</span>
872
+ <span class="cstat-no" title="statement not covered" > return table.sourceId</span>
876
873
  }
877
874
  <span class="cstat-no" title="statement not covered" > return breakExternalTableId(table._id).datasourceId</span>
878
875
  }
879
876
  &nbsp;
880
- function otherRelationshipType(type?: string) {
881
- <span class="missing-if-branch" title="if path not taken" >I</span>if (type === RelationshipTypes.MANY_TO_MANY) {
877
+ function <span class="fstat-no" title="function not covered" >otherRelationshipType(t</span>ype?: string) {
878
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (type === RelationshipTypes.MANY_TO_MANY) {</span>
882
879
  <span class="cstat-no" title="statement not covered" > return RelationshipTypes.MANY_TO_MANY</span>
883
880
  }
884
- return type === RelationshipTypes.ONE_TO_MANY
881
+ <span class="cstat-no" title="statement not covered" > return type === RelationshipTypes.ONE_TO_MANY</span>
885
882
  ? RelationshipTypes.MANY_TO_ONE
886
- : <span class="branch-1 cbranch-no" title="branch not covered" >RelationshipTypes.ONE_TO_MANY</span>
883
+ : RelationshipTypes.ONE_TO_MANY
887
884
  }
888
885
  &nbsp;
889
886
  function <span class="fstat-no" title="function not covered" >generateManyLinkSchema(</span>
@@ -922,106 +919,106 @@ function <span class="fstat-no" title="function not covered" >generateManyLinkSc
922
919
  <span class="cstat-no" title="statement not covered" > return junctionTable</span>
923
920
  }
924
921
  &nbsp;
925
- function generateLinkSchema(
922
+ function <span class="fstat-no" title="function not covered" >generateLinkSchema(</span>
926
923
  column: FieldSchema,
927
924
  table: Table,
928
925
  relatedTable: Table,
929
- type: RelationshipTypes
926
+ type: string
930
927
  ) {
931
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!table.primary || !relatedTable.primary) {
928
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!table.primary || !relatedTable.primary) {</span>
932
929
  <span class="cstat-no" title="statement not covered" > throw new Error("Unable to generate link schema, no primary keys")</span>
933
930
  }
934
- const isOneSide = type === RelationshipTypes.ONE_TO_MANY
935
- const primary = isOneSide ? relatedTable.primary[0] : <span class="branch-1 cbranch-no" title="branch not covered" >table.primary[0]</span>
931
+ const isOneSide = <span class="cstat-no" title="statement not covered" >type === RelationshipTypes.ONE_TO_MANY</span>
932
+ const primary = <span class="cstat-no" title="statement not covered" >isOneSide ? relatedTable.primary[0] : table.primary[0]</span>
936
933
  // generate a foreign key
937
- const foreignKey = generateForeignKey(column, relatedTable)
938
- column.relationshipType = type
939
- column.foreignKey = isOneSide ? foreignKey : <span class="branch-1 cbranch-no" title="branch not covered" >primary</span>
940
- column.fieldName = isOneSide ? primary : <span class="branch-1 cbranch-no" title="branch not covered" >foreignKey</span>
941
- return foreignKey
934
+ const foreignKey = <span class="cstat-no" title="statement not covered" >generateForeignKey(column, relatedTable)</span>
935
+ <span class="cstat-no" title="statement not covered" > column.relationshipType = type</span>
936
+ <span class="cstat-no" title="statement not covered" > column.foreignKey = isOneSide ? foreignKey : primary</span>
937
+ <span class="cstat-no" title="statement not covered" > column.fieldName = isOneSide ? primary : foreignKey</span>
938
+ <span class="cstat-no" title="statement not covered" > return foreignKey</span>
942
939
  }
943
940
  &nbsp;
944
- function generateRelatedSchema(
941
+ function <span class="fstat-no" title="function not covered" >generateRelatedSchema(</span>
945
942
  linkColumn: FieldSchema,
946
943
  table: Table,
947
944
  relatedTable: Table,
948
945
  columnName: string
949
946
  ) {
950
947
  // generate column for other table
951
- const relatedSchema = cloneDeep(linkColumn)
948
+ const relatedSchema = <span class="cstat-no" title="statement not covered" >cloneDeep(linkColumn)</span>
952
949
  // swap them from the main link
953
- if (linkColumn.foreignKey) {
954
- relatedSchema.fieldName = linkColumn.foreignKey
955
- relatedSchema.foreignKey = linkColumn.fieldName
950
+ <span class="cstat-no" title="statement not covered" > if (linkColumn.foreignKey) {</span>
951
+ <span class="cstat-no" title="statement not covered" > relatedSchema.fieldName = linkColumn.foreignKey</span>
952
+ <span class="cstat-no" title="statement not covered" > relatedSchema.foreignKey = linkColumn.fieldName</span>
956
953
  }
957
954
  // is many to many
958
- else <span class="missing-if-branch" title="else path not taken" >E</span>{
955
+ else {
959
956
  // don't need to copy through, already got it
960
957
  <span class="cstat-no" title="statement not covered" > relatedSchema.fieldName = linkColumn.throughTo</span>
961
958
  <span class="cstat-no" title="statement not covered" > relatedSchema.throughTo = linkColumn.throughFrom</span>
962
959
  <span class="cstat-no" title="statement not covered" > relatedSchema.throughFrom = linkColumn.throughTo</span>
963
960
  }
964
- relatedSchema.relationshipType = otherRelationshipType(
961
+ <span class="cstat-no" title="statement not covered" > relatedSchema.relationshipType = otherRelationshipType(</span>
965
962
  linkColumn.relationshipType
966
963
  )
967
- relatedSchema.tableId = relatedTable._id
968
- relatedSchema.name = columnName
969
- table.schema[columnName] = relatedSchema
964
+ <span class="cstat-no" title="statement not covered" > relatedSchema.tableId = relatedTable._id</span>
965
+ <span class="cstat-no" title="statement not covered" > relatedSchema.name = columnName</span>
966
+ <span class="cstat-no" title="statement not covered" > table.schema[columnName] = relatedSchema</span>
970
967
  }
971
968
  &nbsp;
972
- function isRelationshipSetup(column: FieldSchema) {
973
- return column.foreignKey || column.through
969
+ function <span class="fstat-no" title="function not covered" >isRelationshipSetup(c</span>olumn: FieldSchema) {
970
+ <span class="cstat-no" title="statement not covered" > return column.foreignKey || column.through</span>
974
971
  }
975
972
  &nbsp;
976
- export async function save(ctx: BBContext) {
977
- const table: TableRequest = ctx.request.body
978
- const renamed = table?._rename
973
+ export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >save<span class="fstat-no" title="function not covered" >(</span></span>c</span>tx: BBContext) {
974
+ const table: TableRequest = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
975
+ const renamed = <span class="cstat-no" title="statement not covered" >table?._rename</span>
979
976
  // can't do this right now
980
- delete table.rows
981
- const datasourceId = getDatasourceId(ctx.request.body)!
977
+ <span class="cstat-no" title="statement not covered" > delete table.rows</span>
978
+ const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(ctx.request.body)!</span>
982
979
  // table doesn't exist already, note that it is created
983
- if (!table._id) {
984
- table.created = true
980
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!table._id) {</span>
981
+ <span class="cstat-no" title="statement not covered" > table.created = true</span>
985
982
  }
986
- let tableToSave: TableRequest = {
983
+ let tableToSave: TableRequest = <span class="cstat-no" title="statement not covered" >{</span>
987
984
  type: "table",
988
985
  _id: buildExternalTableId(datasourceId, table.name),
989
986
  ...table,
990
987
  }
991
988
  &nbsp;
992
989
  let oldTable
993
- <span class="missing-if-branch" title="if path not taken" >I</span>if (ctx.request.body &amp;&amp; ctx.request.body._id) {
990
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (ctx.request.body &amp;&amp; ctx.request.body._id) {</span>
994
991
  <span class="cstat-no" title="statement not covered" > oldTable = await sdk.tables.getTable(ctx.request.body._id)</span>
995
992
  }
996
993
  &nbsp;
997
- <span class="missing-if-branch" title="if path not taken" >I</span>if (hasTypeChanged(tableToSave, oldTable)) {
994
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (hasTypeChanged(tableToSave, oldTable)) {</span>
998
995
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "A column type has changed.")</span>
999
996
  }
1000
997
  &nbsp;
1001
- const db = context.getAppDB()
1002
- const datasource = await sdk.datasources.get(datasourceId)
1003
- if (!datasource.entities) {
1004
- datasource.entities = {}
998
+ const db = <span class="cstat-no" title="statement not covered" >context.getAppDB()</span>
999
+ const datasource = <span class="cstat-no" title="statement not covered" >await sdk.datasources.get(datasourceId)</span>
1000
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!datasource.entities) {</span>
1001
+ <span class="cstat-no" title="statement not covered" > datasource.entities = {}</span>
1005
1002
  }
1006
- const oldTables = cloneDeep(datasource.entities)
1007
- const tables: Record&lt;string, Table&gt; = datasource.entities
1003
+ const oldTables = <span class="cstat-no" title="statement not covered" >cloneDeep(datasource.entities)</span>
1004
+ const tables: Record&lt;string, Table&gt; = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
1008
1005
  &nbsp;
1009
- const extraTablesToUpdate = []
1006
+ const extraTablesToUpdate = <span class="cstat-no" title="statement not covered" >[]</span>
1010
1007
  &nbsp;
1011
1008
  // check if relations need setup
1012
- for (let schema of Object.values(tableToSave.schema)) {
1013
- if (schema.type !== FieldTypes.LINK || isRelationshipSetup(schema)) {
1014
- continue
1009
+ <span class="cstat-no" title="statement not covered" > for (let schema of Object.values(tableToSave.schema)) {</span>
1010
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (schema.type !== FieldTypes.LINK || isRelationshipSetup(schema)) {</span>
1011
+ <span class="cstat-no" title="statement not covered" > continue</span>
1015
1012
  }
1016
- const relatedTable = Object.values(tables).find(
1017
- table =&gt; table._id === schema.tableId
1013
+ const relatedTable = <span class="cstat-no" title="statement not covered" >Object.values(tables).find(</span>
1014
+ <span class="fstat-no" title="function not covered" > table =&gt; <span class="cstat-no" title="statement not covered" >t</span>able._id === schema.tableId</span>
1018
1015
  )
1019
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!relatedTable) {
1016
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!relatedTable) {</span>
1020
1017
  <span class="cstat-no" title="statement not covered" > continue</span>
1021
1018
  }
1022
- const relatedColumnName = schema.fieldName!
1023
- const relationType = schema.relationshipType!
1024
- <span class="missing-if-branch" title="if path not taken" >I</span>if (relationType === RelationshipTypes.MANY_TO_MANY) {
1019
+ const relatedColumnName = <span class="cstat-no" title="statement not covered" >schema.fieldName!</span>
1020
+ const relationType = <span class="cstat-no" title="statement not covered" >schema.relationshipType!</span>
1021
+ <span class="cstat-no" title="statement not covered" > if (relationType === RelationshipTypes.MANY_TO_MANY) {</span>
1025
1022
  const junctionTable = <span class="cstat-no" title="statement not covered" >generateManyLinkSchema(</span>
1026
1023
  datasource,
1027
1024
  schema,
@@ -1035,33 +1032,33 @@ export async function save(ctx: BBContext) {
1035
1032
  <span class="cstat-no" title="statement not covered" > extraTablesToUpdate.push(junctionTable)</span>
1036
1033
  } else {
1037
1034
  const fkTable =
1038
- relationType === RelationshipTypes.ONE_TO_MANY ? table : <span class="branch-1 cbranch-no" title="branch not covered" >relatedTable</span>
1039
- const foreignKey = generateLinkSchema(
1035
+ <span class="cstat-no" title="statement not covered" > relationType === RelationshipTypes.ONE_TO_MANY ? table : relatedTable</span>
1036
+ const foreignKey = <span class="cstat-no" title="statement not covered" >generateLinkSchema(</span>
1040
1037
  schema,
1041
1038
  table,
1042
1039
  relatedTable,
1043
1040
  relationType
1044
1041
  )
1045
- fkTable.schema[foreignKey] = foreignKeyStructure(foreignKey)
1046
- if (fkTable.constrained == null) {
1047
- fkTable.constrained = []
1042
+ <span class="cstat-no" title="statement not covered" > fkTable.schema[foreignKey] = foreignKeyStructure(foreignKey)</span>
1043
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (fkTable.constrained == null) {</span>
1044
+ <span class="cstat-no" title="statement not covered" > fkTable.constrained = []</span>
1048
1045
  }
1049
- if (fkTable.constrained.indexOf(foreignKey) === -1) {
1050
- fkTable.constrained.push(foreignKey)
1046
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (fkTable.constrained.indexOf(foreignKey) === -1) {</span>
1047
+ <span class="cstat-no" title="statement not covered" > fkTable.constrained.push(foreignKey)</span>
1051
1048
  }
1052
1049
  // foreign key is in other table, need to save it to external
1053
- <span class="missing-if-branch" title="if path not taken" >I</span>if (fkTable._id !== table._id) {
1050
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (fkTable._id !== table._id) {</span>
1054
1051
  <span class="cstat-no" title="statement not covered" > extraTablesToUpdate.push(fkTable)</span>
1055
1052
  }
1056
1053
  }
1057
- generateRelatedSchema(schema, relatedTable, table, relatedColumnName)
1058
- schema.main = true
1054
+ <span class="cstat-no" title="statement not covered" > generateRelatedSchema(schema, relatedTable, table, relatedColumnName)</span>
1055
+ <span class="cstat-no" title="statement not covered" > schema.main = true</span>
1059
1056
  }
1060
1057
  &nbsp;
1061
- cleanupRelationships(tableToSave, tables, oldTable)
1058
+ <span class="cstat-no" title="statement not covered" > cleanupRelationships(tableToSave, tables, oldTable)</span>
1062
1059
  &nbsp;
1063
- const operation = oldTable ? <span class="branch-0 cbranch-no" title="branch not covered" >Operation.UPDATE_TABLE </span>: Operation.CREATE_TABLE
1064
- await makeTableRequest(
1060
+ const operation = <span class="cstat-no" title="statement not covered" >oldTable ? Operation.UPDATE_TABLE : Operation.CREATE_TABLE</span>
1061
+ <span class="cstat-no" title="statement not covered" > await makeTableRequest(</span>
1065
1062
  datasource,
1066
1063
  operation,
1067
1064
  tableToSave,
@@ -1070,26 +1067,26 @@ export async function save(ctx: BBContext) {
1070
1067
  renamed
1071
1068
  )
1072
1069
  // update any extra tables (like foreign keys in other tables)
1073
- for (let extraTable of extraTablesToUpdate) {
1070
+ <span class="cstat-no" title="statement not covered" > for (let extraTable of extraTablesToUpdate) {</span>
1074
1071
  const oldExtraTable = <span class="cstat-no" title="statement not covered" >oldTables[extraTable.name]</span>
1075
1072
  let op = <span class="cstat-no" title="statement not covered" >oldExtraTable ? Operation.UPDATE_TABLE : Operation.CREATE_TABLE</span>
1076
1073
  <span class="cstat-no" title="statement not covered" > await makeTableRequest(datasource, op, extraTable, tables, oldExtraTable)</span>
1077
1074
  }
1078
1075
  &nbsp;
1079
1076
  // make sure the constrained list, all still exist
1080
- <span class="missing-if-branch" title="if path not taken" >I</span>if (Array.isArray(tableToSave.constrained)) {
1077
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (Array.isArray(tableToSave.constrained)) {</span>
1081
1078
  <span class="cstat-no" title="statement not covered" > tableToSave.constrained = tableToSave.constrained.filter(<span class="fstat-no" title="function not covered" >constraint =&gt;</span></span>
1082
1079
  <span class="cstat-no" title="statement not covered" > Object.keys(tableToSave.schema).includes(constraint)</span>
1083
1080
  )
1084
1081
  }
1085
1082
  &nbsp;
1086
1083
  // remove the rename prop
1087
- delete tableToSave._rename
1084
+ <span class="cstat-no" title="statement not covered" > delete tableToSave._rename</span>
1088
1085
  // store it into couch now for budibase reference
1089
- datasource.entities[tableToSave.name] = tableToSave
1090
- await db.put(datasource)
1086
+ <span class="cstat-no" title="statement not covered" > datasource.entities[tableToSave.name] = tableToSave</span>
1087
+ <span class="cstat-no" title="statement not covered" > await db.put(datasource)</span>
1091
1088
  &nbsp;
1092
- return tableToSave
1089
+ <span class="cstat-no" title="statement not covered" > return tableToSave</span>
1093
1090
  }
1094
1091
  &nbsp;
1095
1092
  export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >destroy<span class="fstat-no" title="function not covered" >(</span></span>c</span>tx: BBContext) {
@@ -1141,7 +1138,7 @@ export async function <span class="cstat-no" title="statement not covered" ><spa
1141
1138
  <div class='footer quiet pad2 space-top1 center small'>
1142
1139
  Code coverage generated by
1143
1140
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1144
- at Tue Feb 14 2023 18:11:53 GMT+0000 (Coordinated Universal Time)
1141
+ at Wed Feb 15 2023 09:41:40 GMT+0000 (Coordinated Universal Time)
1145
1142
  </div>
1146
1143
  <script src="../../../../prettify.js"></script>
1147
1144
  <script>