@budibase/server 0.9.185-alpha.12 → 0.9.185-alpha.13

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 (173) hide show
  1. package/builder/assets/{index.708945dd.js → index.dc495306.js} +136 -135
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +32 -19
  4. package/coverage/coverage-final.json +2 -2
  5. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  6. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/application.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/datasource.js.html +102 -18
  14. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/index.html +19 -19
  17. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  34. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  45. package/coverage/lcov-report/api/index.html +1 -1
  46. package/coverage/lcov-report/api/index.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/index.html +1 -1
  60. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  77. package/coverage/lcov-report/automations/actions.js.html +1 -1
  78. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  79. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  80. package/coverage/lcov-report/automations/index.html +1 -1
  81. package/coverage/lcov-report/automations/index.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/index.html +1 -1
  91. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  109. package/coverage/lcov-report/automations/utils.js.html +1 -1
  110. package/coverage/lcov-report/constants/index.html +5 -5
  111. package/coverage/lcov-report/constants/index.js.html +25 -4
  112. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  113. package/coverage/lcov-report/constants/screens.js.html +1 -1
  114. package/coverage/lcov-report/db/client.js.html +1 -1
  115. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  116. package/coverage/lcov-report/db/index.html +1 -1
  117. package/coverage/lcov-report/db/index.js.html +1 -1
  118. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  119. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  120. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  121. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  122. package/coverage/lcov-report/db/newid.js.html +1 -1
  123. package/coverage/lcov-report/db/utils.js.html +1 -1
  124. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  125. package/coverage/lcov-report/events/index.html +1 -1
  126. package/coverage/lcov-report/events/index.js.html +1 -1
  127. package/coverage/lcov-report/events/utils.js.html +1 -1
  128. package/coverage/lcov-report/index.html +21 -21
  129. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  130. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  131. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  132. package/coverage/lcov-report/middleware/authorized.js.html +1 -1
  133. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  134. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  135. package/coverage/lcov-report/middleware/index.html +1 -1
  136. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  137. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  138. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  139. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  140. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  141. package/coverage/lcov-report/threads/automation.js.html +1 -1
  142. package/coverage/lcov-report/threads/index.html +1 -1
  143. package/coverage/lcov-report/threads/index.js.html +1 -1
  144. package/coverage/lcov-report/threads/query.js.html +1 -1
  145. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  146. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  147. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  148. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  149. package/coverage/lcov-report/utilities/global.js.html +1 -1
  150. package/coverage/lcov-report/utilities/index.html +1 -1
  151. package/coverage/lcov-report/utilities/index.js.html +1 -1
  152. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  153. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  154. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  155. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  156. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  157. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  158. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  159. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  160. package/coverage/lcov-report/utilities/security.js.html +1 -1
  161. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  162. package/coverage/lcov-report/utilities/users.js.html +1 -1
  163. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  164. package/coverage/lcov.info +54 -29
  165. package/dist/api/controllers/datasource.js +25 -5
  166. package/dist/constants/index.js +6 -0
  167. package/dist/integrations/utils.js +7 -1
  168. package/dist/package.json +4 -4
  169. package/dist/tsconfig.tsbuildinfo +1 -1
  170. package/package.json +5 -5
  171. package/src/api/controllers/datasource.js +35 -7
  172. package/src/constants/index.js +7 -0
  173. package/src/integrations/utils.ts +6 -1
@@ -253,7 +253,7 @@ module.exports = (input, callback) => {
253
253
  <div class='footer quiet pad2 space-top1 center small'>
254
254
  Code coverage generated by
255
255
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
256
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
256
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
257
257
  </div>
258
258
  </div>
259
259
  <script src="../prettify.js"></script>
@@ -109,7 +109,7 @@ const SALT_ROUNDS = <span class="cstat-no" title="statement not covered" >env.SA
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
112
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
112
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
113
113
  </div>
114
114
  </div>
115
115
  <script src="../prettify.js"></script>
@@ -94,7 +94,7 @@ module.exports.budibaseTempDir = budibaseTempDir
94
94
  <div class='footer quiet pad2 space-top1 center small'>
95
95
  Code coverage generated by
96
96
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
97
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
97
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
98
98
  </div>
99
99
  </div>
100
100
  <script src="../prettify.js"></script>
@@ -130,7 +130,7 @@ exports.resolve = <span class="fstat-no" title="function not covered" >fu</span>
130
130
  <div class='footer quiet pad2 space-top1 center small'>
131
131
  Code coverage generated by
132
132
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
133
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
133
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
134
134
  </div>
135
135
  </div>
136
136
  <script src="../prettify.js"></script>
@@ -487,7 +487,7 @@ module.exports = {
487
487
  <div class='footer quiet pad2 space-top1 center small'>
488
488
  Code coverage generated by
489
489
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
490
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
490
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
491
491
  </div>
492
492
  </div>
493
493
  <script src="../prettify.js"></script>
@@ -367,7 +367,7 @@ exports.getGlobalUsersFromMetadata = async (appId, users) =&gt; {
367
367
  <div class='footer quiet pad2 space-top1 center small'>
368
368
  Code coverage generated by
369
369
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
370
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
370
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
371
371
  </div>
372
372
  </div>
373
373
  <script src="../prettify.js"></script>
@@ -245,7 +245,7 @@
245
245
  <div class='footer quiet pad2 space-top1 center small'>
246
246
  Code coverage generated by
247
247
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
248
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
248
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
249
249
  </div>
250
250
  </div>
251
251
  <script src="../prettify.js"></script>
@@ -520,7 +520,7 @@ exports.doesDatabaseExist = <span class="fstat-no" title="function not covered"
520
520
  <div class='footer quiet pad2 space-top1 center small'>
521
521
  Code coverage generated by
522
522
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
523
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
523
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
524
524
  </div>
525
525
  </div>
526
526
  <script src="../prettify.js"></script>
@@ -367,7 +367,7 @@ module.exports = InMemoryQueue
367
367
  <div class='footer quiet pad2 space-top1 center small'>
368
368
  Code coverage generated by
369
369
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
370
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
370
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
371
371
  </div>
372
372
  </div>
373
373
  <script src="../../prettify.js"></script>
@@ -95,7 +95,7 @@
95
95
  <div class='footer quiet pad2 space-top1 center small'>
96
96
  Code coverage generated by
97
97
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
98
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../../prettify.js"></script>
@@ -95,7 +95,7 @@
95
95
  <div class='footer quiet pad2 space-top1 center small'>
96
96
  Code coverage generated by
97
97
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
98
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../../prettify.js"></script>
@@ -139,7 +139,7 @@ exports.createRoutingView = createRoutingView
139
139
  <div class='footer quiet pad2 space-top1 center small'>
140
140
  Code coverage generated by
141
141
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
142
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
142
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
143
143
  </div>
144
144
  </div>
145
145
  <script src="../../prettify.js"></script>
@@ -110,7 +110,7 @@
110
110
  <div class='footer quiet pad2 space-top1 center small'>
111
111
  Code coverage generated by
112
112
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
113
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
113
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
114
114
  </div>
115
115
  </div>
116
116
  <script src="../../prettify.js"></script>
@@ -850,7 +850,7 @@ exports.outputProcessing = async (
850
850
  <div class='footer quiet pad2 space-top1 center small'>
851
851
  Code coverage generated by
852
852
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
853
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
853
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
854
854
  </div>
855
855
  </div>
856
856
  <script src="../../prettify.js"></script>
@@ -133,7 +133,7 @@ exports.processFormulas = (table, rows) =&gt; {
133
133
  <div class='footer quiet pad2 space-top1 center small'>
134
134
  Code coverage generated by
135
135
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
136
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
136
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
137
137
  </div>
138
138
  </div>
139
139
  <script src="../../prettify.js"></script>
@@ -136,7 +136,7 @@ module.exports = ScriptRunner
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
139
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
139
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  </div>
142
142
  <script src="../prettify.js"></script>
@@ -265,7 +265,7 @@ exports.CURRENTLY_SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
265
265
  <div class='footer quiet pad2 space-top1 center small'>
266
266
  Code coverage generated by
267
267
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
268
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
268
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
269
269
  </div>
270
270
  </div>
271
271
  <script src="../prettify.js"></script>
@@ -85,7 +85,7 @@
85
85
  <div class='footer quiet pad2 space-top1 center small'>
86
86
  Code coverage generated by
87
87
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
88
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
88
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
89
89
  </div>
90
90
  </div>
91
91
  <script src="../prettify.js"></script>
@@ -136,7 +136,7 @@ exports.getFullUser = async (ctx, userId) =&gt; {
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
139
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
139
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  </div>
142
142
  <script src="../prettify.js"></script>
@@ -403,7 +403,7 @@ exports.removeAppFromUserRoles = async (ctx, appId) =&gt; {
403
403
  <div class='footer quiet pad2 space-top1 center small'>
404
404
  Code coverage generated by
405
405
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
406
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
406
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
407
407
  </div>
408
408
  </div>
409
409
  <script src="../prettify.js"></script>
@@ -817,11 +817,13 @@ FN:118,(anonymous_6)
817
817
  FN:126,(anonymous_7)
818
818
  FN:140,(anonymous_8)
819
819
  FN:146,(anonymous_9)
820
- FN:155,(anonymous_10)
821
- FN:169,(anonymous_11)
822
- FN:180,(anonymous_12)
823
- FN:181,(anonymous_13)
824
- FNF:14
820
+ FN:155,getErrorTables
821
+ FN:157,(anonymous_11)
822
+ FN:158,(anonymous_12)
823
+ FN:161,updateError
824
+ FN:172,(anonymous_14)
825
+ FN:186,(anonymous_15)
826
+ FNF:16
825
827
  FNH:8
826
828
  FNDA:2,(anonymous_0)
827
829
  FNDA:2,(anonymous_1)
@@ -833,10 +835,12 @@ FNDA:1,(anonymous_6)
833
835
  FNDA:1,(anonymous_7)
834
836
  FNDA:1,(anonymous_8)
835
837
  FNDA:1,(anonymous_9)
836
- FNDA:0,(anonymous_10)
838
+ FNDA:0,getErrorTables
837
839
  FNDA:0,(anonymous_11)
838
840
  FNDA:0,(anonymous_12)
839
- FNDA:0,(anonymous_13)
841
+ FNDA:0,updateError
842
+ FNDA:0,(anonymous_14)
843
+ FNDA:0,(anonymous_15)
840
844
  DA:1,33
841
845
  DA:9,33
842
846
  DA:10,33
@@ -912,27 +916,39 @@ DA:147,1
912
916
  DA:148,1
913
917
  DA:149,1
914
918
  DA:151,0
915
- DA:155,33
916
919
  DA:156,0
917
- DA:159,0
918
- DA:160,0
919
- DA:161,0
920
- DA:164,0
920
+ DA:157,0
921
+ DA:158,0
922
+ DA:162,0
923
+ DA:163,0
921
924
  DA:165,0
922
925
  DA:166,0
923
926
  DA:168,0
924
927
  DA:169,0
925
- DA:171,0
926
- DA:172,0
928
+ DA:172,33
929
+ DA:173,0
927
930
  DA:176,0
928
931
  DA:177,0
929
932
  DA:178,0
930
- DA:179,0
931
- DA:180,0
932
933
  DA:181,0
933
934
  DA:182,0
935
+ DA:183,0
936
+ DA:185,0
934
937
  DA:186,0
935
- LF:95
938
+ DA:188,0
939
+ DA:189,0
940
+ DA:193,0
941
+ DA:194,0
942
+ DA:195,0
943
+ DA:196,0
944
+ DA:197,0
945
+ DA:198,0
946
+ DA:199,0
947
+ DA:205,0
948
+ DA:206,0
949
+ DA:207,0
950
+ DA:214,0
951
+ LF:107
936
952
  LH:47
937
953
  BRDA:54,0,0,0
938
954
  BRDA:54,0,1,0
@@ -954,15 +970,23 @@ BRDA:106,8,0,23
954
970
  BRDA:106,8,1,21
955
971
  BRDA:112,9,0,0
956
972
  BRDA:112,9,1,23
957
- BRDA:165,10,0,0
958
- BRDA:165,10,1,0
959
- BRDA:171,11,0,0
960
- BRDA:171,11,1,0
961
- BRDA:178,12,0,0
962
- BRDA:178,12,1,0
963
- BRDA:178,13,0,0
964
- BRDA:178,13,1,0
965
- BRF:28
973
+ BRDA:162,10,0,0
974
+ BRDA:162,10,1,0
975
+ BRDA:165,11,0,0
976
+ BRDA:165,11,1,0
977
+ BRDA:182,12,0,0
978
+ BRDA:182,12,1,0
979
+ BRDA:188,13,0,0
980
+ BRDA:188,13,1,0
981
+ BRDA:195,14,0,0
982
+ BRDA:195,14,1,0
983
+ BRDA:195,15,0,0
984
+ BRDA:195,15,1,0
985
+ BRDA:198,16,0,0
986
+ BRDA:198,16,1,0
987
+ BRDA:205,17,0,0
988
+ BRDA:205,17,1,0
989
+ BRF:36
966
990
  BRH:7
967
991
  end_of_record
968
992
  TN:
@@ -5766,9 +5790,10 @@ DA:153,40
5766
5790
  DA:154,40
5767
5791
  DA:161,40
5768
5792
  DA:166,40
5769
- DA:171,40
5770
- LF:20
5771
- LH:20
5793
+ DA:172,40
5794
+ DA:178,40
5795
+ LF:21
5796
+ LH:21
5772
5797
  BRF:0
5773
5798
  BRH:0
5774
5799
  end_of_record
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  const CouchDB = require("../../db");
12
12
  const { generateDatasourceID, getDatasourceParams, getQueryParams, DocumentTypes, BudibaseInternalDB, getTableParams, } = require("../../db/utils");
13
- const { BuildSchemaErrors } = require("../../constants");
13
+ const { BuildSchemaErrors, InvalidColumns } = require("../../constants");
14
14
  const { integrations } = require("../../integrations");
15
15
  const { getDatasourceAndQuery } = require("./row/utils");
16
16
  exports.fetch = function (ctx) {
@@ -127,6 +127,21 @@ exports.query = function (ctx) {
127
127
  }
128
128
  });
129
129
  };
130
+ function getErrorTables(errors, errorType) {
131
+ return Object.entries(errors)
132
+ .filter(entry => entry[1] === errorType)
133
+ .map(([name]) => name);
134
+ }
135
+ function updateError(error, newError, tables) {
136
+ if (!error) {
137
+ error = "";
138
+ }
139
+ if (error.length > 0) {
140
+ error += "\n";
141
+ }
142
+ error += `${newError} ${tables.join(", ")}`;
143
+ return error;
144
+ }
130
145
  const buildSchemaHelper = (datasource) => __awaiter(void 0, void 0, void 0, function* () {
131
146
  const Connector = integrations[datasource.source];
132
147
  // Connect to the DB and build the schema
@@ -146,10 +161,15 @@ const buildSchemaHelper = (datasource) => __awaiter(void 0, void 0, void 0, func
146
161
  const errors = connector.schemaErrors;
147
162
  let error = null;
148
163
  if (errors && Object.keys(errors).length > 0) {
149
- const noKeyTables = Object.entries(errors)
150
- .filter(entry => entry[1] === BuildSchemaErrors.NO_KEY)
151
- .map(([name]) => name);
152
- error = `No primary key constraint found for the following: ${noKeyTables.join(", ")}`;
164
+ const noKey = getErrorTables(errors, BuildSchemaErrors.NO_KEY);
165
+ const invalidCol = getErrorTables(errors, BuildSchemaErrors.INVALID_COLUMN);
166
+ if (noKey.length) {
167
+ error = updateError(error, "No primary key constraint found for the following:", noKey);
168
+ }
169
+ if (invalidCol.length) {
170
+ const invalidCols = Object.values(InvalidColumns).join(", ");
171
+ error = updateError(error, `Cannot use columns ${invalidCols} found in following:`, invalidCol);
172
+ }
153
173
  }
154
174
  return { tables: connector.tables, error };
155
175
  });
@@ -150,8 +150,14 @@ exports.MetadataTypes = {
150
150
  AUTOMATION_TEST_INPUT: "automationTestInput",
151
151
  AUTOMATION_TEST_HISTORY: "automationTestHistory",
152
152
  };
153
+ exports.InvalidColumns = {
154
+ ID: "_id",
155
+ REV: "_rev",
156
+ TABLE_ID: "tableId",
157
+ };
153
158
  exports.BuildSchemaErrors = {
154
159
  NO_KEY: "no_key",
160
+ INVALID_COLUMN: "invalid_column",
155
161
  };
156
162
  // pass through the list from the auth/core lib
157
163
  exports.ObjectStoreBuckets = ObjectStoreBuckets;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.finaliseExternalTables = exports.isIsoDateString = exports.isSQL = exports.getSqlQuery = exports.convertSqlType = exports.breakRowIdField = exports.convertRowId = exports.isRowId = exports.generateRowIdField = exports.breakExternalTableId = exports.buildExternalTableId = exports.isExternalTable = exports.SqlClients = void 0;
4
4
  const datasource_1 = require("../definitions/datasource");
5
5
  const { DocumentTypes, SEPARATOR } = require("../db/utils");
6
- const { FieldTypes, BuildSchemaErrors } = require("../constants");
6
+ const { FieldTypes, BuildSchemaErrors, InvalidColumns } = require("../constants");
7
7
  const DOUBLE_SEPARATOR = `${SEPARATOR}${SEPARATOR}`;
8
8
  const ROW_ID_REGEX = /^\[.*]$/g;
9
9
  const SQL_TYPE_MAP = {
@@ -151,14 +151,20 @@ function copyExistingPropsOver(tableName, table, entities) {
151
151
  return table;
152
152
  }
153
153
  function finaliseExternalTables(tables, entities) {
154
+ const invalidColumns = Object.values(InvalidColumns);
154
155
  const finalTables = {};
155
156
  const errors = {};
156
157
  for (let [name, table] of Object.entries(tables)) {
158
+ const schemaFields = Object.keys(table.schema);
157
159
  // make sure every table has a key
158
160
  if (table.primary == null || table.primary.length === 0) {
159
161
  errors[name] = BuildSchemaErrors.NO_KEY;
160
162
  continue;
161
163
  }
164
+ else if (schemaFields.find(field => invalidColumns.includes(field))) {
165
+ errors[name] = BuildSchemaErrors.INVALID_COLUMN;
166
+ continue;
167
+ }
162
168
  // make sure all previous props have been added back
163
169
  finalTables[name] = copyExistingPropsOver(name, table, entities);
164
170
  }
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@budibase/server",
3
3
  "email": "hi@budibase.com",
4
- "version": "0.9.185-alpha.11",
4
+ "version": "0.9.185-alpha.12",
5
5
  "description": "Budibase Web Server",
6
6
  "main": "src/index.js",
7
7
  "repository": {
@@ -68,9 +68,9 @@
68
68
  "author": "Budibase",
69
69
  "license": "AGPL-3.0-or-later",
70
70
  "dependencies": {
71
- "@budibase/auth": "^0.9.185-alpha.11",
72
- "@budibase/client": "^0.9.185-alpha.11",
73
- "@budibase/string-templates": "^0.9.185-alpha.11",
71
+ "@budibase/auth": "^0.9.185-alpha.12",
72
+ "@budibase/client": "^0.9.185-alpha.12",
73
+ "@budibase/string-templates": "^0.9.185-alpha.12",
74
74
  "@bull-board/api": "^3.7.0",
75
75
  "@bull-board/koa": "^3.7.0",
76
76
  "@elastic/elasticsearch": "7.10.0",