@budibase/server 2.3.11-alpha.0 → 2.3.12

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 (549) 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.a7877207.js → index.e0b69cb5.js} +224 -224
  4. package/builder/index.html +2 -2
  5. package/coverage/clover.xml +6591 -11327
  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 +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 +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 +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 +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 +11906 -19632
  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 +3 -10
  364. package/dist/package.json +6 -8
  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 +7 -9
  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 +5 -15
  427. package/src/integrations/oracle.ts +1 -1
  428. package/src/migrations/functions/tests/appUrls.spec.js +1 -1
  429. package/src/migrations/functions/tests/syncQuotas.spec.js +1 -1
  430. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +1 -1
  431. package/src/migrations/tests/index.spec.ts +20 -13
  432. package/src/sdk/app/backups/exports.ts +2 -8
  433. package/src/sdk/app/datasources/datasources.ts +0 -3
  434. package/src/tests/jestEnv.ts +6 -2
  435. package/src/tests/jestSetup.ts +7 -8
  436. package/src/tests/utilities/TestConfiguration.ts +50 -126
  437. package/src/tests/utilities/structures.ts +2 -16
  438. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/curl/curl.spec.js.html +0 -391
  439. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/curl/index.html +0 -116
  440. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/openapi2/index.html +0 -116
  441. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/openapi2/openapi2.spec.js.html +0 -796
  442. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/openapi3/index.html +0 -116
  443. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/openapi3/openapi3.spec.js.html +0 -805
  444. package/coverage/lcov-report/src/api/controllers/query/import/tests/index.html +0 -116
  445. package/coverage/lcov-report/src/api/controllers/query/import/tests/index.spec.js.html +0 -568
  446. package/coverage/lcov-report/src/api/controllers/view/tests/index.html +0 -116
  447. package/coverage/lcov-report/src/api/controllers/view/tests/viewBuilder.spec.js.html +0 -277
  448. package/coverage/lcov-report/src/api/routes/public/tests/compare.spec.js.html +0 -583
  449. package/coverage/lcov-report/src/api/routes/public/tests/users.spec.js.html +0 -199
  450. package/coverage/lcov-report/src/api/routes/tests/analytics.spec.js.html +0 -271
  451. package/coverage/lcov-report/src/api/routes/tests/apikeys.spec.js.html +0 -259
  452. package/coverage/lcov-report/src/api/routes/tests/application.spec.ts.html +0 -1066
  453. package/coverage/lcov-report/src/api/routes/tests/auth.spec.js.html +0 -154
  454. package/coverage/lcov-report/src/api/routes/tests/automation.spec.js.html +0 -1123
  455. package/coverage/lcov-report/src/api/routes/tests/backup.spec.ts.html +0 -223
  456. package/coverage/lcov-report/src/api/routes/tests/cloud.seq.spec.ts.html +0 -268
  457. package/coverage/lcov-report/src/api/routes/tests/component.spec.js.html +0 -178
  458. package/coverage/lcov-report/src/api/routes/tests/datasource.spec.ts.html +0 -799
  459. package/coverage/lcov-report/src/api/routes/tests/dev.spec.js.html +0 -202
  460. package/coverage/lcov-report/src/api/routes/tests/environmentVariables.spec.ts.html +0 -517
  461. package/coverage/lcov-report/src/api/routes/tests/index.html +0 -536
  462. package/coverage/lcov-report/src/api/routes/tests/integration.spec.js.html +0 -238
  463. package/coverage/lcov-report/src/api/routes/tests/internalSearch.spec.js.html +0 -670
  464. package/coverage/lcov-report/src/api/routes/tests/layout.spec.js.html +0 -259
  465. package/coverage/lcov-report/src/api/routes/tests/metadata.spec.js.html +0 -280
  466. package/coverage/lcov-report/src/api/routes/tests/misc.spec.js.html +0 -358
  467. package/coverage/lcov-report/src/api/routes/tests/permissions.spec.js.html +0 -484
  468. package/coverage/lcov-report/src/api/routes/tests/plugin.spec.ts.html +0 -622
  469. package/coverage/lcov-report/src/api/routes/tests/query.seq.spec.js.html +0 -1699
  470. package/coverage/lcov-report/src/api/routes/tests/role.spec.js.html +0 -478
  471. package/coverage/lcov-report/src/api/routes/tests/routing.spec.js.html +0 -430
  472. package/coverage/lcov-report/src/api/routes/tests/row.spec.js.html +0 -1804
  473. package/coverage/lcov-report/src/api/routes/tests/screen.spec.js.html +0 -391
  474. package/coverage/lcov-report/src/api/routes/tests/static.spec.js.html +0 -541
  475. package/coverage/lcov-report/src/api/routes/tests/table.spec.js.html +0 -991
  476. package/coverage/lcov-report/src/api/routes/tests/templates.spec.js.html +0 -154
  477. package/coverage/lcov-report/src/api/routes/tests/user.spec.js.html +0 -679
  478. package/coverage/lcov-report/src/api/routes/tests/view.spec.js.html +0 -1342
  479. package/coverage/lcov-report/src/api/routes/tests/webhook.spec.js.html +0 -484
  480. package/coverage/lcov-report/src/automations/tests/automation.spec.js.html +0 -337
  481. package/coverage/lcov-report/src/automations/tests/bash.spec.js.html +0 -187
  482. package/coverage/lcov-report/src/automations/tests/createRow.spec.ts.html +0 -223
  483. package/coverage/lcov-report/src/automations/tests/delay.spec.js.html +0 -133
  484. package/coverage/lcov-report/src/automations/tests/deleteRow.spec.ts.html +0 -250
  485. package/coverage/lcov-report/src/automations/tests/discord.spec.js.html +0 -166
  486. package/coverage/lcov-report/src/automations/tests/executeQuery.spec.js.html +0 -229
  487. package/coverage/lcov-report/src/automations/tests/executeScript.spec.js.html +0 -229
  488. package/coverage/lcov-report/src/automations/tests/filter.spec.js.html +0 -232
  489. package/coverage/lcov-report/src/automations/tests/index.html +0 -341
  490. package/coverage/lcov-report/src/automations/tests/loop.spec.ts.html +0 -220
  491. package/coverage/lcov-report/src/automations/tests/outgoingWebhook.spec.js.html +0 -202
  492. package/coverage/lcov-report/src/automations/tests/queryRows.spec.js.html +0 -436
  493. package/coverage/lcov-report/src/automations/tests/sendSmtpEmail.spec.js.html +0 -298
  494. package/coverage/lcov-report/src/automations/tests/serverLog.spec.js.html +0 -151
  495. package/coverage/lcov-report/src/automations/tests/updateRow.spec.js.html +0 -217
  496. package/coverage/lcov-report/src/automations/tests/zapier.spec.js.html +0 -166
  497. package/coverage/lcov-report/src/automations/unitTests/automationUtils.spec.ts.html +0 -280
  498. package/coverage/lcov-report/src/automations/unitTests/index.html +0 -116
  499. package/coverage/lcov-report/src/db/tests/index.html +0 -131
  500. package/coverage/lcov-report/src/db/tests/linkController.spec.js.html +0 -793
  501. package/coverage/lcov-report/src/db/tests/linkTests.spec.js.html +0 -277
  502. package/coverage/lcov-report/src/integration-test/index.html +0 -116
  503. package/coverage/lcov-report/src/integration-test/postgres.spec.ts.html +0 -2341
  504. package/coverage/lcov-report/src/integrations/tests/airtable.spec.ts.html +0 -310
  505. package/coverage/lcov-report/src/integrations/tests/arangodb.spec.ts.html +0 -199
  506. package/coverage/lcov-report/src/integrations/tests/couchdb.spec.ts.html +0 -349
  507. package/coverage/lcov-report/src/integrations/tests/dynamodb.spec.ts.html +0 -550
  508. package/coverage/lcov-report/src/integrations/tests/elasticsearch.spec.ts.html +0 -331
  509. package/coverage/lcov-report/src/integrations/tests/firebase.spec.ts.html +0 -376
  510. package/coverage/lcov-report/src/integrations/tests/microsoftSqlServer.spec.ts.html +0 -253
  511. package/coverage/lcov-report/src/integrations/tests/mongo.spec.ts.html +0 -1087
  512. package/coverage/lcov-report/src/integrations/tests/mysql.spec.ts.html +0 -484
  513. package/coverage/lcov-report/src/integrations/tests/oracle.spec.ts.html +0 -373
  514. package/coverage/lcov-report/src/integrations/tests/postgres.spec.ts.html +0 -328
  515. package/coverage/lcov-report/src/integrations/tests/redis.spec.ts.html +0 -337
  516. package/coverage/lcov-report/src/integrations/tests/rest.spec.ts.html +0 -1870
  517. package/coverage/lcov-report/src/integrations/tests/s3.spec.ts.html +0 -421
  518. package/coverage/lcov-report/src/integrations/tests/sql.spec.ts.html +0 -1753
  519. package/coverage/lcov-report/src/middleware/tests/authorized.spec.js.html +0 -574
  520. package/coverage/lcov-report/src/middleware/tests/currentapp.spec.js.html +0 -814
  521. package/coverage/lcov-report/src/middleware/tests/index.html +0 -161
  522. package/coverage/lcov-report/src/middleware/tests/resourceId.spec.js.html +0 -397
  523. package/coverage/lcov-report/src/middleware/tests/selfhost.spec.js.html +0 -214
  524. package/coverage/lcov-report/src/migrations/functions/tests/appUrls.spec.js.html +0 -163
  525. package/coverage/lcov-report/src/migrations/functions/tests/index.html +0 -161
  526. package/coverage/lcov-report/src/migrations/functions/tests/syncQuotas.spec.js.html +0 -163
  527. package/coverage/lcov-report/src/migrations/functions/tests/tableSettings.spec.ts.html +0 -517
  528. package/coverage/lcov-report/src/migrations/functions/tests/userEmailViewCasing.spec.js.html +0 -190
  529. package/coverage/lcov-report/src/migrations/functions/usageQuotas/tests/index.html +0 -131
  530. package/coverage/lcov-report/src/migrations/functions/usageQuotas/tests/syncApps.spec.ts.html +0 -190
  531. package/coverage/lcov-report/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts.html +0 -244
  532. package/coverage/lcov-report/src/migrations/tests/index.spec.ts.html +0 -511
  533. package/coverage/lcov-report/src/sdk/tests/attachments.spec.ts.html +0 -313
  534. package/coverage/lcov-report/src/sdk/tests/index.html +0 -116
  535. package/coverage/lcov-report/src/utilities/retry.ts.html +0 -139
  536. package/coverage/lcov-report/src/utilities/rowProcessor/tests/index.html +0 -116
  537. package/coverage/lcov-report/src/utilities/rowProcessor/tests/utils.spec.ts.html +0 -256
  538. package/dist/api/routes/tests/utilities/index.js +0 -131
  539. package/dist/tests/utilities/TestConfiguration.js +0 -626
  540. package/dist/tests/utilities/controllers.js +0 -40
  541. package/dist/tests/utilities/structures.js +0 -234
  542. package/dist/utilities/retry.js +0 -30
  543. package/jest-testcontainers-config.js +0 -8
  544. package/scripts/load/create-many-apps.js +0 -24
  545. package/scripts/load/create-many-rows.js +0 -30
  546. package/scripts/load/utils.js +0 -66
  547. package/src/api/routes/tests/environmentVariables.spec.ts +0 -144
  548. package/src/integration-test/postgres.spec.ts +0 -752
  549. 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 Fri Feb 10 2023 19:13:10 GMT+0000 (Coordinated Universal Time)
1141
+ at Mon Feb 13 2023 11:21:28 GMT+0000 (Coordinated Universal Time)
1145
1142
  </div>
1146
1143
  <script src="../../../../prettify.js"></script>
1147
1144
  <script>