@budibase/server 1.0.18 → 1.0.19-alpha.0

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 (209) hide show
  1. package/builder/assets/{index.4fb3f887.css → index.9337c392.css} +1 -1
  2. package/builder/assets/{index.3587ba82.js → index.f0651cb7.js} +164 -164
  3. package/builder/assets/{vendor.470042a4.js → vendor.a9288856.js} +1 -1
  4. package/builder/index.html +3 -3
  5. package/coverage/clover.xml +208 -178
  6. package/coverage/coverage-final.json +9 -8
  7. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/application.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/datasource.js.html +14 -14
  16. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/index.html +14 -29
  19. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/query/index.html +126 -0
  24. package/coverage/lcov-report/api/controllers/{query.js.html → query/index.js.html} +150 -24
  25. package/coverage/lcov-report/api/controllers/query/validation.js.html +200 -0
  26. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  45. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  46. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  47. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/webhook.js.html +18 -6
  49. package/coverage/lcov-report/api/index.html +1 -1
  50. package/coverage/lcov-report/api/index.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/index.html +9 -9
  64. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/query.js.html +11 -98
  70. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  81. package/coverage/lcov-report/automations/actions.js.html +1 -1
  82. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  83. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  84. package/coverage/lcov-report/automations/index.html +1 -1
  85. package/coverage/lcov-report/automations/index.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/index.html +1 -1
  95. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  101. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  102. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  111. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  112. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  113. package/coverage/lcov-report/automations/utils.js.html +1 -1
  114. package/coverage/lcov-report/constants/index.html +1 -1
  115. package/coverage/lcov-report/constants/index.js.html +1 -1
  116. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  117. package/coverage/lcov-report/constants/screens.js.html +1 -1
  118. package/coverage/lcov-report/db/client.js.html +1 -1
  119. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  120. package/coverage/lcov-report/db/index.html +1 -1
  121. package/coverage/lcov-report/db/index.js.html +1 -1
  122. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  123. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  124. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  125. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  126. package/coverage/lcov-report/db/newid.js.html +4 -4
  127. package/coverage/lcov-report/db/utils.js.html +58 -58
  128. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  129. package/coverage/lcov-report/events/index.html +1 -1
  130. package/coverage/lcov-report/events/index.js.html +1 -1
  131. package/coverage/lcov-report/events/utils.js.html +1 -1
  132. package/coverage/lcov-report/index.html +40 -25
  133. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  134. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  135. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  136. package/coverage/lcov-report/middleware/authorized.js.html +2 -2
  137. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  138. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  139. package/coverage/lcov-report/middleware/index.html +1 -1
  140. package/coverage/lcov-report/middleware/joi-validator.js.html +3 -3
  141. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  142. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  143. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  144. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  145. package/coverage/lcov-report/threads/automation.js.html +1 -1
  146. package/coverage/lcov-report/threads/index.html +1 -1
  147. package/coverage/lcov-report/threads/index.js.html +1 -1
  148. package/coverage/lcov-report/threads/query.js.html +1 -1
  149. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  150. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  151. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  152. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  153. package/coverage/lcov-report/utilities/global.js.html +1 -1
  154. package/coverage/lcov-report/utilities/index.html +1 -1
  155. package/coverage/lcov-report/utilities/index.js.html +1 -1
  156. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  157. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  158. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  159. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  160. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  161. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  162. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  163. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  164. package/coverage/lcov-report/utilities/security.js.html +1 -1
  165. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  166. package/coverage/lcov-report/utilities/users.js.html +1 -1
  167. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  168. package/coverage/lcov.info +279 -240
  169. package/dist/api/controllers/query/import/index.js +79 -0
  170. package/dist/api/controllers/query/import/sources/base/index.js +63 -0
  171. package/dist/api/controllers/query/import/sources/base/openapi.js +42 -0
  172. package/dist/api/controllers/query/import/sources/curl.js +90 -0
  173. package/dist/api/controllers/query/import/sources/openapi2.js +139 -0
  174. package/dist/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +253 -0
  175. package/dist/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +1054 -0
  176. package/dist/api/controllers/{query.js → query/index.js} +38 -4
  177. package/dist/api/controllers/query/validation.js +36 -0
  178. package/dist/api/controllers/webhook.js +4 -0
  179. package/dist/api/routes/query.js +2 -32
  180. package/dist/package.json +8 -4
  181. package/dist/tsconfig.tsbuildinfo +1 -1
  182. package/package.json +9 -5
  183. package/src/api/controllers/query/import/index.ts +85 -0
  184. package/src/api/controllers/query/import/sources/base/index.ts +86 -0
  185. package/src/api/controllers/query/import/sources/base/openapi.ts +24 -0
  186. package/src/api/controllers/query/import/sources/curl.ts +94 -0
  187. package/src/api/controllers/query/import/sources/openapi2.ts +159 -0
  188. package/src/api/controllers/query/import/sources/tests/curl/curl.spec.js +104 -0
  189. package/src/api/controllers/query/import/sources/tests/curl/data/delete.txt +1 -0
  190. package/src/api/controllers/query/import/sources/tests/curl/data/empty-body.txt +2 -0
  191. package/src/api/controllers/query/import/sources/tests/curl/data/get.txt +1 -0
  192. package/src/api/controllers/query/import/sources/tests/curl/data/headers.txt +3 -0
  193. package/src/api/controllers/query/import/sources/tests/curl/data/patch.txt +2 -0
  194. package/src/api/controllers/query/import/sources/tests/curl/data/path.txt +1 -0
  195. package/src/api/controllers/query/import/sources/tests/curl/data/post.txt +2 -0
  196. package/src/api/controllers/query/import/sources/tests/curl/data/put.txt +2 -0
  197. package/src/api/controllers/query/import/sources/tests/curl/data/query.txt +1 -0
  198. package/src/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +253 -0
  199. package/src/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.yaml +160 -0
  200. package/src/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +1054 -0
  201. package/src/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.yaml +711 -0
  202. package/src/api/controllers/query/import/sources/tests/openapi2/openapi2.spec.js +239 -0
  203. package/src/api/controllers/query/import/tests/index.spec.js +115 -0
  204. package/src/api/controllers/{query.js → query/index.js} +46 -4
  205. package/src/api/controllers/query/validation.js +40 -0
  206. package/src/api/controllers/webhook.js +4 -0
  207. package/src/api/routes/query.js +5 -34
  208. package/src/definitions/common.ts +22 -0
  209. package/src/integrations/oracle.ts +1 -1
@@ -181,7 +181,7 @@ exports.downloadTemplate = async function (ctx) {
181
181
  <div class='footer quiet pad2 space-top1 center small'>
182
182
  Code coverage generated by
183
183
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
184
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
184
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
185
185
  </div>
186
186
  </div>
187
187
  <script src="../../prettify.js"></script>
@@ -655,7 +655,7 @@ exports.findMetadata = async function (ctx) {
655
655
  <div class='footer quiet pad2 space-top1 center small'>
656
656
  Code coverage generated by
657
657
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
658
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
658
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
659
659
  </div>
660
660
  </div>
661
661
  <script src="../../prettify.js"></script>
@@ -133,7 +133,7 @@ exports.ExportFormats = {
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 Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
136
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
137
137
  </div>
138
138
  </div>
139
139
  <script src="../../../prettify.js"></script>
@@ -140,7 +140,7 @@
140
140
  <div class='footer quiet pad2 space-top1 center small'>
141
141
  Code coverage generated by
142
142
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
143
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
143
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
144
144
  </div>
145
145
  </div>
146
146
  <script src="../../../prettify.js"></script>
@@ -427,7 +427,7 @@ exports.exportView = async ctx =&gt; {
427
427
  <div class='footer quiet pad2 space-top1 center small'>
428
428
  Code coverage generated by
429
429
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
430
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
430
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
431
431
  </div>
432
432
  </div>
433
433
  <script src="../../../prettify.js"></script>
@@ -493,7 +493,7 @@ exports.getFromMemoryDoc = async (db, viewName) =&gt; {
493
493
  <div class='footer quiet pad2 space-top1 center small'>
494
494
  Code coverage generated by
495
495
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
496
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
496
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
497
497
  </div>
498
498
  </div>
499
499
  <script src="../../../prettify.js"></script>
@@ -550,7 +550,7 @@ module.exports = viewTemplate
550
550
  <div class='footer quiet pad2 space-top1 center small'>
551
551
  Code coverage generated by
552
552
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
553
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
553
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
554
554
  </div>
555
555
  </div>
556
556
  <script src="../../../prettify.js"></script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">91.22% </span>
26
+ <span class="strong">91.37% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>52/57</span>
28
+ <span class='fraction'>53/58</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">91.07% </span>
47
+ <span class="strong">91.22% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>51/56</span>
49
+ <span class='fraction'>52/57</span>
50
50
  </div>
51
51
 
52
52
 
@@ -167,7 +167,11 @@
167
167
  <a name='L108'></a><a href='#L108'>108</a>
168
168
  <a name='L109'></a><a href='#L109'>109</a>
169
169
  <a name='L110'></a><a href='#L110'>110</a>
170
- <a name='L111'></a><a href='#L111'>111</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
170
+ <a name='L111'></a><a href='#L111'>111</a>
171
+ <a name='L112'></a><a href='#L112'>112</a>
172
+ <a name='L113'></a><a href='#L113'>113</a>
173
+ <a name='L114'></a><a href='#L114'>114</a>
174
+ <a name='L115'></a><a href='#L115'>115</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
171
175
  <span class="cline-any cline-yes">33x</span>
172
176
  <span class="cline-any cline-yes">33x</span>
173
177
  <span class="cline-any cline-yes">33x</span>
@@ -234,6 +238,10 @@
234
238
  <span class="cline-any cline-yes">1x</span>
235
239
  <span class="cline-any cline-yes">1x</span>
236
240
  <span class="cline-any cline-yes">1x</span>
241
+ <span class="cline-any cline-neutral">&nbsp;</span>
242
+ <span class="cline-any cline-yes">1x</span>
243
+ <span class="cline-any cline-neutral">&nbsp;</span>
244
+ <span class="cline-any cline-neutral">&nbsp;</span>
237
245
  <span class="cline-any cline-yes">1x</span>
238
246
  <span class="cline-any cline-yes">1x</span>
239
247
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -344,6 +352,10 @@ exports.buildSchema = async ctx =&gt; {
344
352
  let automation = await db.get(webhook.action.target)
345
353
  const autoOutputs = automation.definition.trigger.schema.outputs
346
354
  let properties = webhook.bodySchema.properties
355
+ // reset webhook outputs
356
+ autoOutputs.properties = {
357
+ body: autoOutputs.properties.body,
358
+ }
347
359
  for (let prop of Object.keys(properties)) {
348
360
  autoOutputs.properties[prop] = {
349
361
  type: properties[prop].type,
@@ -394,7 +406,7 @@ exports.trigger = async ctx =&gt; {
394
406
  <div class='footer quiet pad2 space-top1 center small'>
395
407
  Code coverage generated by
396
408
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
397
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
409
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
398
410
  </div>
399
411
  </div>
400
412
  <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 Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
98
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../prettify.js"></script>
@@ -331,7 +331,7 @@ module.exports = router
331
331
  <div class='footer quiet pad2 space-top1 center small'>
332
332
  Code coverage generated by
333
333
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
334
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
334
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
335
335
  </div>
336
336
  </div>
337
337
  <script src="../prettify.js"></script>
@@ -94,7 +94,7 @@ module.exports = router
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 Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
97
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
98
98
  </div>
99
99
  </div>
100
100
  <script src="../../prettify.js"></script>
@@ -100,7 +100,7 @@ module.exports = router
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
103
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
103
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
104
104
  </div>
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
@@ -163,7 +163,7 @@ module.exports = router
163
163
  <div class='footer quiet pad2 space-top1 center small'>
164
164
  Code coverage generated by
165
165
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
166
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
166
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
167
167
  </div>
168
168
  </div>
169
169
  <script src="../../prettify.js"></script>
@@ -88,7 +88,7 @@ module.exports = router
88
88
  <div class='footer quiet pad2 space-top1 center small'>
89
89
  Code coverage generated by
90
90
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
91
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
91
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
92
92
  </div>
93
93
  </div>
94
94
  <script src="../../prettify.js"></script>
@@ -379,7 +379,7 @@ module.exports = router
379
379
  <div class='footer quiet pad2 space-top1 center small'>
380
380
  Code coverage generated by
381
381
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
382
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
382
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
383
383
  </div>
384
384
  </div>
385
385
  <script src="../../prettify.js"></script>
@@ -94,7 +94,7 @@ module.exports = router
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 Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
97
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
98
98
  </div>
99
99
  </div>
100
100
  <script src="../../prettify.js"></script>
@@ -106,7 +106,7 @@ module.exports = router
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
109
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
109
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
110
110
  </div>
111
111
  </div>
112
112
  <script src="../../prettify.js"></script>
@@ -106,7 +106,7 @@ module.exports = router
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
109
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
109
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
110
110
  </div>
111
111
  </div>
112
112
  <script src="../../prettify.js"></script>
@@ -355,7 +355,7 @@ module.exports = router
355
355
  <div class='footer quiet pad2 space-top1 center small'>
356
356
  Code coverage generated by
357
357
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
358
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
358
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
359
359
  </div>
360
360
  </div>
361
361
  <script src="../../prettify.js"></script>
@@ -115,7 +115,7 @@ module.exports = router
115
115
  <div class='footer quiet pad2 space-top1 center small'>
116
116
  Code coverage generated by
117
117
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
118
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
118
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
119
119
  </div>
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
@@ -142,7 +142,7 @@ module.exports = router
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
145
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
145
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
146
146
  </div>
147
147
  </div>
148
148
  <script src="../../prettify.js"></script>
@@ -103,7 +103,7 @@ module.exports = router
103
103
  <div class='footer quiet pad2 space-top1 center small'>
104
104
  Code coverage generated by
105
105
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
106
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
106
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
107
107
  </div>
108
108
  </div>
109
109
  <script src="../../prettify.js"></script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">97.41% </span>
26
+ <span class="strong">97.38% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>264/271</span>
28
+ <span class='fraction'>261/268</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>12/12</span>
42
+ <span class='fraction'>10/10</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">97.41% </span>
47
+ <span class="strong">97.38% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>264/271</span>
49
+ <span class='fraction'>261/268</span>
50
50
  </div>
51
51
 
52
52
 
@@ -333,13 +333,13 @@
333
333
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
334
334
  </td>
335
335
  <td data-value="100" class="pct high">100%</td>
336
- <td data-value="12" class="abs high">12/12</td>
336
+ <td data-value="9" class="abs high">9/9</td>
337
337
  <td data-value="100" class="pct high">100%</td>
338
338
  <td data-value="0" class="abs high">0/0</td>
339
339
  <td data-value="100" class="pct high">100%</td>
340
- <td data-value="2" class="abs high">2/2</td>
340
+ <td data-value="0" class="abs high">0/0</td>
341
341
  <td data-value="100" class="pct high">100%</td>
342
- <td data-value="12" class="abs high">12/12</td>
342
+ <td data-value="9" class="abs high">9/9</td>
343
343
  </tr>
344
344
 
345
345
  <tr>
@@ -515,7 +515,7 @@
515
515
  <div class='footer quiet pad2 space-top1 center small'>
516
516
  Code coverage generated by
517
517
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
518
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
518
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
519
519
  </div>
520
520
  </div>
521
521
  <script src="../../prettify.js"></script>
@@ -244,7 +244,7 @@ exports.staticRoutes = staticRoutes
244
244
  <div class='footer quiet pad2 space-top1 center small'>
245
245
  Code coverage generated by
246
246
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
247
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
247
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
248
248
  </div>
249
249
  </div>
250
250
  <script src="../../prettify.js"></script>
@@ -100,7 +100,7 @@ module.exports = router
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
103
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
103
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
104
104
  </div>
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
@@ -112,7 +112,7 @@ module.exports = router
112
112
  <div class='footer quiet pad2 space-top1 center small'>
113
113
  Code coverage generated by
114
114
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
115
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
115
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
116
116
  </div>
117
117
  </div>
118
118
  <script src="../../prettify.js"></script>
@@ -178,7 +178,7 @@ module.exports = router
178
178
  <div class='footer quiet pad2 space-top1 center small'>
179
179
  Code coverage generated by
180
180
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
181
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
181
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
182
182
  </div>
183
183
  </div>
184
184
  <script src="../../prettify.js"></script>
@@ -196,7 +196,7 @@ module.exports = router
196
196
  <div class='footer quiet pad2 space-top1 center small'>
197
197
  Code coverage generated by
198
198
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
199
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
199
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
200
200
  </div>
201
201
  </div>
202
202
  <script src="../../prettify.js"></script>
@@ -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'>12/12</span>
28
+ <span class='fraction'>9/9</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>2/2</span>
42
+ <span class='fraction'>0/0</span>
43
43
  </div>
44
44
 
45
45
 
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'>12/12</span>
49
+ <span class='fraction'>9/9</span>
50
50
  </div>
51
51
 
52
52
 
@@ -114,37 +114,7 @@
114
114
  <a name='L55'></a><a href='#L55'>55</a>
115
115
  <a name='L56'></a><a href='#L56'>56</a>
116
116
  <a name='L57'></a><a href='#L57'>57</a>
117
- <a name='L58'></a><a href='#L58'>58</a>
118
- <a name='L59'></a><a href='#L59'>59</a>
119
- <a name='L60'></a><a href='#L60'>60</a>
120
- <a name='L61'></a><a href='#L61'>61</a>
121
- <a name='L62'></a><a href='#L62'>62</a>
122
- <a name='L63'></a><a href='#L63'>63</a>
123
- <a name='L64'></a><a href='#L64'>64</a>
124
- <a name='L65'></a><a href='#L65'>65</a>
125
- <a name='L66'></a><a href='#L66'>66</a>
126
- <a name='L67'></a><a href='#L67'>67</a>
127
- <a name='L68'></a><a href='#L68'>68</a>
128
- <a name='L69'></a><a href='#L69'>69</a>
129
- <a name='L70'></a><a href='#L70'>70</a>
130
- <a name='L71'></a><a href='#L71'>71</a>
131
- <a name='L72'></a><a href='#L72'>72</a>
132
- <a name='L73'></a><a href='#L73'>73</a>
133
- <a name='L74'></a><a href='#L74'>74</a>
134
- <a name='L75'></a><a href='#L75'>75</a>
135
- <a name='L76'></a><a href='#L76'>76</a>
136
- <a name='L77'></a><a href='#L77'>77</a>
137
- <a name='L78'></a><a href='#L78'>78</a>
138
- <a name='L79'></a><a href='#L79'>79</a>
139
- <a name='L80'></a><a href='#L80'>80</a>
140
- <a name='L81'></a><a href='#L81'>81</a>
141
- <a name='L82'></a><a href='#L82'>82</a>
142
- <a name='L83'></a><a href='#L83'>83</a>
143
- <a name='L84'></a><a href='#L84'>84</a>
144
- <a name='L85'></a><a href='#L85'>85</a>
145
- <a name='L86'></a><a href='#L86'>86</a>
146
- <a name='L87'></a><a href='#L87'>87</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
147
- <span class="cline-any cline-yes">23x</span>
117
+ <a name='L58'></a><a href='#L58'>58</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
148
118
  <span class="cline-any cline-yes">23x</span>
149
119
  <span class="cline-any cline-yes">23x</span>
150
120
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -152,47 +122,18 @@
152
122
  <span class="cline-any cline-neutral">&nbsp;</span>
153
123
  <span class="cline-any cline-neutral">&nbsp;</span>
154
124
  <span class="cline-any cline-yes">23x</span>
155
- <span class="cline-any cline-yes">23x</span>
156
125
  <span class="cline-any cline-neutral">&nbsp;</span>
157
126
  <span class="cline-any cline-neutral">&nbsp;</span>
158
127
  <span class="cline-any cline-neutral">&nbsp;</span>
159
128
  <span class="cline-any cline-neutral">&nbsp;</span>
160
129
  <span class="cline-any cline-yes">23x</span>
161
130
  <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-yes">23x</span>
163
- <span class="cline-any cline-neutral">&nbsp;</span>
164
131
  <span class="cline-any cline-neutral">&nbsp;</span>
165
132
  <span class="cline-any cline-neutral">&nbsp;</span>
166
133
  <span class="cline-any cline-yes">23x</span>
167
134
  <span class="cline-any cline-neutral">&nbsp;</span>
168
- <span class="cline-any cline-neutral">&nbsp;</span>
169
- <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-neutral">&nbsp;</span>
172
- <span class="cline-any cline-neutral">&nbsp;</span>
173
- <span class="cline-any cline-neutral">&nbsp;</span>
174
- <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-neutral">&nbsp;</span>
176
- <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-neutral">&nbsp;</span>
181
- <span class="cline-any cline-neutral">&nbsp;</span>
182
- <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-neutral">&nbsp;</span>
186
135
  <span class="cline-any cline-yes">23x</span>
187
136
  <span class="cline-any cline-neutral">&nbsp;</span>
188
- <span class="cline-any cline-neutral">&nbsp;</span>
189
- <span class="cline-any cline-neutral">&nbsp;</span>
190
- <span class="cline-any cline-neutral">&nbsp;</span>
191
- <span class="cline-any cline-neutral">&nbsp;</span>
192
- <span class="cline-any cline-neutral">&nbsp;</span>
193
- <span class="cline-any cline-neutral">&nbsp;</span>
194
- <span class="cline-any cline-neutral">&nbsp;</span>
195
- <span class="cline-any cline-neutral">&nbsp;</span>
196
137
  <span class="cline-any cline-yes">23x</span>
197
138
  <span class="cline-any cline-neutral">&nbsp;</span>
198
139
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -228,57 +169,28 @@
228
169
  <span class="cline-any cline-neutral">&nbsp;</span>
229
170
  <span class="cline-any cline-neutral">&nbsp;</span>
230
171
  <span class="cline-any cline-neutral">&nbsp;</span>
172
+ <span class="cline-any cline-neutral">&nbsp;</span>
231
173
  <span class="cline-any cline-yes">23x</span>
232
174
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const Router = require("@koa/router")
233
175
  const queryController = require("../controllers/query")
234
176
  const authorized = require("../../middleware/authorized")
235
- const Joi = require("joi")
236
177
  const {
237
178
  PermissionLevels,
238
179
  PermissionTypes,
239
180
  BUILDER,
240
181
  } = require("@budibase/auth/permissions")
241
- const joiValidator = require("../../middleware/joi-validator")
242
182
  const {
243
183
  bodyResource,
244
184
  bodySubResource,
245
185
  paramResource,
246
186
  } = require("../../middleware/resourceId")
187
+ const {
188
+ generateQueryPreviewValidation,
189
+ generateQueryValidation,
190
+ } = require("../controllers/query/validation")
247
191
  &nbsp;
248
192
  const router = Router()
249
193
  &nbsp;
250
- function generateQueryValidation() {
251
- // prettier-ignore
252
- return joiValidator.body(Joi.object({
253
- _id: Joi.string(),
254
- _rev: Joi.string(),
255
- name: Joi.string().required(),
256
- fields: Joi.object().required(),
257
- datasourceId: Joi.string().required(),
258
- readable: Joi.boolean(),
259
- parameters: Joi.array().items(Joi.object({
260
- name: Joi.string(),
261
- default: Joi.string().allow(""),
262
- })),
263
- queryVerb: Joi.string().allow().required(),
264
- extra: Joi.object().optional(),
265
- schema: Joi.object({}).required().unknown(true),
266
- transformer: Joi.string().optional(),
267
- }))
268
- }
269
- &nbsp;
270
- function generateQueryPreviewValidation() {
271
- // prettier-ignore
272
- return joiValidator.body(Joi.object({
273
- fields: Joi.object().required(),
274
- queryVerb: Joi.string().allow().required(),
275
- extra: Joi.object().optional(),
276
- datasourceId: Joi.string().required(),
277
- transformer: Joi.string().optional(),
278
- parameters: Joi.object({}).required().unknown(true)
279
- }))
280
- }
281
- &nbsp;
282
194
  router
283
195
  .get("/api/queries", authorized(BUILDER), queryController.fetch)
284
196
  .post(
@@ -288,6 +200,7 @@ router
288
200
  generateQueryValidation(),
289
201
  queryController.save
290
202
  )
203
+ .post("/api/queries/import", authorized(BUILDER), queryController.import)
291
204
  .post(
292
205
  "/api/queries/preview",
293
206
  bodyResource("datasourceId"),
@@ -322,7 +235,7 @@ module.exports = router
322
235
  <div class='footer quiet pad2 space-top1 center small'>
323
236
  Code coverage generated by
324
237
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
325
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
238
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
326
239
  </div>
327
240
  </div>
328
241
  <script src="../../prettify.js"></script>
@@ -172,7 +172,7 @@ module.exports = router
172
172
  <div class='footer quiet pad2 space-top1 center small'>
173
173
  Code coverage generated by
174
174
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
175
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
175
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
176
176
  </div>
177
177
  </div>
178
178
  <script src="../../prettify.js"></script>
@@ -106,7 +106,7 @@ module.exports = router
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
109
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
109
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
110
110
  </div>
111
111
  </div>
112
112
  <script src="../../prettify.js"></script>
@@ -826,7 +826,7 @@ module.exports = router
826
826
  <div class='footer quiet pad2 space-top1 center small'>
827
827
  Code coverage generated by
828
828
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
829
- at Mon Dec 13 2021 15:59:05 GMT+0000 (Coordinated Universal Time)
829
+ at Mon Dec 13 2021 17:15:48 GMT+0000 (Coordinated Universal Time)
830
830
  </div>
831
831
  </div>
832
832
  <script src="../../prettify.js"></script>