@budibase/server 0.9.185-alpha.2 → 0.9.185-alpha.20

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 (251) hide show
  1. package/Dockerfile +7 -1
  2. package/__mocks__/oracledb.ts +31 -0
  3. package/builder/assets/bb-space-man.5be51a45.svg +290 -0
  4. package/builder/assets/index.7d405e74.css +1 -0
  5. package/builder/assets/index.83e08172.js +1316 -0
  6. package/builder/assets/oracle.66592424.png +0 -0
  7. package/builder/assets/vendor.470042a4.js +152 -0
  8. package/builder/assets/vendor.5e1fe644.css +1 -0
  9. package/builder/index.html +4 -4
  10. package/coverage/clover.xml +785 -687
  11. package/coverage/coverage-final.json +90 -88
  12. package/coverage/lcov-report/api/controllers/analytics.js.html +2 -2
  13. package/coverage/lcov-report/api/controllers/apikeys.js.html +2 -2
  14. package/coverage/lcov-report/api/controllers/application.js.html +43 -13
  15. package/coverage/lcov-report/api/controllers/auth.js.html +7 -7
  16. package/coverage/lcov-report/api/controllers/automation.js.html +3 -3
  17. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/component.js.html +4 -4
  20. package/coverage/lcov-report/api/controllers/datasource.js.html +129 -21
  21. package/coverage/lcov-report/api/controllers/dev.js.html +16 -7
  22. package/coverage/lcov-report/api/controllers/hosting.js.html +10 -10
  23. package/coverage/lcov-report/api/controllers/index.html +77 -77
  24. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/layout.js.html +3 -3
  26. package/coverage/lcov-report/api/controllers/metadata.js.html +3 -3
  27. package/coverage/lcov-report/api/controllers/permission.js.html +3 -3
  28. package/coverage/lcov-report/api/controllers/query.js.html +48 -210
  29. package/coverage/lcov-report/api/controllers/role.js.html +9 -9
  30. package/coverage/lcov-report/api/controllers/routing.js.html +3 -3
  31. package/coverage/lcov-report/api/controllers/row/external.js.html +2 -2
  32. package/coverage/lcov-report/api/controllers/row/index.html +10 -10
  33. package/coverage/lcov-report/api/controllers/row/index.js.html +2 -2
  34. package/coverage/lcov-report/api/controllers/row/internal.js.html +9 -9
  35. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +2 -2
  36. package/coverage/lcov-report/api/controllers/row/utils.js.html +2 -2
  37. package/coverage/lcov-report/api/controllers/screen.js.html +2 -2
  38. package/coverage/lcov-report/api/controllers/script.js.html +3 -3
  39. package/coverage/lcov-report/api/controllers/table/external.js.html +29 -8
  40. package/coverage/lcov-report/api/controllers/table/index.html +20 -20
  41. package/coverage/lcov-report/api/controllers/table/index.js.html +3 -3
  42. package/coverage/lcov-report/api/controllers/table/internal.js.html +2 -2
  43. package/coverage/lcov-report/api/controllers/table/utils.js.html +8 -8
  44. package/coverage/lcov-report/api/controllers/templates.js.html +4 -4
  45. package/coverage/lcov-report/api/controllers/user.js.html +2 -2
  46. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  47. package/coverage/lcov-report/api/controllers/view/index.html +9 -9
  48. package/coverage/lcov-report/api/controllers/view/index.js.html +5 -5
  49. package/coverage/lcov-report/api/controllers/view/utils.js.html +11 -11
  50. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +3 -3
  51. package/coverage/lcov-report/api/controllers/webhook.js.html +4 -4
  52. package/coverage/lcov-report/api/index.html +1 -1
  53. package/coverage/lcov-report/api/index.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/dev.js.html +2 -2
  65. package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/index.html +4 -4
  67. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/query.js.html +5 -2
  73. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/static.js.html +2 -2
  79. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  81. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  82. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  83. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  84. package/coverage/lcov-report/automations/actions.js.html +2 -2
  85. package/coverage/lcov-report/automations/automationUtils.js.html +3 -3
  86. package/coverage/lcov-report/automations/bullboard.js.html +71 -20
  87. package/coverage/lcov-report/automations/index.html +33 -48
  88. package/coverage/lcov-report/automations/index.js.html +2 -2
  89. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/discord.js.html +3 -3
  94. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/executeScript.js.html +3 -3
  96. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/index.html +14 -14
  98. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +3 -3
  100. package/coverage/lcov-report/automations/steps/queryRows.js.html +3 -3
  101. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  102. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  104. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  105. package/coverage/lcov-report/automations/steps/utils.js.html +7 -7
  106. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
  108. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
  109. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
  111. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
  112. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
  113. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
  114. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
  115. package/coverage/lcov-report/automations/triggers.js.html +22 -10
  116. package/coverage/lcov-report/automations/utils.js.html +42 -12
  117. package/coverage/lcov-report/constants/index.html +5 -5
  118. package/coverage/lcov-report/constants/index.js.html +44 -23
  119. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  120. package/coverage/lcov-report/constants/screens.js.html +1 -1
  121. package/coverage/lcov-report/db/client.js.html +2 -2
  122. package/coverage/lcov-report/db/inMemoryView.js.html +2 -2
  123. package/coverage/lcov-report/db/index.html +2 -2
  124. package/coverage/lcov-report/db/index.js.html +1 -1
  125. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +6 -6
  126. package/coverage/lcov-report/db/linkedRows/index.html +10 -10
  127. package/coverage/lcov-report/db/linkedRows/index.js.html +5 -5
  128. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +6 -6
  129. package/coverage/lcov-report/db/newid.js.html +3 -3
  130. package/coverage/lcov-report/db/utils.js.html +57 -57
  131. package/coverage/lcov-report/events/AutomationEmitter.js.html +6 -6
  132. package/coverage/lcov-report/events/index.html +6 -6
  133. package/coverage/lcov-report/events/index.js.html +1 -1
  134. package/coverage/lcov-report/events/utils.js.html +5 -5
  135. package/coverage/lcov-report/index.html +86 -71
  136. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  137. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  138. package/coverage/lcov-report/middleware/appInfo.js.html +2 -2
  139. package/coverage/lcov-report/middleware/authorized.js.html +4 -4
  140. package/coverage/lcov-report/middleware/builder.js.html +16 -7
  141. package/coverage/lcov-report/middleware/currentapp.js.html +6 -6
  142. package/coverage/lcov-report/middleware/index.html +21 -21
  143. package/coverage/lcov-report/middleware/joi-validator.js.html +2 -2
  144. package/coverage/lcov-report/middleware/resourceId.js.html +18 -18
  145. package/coverage/lcov-report/middleware/selfhost.js.html +2 -2
  146. package/coverage/lcov-report/middleware/usageQuota.js.html +4 -4
  147. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  148. package/coverage/lcov-report/{automations/thread.js.html → threads/automation.js.html} +90 -33
  149. package/coverage/lcov-report/threads/index.html +141 -0
  150. package/coverage/lcov-report/threads/index.js.html +278 -0
  151. package/coverage/lcov-report/threads/query.js.html +278 -0
  152. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  153. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  154. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  155. package/coverage/lcov-report/utilities/csvParser.js.html +2 -2
  156. package/coverage/lcov-report/utilities/global.js.html +2 -2
  157. package/coverage/lcov-report/utilities/index.html +21 -21
  158. package/coverage/lcov-report/utilities/index.js.html +12 -9
  159. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +30 -9
  160. package/coverage/lcov-report/utilities/queue/index.html +14 -14
  161. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  162. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  163. package/coverage/lcov-report/utilities/rowProcessor/index.html +4 -4
  164. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +2 -2
  165. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +3 -3
  166. package/coverage/lcov-report/utilities/scriptRunner.js.html +16 -7
  167. package/coverage/lcov-report/utilities/security.js.html +3 -3
  168. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  169. package/coverage/lcov-report/utilities/users.js.html +1 -1
  170. package/coverage/lcov-report/utilities/workerRequests.js.html +5 -5
  171. package/coverage/lcov.info +1247 -1070
  172. package/dist/api/controllers/application.js +11 -1
  173. package/dist/api/controllers/datasource.js +31 -7
  174. package/dist/api/controllers/deploy/index.js +2 -0
  175. package/dist/api/controllers/dev.js +4 -1
  176. package/dist/api/controllers/query.js +27 -57
  177. package/dist/api/controllers/table/external.js +8 -1
  178. package/dist/api/routes/query.js +1 -1
  179. package/dist/app.js +2 -11
  180. package/dist/automations/bullboard.js +37 -10
  181. package/dist/automations/triggers.js +7 -3
  182. package/dist/automations/utils.js +11 -2
  183. package/dist/constants/index.js +6 -0
  184. package/dist/definitions/datasource.js +1 -0
  185. package/dist/environment.js +13 -0
  186. package/dist/integrations/base/IntegrationBase.js +2 -0
  187. package/dist/integrations/base/sql.js +40 -8
  188. package/dist/integrations/index.js +6 -0
  189. package/dist/integrations/mysql.js +3 -1
  190. package/dist/integrations/oracle.js +345 -0
  191. package/dist/integrations/utils.js +17 -2
  192. package/dist/middleware/builder.js +4 -1
  193. package/dist/package.json +11 -6
  194. package/dist/{automations/thread.js → threads/automation.js} +26 -8
  195. package/dist/threads/index.js +64 -0
  196. package/dist/threads/query.js +64 -0
  197. package/dist/tsconfig.tsbuildinfo +1 -1
  198. package/dist/utilities/index.js +1 -0
  199. package/dist/utilities/queue/inMemoryQueue.js +8 -0
  200. package/dist/utilities/scriptRunner.js +4 -1
  201. package/package.json +12 -7
  202. package/scripts/dev/manage.js +1 -0
  203. package/scripts/integrations/oracle/docker-compose.yml +19 -0
  204. package/scripts/integrations/oracle/instantclient/linux/x86-64/basiclite-21.4.zip +0 -0
  205. package/scripts/integrations/oracle/instantclient/linux/x86-64/install.sh +23 -0
  206. package/scripts/integrations/oracle/oracle.md +90 -0
  207. package/scripts/integrations/postgres/docker-compose.yml +3 -3
  208. package/scripts/likeCypress.ts +33 -0
  209. package/src/api/controllers/application.js +11 -1
  210. package/src/api/controllers/datasource.js +45 -9
  211. package/src/api/controllers/deploy/index.js +2 -0
  212. package/src/api/controllers/dev.js +4 -1
  213. package/src/api/controllers/query.js +26 -80
  214. package/src/api/controllers/table/external.js +8 -1
  215. package/src/api/routes/query.js +1 -0
  216. package/src/app.ts +2 -10
  217. package/src/automations/bullboard.js +28 -11
  218. package/src/automations/tests/automation.spec.js +3 -4
  219. package/src/automations/triggers.js +7 -3
  220. package/src/automations/utils.js +12 -2
  221. package/src/constants/index.js +7 -0
  222. package/src/definitions/datasource.ts +1 -0
  223. package/src/environment.js +15 -0
  224. package/src/integrations/airtable.ts +2 -1
  225. package/src/integrations/arangodb.ts +2 -1
  226. package/src/integrations/base/IntegrationBase.ts +6 -0
  227. package/src/integrations/base/datasourcePlus.ts +2 -1
  228. package/src/integrations/base/sql.ts +41 -9
  229. package/src/integrations/couchdb.ts +2 -1
  230. package/src/integrations/dynamodb.ts +2 -1
  231. package/src/integrations/elasticsearch.ts +2 -1
  232. package/src/integrations/index.ts +7 -0
  233. package/src/integrations/mongodb.ts +2 -1
  234. package/src/integrations/mysql.ts +1 -1
  235. package/src/integrations/oracle.ts +445 -0
  236. package/src/integrations/rest.ts +2 -1
  237. package/src/integrations/s3.ts +2 -1
  238. package/src/integrations/tests/oracle.spec.js +94 -0
  239. package/src/integrations/utils.ts +16 -2
  240. package/src/middleware/builder.js +4 -1
  241. package/src/{automations/thread.js → threads/automation.js} +27 -8
  242. package/src/threads/index.js +66 -0
  243. package/src/threads/query.js +66 -0
  244. package/src/utilities/index.js +1 -0
  245. package/src/utilities/queue/inMemoryQueue.js +7 -0
  246. package/src/utilities/scriptRunner.js +4 -1
  247. package/tsconfig.json +1 -1
  248. package/builder/assets/index.0eadd2f5.js +0 -201
  249. package/builder/assets/index.a79ec0ef.css +0 -29
  250. package/builder/assets/vendor.278a305c.js +0 -9
  251. package/builder/assets/vendor.d75d5eb7.css +0 -1
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>20/20</span>
28
+ <span class='fraction'>21/21</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>20/20</span>
49
+ <span class='fraction'>21/21</span>
50
50
  </div>
51
51
 
52
52
 
@@ -228,15 +228,22 @@
228
228
  <a name='L169'></a><a href='#L169'>169</a>
229
229
  <a name='L170'></a><a href='#L170'>170</a>
230
230
  <a name='L171'></a><a href='#L171'>171</a>
231
- <a name='L172'></a><a href='#L172'>172</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">40x</span>
232
- <span class="cline-any cline-yes">40x</span>
233
- <span class="cline-any cline-yes">40x</span>
231
+ <a name='L172'></a><a href='#L172'>172</a>
232
+ <a name='L173'></a><a href='#L173'>173</a>
233
+ <a name='L174'></a><a href='#L174'>174</a>
234
+ <a name='L175'></a><a href='#L175'>175</a>
235
+ <a name='L176'></a><a href='#L176'>176</a>
236
+ <a name='L177'></a><a href='#L177'>177</a>
237
+ <a name='L178'></a><a href='#L178'>178</a>
238
+ <a name='L179'></a><a href='#L179'>179</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">41x</span>
239
+ <span class="cline-any cline-yes">41x</span>
240
+ <span class="cline-any cline-yes">41x</span>
234
241
  <span class="cline-any cline-neutral">&nbsp;</span>
235
- <span class="cline-any cline-yes">40x</span>
242
+ <span class="cline-any cline-yes">41x</span>
236
243
  <span class="cline-any cline-neutral">&nbsp;</span>
237
244
  <span class="cline-any cline-neutral">&nbsp;</span>
238
245
  <span class="cline-any cline-neutral">&nbsp;</span>
239
- <span class="cline-any cline-yes">40x</span>
246
+ <span class="cline-any cline-yes">41x</span>
240
247
  <span class="cline-any cline-neutral">&nbsp;</span>
241
248
  <span class="cline-any cline-neutral">&nbsp;</span>
242
249
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -249,8 +256,8 @@
249
256
  <span class="cline-any cline-neutral">&nbsp;</span>
250
257
  <span class="cline-any cline-neutral">&nbsp;</span>
251
258
  <span class="cline-any cline-neutral">&nbsp;</span>
252
- <span class="cline-any cline-yes">40x</span>
253
- <span class="cline-any cline-yes">40x</span>
259
+ <span class="cline-any cline-yes">41x</span>
260
+ <span class="cline-any cline-yes">41x</span>
254
261
  <span class="cline-any cline-neutral">&nbsp;</span>
255
262
  <span class="cline-any cline-neutral">&nbsp;</span>
256
263
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -259,7 +266,7 @@
259
266
  <span class="cline-any cline-neutral">&nbsp;</span>
260
267
  <span class="cline-any cline-neutral">&nbsp;</span>
261
268
  <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-yes">40x</span>
269
+ <span class="cline-any cline-yes">41x</span>
263
270
  <span class="cline-any cline-neutral">&nbsp;</span>
264
271
  <span class="cline-any cline-neutral">&nbsp;</span>
265
272
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -275,26 +282,26 @@
275
282
  <span class="cline-any cline-neutral">&nbsp;</span>
276
283
  <span class="cline-any cline-neutral">&nbsp;</span>
277
284
  <span class="cline-any cline-neutral">&nbsp;</span>
278
- <span class="cline-any cline-yes">40x</span>
285
+ <span class="cline-any cline-yes">41x</span>
279
286
  <span class="cline-any cline-neutral">&nbsp;</span>
280
287
  <span class="cline-any cline-neutral">&nbsp;</span>
281
288
  <span class="cline-any cline-neutral">&nbsp;</span>
282
289
  <span class="cline-any cline-neutral">&nbsp;</span>
283
290
  <span class="cline-any cline-neutral">&nbsp;</span>
284
291
  <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-yes">40x</span>
292
+ <span class="cline-any cline-yes">41x</span>
286
293
  <span class="cline-any cline-neutral">&nbsp;</span>
287
294
  <span class="cline-any cline-neutral">&nbsp;</span>
288
295
  <span class="cline-any cline-neutral">&nbsp;</span>
289
296
  <span class="cline-any cline-neutral">&nbsp;</span>
290
297
  <span class="cline-any cline-neutral">&nbsp;</span>
291
- <span class="cline-any cline-yes">40x</span>
298
+ <span class="cline-any cline-yes">41x</span>
292
299
  <span class="cline-any cline-neutral">&nbsp;</span>
293
300
  <span class="cline-any cline-neutral">&nbsp;</span>
294
301
  <span class="cline-any cline-neutral">&nbsp;</span>
295
302
  <span class="cline-any cline-neutral">&nbsp;</span>
296
303
  <span class="cline-any cline-neutral">&nbsp;</span>
297
- <span class="cline-any cline-yes">40x</span>
304
+ <span class="cline-any cline-yes">41x</span>
298
305
  <span class="cline-any cline-neutral">&nbsp;</span>
299
306
  <span class="cline-any cline-neutral">&nbsp;</span>
300
307
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -305,12 +312,12 @@
305
312
  <span class="cline-any cline-neutral">&nbsp;</span>
306
313
  <span class="cline-any cline-neutral">&nbsp;</span>
307
314
  <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-yes">40x</span>
315
+ <span class="cline-any cline-yes">41x</span>
309
316
  <span class="cline-any cline-neutral">&nbsp;</span>
310
317
  <span class="cline-any cline-neutral">&nbsp;</span>
311
318
  <span class="cline-any cline-neutral">&nbsp;</span>
312
319
  <span class="cline-any cline-neutral">&nbsp;</span>
313
- <span class="cline-any cline-yes">40x</span>
320
+ <span class="cline-any cline-yes">41x</span>
314
321
  <span class="cline-any cline-neutral">&nbsp;</span>
315
322
  <span class="cline-any cline-neutral">&nbsp;</span>
316
323
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -372,7 +379,7 @@
372
379
  <span class="cline-any cline-neutral">&nbsp;</span>
373
380
  <span class="cline-any cline-neutral">&nbsp;</span>
374
381
  <span class="cline-any cline-neutral">&nbsp;</span>
375
- <span class="cline-any cline-yes">40x</span>
382
+ <span class="cline-any cline-yes">41x</span>
376
383
  <span class="cline-any cline-neutral">&nbsp;</span>
377
384
  <span class="cline-any cline-neutral">&nbsp;</span>
378
385
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -380,25 +387,32 @@
380
387
  <span class="cline-any cline-neutral">&nbsp;</span>
381
388
  <span class="cline-any cline-neutral">&nbsp;</span>
382
389
  <span class="cline-any cline-neutral">&nbsp;</span>
383
- <span class="cline-any cline-yes">40x</span>
384
- <span class="cline-any cline-yes">40x</span>
390
+ <span class="cline-any cline-yes">41x</span>
391
+ <span class="cline-any cline-yes">41x</span>
385
392
  <span class="cline-any cline-neutral">&nbsp;</span>
386
393
  <span class="cline-any cline-neutral">&nbsp;</span>
387
394
  <span class="cline-any cline-neutral">&nbsp;</span>
388
395
  <span class="cline-any cline-neutral">&nbsp;</span>
389
396
  <span class="cline-any cline-neutral">&nbsp;</span>
390
397
  <span class="cline-any cline-neutral">&nbsp;</span>
391
- <span class="cline-any cline-yes">40x</span>
398
+ <span class="cline-any cline-yes">41x</span>
392
399
  <span class="cline-any cline-neutral">&nbsp;</span>
393
400
  <span class="cline-any cline-neutral">&nbsp;</span>
394
401
  <span class="cline-any cline-neutral">&nbsp;</span>
395
402
  <span class="cline-any cline-neutral">&nbsp;</span>
396
- <span class="cline-any cline-yes">40x</span>
403
+ <span class="cline-any cline-yes">41x</span>
397
404
  <span class="cline-any cline-neutral">&nbsp;</span>
398
405
  <span class="cline-any cline-neutral">&nbsp;</span>
399
406
  <span class="cline-any cline-neutral">&nbsp;</span>
400
407
  <span class="cline-any cline-neutral">&nbsp;</span>
401
- <span class="cline-any cline-yes">40x</span>
408
+ <span class="cline-any cline-neutral">&nbsp;</span>
409
+ <span class="cline-any cline-yes">41x</span>
410
+ <span class="cline-any cline-neutral">&nbsp;</span>
411
+ <span class="cline-any cline-neutral">&nbsp;</span>
412
+ <span class="cline-any cline-neutral">&nbsp;</span>
413
+ <span class="cline-any cline-neutral">&nbsp;</span>
414
+ <span class="cline-any cline-neutral">&nbsp;</span>
415
+ <span class="cline-any cline-yes">41x</span>
402
416
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { BUILTIN_ROLE_IDS } = require("@budibase/auth/roles")
403
417
  const { UserStatus } = require("@budibase/auth").constants
404
418
  const { ObjectStoreBuckets } = require("@budibase/auth").objectStore
@@ -564,8 +578,15 @@ exports.MetadataTypes = {
564
578
  AUTOMATION_TEST_HISTORY: "automationTestHistory",
565
579
  }
566
580
  &nbsp;
581
+ exports.InvalidColumns = {
582
+ ID: "_id",
583
+ REV: "_rev",
584
+ TABLE_ID: "tableId",
585
+ }
586
+ &nbsp;
567
587
  exports.BuildSchemaErrors = {
568
588
  NO_KEY: "no_key",
589
+ INVALID_COLUMN: "invalid_column",
569
590
  }
570
591
  &nbsp;
571
592
  // pass through the list from the auth/core lib
@@ -577,7 +598,7 @@ exports.ObjectStoreBuckets = ObjectStoreBuckets
577
598
  <div class='footer quiet pad2 space-top1 center small'>
578
599
  Code coverage generated by
579
600
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
580
- at Mon Nov 15 2021 17:44:42 GMT+0000 (Coordinated Universal Time)
601
+ at Wed Nov 24 2021 13:54:22 GMT+0000 (Coordinated Universal Time)
581
602
  </div>
582
603
  </div>
583
604
  <script src="../prettify.js"></script>
@@ -523,7 +523,7 @@ module.exports = {
523
523
  <div class='footer quiet pad2 space-top1 center small'>
524
524
  Code coverage generated by
525
525
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
526
- at Mon Nov 15 2021 17:44:42 GMT+0000 (Coordinated Universal Time)
526
+ at Wed Nov 24 2021 13:54:22 GMT+0000 (Coordinated Universal Time)
527
527
  </div>
528
528
  </div>
529
529
  <script src="../prettify.js"></script>
@@ -202,7 +202,7 @@ exports.createHomeScreen = () =&gt; ({
202
202
  <div class='footer quiet pad2 space-top1 center small'>
203
203
  Code coverage generated by
204
204
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
205
- at Mon Nov 15 2021 17:44:42 GMT+0000 (Coordinated Universal Time)
205
+ at Wed Nov 24 2021 13:54:22 GMT+0000 (Coordinated Universal Time)
206
206
  </div>
207
207
  </div>
208
208
  <script src="../prettify.js"></script>
@@ -136,7 +136,7 @@ let POUCH_DB_DEFAULTS = {
136
136
  prefix: COUCH_DB_URL,
137
137
  }
138
138
  &nbsp;
139
- <span class="missing-if-branch" title="else path not taken" >E</span>if (env.isTest()) {
139
+ if (env.isTest()) {
140
140
  PouchDB.plugin(require("pouchdb-adapter-memory"))
141
141
  POUCH_DB_DEFAULTS = {
142
142
  prefix: undefined,
@@ -157,7 +157,7 @@ module.exports = Pouch
157
157
  <div class='footer quiet pad2 space-top1 center small'>
158
158
  Code coverage generated by
159
159
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
160
- at Mon Nov 15 2021 17:44:42 GMT+0000 (Coordinated Universal Time)
160
+ at Wed Nov 24 2021 13:54:22 GMT+0000 (Coordinated Universal Time)
161
161
  </div>
162
162
  </div>
163
163
  <script src="../prettify.js"></script>
@@ -44,7 +44,7 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">26.09% </span>
47
+ <span class="strong">26.08% </span>
48
48
  <span class="quiet">Lines</span>
49
49
  <span class='fraction'>6/23</span>
50
50
  </div>
@@ -208,7 +208,7 @@ exports.runView = <span class="fstat-no" title="function not covered" >as</span>
208
208
  <div class='footer quiet pad2 space-top1 center small'>
209
209
  Code coverage generated by
210
210
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
211
- at Mon Nov 15 2021 17:44:42 GMT+0000 (Coordinated Universal Time)
211
+ at Wed Nov 24 2021 13:54:22 GMT+0000 (Coordinated Universal Time)
212
212
  </div>
213
213
  </div>
214
214
  <script src="../prettify.js"></script>
@@ -98,7 +98,7 @@
98
98
  <td data-value="8" class="abs low">0/8</td>
99
99
  <td data-value="0" class="pct low">0%</td>
100
100
  <td data-value="4" class="abs low">0/4</td>
101
- <td data-value="26.09" class="pct low">26.09%</td>
101
+ <td data-value="26.08" class="pct low">26.08%</td>
102
102
  <td data-value="23" class="abs low">6/23</td>
103
103
  </tr>
104
104
 
@@ -155,7 +155,7 @@
155
155
  <div class='footer quiet pad2 space-top1 center small'>
156
156
  Code coverage generated by
157
157
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
158
- at Mon Nov 15 2021 17:44:42 GMT+0000 (Coordinated Universal Time)
158
+ at Wed Nov 24 2021 13:54:22 GMT+0000 (Coordinated Universal Time)
159
159
  </div>
160
160
  </div>
161
161
  <script src="../prettify.js"></script>
@@ -73,7 +73,7 @@ module.exports = client
73
73
  <div class='footer quiet pad2 space-top1 center small'>
74
74
  Code coverage generated by
75
75
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
76
- at Mon Nov 15 2021 17:44:42 GMT+0000 (Coordinated Universal Time)
76
+ at Wed Nov 24 2021 13:54:22 GMT+0000 (Coordinated Universal Time)
77
77
  </div>
78
78
  </div>
79
79
  <script src="../prettify.js"></script>
@@ -30,21 +30,21 @@
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">88.24% </span>
33
+ <span class="strong">88.23% </span>
34
34
  <span class="quiet">Branches</span>
35
35
  <span class='fraction'>60/68</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">88.89% </span>
40
+ <span class="strong">88.88% </span>
41
41
  <span class="quiet">Functions</span>
42
42
  <span class='fraction'>24/27</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">96.69% </span>
47
+ <span class="strong">96.68% </span>
48
48
  <span class="quiet">Lines</span>
49
49
  <span class='fraction'>146/151</span>
50
50
  </div>
@@ -1166,7 +1166,7 @@ class LinkController {
1166
1166
  } else if (linkerField.relationshipType === RelationshipTypes.MANY_TO_ONE) {
1167
1167
  // Ensure that the other side of the relationship is locked to one record
1168
1168
  linkedField.relationshipType = RelationshipTypes.ONE_TO_MANY
1169
- } else <span class="missing-if-branch" title="else path not taken" >E</span>if (linkerField.relationshipType === RelationshipTypes.ONE_TO_MANY) {
1169
+ } else if (linkerField.relationshipType === RelationshipTypes.ONE_TO_MANY) {
1170
1170
  linkedField.relationshipType = RelationshipTypes.MANY_TO_ONE
1171
1171
  }
1172
1172
  return { linkerField, linkedField }
@@ -1244,7 +1244,7 @@ class LinkController {
1244
1244
  }
1245
1245
  }
1246
1246
  &nbsp;
1247
- <span class="missing-if-branch" title="else path not taken" >E</span>if (linkId &amp;&amp; linkId !== "" &amp;&amp; linkDocIds.indexOf(linkId) === -1) {
1247
+ if (linkId &amp;&amp; linkId !== "" &amp;&amp; linkDocIds.indexOf(linkId) === -1) {
1248
1248
  // first check the doc we're linking to exists
1249
1249
  try {
1250
1250
  await this._db.get(linkId)
@@ -1468,7 +1468,7 @@ module.exports = LinkController
1468
1468
  <div class='footer quiet pad2 space-top1 center small'>
1469
1469
  Code coverage generated by
1470
1470
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1471
- at Mon Nov 15 2021 17:44:42 GMT+0000 (Coordinated Universal Time)
1471
+ at Wed Nov 24 2021 13:54:22 GMT+0000 (Coordinated Universal Time)
1472
1472
  </div>
1473
1473
  </div>
1474
1474
  <script src="../../prettify.js"></script>
@@ -30,7 +30,7 @@
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">86.03% </span>
33
+ <span class="strong">86.02% </span>
34
34
  <span class="quiet">Branches</span>
35
35
  <span class='fraction'>117/136</span>
36
36
  </div>
@@ -44,7 +44,7 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">96.67% </span>
47
+ <span class="strong">96.66% </span>
48
48
  <span class="quiet">Lines</span>
49
49
  <span class='fraction'>290/300</span>
50
50
  </div>
@@ -79,20 +79,20 @@
79
79
  </td>
80
80
  <td data-value="96.05" class="pct high">96.05%</td>
81
81
  <td data-value="152" class="abs high">146/152</td>
82
- <td data-value="88.24" class="pct high">88.24%</td>
82
+ <td data-value="88.23" class="pct high">88.23%</td>
83
83
  <td data-value="68" class="abs high">60/68</td>
84
- <td data-value="88.89" class="pct high">88.89%</td>
84
+ <td data-value="88.88" class="pct high">88.88%</td>
85
85
  <td data-value="27" class="abs high">24/27</td>
86
- <td data-value="96.69" class="pct high">96.69%</td>
86
+ <td data-value="96.68" class="pct high">96.68%</td>
87
87
  <td data-value="151" class="abs high">146/151</td>
88
88
  </tr>
89
89
 
90
90
  <tr>
91
91
  <td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
92
- <td data-value="96.08" class="pic high">
92
+ <td data-value="96.07" class="pic high">
93
93
  <div class="chart"><div class="cover-fill" style="width: 96%"></div><div class="cover-empty" style="width: 4%"></div></div>
94
94
  </td>
95
- <td data-value="96.08" class="pct high">96.08%</td>
95
+ <td data-value="96.07" class="pct high">96.07%</td>
96
96
  <td data-value="102" class="abs high">98/102</td>
97
97
  <td data-value="80.95" class="pct high">80.95%</td>
98
98
  <td data-value="42" class="abs high">34/42</td>
@@ -104,10 +104,10 @@
104
104
 
105
105
  <tr>
106
106
  <td class="file high" data-value="linkUtils.js"><a href="linkUtils.js.html">linkUtils.js</a></td>
107
- <td data-value="98.25" class="pic high">
107
+ <td data-value="98.24" class="pic high">
108
108
  <div class="chart"><div class="cover-fill" style="width: 98%"></div><div class="cover-empty" style="width: 2%"></div></div>
109
109
  </td>
110
- <td data-value="98.25" class="pct high">98.25%</td>
110
+ <td data-value="98.24" class="pct high">98.24%</td>
111
111
  <td data-value="57" class="abs high">56/57</td>
112
112
  <td data-value="88.46" class="pct high">88.46%</td>
113
113
  <td data-value="26" class="abs high">23/26</td>
@@ -125,7 +125,7 @@
125
125
  <div class='footer quiet pad2 space-top1 center small'>
126
126
  Code coverage generated by
127
127
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
128
- at Mon Nov 15 2021 17:44:42 GMT+0000 (Coordinated Universal Time)
128
+ at Wed Nov 24 2021 13:54:22 GMT+0000 (Coordinated Universal Time)
129
129
  </div>
130
130
  </div>
131
131
  <script src="../../prettify.js"></script>
@@ -23,7 +23,7 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">96.08% </span>
26
+ <span class="strong">96.07% </span>
27
27
  <span class="quiet">Statements</span>
28
28
  <span class='fraction'>98/102</span>
29
29
  </div>
@@ -681,11 +681,11 @@ exports.attachFullLinkedDocs = async (ctx, table, rows) =&gt; {
681
681
  const linkedTables = []
682
682
  for (let row of rows) {
683
683
  for (let link of links.filter(link =&gt; link.thisId === row._id)) {
684
- <span class="missing-if-branch" title="else path not taken" >E</span>if (row[link.fieldName] == null) {
684
+ if (row[link.fieldName] == null) {
685
685
  row[link.fieldName] = []
686
686
  }
687
687
  const linkedRow = linked.find(row =&gt; row._id === link.id)
688
- <span class="missing-if-branch" title="else path not taken" >E</span>if (linkedRow) {
688
+ if (linkedRow) {
689
689
  const linkedTableId =
690
690
  linkedRow.tableId || <span class="branch-1 cbranch-no" title="branch not covered" >getRelatedTableForField(table, link.fieldName)</span>
691
691
  const linkedTable = await getLinkedTable(
@@ -693,7 +693,7 @@ exports.attachFullLinkedDocs = async (ctx, table, rows) =&gt; {
693
693
  linkedTableId,
694
694
  linkedTables
695
695
  )
696
- <span class="missing-if-branch" title="else path not taken" >E</span>if (linkedTable) {
696
+ if (linkedTable) {
697
697
  row[link.fieldName].push(processFormulas(linkedTable, linkedRow))
698
698
  }
699
699
  }
@@ -742,7 +742,7 @@ exports.squashLinksToPrimaryDisplay = async (appId, table, enriched) =&gt; {
742
742
  <div class='footer quiet pad2 space-top1 center small'>
743
743
  Code coverage generated by
744
744
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
745
- at Mon Nov 15 2021 17:44:42 GMT+0000 (Coordinated Universal Time)
745
+ at Wed Nov 24 2021 13:54:22 GMT+0000 (Coordinated Universal Time)
746
746
  </div>
747
747
  </div>
748
748
  <script src="../../prettify.js"></script>
@@ -23,7 +23,7 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">98.25% </span>
26
+ <span class="strong">98.24% </span>
27
27
  <span class="quiet">Statements</span>
28
28
  <span class='fraction'>56/57</span>
29
29
  </div>
@@ -345,7 +345,7 @@ exports.getLinkDocuments = async function (args) {
345
345
  return false
346
346
  }
347
347
  const unique = foundIds.indexOf(link.id) === -1
348
- <span class="missing-if-branch" title="else path not taken" >E</span>if (unique) {
348
+ if (unique) {
349
349
  foundIds.push(link.id)
350
350
  }
351
351
  return unique
@@ -358,10 +358,10 @@ exports.getLinkDocuments = async function (args) {
358
358
  }
359
359
  } catch (err) {
360
360
  // check if the view doesn't exist, it should for all new instances
361
- <span class="missing-if-branch" title="else path not taken" >E</span>if (err != null &amp;&amp; err.name === "not_found") {
361
+ if (err != null &amp;&amp; err.name === "not_found") {
362
362
  await exports.createLinkView(appId)
363
363
  return exports.getLinkDocuments(arguments[0])
364
- } else {
364
+ } else <span class="missing-if-branch" title="else path not taken" >E</span>{
365
365
  /* istanbul ignore next */
366
366
  Sentry.captureException(err)
367
367
  }
@@ -386,7 +386,7 @@ exports.getLinkedTable = async (db, id, tables) =&gt; {
386
386
  return linkedTable
387
387
  }
388
388
  linkedTable = await db.get(id)
389
- <span class="missing-if-branch" title="else path not taken" >E</span>if (linkedTable) {
389
+ if (linkedTable) {
390
390
  tables.push(linkedTable)
391
391
  }
392
392
  return linkedTable
@@ -412,7 +412,7 @@ exports.getRelatedTableForField = (table, fieldName) =&gt; {
412
412
  <div class='footer quiet pad2 space-top1 center small'>
413
413
  Code coverage generated by
414
414
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
415
- at Mon Nov 15 2021 17:44:42 GMT+0000 (Coordinated Universal Time)
415
+ at Wed Nov 24 2021 13:54:22 GMT+0000 (Coordinated Universal Time)
416
416
  </div>
417
417
  </div>
418
418
  <script src="../../prettify.js"></script>
@@ -62,9 +62,9 @@
62
62
  <a name='L3'></a><a href='#L3'>3</a>
63
63
  <a name='L4'></a><a href='#L4'>4</a>
64
64
  <a name='L5'></a><a href='#L5'>5</a>
65
- <a name='L6'></a><a href='#L6'>6</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
65
+ <a name='L6'></a><a href='#L6'>6</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">47x</span>
66
66
  <span class="cline-any cline-neutral">&nbsp;</span>
67
- <span class="cline-any cline-yes">46x</span>
67
+ <span class="cline-any cline-yes">47x</span>
68
68
  <span class="cline-any cline-yes">803x</span>
69
69
  <span class="cline-any cline-neutral">&nbsp;</span>
70
70
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { v4 } = require("uuid")
@@ -79,7 +79,7 @@ module.exports = function () {
79
79
  <div class='footer quiet pad2 space-top1 center small'>
80
80
  Code coverage generated by
81
81
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
82
- at Mon Nov 15 2021 17:44:42 GMT+0000 (Coordinated Universal Time)
82
+ at Wed Nov 24 2021 13:54:22 GMT+0000 (Coordinated Universal Time)
83
83
  </div>
84
84
  </div>
85
85
  <script src="../prettify.js"></script>