@budibase/server 1.0.27-alpha.2 → 1.0.27-alpha.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__mocks__/node-fetch.ts +18 -0
- package/builder/assets/{index.5522fcd5.css → index.39e01193.css} +1 -1
- package/builder/assets/{index.e9e2c4d7.js → index.c5bf8ef6.js} +247 -242
- package/builder/assets/{vendor.f9faf6ab.js → vendor.10e2ad1b.js} +12 -12
- package/builder/index.html +3 -3
- package/coverage/clover.xml +1128 -968
- package/coverage/coverage-final.json +70 -70
- package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
- package/coverage/lcov-report/api/controllers/apikeys.js.html +3 -3
- package/coverage/lcov-report/api/controllers/application.js.html +73 -64
- package/coverage/lcov-report/api/controllers/auth.js.html +2 -2
- 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 +13 -4
- package/coverage/lcov-report/api/controllers/component.js.html +1 -1
- package/coverage/lcov-report/api/controllers/datasource.js.html +150 -48
- package/coverage/lcov-report/api/controllers/dev.js.html +3 -3
- package/coverage/lcov-report/api/controllers/hosting.js.html +3 -3
- package/coverage/lcov-report/api/controllers/index.html +20 -20
- 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/permission.js.html +3 -3
- package/coverage/lcov-report/api/controllers/query/index.html +21 -21
- package/coverage/lcov-report/api/controllers/query/index.js.html +102 -120
- package/coverage/lcov-report/api/controllers/query/validation.js.html +6 -3
- package/coverage/lcov-report/api/controllers/role.js.html +2 -2
- package/coverage/lcov-report/api/controllers/routing.js.html +2 -2
- package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/index.html +11 -11
- package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +38 -11
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +2 -2
- package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/screen.js.html +2 -2
- package/coverage/lcov-report/api/controllers/script.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 +14 -5
- 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 +2 -2
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +6 -6
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +2 -2
- package/coverage/lcov-report/api/routes/application.js.html +2 -2
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +2 -2
- package/coverage/lcov-report/api/routes/backup.js.html +2 -2
- package/coverage/lcov-report/api/routes/cloud.js.html +2 -2
- package/coverage/lcov-report/api/routes/component.js.html +2 -2
- package/coverage/lcov-report/api/routes/datasource.js.html +2 -2
- package/coverage/lcov-report/api/routes/deploy.js.html +2 -2
- package/coverage/lcov-report/api/routes/dev.js.html +2 -2
- package/coverage/lcov-report/api/routes/hosting.js.html +2 -2
- 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 +2 -2
- package/coverage/lcov-report/api/routes/layout.js.html +2 -2
- package/coverage/lcov-report/api/routes/metadata.js.html +2 -2
- package/coverage/lcov-report/api/routes/permission.js.html +12 -3
- package/coverage/lcov-report/api/routes/query.js.html +25 -4
- package/coverage/lcov-report/api/routes/role.js.html +2 -2
- package/coverage/lcov-report/api/routes/routing.js.html +2 -2
- package/coverage/lcov-report/api/routes/row.js.html +2 -2
- package/coverage/lcov-report/api/routes/screen.js.html +2 -2
- package/coverage/lcov-report/api/routes/script.js.html +2 -2
- package/coverage/lcov-report/api/routes/static.js.html +2 -2
- package/coverage/lcov-report/api/routes/table.js.html +2 -2
- package/coverage/lcov-report/api/routes/templates.js.html +2 -2
- package/coverage/lcov-report/api/routes/user.js.html +2 -2
- package/coverage/lcov-report/api/routes/view.js.html +2 -2
- package/coverage/lcov-report/api/routes/webhook.js.html +2 -2
- 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 +2 -2
- 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 +32 -8
- 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 +11 -11
- 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 +6 -6
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +4 -4
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +2 -2
- package/coverage/lcov-report/db/client.js.html +2 -2
- 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 +2 -2
- package/coverage/lcov-report/db/utils.js.html +19 -19
- 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 +69 -69
- 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 +12 -12
- package/coverage/lcov-report/middleware/builder.js.html +10 -10
- package/coverage/lcov-report/middleware/currentapp.js.html +79 -40
- package/coverage/lcov-report/middleware/index.html +10 -10
- package/coverage/lcov-report/middleware/joi-validator.js.html +9 -9
- package/coverage/lcov-report/middleware/resourceId.js.html +18 -18
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/usageQuota.js.html +2 -2
- package/coverage/lcov-report/middleware/utils.js.html +2 -2
- package/coverage/lcov-report/threads/automation.js.html +3 -3
- package/coverage/lcov-report/threads/index.html +31 -31
- package/coverage/lcov-report/threads/index.js.html +12 -12
- package/coverage/lcov-report/threads/query.js.html +531 -87
- package/coverage/lcov-report/threads/utils.js.html +210 -15
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +2 -2
- 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 +28 -19
- package/coverage/lcov-report/utilities/index.html +4 -4
- package/coverage/lcov-report/utilities/index.js.html +13 -13
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +2 -2
- 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 +19 -19
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +211 -10
- 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 +13 -4
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +1 -1
- package/coverage/lcov-report/utilities/workerRequests.js.html +22 -22
- package/coverage/lcov.info +1921 -1630
- package/dist/api/controllers/apikeys.js +2 -2
- package/dist/api/controllers/application.js +4 -4
- package/dist/api/controllers/auth.js +1 -1
- package/dist/api/controllers/cloud.js +2 -2
- package/dist/api/controllers/datasource.js +29 -0
- package/dist/api/controllers/deploy/index.js +2 -2
- package/dist/api/controllers/dev.js +2 -2
- package/dist/api/controllers/hosting.js +2 -2
- package/dist/api/controllers/permission.js +2 -2
- package/dist/api/controllers/query/import/sources/base/index.js +2 -1
- package/dist/api/controllers/query/import/sources/curl.js +11 -5
- package/dist/api/controllers/query/import/sources/openapi2.js +8 -5
- package/dist/api/controllers/query/index.js +46 -47
- package/dist/api/controllers/query/validation.js +2 -1
- package/dist/api/controllers/role.js +1 -1
- package/dist/api/controllers/routing.js +1 -1
- package/dist/api/controllers/row/internal.js +14 -6
- package/dist/api/controllers/row/internalSearch.js +1 -1
- package/dist/api/controllers/screen.js +1 -1
- package/dist/api/controllers/user.js +3 -3
- package/dist/api/controllers/webhook.js +1 -1
- package/dist/api/index.js +1 -1
- package/dist/api/routes/apikeys.js +1 -1
- package/dist/api/routes/application.js +1 -1
- package/dist/api/routes/automation.js +1 -1
- package/dist/api/routes/backup.js +1 -1
- package/dist/api/routes/cloud.js +1 -1
- package/dist/api/routes/component.js +1 -1
- package/dist/api/routes/datasource.js +1 -1
- package/dist/api/routes/deploy.js +1 -1
- package/dist/api/routes/dev.js +1 -1
- package/dist/api/routes/hosting.js +1 -1
- package/dist/api/routes/integration.js +1 -1
- package/dist/api/routes/layout.js +1 -1
- package/dist/api/routes/metadata.js +1 -1
- package/dist/api/routes/permission.js +1 -1
- package/dist/api/routes/query.js +4 -2
- package/dist/api/routes/role.js +1 -1
- package/dist/api/routes/routing.js +1 -1
- package/dist/api/routes/row.js +1 -1
- package/dist/api/routes/screen.js +1 -1
- package/dist/api/routes/script.js +1 -1
- package/dist/api/routes/static.js +1 -1
- package/dist/api/routes/table.js +1 -1
- package/dist/api/routes/templates.js +1 -1
- package/dist/api/routes/tests/utilities/TestFunctions.js +1 -1
- package/dist/api/routes/user.js +1 -1
- package/dist/api/routes/view.js +1 -1
- package/dist/api/routes/webhook.js +1 -1
- package/dist/app.js +1 -1
- package/dist/automations/bullboard.js +1 -1
- package/dist/automations/steps/executeQuery.js +9 -2
- package/dist/automations/utils.js +1 -1
- package/dist/constants/index.js +3 -3
- package/dist/constants/screens.js +1 -1
- package/dist/db/client.js +1 -1
- package/dist/db/utils.js +1 -1
- package/dist/environment.js +1 -0
- package/dist/integrations/base/sqlTable.js +1 -1
- package/dist/integrations/dynamodb.js +19 -0
- package/dist/integrations/rest.js +71 -22
- package/dist/integrations/s3.js +17 -8
- package/dist/integrations/utils.js +40 -37
- package/dist/middleware/authorized.js +2 -2
- package/dist/middleware/builder.js +2 -2
- package/dist/middleware/currentapp.js +15 -6
- package/dist/middleware/usageQuota.js +1 -1
- package/dist/package.json +5 -4
- package/dist/tests/utilities/TestConfiguration.js +55 -8
- package/dist/tests/utilities/structures.js +2 -2
- package/dist/threads/automation.js +2 -2
- package/dist/threads/query.js +195 -50
- package/dist/threads/utils.js +62 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/budibaseDir.js +1 -1
- package/dist/utilities/fileSystem/utilities.js +2 -1
- package/dist/utilities/global.js +5 -5
- package/dist/utilities/index.js +2 -2
- package/dist/utilities/redis.js +1 -1
- package/dist/utilities/rowProcessor/index.js +63 -0
- package/dist/utilities/security.js +2 -2
- package/dist/utilities/usageQuota.js +2 -2
- package/dist/utilities/workerRequests.js +3 -3
- package/package.json +6 -5
- package/scripts/replicateApp.js +1 -1
- package/src/api/controllers/apikeys.js +2 -2
- package/src/api/controllers/application.js +7 -4
- package/src/api/controllers/auth.js +1 -1
- package/src/api/controllers/cloud.js +5 -2
- package/src/api/controllers/datasource.js +34 -0
- package/src/api/controllers/deploy/index.js +2 -2
- package/src/api/controllers/dev.js +2 -2
- package/src/api/controllers/hosting.js +2 -2
- package/src/api/controllers/permission.js +2 -2
- package/src/api/controllers/query/import/sources/base/index.ts +3 -1
- package/src/api/controllers/query/import/sources/curl.ts +12 -4
- package/src/api/controllers/query/import/sources/openapi2.ts +9 -5
- package/src/api/controllers/query/import/sources/tests/curl/curl.spec.js +2 -3
- package/src/api/controllers/query/import/sources/tests/openapi2/openapi2.spec.js +6 -7
- package/src/api/controllers/query/import/tests/index.spec.js +0 -6
- package/src/api/controllers/query/index.js +49 -55
- package/src/api/controllers/query/validation.js +2 -1
- package/src/api/controllers/role.js +1 -1
- package/src/api/controllers/routing.js +1 -1
- package/src/api/controllers/row/internal.js +14 -5
- package/src/api/controllers/row/internalSearch.js +1 -1
- package/src/api/controllers/screen.js +1 -1
- package/src/api/controllers/user.js +6 -3
- package/src/api/controllers/webhook.js +1 -1
- package/src/api/index.js +1 -1
- package/src/api/routes/apikeys.js +1 -1
- package/src/api/routes/application.js +1 -1
- package/src/api/routes/automation.js +1 -1
- package/src/api/routes/backup.js +1 -1
- package/src/api/routes/cloud.js +1 -1
- package/src/api/routes/component.js +1 -1
- package/src/api/routes/datasource.js +1 -1
- package/src/api/routes/deploy.js +1 -1
- package/src/api/routes/dev.js +1 -1
- package/src/api/routes/hosting.js +1 -1
- package/src/api/routes/integration.js +1 -1
- package/src/api/routes/layout.js +1 -1
- package/src/api/routes/metadata.js +1 -1
- package/src/api/routes/permission.js +4 -1
- package/src/api/routes/query.js +9 -2
- package/src/api/routes/role.js +1 -1
- package/src/api/routes/routing.js +1 -1
- package/src/api/routes/row.js +1 -1
- package/src/api/routes/screen.js +1 -1
- package/src/api/routes/script.js +1 -1
- package/src/api/routes/static.js +1 -1
- package/src/api/routes/table.js +1 -1
- package/src/api/routes/templates.js +1 -1
- package/src/api/routes/tests/datasource.spec.js +45 -0
- package/src/api/routes/tests/permissions.spec.js +1 -1
- package/src/api/routes/tests/query.spec.js +70 -1
- package/src/api/routes/tests/role.spec.js +2 -2
- package/src/api/routes/tests/routing.spec.js +1 -1
- package/src/api/routes/tests/user.spec.js +1 -1
- package/src/api/routes/tests/utilities/TestFunctions.js +1 -1
- package/src/api/routes/user.js +1 -1
- package/src/api/routes/view.js +1 -1
- package/src/api/routes/webhook.js +1 -1
- package/src/app.ts +1 -1
- package/src/automations/bullboard.js +1 -1
- package/src/automations/steps/executeQuery.js +10 -2
- package/src/automations/utils.js +1 -1
- package/src/constants/index.js +3 -3
- package/src/constants/screens.js +1 -1
- package/src/db/client.js +1 -1
- package/src/db/utils.js +1 -1
- package/src/definitions/datasource.ts +25 -0
- package/src/environment.js +1 -0
- package/src/integrations/base/sqlTable.ts +1 -1
- package/src/integrations/dynamodb.ts +18 -0
- package/src/integrations/rest.ts +103 -20
- package/src/integrations/s3.ts +18 -7
- package/src/integrations/tests/rest.spec.js +287 -24
- package/src/integrations/utils.ts +8 -7
- package/src/middleware/authorized.js +2 -2
- package/src/middleware/builder.js +2 -2
- package/src/middleware/currentapp.js +20 -7
- package/src/middleware/tests/authorized.spec.js +2 -2
- package/src/middleware/tests/currentapp.spec.js +35 -41
- package/src/middleware/tests/usageQuota.spec.js +1 -1
- package/src/middleware/usageQuota.js +1 -1
- package/src/tests/utilities/TestConfiguration.js +65 -8
- package/src/tests/utilities/structures.js +2 -2
- package/src/threads/automation.js +2 -2
- package/src/threads/query.js +203 -55
- package/src/threads/utils.js +66 -1
- package/src/utilities/budibaseDir.js +1 -1
- package/src/utilities/fileSystem/utilities.js +3 -1
- package/src/utilities/global.js +8 -5
- package/src/utilities/index.js +2 -2
- package/src/utilities/redis.js +1 -1
- package/src/utilities/rowProcessor/index.js +67 -0
- package/src/utilities/security.js +5 -2
- package/src/utilities/usageQuota.js +2 -2
- package/src/utilities/workerRequests.js +3 -3
|
@@ -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.11% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>73/90</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">68.42% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>13/19</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">85.71% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>12/14</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">80.68% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>71/88</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
56
|
</p>
|
|
57
57
|
</div>
|
|
58
|
-
<div class='status-line
|
|
58
|
+
<div class='status-line high'></div>
|
|
59
59
|
<pre><table class="coverage">
|
|
60
60
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
61
61
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -253,14 +253,7 @@
|
|
|
253
253
|
<a name='L194'></a><a href='#L194'>194</a>
|
|
254
254
|
<a name='L195'></a><a href='#L195'>195</a>
|
|
255
255
|
<a name='L196'></a><a href='#L196'>196</a>
|
|
256
|
-
<a name='L197'></a><a href='#L197'>197</a>
|
|
257
|
-
<a name='L198'></a><a href='#L198'>198</a>
|
|
258
|
-
<a name='L199'></a><a href='#L199'>199</a>
|
|
259
|
-
<a name='L200'></a><a href='#L200'>200</a>
|
|
260
|
-
<a name='L201'></a><a href='#L201'>201</a>
|
|
261
|
-
<a name='L202'></a><a href='#L202'>202</a>
|
|
262
|
-
<a name='L203'></a><a href='#L203'>203</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
263
|
-
<span class="cline-any cline-yes">34x</span>
|
|
256
|
+
<a name='L197'></a><a href='#L197'>197</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
264
257
|
<span class="cline-any cline-neutral"> </span>
|
|
265
258
|
<span class="cline-any cline-neutral"> </span>
|
|
266
259
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -270,6 +263,7 @@
|
|
|
270
263
|
<span class="cline-any cline-yes">34x</span>
|
|
271
264
|
<span class="cline-any cline-yes">34x</span>
|
|
272
265
|
<span class="cline-any cline-yes">34x</span>
|
|
266
|
+
<span class="cline-any cline-yes">34x</span>
|
|
273
267
|
<span class="cline-any cline-neutral"> </span>
|
|
274
268
|
<span class="cline-any cline-yes">34x</span>
|
|
275
269
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -337,80 +331,69 @@
|
|
|
337
331
|
<span class="cline-any cline-neutral"> </span>
|
|
338
332
|
<span class="cline-any cline-neutral"> </span>
|
|
339
333
|
<span class="cline-any cline-yes">34x</span>
|
|
340
|
-
<span class="cline-any cline-yes">
|
|
341
|
-
<span class="cline-any cline-yes">
|
|
334
|
+
<span class="cline-any cline-yes">28x</span>
|
|
335
|
+
<span class="cline-any cline-yes">28x</span>
|
|
342
336
|
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-yes">
|
|
344
|
-
<span class="cline-any cline-yes">
|
|
337
|
+
<span class="cline-any cline-yes">28x</span>
|
|
338
|
+
<span class="cline-any cline-yes">28x</span>
|
|
345
339
|
<span class="cline-any cline-neutral"> </span>
|
|
346
340
|
<span class="cline-any cline-neutral"> </span>
|
|
347
|
-
<span class="cline-any cline-yes">
|
|
348
|
-
<span class="cline-any cline-yes">
|
|
341
|
+
<span class="cline-any cline-yes">28x</span>
|
|
342
|
+
<span class="cline-any cline-yes">28x</span>
|
|
349
343
|
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-yes">
|
|
351
|
-
<span class="cline-any cline-yes">
|
|
344
|
+
<span class="cline-any cline-yes">28x</span>
|
|
345
|
+
<span class="cline-any cline-yes">28x</span>
|
|
352
346
|
<span class="cline-any cline-neutral"> </span>
|
|
353
347
|
<span class="cline-any cline-neutral"> </span>
|
|
348
|
+
<span class="cline-any cline-yes">34x</span>
|
|
349
|
+
<span class="cline-any cline-yes">3x</span>
|
|
350
|
+
<span class="cline-any cline-yes">3x</span>
|
|
354
351
|
<span class="cline-any cline-neutral"> </span>
|
|
355
|
-
<span class="cline-any cline-yes">
|
|
352
|
+
<span class="cline-any cline-yes">3x</span>
|
|
353
|
+
<span class="cline-any cline-yes">1x</span>
|
|
354
|
+
<span class="cline-any cline-yes">1x</span>
|
|
356
355
|
<span class="cline-any cline-neutral"> </span>
|
|
356
|
+
<span class="cline-any cline-yes">3x</span>
|
|
357
357
|
<span class="cline-any cline-neutral"> </span>
|
|
358
|
-
<span class="cline-any cline-yes">4x</span>
|
|
359
|
-
<span class="cline-any cline-no"> </span>
|
|
360
|
-
<span class="cline-any cline-no"> </span>
|
|
361
358
|
<span class="cline-any cline-neutral"> </span>
|
|
362
|
-
<span class="cline-any cline-
|
|
359
|
+
<span class="cline-any cline-yes">34x</span>
|
|
360
|
+
<span class="cline-any cline-yes">8x</span>
|
|
363
361
|
<span class="cline-any cline-neutral"> </span>
|
|
364
|
-
<span class="cline-any cline-
|
|
365
|
-
<span class="cline-any cline-no"> </span>
|
|
362
|
+
<span class="cline-any cline-yes">8x</span>
|
|
366
363
|
<span class="cline-any cline-neutral"> </span>
|
|
367
|
-
<span class="cline-any cline-no"> </span>
|
|
368
364
|
<span class="cline-any cline-neutral"> </span>
|
|
369
365
|
<span class="cline-any cline-neutral"> </span>
|
|
366
|
+
<span class="cline-any cline-yes">8x</span>
|
|
370
367
|
<span class="cline-any cline-neutral"> </span>
|
|
371
|
-
<span class="cline-any cline-
|
|
368
|
+
<span class="cline-any cline-yes">8x</span>
|
|
369
|
+
<span class="cline-any cline-yes">8x</span>
|
|
372
370
|
<span class="cline-any cline-neutral"> </span>
|
|
373
371
|
<span class="cline-any cline-neutral"> </span>
|
|
374
372
|
<span class="cline-any cline-neutral"> </span>
|
|
375
|
-
<span class="cline-any cline-yes">4x</span>
|
|
376
373
|
<span class="cline-any cline-neutral"> </span>
|
|
377
374
|
<span class="cline-any cline-neutral"> </span>
|
|
378
375
|
<span class="cline-any cline-neutral"> </span>
|
|
379
376
|
<span class="cline-any cline-neutral"> </span>
|
|
380
|
-
<span class="cline-any cline-no"> </span>
|
|
381
|
-
<span class="cline-any cline-no"> </span>
|
|
382
377
|
<span class="cline-any cline-neutral"> </span>
|
|
383
378
|
<span class="cline-any cline-neutral"> </span>
|
|
379
|
+
<span class="cline-any cline-yes">7x</span>
|
|
384
380
|
<span class="cline-any cline-neutral"> </span>
|
|
385
381
|
<span class="cline-any cline-neutral"> </span>
|
|
386
382
|
<span class="cline-any cline-neutral"> </span>
|
|
387
383
|
<span class="cline-any cline-neutral"> </span>
|
|
388
384
|
<span class="cline-any cline-neutral"> </span>
|
|
389
|
-
<span class="cline-any cline-no"> </span>
|
|
390
385
|
<span class="cline-any cline-neutral"> </span>
|
|
391
|
-
<span class="cline-any cline-neutral"> </span>
|
|
392
|
-
<span class="cline-any cline-yes">4x</span>
|
|
393
|
-
<span class="cline-any cline-neutral"> </span>
|
|
394
|
-
<span class="cline-any cline-neutral"> </span>
|
|
395
|
-
<span class="cline-any cline-yes">34x</span>
|
|
396
|
-
<span class="cline-any cline-yes">3x</span>
|
|
397
|
-
<span class="cline-any cline-yes">3x</span>
|
|
398
|
-
<span class="cline-any cline-neutral"> </span>
|
|
399
|
-
<span class="cline-any cline-yes">3x</span>
|
|
400
|
-
<span class="cline-any cline-yes">1x</span>
|
|
401
386
|
<span class="cline-any cline-yes">1x</span>
|
|
402
387
|
<span class="cline-any cline-neutral"> </span>
|
|
403
|
-
<span class="cline-any cline-yes">3x</span>
|
|
404
388
|
<span class="cline-any cline-neutral"> </span>
|
|
405
389
|
<span class="cline-any cline-neutral"> </span>
|
|
406
|
-
<span class="cline-any cline-yes">34x</span>
|
|
407
|
-
<span class="cline-any cline-yes">2x</span>
|
|
408
390
|
<span class="cline-any cline-neutral"> </span>
|
|
409
391
|
<span class="cline-any cline-yes">2x</span>
|
|
410
392
|
<span class="cline-any cline-neutral"> </span>
|
|
411
393
|
<span class="cline-any cline-yes">2x</span>
|
|
412
394
|
<span class="cline-any cline-yes">2x</span>
|
|
413
395
|
<span class="cline-any cline-neutral"> </span>
|
|
396
|
+
<span class="cline-any cline-neutral"> </span>
|
|
414
397
|
<span class="cline-any cline-yes">2x</span>
|
|
415
398
|
<span class="cline-any cline-yes">2x</span>
|
|
416
399
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -419,11 +402,13 @@
|
|
|
419
402
|
<span class="cline-any cline-neutral"> </span>
|
|
420
403
|
<span class="cline-any cline-neutral"> </span>
|
|
421
404
|
<span class="cline-any cline-neutral"> </span>
|
|
422
|
-
<span class="cline-any cline-yes">1x</span>
|
|
423
405
|
<span class="cline-any cline-neutral"> </span>
|
|
424
406
|
<span class="cline-any cline-neutral"> </span>
|
|
425
407
|
<span class="cline-any cline-neutral"> </span>
|
|
408
|
+
<span class="cline-any cline-yes">1x</span>
|
|
409
|
+
<span class="cline-any cline-yes">1x</span>
|
|
426
410
|
<span class="cline-any cline-neutral"> </span>
|
|
411
|
+
<span class="cline-any cline-no"> </span>
|
|
427
412
|
<span class="cline-any cline-neutral"> </span>
|
|
428
413
|
<span class="cline-any cline-neutral"> </span>
|
|
429
414
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -433,22 +418,24 @@
|
|
|
433
418
|
<span class="cline-any cline-yes">34x</span>
|
|
434
419
|
<span class="cline-any cline-yes">2x</span>
|
|
435
420
|
<span class="cline-any cline-neutral"> </span>
|
|
436
|
-
<span class="cline-any cline-yes">2x</span>
|
|
437
|
-
<span class="cline-any cline-yes">2x</span>
|
|
438
|
-
<span class="cline-any cline-neutral"> </span>
|
|
439
|
-
<span class="cline-any cline-yes">2x</span>
|
|
440
|
-
<span class="cline-any cline-neutral"> </span>
|
|
441
|
-
<span class="cline-any cline-neutral"> </span>
|
|
442
421
|
<span class="cline-any cline-neutral"> </span>
|
|
422
|
+
<span class="cline-any cline-yes">34x</span>
|
|
423
|
+
<span class="cline-any cline-no"> </span>
|
|
443
424
|
<span class="cline-any cline-neutral"> </span>
|
|
444
425
|
<span class="cline-any cline-neutral"> </span>
|
|
426
|
+
<span class="cline-any cline-yes">34x</span>
|
|
427
|
+
<span class="cline-any cline-yes">2x</span>
|
|
445
428
|
<span class="cline-any cline-yes">2x</span>
|
|
446
429
|
<span class="cline-any cline-yes">2x</span>
|
|
447
430
|
<span class="cline-any cline-neutral"> </span>
|
|
431
|
+
<span class="cline-any cline-yes">2x</span>
|
|
448
432
|
<span class="cline-any cline-neutral"> </span>
|
|
433
|
+
<span class="cline-any cline-yes">1x</span>
|
|
434
|
+
<span class="cline-any cline-yes">1x</span>
|
|
435
|
+
<span class="cline-any cline-yes">1x</span>
|
|
449
436
|
<span class="cline-any cline-neutral"> </span>
|
|
450
437
|
<span class="cline-any cline-neutral"> </span>
|
|
451
|
-
<span class="cline-any cline-
|
|
438
|
+
<span class="cline-any cline-yes">1x</span>
|
|
452
439
|
<span class="cline-any cline-yes">1x</span>
|
|
453
440
|
<span class="cline-any cline-neutral"> </span>
|
|
454
441
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -456,13 +443,13 @@
|
|
|
456
443
|
<span class="cline-any cline-neutral"> </span>
|
|
457
444
|
<span class="cline-any cline-neutral"> </span>
|
|
458
445
|
<span class="cline-any cline-yes">34x</span>
|
|
459
|
-
<span class="cline-any cline-yes">
|
|
460
|
-
<span class="cline-any cline-yes">
|
|
461
|
-
<span class="cline-any cline-yes">
|
|
462
|
-
<span class="cline-any cline-yes">
|
|
446
|
+
<span class="cline-any cline-yes">2x</span>
|
|
447
|
+
<span class="cline-any cline-yes">2x</span>
|
|
448
|
+
<span class="cline-any cline-yes">2x</span>
|
|
449
|
+
<span class="cline-any cline-yes">2x</span>
|
|
450
|
+
<span class="cline-any cline-yes">2x</span>
|
|
463
451
|
<span class="cline-any cline-neutral"> </span>
|
|
464
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
465
|
-
const CouchDB = require("../../../db")
|
|
452
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../../db")
|
|
466
453
|
const {
|
|
467
454
|
generateQueryID,
|
|
468
455
|
getQueryParams,
|
|
@@ -472,6 +459,7 @@ const { BaseQueryVerbs } = require("../../../constants")
|
|
|
472
459
|
const { Thread, ThreadType } = require("../../../threads")
|
|
473
460
|
const { save: saveDatasource } = require("../datasource")
|
|
474
461
|
const { RestImporter } = require("./import")
|
|
462
|
+
const { invalidateDynamicVariables } = require("../../../threads/utils")
|
|
475
463
|
|
|
476
464
|
const Runner = new Thread(ThreadType.QUERY, { timeoutMs: 10000 })
|
|
477
465
|
|
|
@@ -553,47 +541,6 @@ exports.save = async function (ctx) {
|
|
|
553
541
|
ctx.message = `Query ${query.name} saved successfully.`
|
|
554
542
|
}
|
|
555
543
|
|
|
556
|
-
async function enrichQueryFields(fields, parameters = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
|
|
557
|
-
const enrichedQuery = {}
|
|
558
|
-
|
|
559
|
-
// enrich the fields with dynamic parameters
|
|
560
|
-
for (let key of Object.keys(fields)) {
|
|
561
|
-
<span class="cstat-no" title="statement not covered" > if (fields[key] == null) {</span>
|
|
562
|
-
<span class="cstat-no" title="statement not covered" > continue</span>
|
|
563
|
-
}
|
|
564
|
-
<span class="cstat-no" title="statement not covered" > if (typeof fields[key] === "object") {</span>
|
|
565
|
-
// enrich nested fields object
|
|
566
|
-
<span class="cstat-no" title="statement not covered" > enrichedQuery[key] = await enrichQueryFields(fields[key], parameters)</span>
|
|
567
|
-
} else <span class="cstat-no" title="statement not covered" >if (typeof fields[key] === "string") {</span>
|
|
568
|
-
// enrich string value as normal
|
|
569
|
-
<span class="cstat-no" title="statement not covered" > enrichedQuery[key] = await processString(fields[key], parameters, {</span>
|
|
570
|
-
noHelpers: true,
|
|
571
|
-
})
|
|
572
|
-
} else {
|
|
573
|
-
<span class="cstat-no" title="statement not covered" > enrichedQuery[key] = fields[key]</span>
|
|
574
|
-
}
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
578
|
-
enrichedQuery.json ||
|
|
579
|
-
enrichedQuery.customData ||
|
|
580
|
-
enrichedQuery.requestBody
|
|
581
|
-
) {
|
|
582
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
583
|
-
<span class="cstat-no" title="statement not covered" > enrichedQuery.json = JSON.parse(</span>
|
|
584
|
-
enrichedQuery.json ||
|
|
585
|
-
enrichedQuery.customData ||
|
|
586
|
-
enrichedQuery.requestBody
|
|
587
|
-
)
|
|
588
|
-
} catch (err) {
|
|
589
|
-
// no json found, ignore
|
|
590
|
-
}
|
|
591
|
-
<span class="cstat-no" title="statement not covered" > delete enrichedQuery.customData</span>
|
|
592
|
-
}
|
|
593
|
-
|
|
594
|
-
return enrichedQuery
|
|
595
|
-
}
|
|
596
|
-
|
|
597
544
|
exports.find = async function (ctx) {
|
|
598
545
|
const db = new CouchDB(ctx.appId)
|
|
599
546
|
const query = enrichQueries(await db.get(ctx.params.queryId))
|
|
@@ -609,16 +556,20 @@ exports.preview = async function (ctx) {
|
|
|
609
556
|
const db = new CouchDB(ctx.appId)
|
|
610
557
|
|
|
611
558
|
const datasource = await db.get(ctx.request.body.datasourceId)
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
const
|
|
559
|
+
// preview may not have a queryId as it hasn't been saved, but if it does
|
|
560
|
+
// this stops dynamic variables from calling the same query
|
|
561
|
+
const { fields, parameters, queryVerb, transformer, queryId } =
|
|
562
|
+
ctx.request.body
|
|
615
563
|
|
|
616
564
|
try {
|
|
617
565
|
const { rows, keys, info, extra } = await Runner.run({
|
|
566
|
+
appId: ctx.appId,
|
|
618
567
|
datasource,
|
|
619
568
|
queryVerb,
|
|
620
|
-
|
|
569
|
+
fields,
|
|
570
|
+
parameters,
|
|
621
571
|
transformer,
|
|
572
|
+
queryId,
|
|
622
573
|
})
|
|
623
574
|
|
|
624
575
|
ctx.body = {
|
|
@@ -632,33 +583,64 @@ exports.preview = async function (ctx) {
|
|
|
632
583
|
}
|
|
633
584
|
}
|
|
634
585
|
|
|
635
|
-
|
|
586
|
+
async function execute(ctx, opts = <span class="branch-0 cbranch-no" title="branch not covered" >{ rowsOnly: false })</span> {
|
|
636
587
|
const db = new CouchDB(ctx.appId)
|
|
637
588
|
|
|
638
589
|
const query = await db.get(ctx.params.queryId)
|
|
639
590
|
const datasource = await db.get(query.datasourceId)
|
|
640
|
-
|
|
641
|
-
const enrichedQuery = await enrichQueryFields(
|
|
642
|
-
query.fields,
|
|
643
|
-
ctx.request.body.parameters
|
|
644
|
-
)
|
|
645
591
|
|
|
646
592
|
// call the relevant CRUD method on the integration class
|
|
647
593
|
try {
|
|
648
|
-
const { rows } = await Runner.run({
|
|
594
|
+
const { rows, pagination, extra } = await Runner.run({
|
|
595
|
+
appId: ctx.appId,
|
|
649
596
|
datasource,
|
|
650
597
|
queryVerb: query.queryVerb,
|
|
651
|
-
|
|
598
|
+
fields: query.fields,
|
|
599
|
+
pagination: ctx.request.body.pagination,
|
|
600
|
+
parameters: ctx.request.body.parameters,
|
|
652
601
|
transformer: query.transformer,
|
|
602
|
+
queryId: ctx.params.queryId,
|
|
653
603
|
})
|
|
654
|
-
|
|
604
|
+
if (opts && opts.rowsOnly) {
|
|
605
|
+
ctx.body = rows
|
|
606
|
+
} else <span class="missing-if-branch" title="else path not taken" >E</span>{
|
|
607
|
+
<span class="cstat-no" title="statement not covered" > ctx.body = { data: rows, pagination, ...extra }</span>
|
|
608
|
+
}
|
|
655
609
|
} catch (err) {
|
|
656
610
|
ctx.throw(400, err)
|
|
657
611
|
}
|
|
658
612
|
}
|
|
659
613
|
|
|
614
|
+
exports.executeV1 = async function (ctx) {
|
|
615
|
+
return execute(ctx, { rowsOnly: true })
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
exports.executeV2 = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
619
|
+
<span class="cstat-no" title="statement not covered" > return execute(ctx, { rowsOnly: false })</span>
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
const removeDynamicVariables = async (db, queryId) => {
|
|
623
|
+
const query = await db.get(queryId)
|
|
624
|
+
const datasource = await db.get(query.datasourceId)
|
|
625
|
+
const dynamicVariables = datasource.config.dynamicVariables
|
|
626
|
+
|
|
627
|
+
if (dynamicVariables) {
|
|
628
|
+
// delete dynamic variables from the datasource
|
|
629
|
+
const newVariables = dynamicVariables.filter(dv => dv.queryId !== queryId)
|
|
630
|
+
datasource.config.dynamicVariables = newVariables
|
|
631
|
+
await db.put(datasource)
|
|
632
|
+
|
|
633
|
+
// invalidate the deleted variables
|
|
634
|
+
const variablesToDelete = dynamicVariables.filter(
|
|
635
|
+
dv => dv.queryId === queryId
|
|
636
|
+
)
|
|
637
|
+
await invalidateDynamicVariables(variablesToDelete)
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
|
|
660
641
|
exports.destroy = async function (ctx) {
|
|
661
642
|
const db = new CouchDB(ctx.appId)
|
|
643
|
+
await removeDynamicVariables(db, ctx.params.queryId)
|
|
662
644
|
await db.remove(ctx.params.queryId, ctx.params.revId)
|
|
663
645
|
ctx.message = `Query deleted.`
|
|
664
646
|
ctx.status = 200
|
|
@@ -670,7 +652,7 @@ exports.destroy = async function (ctx) {
|
|
|
670
652
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
671
653
|
Code coverage generated by
|
|
672
654
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
673
|
-
at
|
|
655
|
+
at Mon Jan 17 2022 10:15:07 GMT+0000 (Coordinated Universal Time)
|
|
674
656
|
</div>
|
|
675
657
|
</div>
|
|
676
658
|
<script src="../../../prettify.js"></script>
|
|
@@ -98,7 +98,8 @@
|
|
|
98
98
|
<a name='L39'></a><a href='#L39'>39</a>
|
|
99
99
|
<a name='L40'></a><a href='#L40'>40</a>
|
|
100
100
|
<a name='L41'></a><a href='#L41'>41</a>
|
|
101
|
-
<a name='L42'></a><a href='#L42'>42</a
|
|
101
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
102
|
+
<a name='L43'></a><a href='#L43'>43</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">35x</span>
|
|
102
103
|
<span class="cline-any cline-yes">35x</span>
|
|
103
104
|
<span class="cline-any cline-neutral"> </span>
|
|
104
105
|
<span class="cline-any cline-yes">35x</span>
|
|
@@ -139,6 +140,7 @@
|
|
|
139
140
|
<span class="cline-any cline-neutral"> </span>
|
|
140
141
|
<span class="cline-any cline-neutral"> </span>
|
|
141
142
|
<span class="cline-any cline-neutral"> </span>
|
|
143
|
+
<span class="cline-any cline-neutral"> </span>
|
|
142
144
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const joiValidator = require("../../../middleware/joi-validator")
|
|
143
145
|
const Joi = require("joi")
|
|
144
146
|
|
|
@@ -177,7 +179,8 @@ exports.generateQueryPreviewValidation = () => {
|
|
|
177
179
|
extra: Joi.object().optional(),
|
|
178
180
|
datasourceId: Joi.string().required(),
|
|
179
181
|
transformer: Joi.string().optional(),
|
|
180
|
-
parameters: Joi.object({}).required().unknown(true)
|
|
182
|
+
parameters: Joi.object({}).required().unknown(true),
|
|
183
|
+
queryId: Joi.string().optional(),
|
|
181
184
|
}))
|
|
182
185
|
}
|
|
183
186
|
</pre></td></tr></table></pre>
|
|
@@ -187,7 +190,7 @@ exports.generateQueryPreviewValidation = () => {
|
|
|
187
190
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
188
191
|
Code coverage generated by
|
|
189
192
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
190
|
-
at
|
|
193
|
+
at Mon Jan 17 2022 10:15:07 GMT+0000 (Coordinated Universal Time)
|
|
191
194
|
</div>
|
|
192
195
|
</div>
|
|
193
196
|
<script src="../../../prettify.js"></script>
|
|
@@ -259,7 +259,7 @@ const {
|
|
|
259
259
|
getRole,
|
|
260
260
|
isBuiltin,
|
|
261
261
|
getAllRoles,
|
|
262
|
-
} = require("@budibase/
|
|
262
|
+
} = require("@budibase/backend-core/roles")
|
|
263
263
|
const {
|
|
264
264
|
generateRoleID,
|
|
265
265
|
getUserMetadataParams,
|
|
@@ -358,7 +358,7 @@ exports.destroy = async function (ctx) {
|
|
|
358
358
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
359
359
|
Code coverage generated by
|
|
360
360
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
361
|
-
at
|
|
361
|
+
at Mon Jan 17 2022 10:15:07 GMT+0000 (Coordinated Universal Time)
|
|
362
362
|
</div>
|
|
363
363
|
</div>
|
|
364
364
|
<script src="../../prettify.js"></script>
|
|
@@ -247,7 +247,7 @@
|
|
|
247
247
|
const {
|
|
248
248
|
getUserRoleHierarchy,
|
|
249
249
|
BUILTIN_ROLE_IDS,
|
|
250
|
-
} = require("@budibase/
|
|
250
|
+
} = require("@budibase/backend-core/roles")
|
|
251
251
|
|
|
252
252
|
const URL_SEPARATOR = "/"
|
|
253
253
|
|
|
@@ -343,7 +343,7 @@ exports.clientFetch = async ctx => {
|
|
|
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 Mon Jan 17 2022 10:15:07 GMT+0000 (Coordinated Universal Time)
|
|
347
347
|
</div>
|
|
348
348
|
</div>
|
|
349
349
|
<script src="../../prettify.js"></script>
|
|
@@ -757,7 +757,7 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
|
|
|
757
757
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
758
758
|
Code coverage generated by
|
|
759
759
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
760
|
-
at
|
|
760
|
+
at Mon Jan 17 2022 10:15:07 GMT+0000 (Coordinated Universal Time)
|
|
761
761
|
</div>
|
|
762
762
|
</div>
|
|
763
763
|
<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">52.
|
|
26
|
+
<span class="strong">52.89% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>320/605</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">52.
|
|
47
|
+
<span class="strong">52.95% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>314/593</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -104,17 +104,17 @@
|
|
|
104
104
|
|
|
105
105
|
<tr>
|
|
106
106
|
<td class="file high" data-value="internal.js"><a href="internal.js.html">internal.js</a></td>
|
|
107
|
-
<td data-value="
|
|
108
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
107
|
+
<td data-value="83.18" class="pic high">
|
|
108
|
+
<div class="chart"><div class="cover-fill" style="width: 83%"></div><div class="cover-empty" style="width: 17%"></div></div>
|
|
109
109
|
</td>
|
|
110
|
-
<td data-value="
|
|
111
|
-
<td data-value="
|
|
110
|
+
<td data-value="83.18" class="pct high">83.18%</td>
|
|
111
|
+
<td data-value="220" class="abs high">183/220</td>
|
|
112
112
|
<td data-value="60.93" class="pct medium">60.93%</td>
|
|
113
113
|
<td data-value="64" class="abs medium">39/64</td>
|
|
114
114
|
<td data-value="92" class="pct high">92%</td>
|
|
115
115
|
<td data-value="25" class="abs high">23/25</td>
|
|
116
|
-
<td data-value="
|
|
117
|
-
<td data-value="
|
|
116
|
+
<td data-value="83.17" class="pct high">83.17%</td>
|
|
117
|
+
<td data-value="214" class="abs high">178/214</td>
|
|
118
118
|
</tr>
|
|
119
119
|
|
|
120
120
|
<tr>
|
|
@@ -155,7 +155,7 @@
|
|
|
155
155
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
156
156
|
Code coverage generated by
|
|
157
157
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
158
|
-
at
|
|
158
|
+
at Mon Jan 17 2022 10:15:07 GMT+0000 (Coordinated Universal Time)
|
|
159
159
|
</div>
|
|
160
160
|
</div>
|
|
161
161
|
<script src="../../../prettify.js"></script>
|
|
@@ -481,7 +481,7 @@ exports.fetchEnrichedRow = async function (ctx) {
|
|
|
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 Mon Jan 17 2022 10:15:07 GMT+0000 (Coordinated Universal Time)
|
|
485
485
|
</div>
|
|
486
486
|
</div>
|
|
487
487
|
<script src="../../../prettify.js"></script>
|