@budibase/server 1.0.219 → 1.0.220-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.
- package/__mocks__/node-fetch.ts +9 -0
- package/builder/assets/index.530f60fc.js +978 -0
- package/builder/assets/index.7786f497.css +6 -0
- package/builder/assets/{vendor.9bf2fcb4.js → vendor.001dcf8c.js} +163 -163
- package/builder/index.html +3 -3
- package/coverage/clover.xml +927 -832
- package/coverage/coverage-final.json +29 -29
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
- package/coverage/lcov-report/api/controllers/automation.js.html +111 -12
- package/coverage/lcov-report/api/controllers/backup.js.html +9 -6
- 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 +16 -16
- package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
- package/coverage/lcov-report/api/controllers/index.html +21 -21
- 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/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 +47 -17
- package/coverage/lcov-report/api/controllers/row/index.html +33 -33
- package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +159 -21
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/utils.js.html +17 -8
- 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/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 +15 -15
- package/coverage/lcov-report/api/index.js.html +22 -13
- 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/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +32 -2
- 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/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/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.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 +5 -2
- 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 +57 -12
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/automations/index.html +17 -17
- 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/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +2 -2
- package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
- package/coverage/lcov-report/automations/steps/filter.js.html +58 -34
- 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/loop.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 +4 -4
- 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/inMemoryView.js.html +1 -1
- package/coverage/lcov-report/db/index.html +14 -14
- 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 +13 -13
- package/coverage/lcov-report/db/linkedRows/index.js.html +10 -7
- 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 +27 -51
- 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 +81 -81
- 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/builder.js.html +12 -12
- package/coverage/lcov-report/middleware/currentapp.js.html +33 -33
- package/coverage/lcov-report/middleware/index.html +1 -1
- package/coverage/lcov-report/middleware/joi-validator.js.html +10 -10
- package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
- package/coverage/lcov-report/middleware/resourceId.js.html +7 -7
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/utils.js.html +2 -2
- package/coverage/lcov-report/threads/automation.js.html +18 -9
- package/coverage/lcov-report/threads/index.html +25 -25
- package/coverage/lcov-report/threads/query.js.html +301 -79
- package/coverage/lcov-report/threads/utils.js.html +4 -4
- 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 +14 -14
- package/coverage/lcov-report/utilities/index.html +16 -16
- package/coverage/lcov-report/utilities/index.js.html +9 -9
- 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 +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 +2 -2
- 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/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 +57 -9
- package/coverage/lcov.info +1656 -1489
- package/dist/api/controllers/application.js +18 -15
- package/dist/api/controllers/automation.js +28 -2
- package/dist/api/controllers/backup.js +3 -2
- package/dist/api/controllers/public/applications.js +1 -1
- package/dist/api/controllers/public/utils.js +8 -1
- package/dist/api/controllers/query/index.js +31 -3
- package/dist/api/controllers/row/external.js +19 -7
- package/dist/api/controllers/row/internalSearch.js +47 -10
- package/dist/api/controllers/row/utils.js +3 -0
- package/dist/api/index.js +4 -1
- package/dist/api/routes/automation.js +2 -0
- package/dist/api/routes/public/rows.js +7 -2
- package/dist/api/routes/utils/validators.js +1 -0
- package/dist/app.js +20 -0
- package/dist/automations/automationUtils.js +16 -4
- package/dist/automations/logging/index.js +70 -0
- package/dist/automations/steps/executeQuery.js +1 -1
- package/dist/automations/steps/filter.js +38 -29
- package/dist/automations/triggers.js +1 -1
- package/dist/db/linkedRows/index.js +1 -0
- package/dist/db/utils.js +4 -31
- package/dist/definitions/datasource.js +1 -0
- package/dist/environment.js +3 -0
- package/dist/integrations/airtable.js +1 -0
- package/dist/integrations/arangodb.js +1 -0
- package/dist/integrations/base/sql.js +22 -3
- package/dist/integrations/couchdb.js +1 -0
- package/dist/integrations/dynamodb.js +1 -0
- package/dist/integrations/elasticsearch.js +1 -0
- package/dist/integrations/firebase.js +1 -0
- package/dist/integrations/googlesheets.js +1 -0
- package/dist/integrations/index.js +4 -0
- package/dist/integrations/microsoftSqlServer.js +2 -1
- package/dist/integrations/mongodb.js +1 -0
- package/dist/integrations/mysql.js +2 -1
- package/dist/integrations/oracle.js +1 -0
- package/dist/integrations/postgres.js +2 -1
- package/dist/integrations/queries/sql.js +3 -0
- package/dist/integrations/redis.js +1 -0
- package/dist/integrations/rest.js +2 -1
- package/dist/integrations/s3.js +1 -0
- package/dist/integrations/snowflake.js +102 -0
- package/dist/package.json +7 -6
- package/dist/tests/utilities/TestConfiguration.js +19 -6
- package/dist/threads/automation.js +6 -3
- package/dist/threads/index.js +15 -1
- package/dist/threads/query.js +65 -12
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/index.js +16 -6
- package/dist/utilities/workerRequests.js +8 -0
- package/package.json +8 -7
- package/scripts/dev/manage.js +2 -0
- package/scripts/integrations/oracle/instantclient/linux/arm64/basiclite-19.10.zip +0 -0
- package/scripts/integrations/oracle/instantclient/linux/arm64/install.sh +23 -0
- package/scripts/integrations/oracle/instantclient/linux/install.sh +10 -0
- package/specs/openapi.json +9 -5
- package/specs/openapi.yaml +10 -4
- package/src/api/controllers/application.ts +18 -14
- package/src/api/controllers/automation.js +35 -2
- package/src/api/controllers/backup.js +3 -2
- package/src/api/controllers/public/applications.ts +2 -2
- package/src/api/controllers/public/utils.ts +8 -1
- package/src/api/controllers/query/index.ts +40 -4
- package/src/api/controllers/row/external.js +19 -9
- package/src/api/controllers/row/internalSearch.js +55 -9
- package/src/api/controllers/row/utils.js +3 -0
- package/src/api/index.js +4 -1
- package/src/api/routes/automation.js +10 -0
- package/src/api/routes/public/rows.ts +7 -2
- package/src/api/routes/tests/query.spec.js +166 -1
- package/src/api/routes/utils/validators.js +1 -0
- package/src/app.ts +30 -1
- package/src/automations/automationUtils.js +19 -4
- package/src/automations/logging/index.ts +35 -0
- package/src/automations/steps/executeQuery.js +1 -1
- package/src/automations/steps/filter.js +36 -28
- package/src/automations/tests/filter.spec.js +2 -1
- package/src/automations/triggers.js +1 -1
- package/src/db/linkedRows/index.js +1 -0
- package/src/db/utils.js +5 -13
- package/src/definitions/common.ts +1 -0
- package/src/definitions/datasource.ts +2 -0
- package/src/definitions/openapi.ts +471 -469
- package/src/environment.js +3 -0
- package/src/integrations/airtable.ts +1 -0
- package/src/integrations/arangodb.ts +1 -0
- package/src/integrations/base/sql.ts +29 -11
- package/src/integrations/couchdb.ts +1 -0
- package/src/integrations/dynamodb.ts +1 -0
- package/src/integrations/elasticsearch.ts +1 -0
- package/src/integrations/firebase.ts +1 -0
- package/src/integrations/googlesheets.ts +1 -0
- package/src/integrations/index.ts +4 -0
- package/src/integrations/microsoftSqlServer.ts +2 -0
- package/src/integrations/mongodb.ts +1 -0
- package/src/integrations/mysql.ts +2 -0
- package/src/integrations/oracle.ts +1 -0
- package/src/integrations/postgres.ts +2 -0
- package/src/integrations/queries/sql.ts +3 -1
- package/src/integrations/redis.ts +1 -0
- package/src/integrations/rest.ts +2 -1
- package/src/integrations/s3.ts +1 -0
- package/src/integrations/snowflake.ts +99 -0
- package/src/integrations/tests/rest.spec.js +16 -1
- package/src/migrations/tests/index.spec.ts +18 -2
- package/src/module.d.ts +2 -0
- package/src/tests/utilities/TestConfiguration.js +22 -3
- package/src/threads/automation.js +6 -3
- package/src/threads/index.ts +5 -1
- package/src/threads/query.js +88 -14
- package/src/utilities/fileSystem/index.js +22 -8
- package/src/utilities/workerRequests.js +16 -0
- package/builder/assets/index.1c640a53.js +0 -1316
- package/builder/assets/index.24307ca0.css +0 -6
|
@@ -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.34% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>109/134</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">64.4% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>38/59</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">76.92% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>10/
|
|
42
|
+
<span class='fraction'>10/13</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.53% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>106/130</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -266,12 +266,94 @@
|
|
|
266
266
|
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
267
|
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
268
|
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
-
<a name='L204'></a><a href='#L204'>204</a
|
|
269
|
+
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
+
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
+
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
+
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
+
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
+
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
+
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
+
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
+
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
+
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
+
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
+
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
+
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
+
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
+
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
+
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
+
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
+
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
+
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
+
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
+
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
+
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
+
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
+
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
+
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
+
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
+
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
+
<a name='L231'></a><a href='#L231'>231</a>
|
|
297
|
+
<a name='L232'></a><a href='#L232'>232</a>
|
|
298
|
+
<a name='L233'></a><a href='#L233'>233</a>
|
|
299
|
+
<a name='L234'></a><a href='#L234'>234</a>
|
|
300
|
+
<a name='L235'></a><a href='#L235'>235</a>
|
|
301
|
+
<a name='L236'></a><a href='#L236'>236</a>
|
|
302
|
+
<a name='L237'></a><a href='#L237'>237</a>
|
|
303
|
+
<a name='L238'></a><a href='#L238'>238</a>
|
|
304
|
+
<a name='L239'></a><a href='#L239'>239</a>
|
|
305
|
+
<a name='L240'></a><a href='#L240'>240</a>
|
|
306
|
+
<a name='L241'></a><a href='#L241'>241</a>
|
|
307
|
+
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
|
+
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
|
+
<a name='L244'></a><a href='#L244'>244</a>
|
|
310
|
+
<a name='L245'></a><a href='#L245'>245</a>
|
|
311
|
+
<a name='L246'></a><a href='#L246'>246</a>
|
|
312
|
+
<a name='L247'></a><a href='#L247'>247</a>
|
|
313
|
+
<a name='L248'></a><a href='#L248'>248</a>
|
|
314
|
+
<a name='L249'></a><a href='#L249'>249</a>
|
|
315
|
+
<a name='L250'></a><a href='#L250'>250</a>
|
|
316
|
+
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
|
+
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
|
+
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
+
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
+
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
+
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
+
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
+
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
+
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
+
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
+
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
+
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
+
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
+
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
+
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
+
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
+
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
+
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
+
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
+
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
+
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
+
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
+
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
+
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
+
<a name='L275'></a><a href='#L275'>275</a>
|
|
341
|
+
<a name='L276'></a><a href='#L276'>276</a>
|
|
342
|
+
<a name='L277'></a><a href='#L277'>277</a>
|
|
343
|
+
<a name='L278'></a><a href='#L278'>278</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
270
344
|
<span class="cline-any cline-yes">2x</span>
|
|
271
345
|
<span class="cline-any cline-yes">2x</span>
|
|
272
346
|
<span class="cline-any cline-yes">2x</span>
|
|
273
347
|
<span class="cline-any cline-yes">2x</span>
|
|
274
348
|
<span class="cline-any cline-yes">2x</span>
|
|
349
|
+
<span class="cline-any cline-neutral"> </span>
|
|
350
|
+
<span class="cline-any cline-neutral"> </span>
|
|
351
|
+
<span class="cline-any cline-neutral"> </span>
|
|
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>
|
|
355
|
+
<span class="cline-any cline-yes">2x</span>
|
|
356
|
+
<span class="cline-any cline-neutral"> </span>
|
|
275
357
|
<span class="cline-any cline-yes">2x</span>
|
|
276
358
|
<span class="cline-any cline-neutral"> </span>
|
|
277
359
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -280,59 +362,88 @@
|
|
|
280
362
|
<span class="cline-any cline-neutral"> </span>
|
|
281
363
|
<span class="cline-any cline-neutral"> </span>
|
|
282
364
|
<span class="cline-any cline-neutral"> </span>
|
|
283
|
-
<span class="cline-any cline-yes">
|
|
284
|
-
<span class="cline-any cline-yes">
|
|
285
|
-
<span class="cline-any cline-yes">
|
|
286
|
-
<span class="cline-any cline-yes">
|
|
287
|
-
<span class="cline-any cline-yes">
|
|
288
|
-
<span class="cline-any cline-yes">
|
|
289
|
-
<span class="cline-any cline-yes">
|
|
290
|
-
<span class="cline-any cline-yes">
|
|
291
|
-
<span class="cline-any cline-yes">
|
|
365
|
+
<span class="cline-any cline-yes">22x</span>
|
|
366
|
+
<span class="cline-any cline-yes">22x</span>
|
|
367
|
+
<span class="cline-any cline-yes">22x</span>
|
|
368
|
+
<span class="cline-any cline-yes">22x</span>
|
|
369
|
+
<span class="cline-any cline-yes">22x</span>
|
|
370
|
+
<span class="cline-any cline-yes">22x</span>
|
|
371
|
+
<span class="cline-any cline-yes">22x</span>
|
|
372
|
+
<span class="cline-any cline-yes">22x</span>
|
|
373
|
+
<span class="cline-any cline-yes">22x</span>
|
|
292
374
|
<span class="cline-any cline-neutral"> </span>
|
|
375
|
+
<span class="cline-any cline-yes">22x</span>
|
|
293
376
|
<span class="cline-any cline-neutral"> </span>
|
|
294
377
|
<span class="cline-any cline-neutral"> </span>
|
|
295
|
-
<span class="cline-any cline-yes">15x</span>
|
|
296
|
-
<span class="cline-any cline-yes">15x</span>
|
|
297
378
|
<span class="cline-any cline-neutral"> </span>
|
|
379
|
+
<span class="cline-any cline-yes">22x</span>
|
|
380
|
+
<span class="cline-any cline-yes">22x</span>
|
|
381
|
+
<span class="cline-any cline-yes">22x</span>
|
|
298
382
|
<span class="cline-any cline-neutral"> </span>
|
|
299
383
|
<span class="cline-any cline-neutral"> </span>
|
|
300
|
-
<span class="cline-any cline-
|
|
301
|
-
<span class="cline-any cline-yes">
|
|
302
|
-
<span class="cline-any cline-
|
|
384
|
+
<span class="cline-any cline-neutral"> </span>
|
|
385
|
+
<span class="cline-any cline-yes">23x</span>
|
|
386
|
+
<span class="cline-any cline-neutral"> </span>
|
|
387
|
+
<span class="cline-any cline-yes">23x</span>
|
|
388
|
+
<span class="cline-any cline-yes">23x</span>
|
|
389
|
+
<span class="cline-any cline-neutral"> </span>
|
|
390
|
+
<span class="cline-any cline-yes">23x</span>
|
|
391
|
+
<span class="cline-any cline-yes">23x</span>
|
|
303
392
|
<span class="cline-any cline-yes">2x</span>
|
|
304
393
|
<span class="cline-any cline-neutral"> </span>
|
|
305
|
-
<span class="cline-any cline-
|
|
394
|
+
<span class="cline-any cline-neutral"> </span>
|
|
395
|
+
<span class="cline-any cline-yes">21x</span>
|
|
396
|
+
<span class="cline-any cline-no"> </span>
|
|
397
|
+
<span class="cline-any cline-neutral"> </span>
|
|
398
|
+
<span class="cline-any cline-no"> </span>
|
|
399
|
+
<span class="cline-any cline-neutral"> </span>
|
|
400
|
+
<span class="cline-any cline-neutral"> </span>
|
|
401
|
+
<span class="cline-any cline-neutral"> </span>
|
|
402
|
+
<span class="cline-any cline-yes">21x</span>
|
|
403
|
+
<span class="cline-any cline-neutral"> </span>
|
|
404
|
+
<span class="cline-any cline-neutral"> </span>
|
|
405
|
+
<span class="cline-any cline-yes">21x</span>
|
|
406
|
+
<span class="cline-any cline-neutral"> </span>
|
|
407
|
+
<span class="cline-any cline-neutral"> </span>
|
|
408
|
+
<span class="cline-any cline-neutral"> </span>
|
|
409
|
+
<span class="cline-any cline-yes">21x</span>
|
|
410
|
+
<span class="cline-any cline-yes">21x</span>
|
|
411
|
+
<span class="cline-any cline-neutral"> </span>
|
|
412
|
+
<span class="cline-any cline-neutral"> </span>
|
|
413
|
+
<span class="cline-any cline-yes">21x</span>
|
|
414
|
+
<span class="cline-any cline-yes">1x</span>
|
|
415
|
+
<span class="cline-any cline-neutral"> </span>
|
|
306
416
|
<span class="cline-any cline-neutral"> </span>
|
|
307
417
|
<span class="cline-any cline-neutral"> </span>
|
|
308
|
-
<span class="cline-any cline-yes">14x</span>
|
|
309
418
|
<span class="cline-any cline-neutral"> </span>
|
|
310
419
|
<span class="cline-any cline-neutral"> </span>
|
|
311
|
-
<span class="cline-any cline-
|
|
420
|
+
<span class="cline-any cline-neutral"> </span>
|
|
421
|
+
<span class="cline-any cline-neutral"> </span>
|
|
422
|
+
<span class="cline-any cline-yes">21x</span>
|
|
312
423
|
<span class="cline-any cline-yes">2x</span>
|
|
313
424
|
<span class="cline-any cline-neutral"> </span>
|
|
314
|
-
<span class="cline-any cline-yes">
|
|
425
|
+
<span class="cline-any cline-yes">19x</span>
|
|
315
426
|
<span class="cline-any cline-neutral"> </span>
|
|
316
427
|
<span class="cline-any cline-neutral"> </span>
|
|
317
428
|
<span class="cline-any cline-neutral"> </span>
|
|
318
|
-
<span class="cline-any cline-yes">
|
|
429
|
+
<span class="cline-any cline-yes">21x</span>
|
|
319
430
|
<span class="cline-any cline-no"> </span>
|
|
320
431
|
<span class="cline-any cline-neutral"> </span>
|
|
321
432
|
<span class="cline-any cline-neutral"> </span>
|
|
322
|
-
<span class="cline-any cline-yes">
|
|
323
|
-
<span class="cline-any cline-yes">
|
|
324
|
-
<span class="cline-any cline-yes">
|
|
325
|
-
<span class="cline-any cline-yes">
|
|
326
|
-
<span class="cline-any cline-yes">
|
|
327
|
-
<span class="cline-any cline-yes">
|
|
328
|
-
<span class="cline-any cline-yes">
|
|
329
|
-
<span class="cline-any cline-yes">
|
|
330
|
-
<span class="cline-any cline-yes">
|
|
331
|
-
<span class="cline-any cline-yes">
|
|
433
|
+
<span class="cline-any cline-yes">21x</span>
|
|
434
|
+
<span class="cline-any cline-yes">21x</span>
|
|
435
|
+
<span class="cline-any cline-yes">21x</span>
|
|
436
|
+
<span class="cline-any cline-yes">21x</span>
|
|
437
|
+
<span class="cline-any cline-yes">21x</span>
|
|
438
|
+
<span class="cline-any cline-yes">21x</span>
|
|
439
|
+
<span class="cline-any cline-yes">19x</span>
|
|
440
|
+
<span class="cline-any cline-yes">19x</span>
|
|
441
|
+
<span class="cline-any cline-yes">19x</span>
|
|
442
|
+
<span class="cline-any cline-yes">19x</span>
|
|
332
443
|
<span class="cline-any cline-neutral"> </span>
|
|
333
444
|
<span class="cline-any cline-neutral"> </span>
|
|
334
445
|
<span class="cline-any cline-neutral"> </span>
|
|
335
|
-
<span class="cline-any cline-yes">
|
|
446
|
+
<span class="cline-any cline-yes">21x</span>
|
|
336
447
|
<span class="cline-any cline-no"> </span>
|
|
337
448
|
<span class="cline-any cline-neutral"> </span>
|
|
338
449
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -341,41 +452,46 @@
|
|
|
341
452
|
<span class="cline-any cline-neutral"> </span>
|
|
342
453
|
<span class="cline-any cline-neutral"> </span>
|
|
343
454
|
<span class="cline-any cline-neutral"> </span>
|
|
344
|
-
<span class="cline-any cline-yes">
|
|
455
|
+
<span class="cline-any cline-yes">21x</span>
|
|
456
|
+
<span class="cline-any cline-yes">1x</span>
|
|
345
457
|
<span class="cline-any cline-neutral"> </span>
|
|
346
458
|
<span class="cline-any cline-neutral"> </span>
|
|
347
459
|
<span class="cline-any cline-neutral"> </span>
|
|
348
460
|
<span class="cline-any cline-neutral"> </span>
|
|
461
|
+
<span class="cline-any cline-no"> </span>
|
|
462
|
+
<span class="cline-any cline-neutral"> </span>
|
|
463
|
+
<span class="cline-any cline-no"> </span>
|
|
349
464
|
<span class="cline-any cline-neutral"> </span>
|
|
350
465
|
<span class="cline-any cline-yes">1x</span>
|
|
351
466
|
<span class="cline-any cline-neutral"> </span>
|
|
467
|
+
<span class="cline-any cline-neutral"> </span>
|
|
352
468
|
<span class="cline-any cline-yes">1x</span>
|
|
353
469
|
<span class="cline-any cline-yes">1x</span>
|
|
354
470
|
<span class="cline-any cline-neutral"> </span>
|
|
355
471
|
<span class="cline-any cline-neutral"> </span>
|
|
356
472
|
<span class="cline-any cline-neutral"> </span>
|
|
357
|
-
<span class="cline-any cline-yes">
|
|
473
|
+
<span class="cline-any cline-yes">20x</span>
|
|
358
474
|
<span class="cline-any cline-no"> </span>
|
|
359
475
|
<span class="cline-any cline-neutral"> </span>
|
|
360
476
|
<span class="cline-any cline-neutral"> </span>
|
|
361
477
|
<span class="cline-any cline-neutral"> </span>
|
|
362
|
-
<span class="cline-any cline-yes">
|
|
363
|
-
<span class="cline-any cline-yes">
|
|
478
|
+
<span class="cline-any cline-yes">20x</span>
|
|
479
|
+
<span class="cline-any cline-yes">18x</span>
|
|
364
480
|
<span class="cline-any cline-neutral"> </span>
|
|
365
481
|
<span class="cline-any cline-neutral"> </span>
|
|
366
482
|
<span class="cline-any cline-neutral"> </span>
|
|
367
|
-
<span class="cline-any cline-yes">
|
|
483
|
+
<span class="cline-any cline-yes">20x</span>
|
|
368
484
|
<span class="cline-any cline-no"> </span>
|
|
369
485
|
<span class="cline-any cline-neutral"> </span>
|
|
370
486
|
<span class="cline-any cline-neutral"> </span>
|
|
371
487
|
<span class="cline-any cline-neutral"> </span>
|
|
372
|
-
<span class="cline-any cline-yes">
|
|
488
|
+
<span class="cline-any cline-yes">20x</span>
|
|
373
489
|
<span class="cline-any cline-neutral"> </span>
|
|
374
|
-
<span class="cline-any cline-yes">
|
|
490
|
+
<span class="cline-any cline-yes">20x</span>
|
|
375
491
|
<span class="cline-any cline-no"> </span>
|
|
376
492
|
<span class="cline-any cline-neutral"> </span>
|
|
377
493
|
<span class="cline-any cline-neutral"> </span>
|
|
378
|
-
<span class="cline-any cline-yes">
|
|
494
|
+
<span class="cline-any cline-yes">20x</span>
|
|
379
495
|
<span class="cline-any cline-neutral"> </span>
|
|
380
496
|
<span class="cline-any cline-neutral"> </span>
|
|
381
497
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -395,6 +511,38 @@
|
|
|
395
511
|
<span class="cline-any cline-neutral"> </span>
|
|
396
512
|
<span class="cline-any cline-neutral"> </span>
|
|
397
513
|
<span class="cline-any cline-neutral"> </span>
|
|
514
|
+
<span class="cline-any cline-no"> </span>
|
|
515
|
+
<span class="cline-any cline-no"> </span>
|
|
516
|
+
<span class="cline-any cline-neutral"> </span>
|
|
517
|
+
<span class="cline-any cline-no"> </span>
|
|
518
|
+
<span class="cline-any cline-no"> </span>
|
|
519
|
+
<span class="cline-any cline-neutral"> </span>
|
|
520
|
+
<span class="cline-any cline-neutral"> </span>
|
|
521
|
+
<span class="cline-any cline-no"> </span>
|
|
522
|
+
<span class="cline-any cline-neutral"> </span>
|
|
523
|
+
<span class="cline-any cline-neutral"> </span>
|
|
524
|
+
<span class="cline-any cline-neutral"> </span>
|
|
525
|
+
<span class="cline-any cline-neutral"> </span>
|
|
526
|
+
<span class="cline-any cline-neutral"> </span>
|
|
527
|
+
<span class="cline-any cline-neutral"> </span>
|
|
528
|
+
<span class="cline-any cline-neutral"> </span>
|
|
529
|
+
<span class="cline-any cline-no"> </span>
|
|
530
|
+
<span class="cline-any cline-no"> </span>
|
|
531
|
+
<span class="cline-any cline-no"> </span>
|
|
532
|
+
<span class="cline-any cline-no"> </span>
|
|
533
|
+
<span class="cline-any cline-neutral"> </span>
|
|
534
|
+
<span class="cline-any cline-neutral"> </span>
|
|
535
|
+
<span class="cline-any cline-neutral"> </span>
|
|
536
|
+
<span class="cline-any cline-no"> </span>
|
|
537
|
+
<span class="cline-any cline-no"> </span>
|
|
538
|
+
<span class="cline-any cline-neutral"> </span>
|
|
539
|
+
<span class="cline-any cline-neutral"> </span>
|
|
540
|
+
<span class="cline-any cline-neutral"> </span>
|
|
541
|
+
<span class="cline-any cline-neutral"> </span>
|
|
542
|
+
<span class="cline-any cline-no"> </span>
|
|
543
|
+
<span class="cline-any cline-neutral"> </span>
|
|
544
|
+
<span class="cline-any cline-neutral"> </span>
|
|
545
|
+
<span class="cline-any cline-neutral"> </span>
|
|
398
546
|
<span class="cline-any cline-yes">6x</span>
|
|
399
547
|
<span class="cline-any cline-yes">6x</span>
|
|
400
548
|
<span class="cline-any cline-yes">6x</span>
|
|
@@ -413,21 +561,21 @@
|
|
|
413
561
|
<span class="cline-any cline-neutral"> </span>
|
|
414
562
|
<span class="cline-any cline-neutral"> </span>
|
|
415
563
|
<span class="cline-any cline-neutral"> </span>
|
|
416
|
-
<span class="cline-any cline-yes">
|
|
417
|
-
<span class="cline-any cline-yes">
|
|
564
|
+
<span class="cline-any cline-yes">21x</span>
|
|
565
|
+
<span class="cline-any cline-yes">21x</span>
|
|
418
566
|
<span class="cline-any cline-no"> </span>
|
|
419
567
|
<span class="cline-any cline-neutral"> </span>
|
|
420
|
-
<span class="cline-any cline-yes">
|
|
421
|
-
<span class="cline-any cline-yes">
|
|
422
|
-
<span class="cline-any cline-yes">
|
|
568
|
+
<span class="cline-any cline-yes">21x</span>
|
|
569
|
+
<span class="cline-any cline-yes">21x</span>
|
|
570
|
+
<span class="cline-any cline-yes">21x</span>
|
|
423
571
|
<span class="cline-any cline-yes">2x</span>
|
|
424
572
|
<span class="cline-any cline-yes">2x</span>
|
|
425
573
|
<span class="cline-any cline-neutral"> </span>
|
|
426
574
|
<span class="cline-any cline-neutral"> </span>
|
|
427
|
-
<span class="cline-any cline-yes">
|
|
575
|
+
<span class="cline-any cline-yes">21x</span>
|
|
428
576
|
<span class="cline-any cline-neutral"> </span>
|
|
429
|
-
<span class="cline-any cline-yes">
|
|
430
|
-
<span class="cline-any cline-yes">
|
|
577
|
+
<span class="cline-any cline-yes">16x</span>
|
|
578
|
+
<span class="cline-any cline-yes">16x</span>
|
|
431
579
|
<span class="cline-any cline-neutral"> </span>
|
|
432
580
|
<span class="cline-any cline-yes">6x</span>
|
|
433
581
|
<span class="cline-any cline-no"> </span>
|
|
@@ -436,9 +584,9 @@
|
|
|
436
584
|
<span class="cline-any cline-yes">6x</span>
|
|
437
585
|
<span class="cline-any cline-yes">6x</span>
|
|
438
586
|
<span class="cline-any cline-neutral"> </span>
|
|
439
|
-
<span class="cline-any cline-yes">
|
|
440
|
-
<span class="cline-any cline-yes">
|
|
441
|
-
<span class="cline-any cline-yes">
|
|
587
|
+
<span class="cline-any cline-yes">16x</span>
|
|
588
|
+
<span class="cline-any cline-yes">16x</span>
|
|
589
|
+
<span class="cline-any cline-yes">16x</span>
|
|
442
590
|
<span class="cline-any cline-yes">6x</span>
|
|
443
591
|
<span class="cline-any cline-yes">6x</span>
|
|
444
592
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -454,16 +602,16 @@
|
|
|
454
602
|
<span class="cline-any cline-yes">6x</span>
|
|
455
603
|
<span class="cline-any cline-neutral"> </span>
|
|
456
604
|
<span class="cline-any cline-neutral"> </span>
|
|
457
|
-
<span class="cline-any cline-yes">
|
|
605
|
+
<span class="cline-any cline-yes">21x</span>
|
|
458
606
|
<span class="cline-any cline-neutral"> </span>
|
|
459
607
|
<span class="cline-any cline-neutral"> </span>
|
|
460
608
|
<span class="cline-any cline-neutral"> </span>
|
|
461
609
|
<span class="cline-any cline-yes">2x</span>
|
|
462
|
-
<span class="cline-any cline-yes">
|
|
463
|
-
<span class="cline-any cline-yes">
|
|
464
|
-
<span class="cline-any cline-yes">
|
|
465
|
-
<span class="cline-any cline-yes">
|
|
466
|
-
<span class="cline-any cline-yes">
|
|
610
|
+
<span class="cline-any cline-yes">17x</span>
|
|
611
|
+
<span class="cline-any cline-yes">17x</span>
|
|
612
|
+
<span class="cline-any cline-yes">17x</span>
|
|
613
|
+
<span class="cline-any cline-yes">17x</span>
|
|
614
|
+
<span class="cline-any cline-yes">15x</span>
|
|
467
615
|
<span class="cline-any cline-neutral"> </span>
|
|
468
616
|
<span class="cline-any cline-yes">2x</span>
|
|
469
617
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -475,6 +623,14 @@ const ScriptRunner = require("../utilities/scriptRunner")
|
|
|
475
623
|
const { integrations } = require("../integrations")
|
|
476
624
|
const { processStringSync } = require("@budibase/string-templates")
|
|
477
625
|
const { doInAppContext, getAppDB } = require("@budibase/backend-core/context")
|
|
626
|
+
const {
|
|
627
|
+
refreshOAuthToken,
|
|
628
|
+
updateUserOAuth,
|
|
629
|
+
} = require("@budibase/backend-core/auth")
|
|
630
|
+
const { user: userCache } = require("@budibase/backend-core/cache")
|
|
631
|
+
const { getGlobalIDFromUserMetadataID } = require("../db/utils")
|
|
632
|
+
const { cloneDeep } = require("lodash/fp")
|
|
633
|
+
|
|
478
634
|
const { isSQL } = require("../integrations/utils")
|
|
479
635
|
const {
|
|
480
636
|
enrichQueryFields,
|
|
@@ -492,29 +648,58 @@ class QueryRunner {
|
|
|
492
648
|
this.queryId = input.queryId
|
|
493
649
|
this.noRecursiveQuery = flags.noRecursiveQuery
|
|
494
650
|
this.cachedVariables = []
|
|
651
|
+
// Additional context items for enrichment
|
|
652
|
+
this.ctx = input.ctx
|
|
495
653
|
// allows the response from a query to be stored throughout this
|
|
496
654
|
// execution so that if it needs to be re-used for another variable
|
|
497
655
|
// it can be
|
|
498
656
|
this.queryResponse = {}
|
|
499
657
|
this.hasRerun = false
|
|
658
|
+
this.hasRefreshedOAuth = false
|
|
500
659
|
}
|
|
501
660
|
|
|
502
661
|
async execute() {
|
|
503
662
|
let { datasource, fields, queryVerb, transformer } = this
|
|
504
|
-
|
|
663
|
+
|
|
664
|
+
let datasourceClone = cloneDeep(datasource)
|
|
665
|
+
let fieldsClone = cloneDeep(fields)
|
|
666
|
+
|
|
667
|
+
const Integration = integrations[datasourceClone.source]
|
|
505
668
|
if (!Integration) {
|
|
506
669
|
throw "Integration type does not exist."
|
|
507
670
|
}
|
|
508
|
-
|
|
671
|
+
|
|
672
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (datasourceClone.config.authConfigs) {
|
|
673
|
+
<span class="cstat-no" title="statement not covered" > datasourceClone.config.authConfigs =</span>
|
|
674
|
+
datasourceClone.config.authConfigs.map(<span class="fstat-no" title="function not covered" >co</span>nfig => {
|
|
675
|
+
<span class="cstat-no" title="statement not covered" > return enrichQueryFields(config, this.ctx)</span>
|
|
676
|
+
})
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
const integration = new Integration(datasourceClone.config)
|
|
509
680
|
|
|
510
681
|
// pre-query, make sure datasource variables are added to parameters
|
|
511
682
|
const parameters = await this.addDatasourceVariables()
|
|
683
|
+
|
|
684
|
+
// Enrich the parameters with the addition context items.
|
|
685
|
+
// 'user' is now a reserved variable key in mapping parameters
|
|
686
|
+
const enrichedParameters = enrichQueryFields(parameters, this.ctx)
|
|
687
|
+
const enrichedContext = { ...enrichedParameters, ...this.ctx }
|
|
688
|
+
|
|
689
|
+
// Parse global headers
|
|
690
|
+
if (datasourceClone.config.defaultHeaders) {
|
|
691
|
+
datasourceClone.config.defaultHeaders = enrichQueryFields(
|
|
692
|
+
datasourceClone.config.defaultHeaders,
|
|
693
|
+
enrichedContext
|
|
694
|
+
)
|
|
695
|
+
}
|
|
696
|
+
|
|
512
697
|
let query
|
|
513
698
|
// handle SQL injections by interpolating the variables
|
|
514
|
-
if (isSQL(
|
|
515
|
-
query = interpolateSQL(
|
|
699
|
+
if (isSQL(datasourceClone)) {
|
|
700
|
+
query = interpolateSQL(fieldsClone, enrichedParameters, integration)
|
|
516
701
|
} else {
|
|
517
|
-
query = enrichQueryFields(
|
|
702
|
+
query = enrichQueryFields(fieldsClone, enrichedContext)
|
|
518
703
|
}
|
|
519
704
|
|
|
520
705
|
// Add pagination values for REST queries
|
|
@@ -538,20 +723,25 @@ class QueryRunner {
|
|
|
538
723
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (transformer) {
|
|
539
724
|
const runner = <span class="cstat-no" title="statement not covered" >new ScriptRunner(transformer, {</span>
|
|
540
725
|
data: rows,
|
|
541
|
-
params:
|
|
726
|
+
params: enrichedParameters,
|
|
542
727
|
})
|
|
543
728
|
<span class="cstat-no" title="statement not covered" > rows = runner.execute()</span>
|
|
544
729
|
}
|
|
545
730
|
|
|
546
731
|
// if the request fails we retry once, invalidating the cached value
|
|
547
|
-
if (
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
732
|
+
if (info && info.code >= 400 && !this.hasRerun) {
|
|
733
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
734
|
+
this.ctx.user?.provider &&
|
|
735
|
+
<span class="branch-1 cbranch-no" title="branch not covered" > info.code === 401 </span>&&
|
|
736
|
+
<span class="branch-2 cbranch-no" title="branch not covered" > !this.hasRefreshedOAuth</span>
|
|
737
|
+
) {
|
|
738
|
+
<span class="cstat-no" title="statement not covered" > await this.refreshOAuth2(this.ctx)</span>
|
|
739
|
+
// Attempt to refresh the access token from the provider
|
|
740
|
+
<span class="cstat-no" title="statement not covered" > this.hasRefreshedOAuth = true</span>
|
|
741
|
+
} else {
|
|
742
|
+
this.hasRerun = true
|
|
743
|
+
}
|
|
744
|
+
|
|
555
745
|
await threadUtils.invalidateDynamicVariables(this.cachedVariables)
|
|
556
746
|
return this.execute()
|
|
557
747
|
}
|
|
@@ -596,6 +786,38 @@ class QueryRunner {
|
|
|
596
786
|
{ noRecursiveQuery: true }
|
|
597
787
|
).execute()
|
|
598
788
|
}
|
|
789
|
+
|
|
790
|
+
<span class="fstat-no" title="function not covered" > as</span>ync refreshOAuth2(ctx) {
|
|
791
|
+
const { oauth2, providerType, _id } = <span class="cstat-no" title="statement not covered" >ctx.user</span>
|
|
792
|
+
const { configId } = <span class="cstat-no" title="statement not covered" >ctx.auth</span>
|
|
793
|
+
|
|
794
|
+
<span class="cstat-no" title="statement not covered" > if (!providerType || !oauth2?.refreshToken) {</span>
|
|
795
|
+
<span class="cstat-no" title="statement not covered" > throw new Error("No refresh token found for authenticated user")</span>
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
const resp = <span class="cstat-no" title="statement not covered" >await refreshOAuthToken(</span>
|
|
799
|
+
oauth2.refreshToken,
|
|
800
|
+
providerType,
|
|
801
|
+
configId
|
|
802
|
+
)
|
|
803
|
+
|
|
804
|
+
// Refresh session flow. Should be in same location as refreshOAuthToken
|
|
805
|
+
// There are several other properties available in 'resp'
|
|
806
|
+
<span class="cstat-no" title="statement not covered" > if (!resp.err) {</span>
|
|
807
|
+
const globalUserId = <span class="cstat-no" title="statement not covered" >getGlobalIDFromUserMetadataID(_id)</span>
|
|
808
|
+
<span class="cstat-no" title="statement not covered" > await updateUserOAuth(globalUserId, resp)</span>
|
|
809
|
+
<span class="cstat-no" title="statement not covered" > this.ctx.user = await userCache.getUser(globalUserId)</span>
|
|
810
|
+
} else {
|
|
811
|
+
// In this event the user may have oAuth issues that
|
|
812
|
+
// could require re-authenticating with their provider.
|
|
813
|
+
let errorMessage = <span class="cstat-no" title="statement not covered" >resp.err.data ? resp.err.data : resp.err.toString()</span>
|
|
814
|
+
<span class="cstat-no" title="statement not covered" > throw new Error(</span>
|
|
815
|
+
"OAuth2 access token could not be refreshed: " + errorMessage
|
|
816
|
+
)
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
<span class="cstat-no" title="statement not covered" > return resp</span>
|
|
820
|
+
}
|
|
599
821
|
|
|
600
822
|
async getDynamicVariable(variable) {
|
|
601
823
|
let { parameters } = this
|
|
@@ -679,7 +901,7 @@ module.exports = (input, callback) => {
|
|
|
679
901
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
680
902
|
Code coverage generated by
|
|
681
903
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
682
|
-
at
|
|
904
|
+
at Mon Jul 11 2022 09:30:59 GMT+0000 (Coordinated Universal Time)
|
|
683
905
|
</div>
|
|
684
906
|
<script src="../prettify.js"></script>
|
|
685
907
|
<script>
|
|
@@ -200,18 +200,18 @@
|
|
|
200
200
|
<span class="cline-any cline-neutral"> </span>
|
|
201
201
|
<span class="cline-any cline-neutral"> </span>
|
|
202
202
|
<span class="cline-any cline-yes">44x</span>
|
|
203
|
-
<span class="cline-any cline-yes">
|
|
203
|
+
<span class="cline-any cline-yes">21x</span>
|
|
204
204
|
<span class="cline-any cline-no"> </span>
|
|
205
205
|
<span class="cline-any cline-no"> </span>
|
|
206
206
|
<span class="cline-any cline-neutral"> </span>
|
|
207
207
|
<span class="cline-any cline-no"> </span>
|
|
208
208
|
<span class="cline-any cline-neutral"> </span>
|
|
209
209
|
<span class="cline-any cline-neutral"> </span>
|
|
210
|
-
<span class="cline-any cline-yes">
|
|
210
|
+
<span class="cline-any cline-yes">21x</span>
|
|
211
211
|
<span class="cline-any cline-neutral"> </span>
|
|
212
212
|
<span class="cline-any cline-neutral"> </span>
|
|
213
213
|
<span class="cline-any cline-yes">44x</span>
|
|
214
|
-
<span class="cline-any cline-yes">
|
|
214
|
+
<span class="cline-any cline-yes">21x</span>
|
|
215
215
|
<span class="cline-any cline-neutral"> </span>
|
|
216
216
|
<span class="cline-any cline-neutral"> </span>
|
|
217
217
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -304,7 +304,7 @@ exports.hasExtraData = response => {
|
|
|
304
304
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
305
305
|
Code coverage generated by
|
|
306
306
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
307
|
-
at
|
|
307
|
+
at Mon Jul 11 2022 09:30:59 GMT+0000 (Coordinated Universal Time)
|
|
308
308
|
</div>
|
|
309
309
|
<script src="../prettify.js"></script>
|
|
310
310
|
<script>
|
|
@@ -79,7 +79,7 @@ module.exports.budibaseTempDir = budibaseTempDir
|
|
|
79
79
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
80
80
|
Code coverage generated by
|
|
81
81
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
82
|
-
at
|
|
82
|
+
at Mon Jul 11 2022 09:30:59 GMT+0000 (Coordinated Universal Time)
|
|
83
83
|
</div>
|
|
84
84
|
<script src="../prettify.js"></script>
|
|
85
85
|
<script>
|
|
@@ -136,7 +136,7 @@ exports.resolve = function (...args) {
|
|
|
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" rel="noopener noreferrer">istanbul</a>
|
|
139
|
-
at
|
|
139
|
+
at Mon Jul 11 2022 09:30:59 GMT+0000 (Coordinated Universal Time)
|
|
140
140
|
</div>
|
|
141
141
|
<script src="../prettify.js"></script>
|
|
142
142
|
<script>
|