@budibase/server 2.3.2-alpha.3 → 2.3.3

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 (543) hide show
  1. package/__mocks__/aws-sdk.ts +1 -1
  2. package/builder/assets/{index.584d49b4.css → index.4488f38d.css} +1 -1
  3. package/builder/assets/{index.bef36368.js → index.ef71e5c7.js} +199 -199
  4. package/builder/index.html +2 -2
  5. package/coverage/clover.xml +6527 -11196
  6. package/coverage/coverage-final.json +269 -353
  7. package/coverage/lcov-report/index.html +180 -405
  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 +1 -1
  59. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +33 -33
  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 +78 -78
  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 +17 -23
  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 +35 -38
  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 +9 -9
  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 +46 -46
  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 +32 -32
  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 +187 -217
  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 +37 -37
  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 +65 -65
  229. package/coverage/lcov-report/src/integrations/queries/index.html +1 -1
  230. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +1 -1
  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 +74 -74
  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 +39 -39
  294. package/coverage/lcov-report/src/sdk/app/datasources/index.html +1 -1
  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 +4 -4
  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 +189 -387
  314. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +15 -15
  315. package/coverage/lcov-report/src/tests/utilities/index.html +18 -18
  316. package/coverage/lcov-report/src/tests/utilities/index.ts.html +1 -1
  317. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +27 -33
  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 +10 -10
  321. package/coverage/lcov-report/src/threads/query.ts.html +1 -1
  322. package/coverage/lcov-report/src/threads/utils.ts.html +9 -9
  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 +11292 -18907
  354. package/dist/api/controllers/row/ExternalRequest.js +2 -4
  355. package/dist/api/controllers/row/external.js +1 -12
  356. package/dist/api/controllers/table/external.js +8 -8
  357. package/dist/api/routes/public/tests/utils.js +2 -29
  358. package/dist/app.js +1 -1
  359. package/dist/constants/index.js +24 -4
  360. package/dist/db/defaultData/datasource_bb_default.js +5 -6
  361. package/dist/db/linkedRows/LinkController.js +8 -9
  362. package/dist/integrations/base/sql.js +3 -10
  363. package/dist/package.json +6 -8
  364. package/dist/sdk/app/backups/exports.js +2 -8
  365. package/dist/tsconfig.build.tsbuildinfo +1 -1
  366. package/jest.config.ts +11 -28
  367. package/package.json +7 -9
  368. package/specs/openapi.json +6 -6
  369. package/specs/openapi.yaml +3 -3
  370. package/src/api/controllers/query/import/tests/index.spec.js +1 -1
  371. package/src/api/controllers/row/ExternalRequest.ts +2 -6
  372. package/src/api/controllers/row/external.ts +1 -13
  373. package/src/api/controllers/table/external.ts +2 -3
  374. package/src/api/routes/public/applications.ts +1 -0
  375. package/src/api/routes/public/tests/compare.spec.js +1 -1
  376. package/src/api/routes/public/tests/users.spec.js +1 -1
  377. package/src/api/routes/public/tests/utils.ts +8 -25
  378. package/src/api/routes/tests/__snapshots__/datasource.spec.ts.snap +1 -1
  379. package/src/api/routes/tests/analytics.spec.js +1 -4
  380. package/src/api/routes/tests/apikeys.spec.js +1 -1
  381. package/src/api/routes/tests/application.spec.ts +6 -20
  382. package/src/api/routes/tests/auth.spec.js +2 -2
  383. package/src/api/routes/tests/automation.spec.js +2 -6
  384. package/src/api/routes/tests/backup.spec.ts +13 -4
  385. package/src/api/routes/tests/{cloud.seq.spec.ts → cloud.spec.ts} +15 -11
  386. package/src/api/routes/tests/component.spec.js +1 -1
  387. package/src/api/routes/tests/datasource.spec.ts +3 -20
  388. package/src/api/routes/tests/dev.spec.js +1 -1
  389. package/src/api/routes/tests/integration.spec.js +1 -1
  390. package/src/api/routes/tests/layout.spec.js +1 -1
  391. package/src/api/routes/tests/metadata.spec.js +1 -1
  392. package/src/api/routes/tests/misc.spec.js +1 -1
  393. package/src/api/routes/tests/permissions.spec.js +1 -4
  394. package/src/api/routes/tests/{query.seq.spec.js → query.spec.js} +1 -21
  395. package/src/api/routes/tests/role.spec.js +1 -6
  396. package/src/api/routes/tests/routing.spec.js +1 -1
  397. package/src/api/routes/tests/row.spec.js +3 -11
  398. package/src/api/routes/tests/screen.spec.js +1 -1
  399. package/src/api/routes/tests/static.spec.js +1 -2
  400. package/src/api/routes/tests/table.spec.js +1 -1
  401. package/src/api/routes/tests/templates.spec.js +1 -1
  402. package/src/api/routes/tests/user.spec.js +0 -3
  403. package/src/api/routes/tests/utilities/TestFunctions.ts +2 -25
  404. package/src/api/routes/tests/utilities/index.ts +3 -5
  405. package/src/api/routes/tests/view.spec.js +1 -4
  406. package/src/api/routes/tests/webhook.spec.js +2 -11
  407. package/src/app.ts +1 -2
  408. package/src/automations/tests/automation.spec.js +4 -4
  409. package/src/automations/tests/bash.spec.js +1 -1
  410. package/src/automations/tests/discord.spec.js +1 -1
  411. package/src/automations/tests/executeQuery.spec.js +3 -2
  412. package/src/automations/tests/executeScript.spec.js +1 -1
  413. package/src/automations/tests/outgoingWebhook.spec.js +1 -1
  414. package/src/automations/tests/sendSmtpEmail.spec.js +1 -1
  415. package/src/automations/tests/serverLog.spec.js +1 -1
  416. package/src/automations/tests/updateRow.spec.js +1 -1
  417. package/src/automations/tests/zapier.spec.js +1 -1
  418. package/src/constants/index.ts +23 -1
  419. package/src/db/defaultData/datasource_bb_default.ts +10 -6
  420. package/src/db/linkedRows/LinkController.ts +1 -2
  421. package/src/db/tests/linkController.spec.js +1 -4
  422. package/src/db/tests/linkTests.spec.js +1 -1
  423. package/src/integrations/base/sql.ts +5 -15
  424. package/src/integrations/oracle.ts +1 -1
  425. package/src/migrations/functions/tests/appUrls.spec.js +1 -1
  426. package/src/migrations/functions/tests/syncQuotas.spec.js +1 -1
  427. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +1 -1
  428. package/src/migrations/tests/index.spec.ts +2 -3
  429. package/src/sdk/app/backups/exports.ts +2 -8
  430. package/src/tests/jestEnv.ts +6 -2
  431. package/src/tests/jestSetup.ts +6 -5
  432. package/src/tests/utilities/TestConfiguration.ts +46 -112
  433. package/src/tests/utilities/structures.ts +2 -4
  434. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/curl/curl.spec.js.html +0 -391
  435. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/curl/index.html +0 -116
  436. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/openapi2/index.html +0 -116
  437. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/openapi2/openapi2.spec.js.html +0 -796
  438. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/openapi3/index.html +0 -116
  439. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/openapi3/openapi3.spec.js.html +0 -805
  440. package/coverage/lcov-report/src/api/controllers/query/import/tests/index.html +0 -116
  441. package/coverage/lcov-report/src/api/controllers/query/import/tests/index.spec.js.html +0 -568
  442. package/coverage/lcov-report/src/api/controllers/view/tests/index.html +0 -116
  443. package/coverage/lcov-report/src/api/controllers/view/tests/viewBuilder.spec.js.html +0 -277
  444. package/coverage/lcov-report/src/api/routes/public/tests/compare.spec.js.html +0 -583
  445. package/coverage/lcov-report/src/api/routes/public/tests/users.spec.js.html +0 -199
  446. package/coverage/lcov-report/src/api/routes/tests/analytics.spec.js.html +0 -271
  447. package/coverage/lcov-report/src/api/routes/tests/apikeys.spec.js.html +0 -259
  448. package/coverage/lcov-report/src/api/routes/tests/application.spec.ts.html +0 -1066
  449. package/coverage/lcov-report/src/api/routes/tests/auth.spec.js.html +0 -154
  450. package/coverage/lcov-report/src/api/routes/tests/automation.spec.js.html +0 -1123
  451. package/coverage/lcov-report/src/api/routes/tests/backup.spec.ts.html +0 -223
  452. package/coverage/lcov-report/src/api/routes/tests/cloud.seq.spec.ts.html +0 -268
  453. package/coverage/lcov-report/src/api/routes/tests/component.spec.js.html +0 -178
  454. package/coverage/lcov-report/src/api/routes/tests/datasource.spec.ts.html +0 -799
  455. package/coverage/lcov-report/src/api/routes/tests/dev.spec.js.html +0 -202
  456. package/coverage/lcov-report/src/api/routes/tests/index.html +0 -521
  457. package/coverage/lcov-report/src/api/routes/tests/integration.spec.js.html +0 -238
  458. package/coverage/lcov-report/src/api/routes/tests/internalSearch.spec.js.html +0 -670
  459. package/coverage/lcov-report/src/api/routes/tests/layout.spec.js.html +0 -259
  460. package/coverage/lcov-report/src/api/routes/tests/metadata.spec.js.html +0 -280
  461. package/coverage/lcov-report/src/api/routes/tests/misc.spec.js.html +0 -358
  462. package/coverage/lcov-report/src/api/routes/tests/permissions.spec.js.html +0 -484
  463. package/coverage/lcov-report/src/api/routes/tests/plugin.spec.ts.html +0 -622
  464. package/coverage/lcov-report/src/api/routes/tests/query.seq.spec.js.html +0 -1696
  465. package/coverage/lcov-report/src/api/routes/tests/role.spec.js.html +0 -478
  466. package/coverage/lcov-report/src/api/routes/tests/routing.spec.js.html +0 -430
  467. package/coverage/lcov-report/src/api/routes/tests/row.spec.js.html +0 -1804
  468. package/coverage/lcov-report/src/api/routes/tests/screen.spec.js.html +0 -391
  469. package/coverage/lcov-report/src/api/routes/tests/static.spec.js.html +0 -541
  470. package/coverage/lcov-report/src/api/routes/tests/table.spec.js.html +0 -991
  471. package/coverage/lcov-report/src/api/routes/tests/templates.spec.js.html +0 -154
  472. package/coverage/lcov-report/src/api/routes/tests/user.spec.js.html +0 -688
  473. package/coverage/lcov-report/src/api/routes/tests/view.spec.js.html +0 -1342
  474. package/coverage/lcov-report/src/api/routes/tests/webhook.spec.js.html +0 -484
  475. package/coverage/lcov-report/src/automations/tests/automation.spec.js.html +0 -337
  476. package/coverage/lcov-report/src/automations/tests/bash.spec.js.html +0 -187
  477. package/coverage/lcov-report/src/automations/tests/createRow.spec.ts.html +0 -223
  478. package/coverage/lcov-report/src/automations/tests/delay.spec.js.html +0 -133
  479. package/coverage/lcov-report/src/automations/tests/deleteRow.spec.ts.html +0 -250
  480. package/coverage/lcov-report/src/automations/tests/discord.spec.js.html +0 -166
  481. package/coverage/lcov-report/src/automations/tests/executeQuery.spec.js.html +0 -229
  482. package/coverage/lcov-report/src/automations/tests/executeScript.spec.js.html +0 -229
  483. package/coverage/lcov-report/src/automations/tests/filter.spec.js.html +0 -232
  484. package/coverage/lcov-report/src/automations/tests/index.html +0 -341
  485. package/coverage/lcov-report/src/automations/tests/loop.spec.ts.html +0 -220
  486. package/coverage/lcov-report/src/automations/tests/outgoingWebhook.spec.js.html +0 -202
  487. package/coverage/lcov-report/src/automations/tests/queryRows.spec.js.html +0 -436
  488. package/coverage/lcov-report/src/automations/tests/sendSmtpEmail.spec.js.html +0 -298
  489. package/coverage/lcov-report/src/automations/tests/serverLog.spec.js.html +0 -151
  490. package/coverage/lcov-report/src/automations/tests/updateRow.spec.js.html +0 -217
  491. package/coverage/lcov-report/src/automations/tests/zapier.spec.js.html +0 -166
  492. package/coverage/lcov-report/src/automations/unitTests/automationUtils.spec.ts.html +0 -280
  493. package/coverage/lcov-report/src/automations/unitTests/index.html +0 -116
  494. package/coverage/lcov-report/src/db/tests/index.html +0 -131
  495. package/coverage/lcov-report/src/db/tests/linkController.spec.js.html +0 -793
  496. package/coverage/lcov-report/src/db/tests/linkTests.spec.js.html +0 -277
  497. package/coverage/lcov-report/src/integration-test/index.html +0 -116
  498. package/coverage/lcov-report/src/integration-test/postgres.spec.ts.html +0 -2341
  499. package/coverage/lcov-report/src/integrations/tests/airtable.spec.ts.html +0 -310
  500. package/coverage/lcov-report/src/integrations/tests/arangodb.spec.ts.html +0 -199
  501. package/coverage/lcov-report/src/integrations/tests/couchdb.spec.ts.html +0 -349
  502. package/coverage/lcov-report/src/integrations/tests/dynamodb.spec.ts.html +0 -550
  503. package/coverage/lcov-report/src/integrations/tests/elasticsearch.spec.ts.html +0 -331
  504. package/coverage/lcov-report/src/integrations/tests/firebase.spec.ts.html +0 -376
  505. package/coverage/lcov-report/src/integrations/tests/microsoftSqlServer.spec.ts.html +0 -253
  506. package/coverage/lcov-report/src/integrations/tests/mongo.spec.ts.html +0 -1087
  507. package/coverage/lcov-report/src/integrations/tests/mysql.spec.ts.html +0 -484
  508. package/coverage/lcov-report/src/integrations/tests/oracle.spec.ts.html +0 -373
  509. package/coverage/lcov-report/src/integrations/tests/postgres.spec.ts.html +0 -328
  510. package/coverage/lcov-report/src/integrations/tests/redis.spec.ts.html +0 -337
  511. package/coverage/lcov-report/src/integrations/tests/rest.spec.ts.html +0 -1870
  512. package/coverage/lcov-report/src/integrations/tests/s3.spec.ts.html +0 -421
  513. package/coverage/lcov-report/src/integrations/tests/sql.spec.ts.html +0 -1753
  514. package/coverage/lcov-report/src/middleware/tests/authorized.spec.js.html +0 -574
  515. package/coverage/lcov-report/src/middleware/tests/currentapp.spec.js.html +0 -814
  516. package/coverage/lcov-report/src/middleware/tests/index.html +0 -161
  517. package/coverage/lcov-report/src/middleware/tests/resourceId.spec.js.html +0 -397
  518. package/coverage/lcov-report/src/middleware/tests/selfhost.spec.js.html +0 -214
  519. package/coverage/lcov-report/src/migrations/functions/tests/appUrls.spec.js.html +0 -163
  520. package/coverage/lcov-report/src/migrations/functions/tests/index.html +0 -161
  521. package/coverage/lcov-report/src/migrations/functions/tests/syncQuotas.spec.js.html +0 -163
  522. package/coverage/lcov-report/src/migrations/functions/tests/tableSettings.spec.ts.html +0 -517
  523. package/coverage/lcov-report/src/migrations/functions/tests/userEmailViewCasing.spec.js.html +0 -190
  524. package/coverage/lcov-report/src/migrations/functions/usageQuotas/tests/index.html +0 -131
  525. package/coverage/lcov-report/src/migrations/functions/usageQuotas/tests/syncApps.spec.ts.html +0 -190
  526. package/coverage/lcov-report/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts.html +0 -244
  527. package/coverage/lcov-report/src/migrations/tests/index.spec.ts.html +0 -535
  528. package/coverage/lcov-report/src/sdk/tests/attachments.spec.ts.html +0 -313
  529. package/coverage/lcov-report/src/sdk/tests/index.html +0 -116
  530. package/coverage/lcov-report/src/utilities/retry.ts.html +0 -139
  531. package/coverage/lcov-report/src/utilities/rowProcessor/tests/index.html +0 -116
  532. package/coverage/lcov-report/src/utilities/rowProcessor/tests/utils.spec.ts.html +0 -256
  533. package/dist/api/routes/tests/utilities/index.js +0 -131
  534. package/dist/tests/utilities/TestConfiguration.js +0 -618
  535. package/dist/tests/utilities/controllers.js +0 -40
  536. package/dist/tests/utilities/structures.js +0 -226
  537. package/dist/utilities/retry.js +0 -30
  538. package/jest-testcontainers-config.js +0 -8
  539. package/scripts/load/create-many-apps.js +0 -24
  540. package/scripts/load/create-many-rows.js +0 -30
  541. package/scripts/load/utils.js +0 -66
  542. package/src/integration-test/postgres.spec.ts +0 -752
  543. 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">57x</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">57x</span>
433
- <span class="cline-any cline-yes">57x</span>
434
- <span class="cline-any cline-yes">57x</span>
435
- <span class="cline-any cline-yes">57x</span>
436
- <span class="cline-any cline-yes">57x</span>
437
- <span class="cline-any cline-yes">57x</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">57x</span>
449
- <span class="cline-any cline-yes">57x</span>
450
- <span class="cline-any cline-yes">57x</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 07 2023 16:00:57 GMT+0000 (Coordinated Universal Time)
1141
+ at Tue Feb 07 2023 16:10:30 GMT+0000 (Coordinated Universal Time)
1145
1142
  </div>
1146
1143
  <script src="../../../../prettify.js"></script>
1147
1144
  <script>