@budibase/server 1.0.79-alpha.6 → 1.0.79-alpha.9
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.
- package/builder/assets/{index.a0f69612.js → index.e6e92f4f.js} +43 -43
- package/builder/index.html +1 -1
- package/coverage/clover.xml +118 -103
- package/coverage/coverage-final.json +1 -1
- package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/application.js.html +1 -1
- package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
- package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
- package/coverage/lcov-report/api/controllers/component.js.html +1 -1
- package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
- package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
- package/coverage/lcov-report/api/controllers/index.html +1 -1
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
- package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
- package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
- package/coverage/lcov-report/api/controllers/query/index.html +1 -1
- package/coverage/lcov-report/api/controllers/query/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/role.js.html +1 -1
- package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/index.html +1 -1
- package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
- package/coverage/lcov-report/api/controllers/script.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
- package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/application.js.html +1 -1
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +1 -1
- package/coverage/lcov-report/api/routes/backup.js.html +1 -1
- package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
- package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/api/routes/dev.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +1 -1
- package/coverage/lcov-report/api/routes/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/integration.js.html +1 -1
- package/coverage/lcov-report/api/routes/layout.js.html +1 -1
- package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
- package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
- package/coverage/lcov-report/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +1 -1
- package/coverage/lcov-report/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/api/routes/row.js.html +1 -1
- package/coverage/lcov-report/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/static.js.html +1 -1
- package/coverage/lcov-report/api/routes/table.js.html +1 -1
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +1 -1
- package/coverage/lcov-report/api/routes/utils/index.html +1 -1
- package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +1 -1
- package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/automations/index.html +1 -1
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +1 -1
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
- package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
- package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/triggers.js.html +1 -1
- package/coverage/lcov-report/automations/utils.js.html +1 -1
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +1 -1
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +1 -1
- package/coverage/lcov-report/db/client.js.html +1 -1
- package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
- package/coverage/lcov-report/db/index.html +1 -1
- package/coverage/lcov-report/db/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
- package/coverage/lcov-report/db/newid.js.html +1 -1
- package/coverage/lcov-report/db/utils.js.html +1 -1
- package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +1 -1
- package/coverage/lcov-report/events/utils.js.html +1 -1
- package/coverage/lcov-report/index.html +19 -19
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
- package/coverage/lcov-report/middleware/authorized.js.html +1 -1
- package/coverage/lcov-report/middleware/builder.js.html +1 -1
- package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
- package/coverage/lcov-report/middleware/index.html +1 -1
- package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
- package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
- package/coverage/lcov-report/middleware/utils.js.html +1 -1
- package/coverage/lcov-report/threads/automation.js.html +1 -1
- package/coverage/lcov-report/threads/index.html +19 -19
- package/coverage/lcov-report/threads/index.js.html +1 -1
- package/coverage/lcov-report/threads/query.js.html +123 -39
- package/coverage/lcov-report/threads/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
- package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
- package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
- package/coverage/lcov-report/utilities/global.js.html +1 -1
- package/coverage/lcov-report/utilities/index.html +1 -1
- package/coverage/lcov-report/utilities/index.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
- package/coverage/lcov-report/utilities/security.js.html +1 -1
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +1 -1
- package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
- package/coverage/lcov.info +208 -185
- package/dist/integrations/googlesheets.js +3 -0
- package/dist/integrations/microsoftSqlServer.js +35 -29
- package/dist/integrations/mysql.js +30 -26
- package/dist/integrations/oracle.js +14 -19
- package/dist/integrations/postgres.js +34 -28
- package/dist/package.json +4 -7
- package/dist/threads/query.js +33 -8
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -8
- package/scripts/integrations/oracle/oracle.md +2 -2
- package/src/integrations/base/datasourcePlus.ts +3 -0
- package/src/integrations/googlesheets.ts +5 -2
- package/src/integrations/microsoftSqlServer.ts +38 -33
- package/src/integrations/mysql.ts +38 -36
- package/src/integrations/oracle.ts +27 -35
- package/src/integrations/postgres.ts +33 -26
- package/src/threads/query.js +37 -9
- package/scripts/proxy/generateProxyConfig.js +0 -70
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">81.25% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>104/128</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">69.
|
|
33
|
+
<span class="strong">69.35% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>43/62</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">93.33% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>14/15</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">81.45% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>101/124</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -291,10 +291,42 @@
|
|
|
291
291
|
<a name='L232'></a><a href='#L232'>232</a>
|
|
292
292
|
<a name='L233'></a><a href='#L233'>233</a>
|
|
293
293
|
<a name='L234'></a><a href='#L234'>234</a>
|
|
294
|
-
<a name='L235'></a><a href='#L235'>235</a
|
|
294
|
+
<a name='L235'></a><a href='#L235'>235</a>
|
|
295
|
+
<a name='L236'></a><a href='#L236'>236</a>
|
|
296
|
+
<a name='L237'></a><a href='#L237'>237</a>
|
|
297
|
+
<a name='L238'></a><a href='#L238'>238</a>
|
|
298
|
+
<a name='L239'></a><a href='#L239'>239</a>
|
|
299
|
+
<a name='L240'></a><a href='#L240'>240</a>
|
|
300
|
+
<a name='L241'></a><a href='#L241'>241</a>
|
|
301
|
+
<a name='L242'></a><a href='#L242'>242</a>
|
|
302
|
+
<a name='L243'></a><a href='#L243'>243</a>
|
|
303
|
+
<a name='L244'></a><a href='#L244'>244</a>
|
|
304
|
+
<a name='L245'></a><a href='#L245'>245</a>
|
|
305
|
+
<a name='L246'></a><a href='#L246'>246</a>
|
|
306
|
+
<a name='L247'></a><a href='#L247'>247</a>
|
|
307
|
+
<a name='L248'></a><a href='#L248'>248</a>
|
|
308
|
+
<a name='L249'></a><a href='#L249'>249</a>
|
|
309
|
+
<a name='L250'></a><a href='#L250'>250</a>
|
|
310
|
+
<a name='L251'></a><a href='#L251'>251</a>
|
|
311
|
+
<a name='L252'></a><a href='#L252'>252</a>
|
|
312
|
+
<a name='L253'></a><a href='#L253'>253</a>
|
|
313
|
+
<a name='L254'></a><a href='#L254'>254</a>
|
|
314
|
+
<a name='L255'></a><a href='#L255'>255</a>
|
|
315
|
+
<a name='L256'></a><a href='#L256'>256</a>
|
|
316
|
+
<a name='L257'></a><a href='#L257'>257</a>
|
|
317
|
+
<a name='L258'></a><a href='#L258'>258</a>
|
|
318
|
+
<a name='L259'></a><a href='#L259'>259</a>
|
|
319
|
+
<a name='L260'></a><a href='#L260'>260</a>
|
|
320
|
+
<a name='L261'></a><a href='#L261'>261</a>
|
|
321
|
+
<a name='L262'></a><a href='#L262'>262</a>
|
|
322
|
+
<a name='L263'></a><a href='#L263'>263</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
295
323
|
<span class="cline-any cline-yes">2x</span>
|
|
296
324
|
<span class="cline-any cline-yes">2x</span>
|
|
297
325
|
<span class="cline-any cline-yes">2x</span>
|
|
326
|
+
<span class="cline-any cline-neutral"> </span>
|
|
327
|
+
<span class="cline-any cline-neutral"> </span>
|
|
328
|
+
<span class="cline-any cline-neutral"> </span>
|
|
329
|
+
<span class="cline-any cline-yes">2x</span>
|
|
298
330
|
<span class="cline-any cline-yes">2x</span>
|
|
299
331
|
<span class="cline-any cline-yes">2x</span>
|
|
300
332
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -317,22 +349,46 @@
|
|
|
317
349
|
<span class="cline-any cline-neutral"> </span>
|
|
318
350
|
<span class="cline-any cline-neutral"> </span>
|
|
319
351
|
<span class="cline-any cline-neutral"> </span>
|
|
320
|
-
<span class="cline-any cline-yes">
|
|
352
|
+
<span class="cline-any cline-yes">2x</span>
|
|
353
|
+
<span class="cline-any cline-yes">2x</span>
|
|
354
|
+
<span class="cline-any cline-yes">2x</span>
|
|
321
355
|
<span class="cline-any cline-neutral"> </span>
|
|
322
|
-
<span class="cline-any cline-
|
|
323
|
-
<span class="cline-any cline-
|
|
356
|
+
<span class="cline-any cline-no"> </span>
|
|
357
|
+
<span class="cline-any cline-no"> </span>
|
|
358
|
+
<span class="cline-any cline-no"> </span>
|
|
359
|
+
<span class="cline-any cline-no"> </span>
|
|
360
|
+
<span class="cline-any cline-no"> </span>
|
|
361
|
+
<span class="cline-any cline-no"> </span>
|
|
324
362
|
<span class="cline-any cline-neutral"> </span>
|
|
325
363
|
<span class="cline-any cline-neutral"> </span>
|
|
326
|
-
<span class="cline-any cline-
|
|
364
|
+
<span class="cline-any cline-no"> </span>
|
|
365
|
+
<span class="cline-any cline-no"> </span>
|
|
327
366
|
<span class="cline-any cline-no"> </span>
|
|
328
367
|
<span class="cline-any cline-neutral"> </span>
|
|
329
368
|
<span class="cline-any cline-neutral"> </span>
|
|
369
|
+
<span class="cline-any cline-neutral"> </span>
|
|
370
|
+
<span class="cline-any cline-yes">16x</span>
|
|
330
371
|
<span class="cline-any cline-yes">16x</span>
|
|
331
372
|
<span class="cline-any cline-yes">16x</span>
|
|
332
373
|
<span class="cline-any cline-yes">2x</span>
|
|
333
374
|
<span class="cline-any cline-neutral"> </span>
|
|
334
375
|
<span class="cline-any cline-yes">14x</span>
|
|
335
376
|
<span class="cline-any cline-neutral"> </span>
|
|
377
|
+
<span class="cline-any cline-neutral"> </span>
|
|
378
|
+
<span class="cline-any cline-yes">14x</span>
|
|
379
|
+
<span class="cline-any cline-neutral"> </span>
|
|
380
|
+
<span class="cline-any cline-neutral"> </span>
|
|
381
|
+
<span class="cline-any cline-yes">14x</span>
|
|
382
|
+
<span class="cline-any cline-yes">2x</span>
|
|
383
|
+
<span class="cline-any cline-neutral"> </span>
|
|
384
|
+
<span class="cline-any cline-yes">12x</span>
|
|
385
|
+
<span class="cline-any cline-neutral"> </span>
|
|
386
|
+
<span class="cline-any cline-neutral"> </span>
|
|
387
|
+
<span class="cline-any cline-neutral"> </span>
|
|
388
|
+
<span class="cline-any cline-yes">14x</span>
|
|
389
|
+
<span class="cline-any cline-no"> </span>
|
|
390
|
+
<span class="cline-any cline-neutral"> </span>
|
|
391
|
+
<span class="cline-any cline-neutral"> </span>
|
|
336
392
|
<span class="cline-any cline-yes">14x</span>
|
|
337
393
|
<span class="cline-any cline-yes">14x</span>
|
|
338
394
|
<span class="cline-any cline-yes">14x</span>
|
|
@@ -427,21 +483,21 @@
|
|
|
427
483
|
<span class="cline-any cline-neutral"> </span>
|
|
428
484
|
<span class="cline-any cline-neutral"> </span>
|
|
429
485
|
<span class="cline-any cline-neutral"> </span>
|
|
430
|
-
<span class="cline-any cline-yes">
|
|
431
|
-
<span class="cline-any cline-yes">
|
|
486
|
+
<span class="cline-any cline-yes">14x</span>
|
|
487
|
+
<span class="cline-any cline-yes">14x</span>
|
|
432
488
|
<span class="cline-any cline-no"> </span>
|
|
433
489
|
<span class="cline-any cline-neutral"> </span>
|
|
434
|
-
<span class="cline-any cline-yes">
|
|
435
|
-
<span class="cline-any cline-yes">
|
|
436
|
-
<span class="cline-any cline-yes">
|
|
490
|
+
<span class="cline-any cline-yes">14x</span>
|
|
491
|
+
<span class="cline-any cline-yes">14x</span>
|
|
492
|
+
<span class="cline-any cline-yes">14x</span>
|
|
437
493
|
<span class="cline-any cline-yes">2x</span>
|
|
438
494
|
<span class="cline-any cline-yes">2x</span>
|
|
439
495
|
<span class="cline-any cline-neutral"> </span>
|
|
440
496
|
<span class="cline-any cline-neutral"> </span>
|
|
441
|
-
<span class="cline-any cline-yes">
|
|
497
|
+
<span class="cline-any cline-yes">14x</span>
|
|
442
498
|
<span class="cline-any cline-neutral"> </span>
|
|
443
|
-
<span class="cline-any cline-yes">
|
|
444
|
-
<span class="cline-any cline-yes">
|
|
499
|
+
<span class="cline-any cline-yes">9x</span>
|
|
500
|
+
<span class="cline-any cline-yes">9x</span>
|
|
445
501
|
<span class="cline-any cline-neutral"> </span>
|
|
446
502
|
<span class="cline-any cline-yes">6x</span>
|
|
447
503
|
<span class="cline-any cline-no"> </span>
|
|
@@ -450,9 +506,9 @@
|
|
|
450
506
|
<span class="cline-any cline-yes">6x</span>
|
|
451
507
|
<span class="cline-any cline-yes">6x</span>
|
|
452
508
|
<span class="cline-any cline-neutral"> </span>
|
|
453
|
-
<span class="cline-any cline-yes">
|
|
454
|
-
<span class="cline-any cline-yes">
|
|
455
|
-
<span class="cline-any cline-yes">
|
|
509
|
+
<span class="cline-any cline-yes">9x</span>
|
|
510
|
+
<span class="cline-any cline-yes">9x</span>
|
|
511
|
+
<span class="cline-any cline-yes">9x</span>
|
|
456
512
|
<span class="cline-any cline-yes">6x</span>
|
|
457
513
|
<span class="cline-any cline-yes">6x</span>
|
|
458
514
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -468,14 +524,14 @@
|
|
|
468
524
|
<span class="cline-any cline-yes">6x</span>
|
|
469
525
|
<span class="cline-any cline-neutral"> </span>
|
|
470
526
|
<span class="cline-any cline-neutral"> </span>
|
|
471
|
-
<span class="cline-any cline-yes">
|
|
527
|
+
<span class="cline-any cline-yes">14x</span>
|
|
472
528
|
<span class="cline-any cline-neutral"> </span>
|
|
473
529
|
<span class="cline-any cline-neutral"> </span>
|
|
474
530
|
<span class="cline-any cline-neutral"> </span>
|
|
475
|
-
<span class="cline-any cline-yes">
|
|
531
|
+
<span class="cline-any cline-yes">12x</span>
|
|
476
532
|
<span class="cline-any cline-neutral"> </span>
|
|
477
533
|
<span class="cline-any cline-neutral"> </span>
|
|
478
|
-
<span class="cline-any cline-yes">
|
|
534
|
+
<span class="cline-any cline-yes">12x</span>
|
|
479
535
|
<span class="cline-any cline-yes">19x</span>
|
|
480
536
|
<span class="cline-any cline-no"> </span>
|
|
481
537
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -493,7 +549,7 @@
|
|
|
493
549
|
<span class="cline-any cline-no"> </span>
|
|
494
550
|
<span class="cline-any cline-neutral"> </span>
|
|
495
551
|
<span class="cline-any cline-neutral"> </span>
|
|
496
|
-
<span class="cline-any cline-yes">
|
|
552
|
+
<span class="cline-any cline-yes">12x</span>
|
|
497
553
|
<span class="cline-any cline-neutral"> </span>
|
|
498
554
|
<span class="cline-any cline-neutral"> </span>
|
|
499
555
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -509,7 +565,7 @@
|
|
|
509
565
|
<span class="cline-any cline-neutral"> </span>
|
|
510
566
|
<span class="cline-any cline-no"> </span>
|
|
511
567
|
<span class="cline-any cline-neutral"> </span>
|
|
512
|
-
<span class="cline-any cline-yes">
|
|
568
|
+
<span class="cline-any cline-yes">12x</span>
|
|
513
569
|
<span class="cline-any cline-neutral"> </span>
|
|
514
570
|
<span class="cline-any cline-neutral"> </span>
|
|
515
571
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -529,8 +585,12 @@
|
|
|
529
585
|
threadUtils.threadSetup()
|
|
530
586
|
const ScriptRunner = require("../utilities/scriptRunner")
|
|
531
587
|
const { integrations } = require("../integrations")
|
|
532
|
-
const {
|
|
588
|
+
const {
|
|
589
|
+
processStringSync,
|
|
590
|
+
findHBSBlocks,
|
|
591
|
+
} = require("@budibase/string-templates")
|
|
533
592
|
const { doInAppContext, getAppDB } = require("@budibase/backend-core/context")
|
|
593
|
+
const { isSQL } = require("../integrations/utils")
|
|
534
594
|
|
|
535
595
|
class QueryRunner {
|
|
536
596
|
constructor(input, flags = { noRecursiveQuery: false }) {
|
|
@@ -549,23 +609,47 @@ class QueryRunner {
|
|
|
549
609
|
this.queryResponse = {}
|
|
550
610
|
this.hasRerun = false
|
|
551
611
|
}
|
|
612
|
+
|
|
613
|
+
interpolateSQL(fields, parameters, integration) {
|
|
614
|
+
let sql = fields.sql
|
|
615
|
+
if (!sql) {
|
|
616
|
+
return fields
|
|
617
|
+
}
|
|
618
|
+
const bindings = <span class="cstat-no" title="statement not covered" >findHBSBlocks(sql)</span>
|
|
619
|
+
let variables = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
620
|
+
<span class="cstat-no" title="statement not covered" > for (let binding of bindings) {</span>
|
|
621
|
+
let variable = <span class="cstat-no" title="statement not covered" >integration.getBindingIdentifier()</span>
|
|
622
|
+
<span class="cstat-no" title="statement not covered" > variables.push(binding)</span>
|
|
623
|
+
<span class="cstat-no" title="statement not covered" > sql = sql.replace(binding, variable)</span>
|
|
624
|
+
}
|
|
625
|
+
// replicate the knex structure
|
|
626
|
+
<span class="cstat-no" title="statement not covered" > fields.sql = sql</span>
|
|
627
|
+
<span class="cstat-no" title="statement not covered" > fields.bindings = this.enrichQueryFields(variables, parameters)</span>
|
|
628
|
+
<span class="cstat-no" title="statement not covered" > return fields</span>
|
|
629
|
+
}
|
|
552
630
|
|
|
553
631
|
async execute() {
|
|
554
632
|
let { datasource, fields, queryVerb, transformer } = this
|
|
633
|
+
const Integration = integrations[datasource.source]
|
|
634
|
+
if (!Integration) {
|
|
635
|
+
throw "Integration type does not exist."
|
|
636
|
+
}
|
|
637
|
+
const integration = new Integration(datasource.config)
|
|
638
|
+
|
|
555
639
|
// pre-query, make sure datasource variables are added to parameters
|
|
556
640
|
const parameters = await this.addDatasourceVariables()
|
|
557
|
-
let query
|
|
641
|
+
let query
|
|
642
|
+
// handle SQL injections by interpolating the variables
|
|
643
|
+
if (isSQL(datasource)) {
|
|
644
|
+
query = this.interpolateSQL(fields, parameters, integration)
|
|
645
|
+
} else {
|
|
646
|
+
query = this.enrichQueryFields(fields, parameters)
|
|
647
|
+
}
|
|
558
648
|
|
|
559
649
|
// Add pagination values for REST queries
|
|
560
650
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (this.pagination) {
|
|
561
651
|
<span class="cstat-no" title="statement not covered" > query.paginationValues = this.pagination</span>
|
|
562
652
|
}
|
|
563
|
-
|
|
564
|
-
const Integration = integrations[datasource.source]
|
|
565
|
-
if (!Integration) {
|
|
566
|
-
throw "Integration type does not exist."
|
|
567
|
-
}
|
|
568
|
-
const integration = new Integration(datasource.config)
|
|
569
653
|
|
|
570
654
|
let output = threadUtils.formatResponse(await integration[queryVerb](query))
|
|
571
655
|
let rows = output,
|
|
@@ -706,7 +790,7 @@ class QueryRunner {
|
|
|
706
790
|
}
|
|
707
791
|
|
|
708
792
|
enrichQueryFields(fields, parameters = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
|
|
709
|
-
const enrichedQuery = {}
|
|
793
|
+
const enrichedQuery = Array.isArray(fields) ? <span class="branch-0 cbranch-no" title="branch not covered" >[] </span>: {}
|
|
710
794
|
|
|
711
795
|
// enrich the fields with dynamic parameters
|
|
712
796
|
for (let key of Object.keys(fields)) {
|
|
@@ -766,7 +850,7 @@ module.exports = (input, callback) => {
|
|
|
766
850
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
767
851
|
Code coverage generated by
|
|
768
852
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
769
|
-
at
|
|
853
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
770
854
|
</div>
|
|
771
855
|
</div>
|
|
772
856
|
<script src="../prettify.js"></script>
|
|
@@ -298,7 +298,7 @@ exports.hasExtraData = response => {
|
|
|
298
298
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
299
299
|
Code coverage generated by
|
|
300
300
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
301
|
-
at
|
|
301
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
302
302
|
</div>
|
|
303
303
|
</div>
|
|
304
304
|
<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
|
|
112
|
+
at Thu Mar 03 2022 09:12:59 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
|
|
97
|
+
at Thu Mar 03 2022 09:12:59 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
|
|
133
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
134
134
|
</div>
|
|
135
135
|
</div>
|
|
136
136
|
<script src="../prettify.js"></script>
|
|
@@ -496,7 +496,7 @@ module.exports = {
|
|
|
496
496
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
497
497
|
Code coverage generated by
|
|
498
498
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
499
|
-
at
|
|
499
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
500
500
|
</div>
|
|
501
501
|
</div>
|
|
502
502
|
<script src="../prettify.js"></script>
|
|
@@ -385,7 +385,7 @@ exports.getGlobalUsersFromMetadata = async users => {
|
|
|
385
385
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
386
386
|
Code coverage generated by
|
|
387
387
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
388
|
-
at
|
|
388
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
389
389
|
</div>
|
|
390
390
|
</div>
|
|
391
391
|
<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
|
|
248
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
249
249
|
</div>
|
|
250
250
|
</div>
|
|
251
251
|
<script src="../prettify.js"></script>
|
|
@@ -523,7 +523,7 @@ exports.formatBytes = bytes => {
|
|
|
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
|
|
526
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
527
527
|
</div>
|
|
528
528
|
</div>
|
|
529
529
|
<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
|
|
370
|
+
at Thu Mar 03 2022 09:12:59 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
|
|
98
|
+
at Thu Mar 03 2022 09:12:59 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
|
|
98
|
+
at Thu Mar 03 2022 09:12:59 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
|
|
142
|
+
at Thu Mar 03 2022 09:12:59 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
|
|
113
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
114
114
|
</div>
|
|
115
115
|
</div>
|
|
116
116
|
<script src="../../prettify.js"></script>
|
|
@@ -1081,7 +1081,7 @@ exports.cleanupAttachments = async (table, { row, rows, oldRow, oldTable }) =>
|
|
|
1081
1081
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1082
1082
|
Code coverage generated by
|
|
1083
1083
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1084
|
-
at
|
|
1084
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
1085
1085
|
</div>
|
|
1086
1086
|
</div>
|
|
1087
1087
|
<script src="../../prettify.js"></script>
|
|
@@ -181,7 +181,7 @@ exports.processFormulas = (
|
|
|
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
|
|
184
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
185
185
|
</div>
|
|
186
186
|
</div>
|
|
187
187
|
<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
|
|
139
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
140
140
|
</div>
|
|
141
141
|
</div>
|
|
142
142
|
<script src="../prettify.js"></script>
|
|
@@ -274,7 +274,7 @@ exports.CURRENTLY_SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
|
|
|
274
274
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
275
275
|
Code coverage generated by
|
|
276
276
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
277
|
-
at
|
|
277
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
278
278
|
</div>
|
|
279
279
|
</div>
|
|
280
280
|
<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
|
|
88
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
89
89
|
</div>
|
|
90
90
|
</div>
|
|
91
91
|
<script src="../prettify.js"></script>
|
|
@@ -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
|
|
128
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
129
129
|
</div>
|
|
130
130
|
</div>
|
|
131
131
|
<script src="../../prettify.js"></script>
|
|
@@ -343,7 +343,7 @@ exports.update = async (property, usage, opts = { dryRun: false }) => {
|
|
|
343
343
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
344
344
|
Code coverage generated by
|
|
345
345
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
346
|
-
at
|
|
346
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
347
347
|
</div>
|
|
348
348
|
</div>
|
|
349
349
|
<script src="../../prettify.js"></script>
|
|
@@ -289,7 +289,7 @@ exports.getUniqueRows = async appIds => {
|
|
|
289
289
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
290
290
|
Code coverage generated by
|
|
291
291
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
292
|
-
at
|
|
292
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
293
293
|
</div>
|
|
294
294
|
</div>
|
|
295
295
|
<script src="../../prettify.js"></script>
|
|
@@ -118,7 +118,7 @@ function <span class="fstat-no" title="function not covered" >resetQuotasIfRequi
|
|
|
118
118
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
119
119
|
Code coverage generated by
|
|
120
120
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
121
|
-
at
|
|
121
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
122
122
|
</div>
|
|
123
123
|
</div>
|
|
124
124
|
<script src="../../prettify.js"></script>
|
|
@@ -136,7 +136,7 @@ exports.getFullUser = async (ctx, userId) => {
|
|
|
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
|
|
139
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
140
140
|
</div>
|
|
141
141
|
</div>
|
|
142
142
|
<script src="../prettify.js"></script>
|
|
@@ -481,7 +481,7 @@ exports.readGlobalUser = <span class="fstat-no" title="function not covered" >as
|
|
|
481
481
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
482
482
|
Code coverage generated by
|
|
483
483
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
484
|
-
at
|
|
484
|
+
at Thu Mar 03 2022 09:12:59 GMT+0000 (Coordinated Universal Time)
|
|
485
485
|
</div>
|
|
486
486
|
</div>
|
|
487
487
|
<script src="../prettify.js"></script>
|