@budibase/server 1.0.217 → 1.0.219-alpha.1
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.7786f497.css +6 -0
- package/builder/assets/index.832d3790.js +977 -0
- package/builder/assets/{vendor.9bf2fcb4.js → vendor.001dcf8c.js} +163 -163
- package/builder/index.html +3 -3
- package/coverage/clover.xml +866 -792
- package/coverage/coverage-final.json +26 -26
- 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 +34 -34
- package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +95 -11
- 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 +1 -1
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +1 -1
- package/coverage/lcov-report/automations/automationUtils.js.html +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 +1 -1
- 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 +74 -74
- 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 +280 -76
- 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 +1 -1
- 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 +1 -1
- package/coverage/lcov.info +1554 -1422
- 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/query/index.js +25 -0
- package/dist/api/controllers/row/external.js +19 -7
- package/dist/api/controllers/row/internalSearch.js +22 -1
- 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/automations/automationUtils.js +16 -4
- package/dist/automations/logging/index.js +70 -0
- 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 +1 -0
- package/dist/integrations/airtable.js +1 -0
- package/dist/integrations/arangodb.js +1 -0
- package/dist/integrations/base/sql.js +20 -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 +53 -8
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/index.js +16 -6
- package/package.json +8 -7
- 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/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/query/index.ts +29 -1
- package/src/api/controllers/row/external.js +19 -9
- package/src/api/controllers/row/internalSearch.js +28 -0
- 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/tests/query.spec.js +166 -0
- package/src/automations/automationUtils.js +19 -4
- package/src/automations/logging/index.ts +35 -0
- 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/environment.js +1 -0
- package/src/integrations/airtable.ts +1 -0
- package/src/integrations/arangodb.ts +1 -0
- package/src/integrations/base/sql.ts +25 -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 +78 -10
- package/src/utilities/fileSystem/index.js +22 -8
- package/builder/assets/index.24307ca0.css +0 -6
- package/builder/assets/index.cc2e9cbe.js +0 -1316
|
@@ -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">80.76% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>105/130</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">62.29% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>38/61</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">80.95% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>102/126</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -266,12 +266,86 @@
|
|
|
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
270
338
|
<span class="cline-any cline-yes">2x</span>
|
|
271
339
|
<span class="cline-any cline-yes">2x</span>
|
|
272
340
|
<span class="cline-any cline-yes">2x</span>
|
|
273
341
|
<span class="cline-any cline-yes">2x</span>
|
|
274
342
|
<span class="cline-any cline-yes">2x</span>
|
|
343
|
+
<span class="cline-any cline-neutral"> </span>
|
|
344
|
+
<span class="cline-any cline-neutral"> </span>
|
|
345
|
+
<span class="cline-any cline-neutral"> </span>
|
|
346
|
+
<span class="cline-any cline-yes">2x</span>
|
|
347
|
+
<span class="cline-any cline-yes">2x</span>
|
|
348
|
+
<span class="cline-any cline-neutral"> </span>
|
|
275
349
|
<span class="cline-any cline-yes">2x</span>
|
|
276
350
|
<span class="cline-any cline-neutral"> </span>
|
|
277
351
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -280,59 +354,86 @@
|
|
|
280
354
|
<span class="cline-any cline-neutral"> </span>
|
|
281
355
|
<span class="cline-any cline-neutral"> </span>
|
|
282
356
|
<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">
|
|
357
|
+
<span class="cline-any cline-yes">22x</span>
|
|
358
|
+
<span class="cline-any cline-yes">22x</span>
|
|
359
|
+
<span class="cline-any cline-yes">22x</span>
|
|
360
|
+
<span class="cline-any cline-yes">22x</span>
|
|
361
|
+
<span class="cline-any cline-yes">22x</span>
|
|
362
|
+
<span class="cline-any cline-yes">22x</span>
|
|
363
|
+
<span class="cline-any cline-yes">22x</span>
|
|
364
|
+
<span class="cline-any cline-yes">22x</span>
|
|
365
|
+
<span class="cline-any cline-yes">22x</span>
|
|
292
366
|
<span class="cline-any cline-neutral"> </span>
|
|
367
|
+
<span class="cline-any cline-yes">22x</span>
|
|
293
368
|
<span class="cline-any cline-neutral"> </span>
|
|
294
369
|
<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
370
|
<span class="cline-any cline-neutral"> </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>
|
|
298
374
|
<span class="cline-any cline-neutral"> </span>
|
|
299
375
|
<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-
|
|
376
|
+
<span class="cline-any cline-neutral"> </span>
|
|
377
|
+
<span class="cline-any cline-yes">23x</span>
|
|
378
|
+
<span class="cline-any cline-neutral"> </span>
|
|
379
|
+
<span class="cline-any cline-yes">23x</span>
|
|
380
|
+
<span class="cline-any cline-yes">23x</span>
|
|
303
381
|
<span class="cline-any cline-yes">2x</span>
|
|
304
382
|
<span class="cline-any cline-neutral"> </span>
|
|
305
|
-
<span class="cline-any cline-
|
|
383
|
+
<span class="cline-any cline-neutral"> </span>
|
|
384
|
+
<span class="cline-any cline-yes">21x</span>
|
|
385
|
+
<span class="cline-any cline-no"> </span>
|
|
386
|
+
<span class="cline-any cline-neutral"> </span>
|
|
387
|
+
<span class="cline-any cline-no"> </span>
|
|
388
|
+
<span class="cline-any cline-neutral"> </span>
|
|
306
389
|
<span class="cline-any cline-neutral"> </span>
|
|
307
390
|
<span class="cline-any cline-neutral"> </span>
|
|
308
|
-
<span class="cline-any cline-yes">14x</span>
|
|
309
391
|
<span class="cline-any cline-neutral"> </span>
|
|
392
|
+
<span class="cline-any cline-yes">21x</span>
|
|
310
393
|
<span class="cline-any cline-neutral"> </span>
|
|
311
|
-
<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-neutral"> </span>
|
|
397
|
+
<span class="cline-any cline-neutral"> </span>
|
|
398
|
+
<span class="cline-any cline-neutral"> </span>
|
|
399
|
+
<span class="cline-any cline-yes">21x</span>
|
|
400
|
+
<span class="cline-any cline-yes">21x</span>
|
|
401
|
+
<span class="cline-any cline-neutral"> </span>
|
|
402
|
+
<span class="cline-any cline-neutral"> </span>
|
|
403
|
+
<span class="cline-any cline-yes">21x</span>
|
|
404
|
+
<span class="cline-any cline-yes">1x</span>
|
|
405
|
+
<span class="cline-any cline-neutral"> </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-neutral"> </span>
|
|
410
|
+
<span class="cline-any cline-neutral"> </span>
|
|
411
|
+
<span class="cline-any cline-neutral"> </span>
|
|
412
|
+
<span class="cline-any cline-yes">21x</span>
|
|
312
413
|
<span class="cline-any cline-yes">2x</span>
|
|
313
414
|
<span class="cline-any cline-neutral"> </span>
|
|
314
|
-
<span class="cline-any cline-yes">
|
|
415
|
+
<span class="cline-any cline-yes">19x</span>
|
|
315
416
|
<span class="cline-any cline-neutral"> </span>
|
|
316
417
|
<span class="cline-any cline-neutral"> </span>
|
|
317
418
|
<span class="cline-any cline-neutral"> </span>
|
|
318
|
-
<span class="cline-any cline-yes">
|
|
419
|
+
<span class="cline-any cline-yes">21x</span>
|
|
319
420
|
<span class="cline-any cline-no"> </span>
|
|
320
421
|
<span class="cline-any cline-neutral"> </span>
|
|
321
422
|
<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">
|
|
423
|
+
<span class="cline-any cline-yes">21x</span>
|
|
424
|
+
<span class="cline-any cline-yes">21x</span>
|
|
425
|
+
<span class="cline-any cline-yes">21x</span>
|
|
426
|
+
<span class="cline-any cline-yes">21x</span>
|
|
427
|
+
<span class="cline-any cline-yes">21x</span>
|
|
428
|
+
<span class="cline-any cline-yes">21x</span>
|
|
429
|
+
<span class="cline-any cline-yes">19x</span>
|
|
430
|
+
<span class="cline-any cline-yes">19x</span>
|
|
431
|
+
<span class="cline-any cline-yes">19x</span>
|
|
432
|
+
<span class="cline-any cline-yes">19x</span>
|
|
332
433
|
<span class="cline-any cline-neutral"> </span>
|
|
333
434
|
<span class="cline-any cline-neutral"> </span>
|
|
334
435
|
<span class="cline-any cline-neutral"> </span>
|
|
335
|
-
<span class="cline-any cline-yes">
|
|
436
|
+
<span class="cline-any cline-yes">21x</span>
|
|
336
437
|
<span class="cline-any cline-no"> </span>
|
|
337
438
|
<span class="cline-any cline-neutral"> </span>
|
|
338
439
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -341,41 +442,51 @@
|
|
|
341
442
|
<span class="cline-any cline-neutral"> </span>
|
|
342
443
|
<span class="cline-any cline-neutral"> </span>
|
|
343
444
|
<span class="cline-any cline-neutral"> </span>
|
|
344
|
-
<span class="cline-any cline-yes">
|
|
445
|
+
<span class="cline-any cline-yes">21x</span>
|
|
446
|
+
<span class="cline-any cline-yes">1x</span>
|
|
345
447
|
<span class="cline-any cline-neutral"> </span>
|
|
346
448
|
<span class="cline-any cline-neutral"> </span>
|
|
347
449
|
<span class="cline-any cline-neutral"> </span>
|
|
348
450
|
<span class="cline-any cline-neutral"> </span>
|
|
349
451
|
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-
|
|
452
|
+
<span class="cline-any cline-no"> </span>
|
|
453
|
+
<span class="cline-any cline-no"> </span>
|
|
454
|
+
<span class="cline-any cline-neutral"> </span>
|
|
455
|
+
<span class="cline-any cline-no"> </span>
|
|
456
|
+
<span class="cline-any cline-neutral"> </span>
|
|
351
457
|
<span class="cline-any cline-neutral"> </span>
|
|
458
|
+
<span class="cline-any cline-no"> </span>
|
|
459
|
+
<span class="cline-any cline-neutral"> </span>
|
|
460
|
+
<span class="cline-any cline-neutral"> </span>
|
|
461
|
+
<span class="cline-any cline-neutral"> </span>
|
|
462
|
+
<span class="cline-any cline-yes">1x</span>
|
|
352
463
|
<span class="cline-any cline-yes">1x</span>
|
|
353
464
|
<span class="cline-any cline-yes">1x</span>
|
|
354
465
|
<span class="cline-any cline-neutral"> </span>
|
|
355
466
|
<span class="cline-any cline-neutral"> </span>
|
|
356
467
|
<span class="cline-any cline-neutral"> </span>
|
|
357
|
-
<span class="cline-any cline-yes">
|
|
468
|
+
<span class="cline-any cline-yes">20x</span>
|
|
358
469
|
<span class="cline-any cline-no"> </span>
|
|
359
470
|
<span class="cline-any cline-neutral"> </span>
|
|
360
471
|
<span class="cline-any cline-neutral"> </span>
|
|
361
472
|
<span class="cline-any cline-neutral"> </span>
|
|
362
|
-
<span class="cline-any cline-yes">
|
|
363
|
-
<span class="cline-any cline-yes">
|
|
473
|
+
<span class="cline-any cline-yes">20x</span>
|
|
474
|
+
<span class="cline-any cline-yes">18x</span>
|
|
364
475
|
<span class="cline-any cline-neutral"> </span>
|
|
365
476
|
<span class="cline-any cline-neutral"> </span>
|
|
366
477
|
<span class="cline-any cline-neutral"> </span>
|
|
367
|
-
<span class="cline-any cline-yes">
|
|
478
|
+
<span class="cline-any cline-yes">20x</span>
|
|
368
479
|
<span class="cline-any cline-no"> </span>
|
|
369
480
|
<span class="cline-any cline-neutral"> </span>
|
|
370
481
|
<span class="cline-any cline-neutral"> </span>
|
|
371
482
|
<span class="cline-any cline-neutral"> </span>
|
|
372
|
-
<span class="cline-any cline-yes">
|
|
483
|
+
<span class="cline-any cline-yes">20x</span>
|
|
373
484
|
<span class="cline-any cline-neutral"> </span>
|
|
374
|
-
<span class="cline-any cline-yes">
|
|
485
|
+
<span class="cline-any cline-yes">20x</span>
|
|
375
486
|
<span class="cline-any cline-no"> </span>
|
|
376
487
|
<span class="cline-any cline-neutral"> </span>
|
|
377
488
|
<span class="cline-any cline-neutral"> </span>
|
|
378
|
-
<span class="cline-any cline-yes">
|
|
489
|
+
<span class="cline-any cline-yes">20x</span>
|
|
379
490
|
<span class="cline-any cline-neutral"> </span>
|
|
380
491
|
<span class="cline-any cline-neutral"> </span>
|
|
381
492
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -395,6 +506,31 @@
|
|
|
395
506
|
<span class="cline-any cline-neutral"> </span>
|
|
396
507
|
<span class="cline-any cline-neutral"> </span>
|
|
397
508
|
<span class="cline-any cline-neutral"> </span>
|
|
509
|
+
<span class="cline-any cline-no"> </span>
|
|
510
|
+
<span class="cline-any cline-no"> </span>
|
|
511
|
+
<span class="cline-any cline-neutral"> </span>
|
|
512
|
+
<span class="cline-any cline-no"> </span>
|
|
513
|
+
<span class="cline-any cline-no"> </span>
|
|
514
|
+
<span class="cline-any cline-no"> </span>
|
|
515
|
+
<span class="cline-any cline-neutral"> </span>
|
|
516
|
+
<span class="cline-any cline-neutral"> </span>
|
|
517
|
+
<span class="cline-any cline-no"> </span>
|
|
518
|
+
<span class="cline-any cline-neutral"> </span>
|
|
519
|
+
<span class="cline-any cline-neutral"> </span>
|
|
520
|
+
<span class="cline-any cline-neutral"> </span>
|
|
521
|
+
<span class="cline-any cline-neutral"> </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-no"> </span>
|
|
526
|
+
<span class="cline-any cline-no"> </span>
|
|
527
|
+
<span class="cline-any cline-no"> </span>
|
|
528
|
+
<span class="cline-any cline-neutral"> </span>
|
|
529
|
+
<span class="cline-any cline-neutral"> </span>
|
|
530
|
+
<span class="cline-any cline-no"> </span>
|
|
531
|
+
<span class="cline-any cline-neutral"> </span>
|
|
532
|
+
<span class="cline-any cline-neutral"> </span>
|
|
533
|
+
<span class="cline-any cline-neutral"> </span>
|
|
398
534
|
<span class="cline-any cline-yes">6x</span>
|
|
399
535
|
<span class="cline-any cline-yes">6x</span>
|
|
400
536
|
<span class="cline-any cline-yes">6x</span>
|
|
@@ -413,21 +549,21 @@
|
|
|
413
549
|
<span class="cline-any cline-neutral"> </span>
|
|
414
550
|
<span class="cline-any cline-neutral"> </span>
|
|
415
551
|
<span class="cline-any cline-neutral"> </span>
|
|
416
|
-
<span class="cline-any cline-yes">
|
|
417
|
-
<span class="cline-any cline-yes">
|
|
552
|
+
<span class="cline-any cline-yes">21x</span>
|
|
553
|
+
<span class="cline-any cline-yes">21x</span>
|
|
418
554
|
<span class="cline-any cline-no"> </span>
|
|
419
555
|
<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">
|
|
556
|
+
<span class="cline-any cline-yes">21x</span>
|
|
557
|
+
<span class="cline-any cline-yes">21x</span>
|
|
558
|
+
<span class="cline-any cline-yes">21x</span>
|
|
423
559
|
<span class="cline-any cline-yes">2x</span>
|
|
424
560
|
<span class="cline-any cline-yes">2x</span>
|
|
425
561
|
<span class="cline-any cline-neutral"> </span>
|
|
426
562
|
<span class="cline-any cline-neutral"> </span>
|
|
427
|
-
<span class="cline-any cline-yes">
|
|
563
|
+
<span class="cline-any cline-yes">21x</span>
|
|
428
564
|
<span class="cline-any cline-neutral"> </span>
|
|
429
|
-
<span class="cline-any cline-yes">
|
|
430
|
-
<span class="cline-any cline-yes">
|
|
565
|
+
<span class="cline-any cline-yes">16x</span>
|
|
566
|
+
<span class="cline-any cline-yes">16x</span>
|
|
431
567
|
<span class="cline-any cline-neutral"> </span>
|
|
432
568
|
<span class="cline-any cline-yes">6x</span>
|
|
433
569
|
<span class="cline-any cline-no"> </span>
|
|
@@ -436,9 +572,9 @@
|
|
|
436
572
|
<span class="cline-any cline-yes">6x</span>
|
|
437
573
|
<span class="cline-any cline-yes">6x</span>
|
|
438
574
|
<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">
|
|
575
|
+
<span class="cline-any cline-yes">16x</span>
|
|
576
|
+
<span class="cline-any cline-yes">16x</span>
|
|
577
|
+
<span class="cline-any cline-yes">16x</span>
|
|
442
578
|
<span class="cline-any cline-yes">6x</span>
|
|
443
579
|
<span class="cline-any cline-yes">6x</span>
|
|
444
580
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -454,16 +590,16 @@
|
|
|
454
590
|
<span class="cline-any cline-yes">6x</span>
|
|
455
591
|
<span class="cline-any cline-neutral"> </span>
|
|
456
592
|
<span class="cline-any cline-neutral"> </span>
|
|
457
|
-
<span class="cline-any cline-yes">
|
|
593
|
+
<span class="cline-any cline-yes">21x</span>
|
|
458
594
|
<span class="cline-any cline-neutral"> </span>
|
|
459
595
|
<span class="cline-any cline-neutral"> </span>
|
|
460
596
|
<span class="cline-any cline-neutral"> </span>
|
|
461
597
|
<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">
|
|
598
|
+
<span class="cline-any cline-yes">17x</span>
|
|
599
|
+
<span class="cline-any cline-yes">17x</span>
|
|
600
|
+
<span class="cline-any cline-yes">17x</span>
|
|
601
|
+
<span class="cline-any cline-yes">17x</span>
|
|
602
|
+
<span class="cline-any cline-yes">15x</span>
|
|
467
603
|
<span class="cline-any cline-neutral"> </span>
|
|
468
604
|
<span class="cline-any cline-yes">2x</span>
|
|
469
605
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -475,6 +611,12 @@ const ScriptRunner = require("../utilities/scriptRunner")
|
|
|
475
611
|
const { integrations } = require("../integrations")
|
|
476
612
|
const { processStringSync } = require("@budibase/string-templates")
|
|
477
613
|
const { doInAppContext, getAppDB } = require("@budibase/backend-core/context")
|
|
614
|
+
const {
|
|
615
|
+
refreshOAuthToken,
|
|
616
|
+
updateUserOAuth,
|
|
617
|
+
} = require("@budibase/backend-core/auth")
|
|
618
|
+
const { getGlobalIDFromUserMetadataID } = require("../db/utils")
|
|
619
|
+
|
|
478
620
|
const { isSQL } = require("../integrations/utils")
|
|
479
621
|
const {
|
|
480
622
|
enrichQueryFields,
|
|
@@ -492,29 +634,56 @@ class QueryRunner {
|
|
|
492
634
|
this.queryId = input.queryId
|
|
493
635
|
this.noRecursiveQuery = flags.noRecursiveQuery
|
|
494
636
|
this.cachedVariables = []
|
|
637
|
+
// Additional context items for enrichment
|
|
638
|
+
this.ctx = input.ctx
|
|
495
639
|
// allows the response from a query to be stored throughout this
|
|
496
640
|
// execution so that if it needs to be re-used for another variable
|
|
497
641
|
// it can be
|
|
498
642
|
this.queryResponse = {}
|
|
499
643
|
this.hasRerun = false
|
|
644
|
+
this.hasRefreshedOAuth = false
|
|
500
645
|
}
|
|
501
646
|
|
|
502
647
|
async execute() {
|
|
503
648
|
let { datasource, fields, queryVerb, transformer } = this
|
|
649
|
+
|
|
504
650
|
const Integration = integrations[datasource.source]
|
|
505
651
|
if (!Integration) {
|
|
506
652
|
throw "Integration type does not exist."
|
|
507
653
|
}
|
|
654
|
+
|
|
655
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (datasource.config.authConfigs) {
|
|
656
|
+
<span class="cstat-no" title="statement not covered" > datasource.config.authConfigs = datasource.config.authConfigs.map(</span>
|
|
657
|
+
<span class="fstat-no" title="function not covered" > co</span>nfig => {
|
|
658
|
+
<span class="cstat-no" title="statement not covered" > return enrichQueryFields(config, this.ctx)</span>
|
|
659
|
+
}
|
|
660
|
+
)
|
|
661
|
+
}
|
|
662
|
+
|
|
508
663
|
const integration = new Integration(datasource.config)
|
|
509
664
|
|
|
510
665
|
// pre-query, make sure datasource variables are added to parameters
|
|
511
666
|
const parameters = await this.addDatasourceVariables()
|
|
667
|
+
|
|
668
|
+
// Enrich the parameters with the addition context items.
|
|
669
|
+
// 'user' is now a reserved variable key in mapping parameters
|
|
670
|
+
const enrichedParameters = enrichQueryFields(parameters, this.ctx)
|
|
671
|
+
const enrichedContext = { ...enrichedParameters, ...this.ctx }
|
|
672
|
+
|
|
673
|
+
// Parse global headers
|
|
674
|
+
if (datasource.config.defaultHeaders) {
|
|
675
|
+
datasource.config.defaultHeaders = enrichQueryFields(
|
|
676
|
+
datasource.config.defaultHeaders,
|
|
677
|
+
enrichedContext
|
|
678
|
+
)
|
|
679
|
+
}
|
|
680
|
+
|
|
512
681
|
let query
|
|
513
682
|
// handle SQL injections by interpolating the variables
|
|
514
683
|
if (isSQL(datasource)) {
|
|
515
|
-
query = interpolateSQL(fields,
|
|
684
|
+
query = interpolateSQL(fields, enrichedParameters, integration)
|
|
516
685
|
} else {
|
|
517
|
-
query = enrichQueryFields(fields,
|
|
686
|
+
query = enrichQueryFields(fields, enrichedContext)
|
|
518
687
|
}
|
|
519
688
|
|
|
520
689
|
// Add pagination values for REST queries
|
|
@@ -538,20 +707,30 @@ class QueryRunner {
|
|
|
538
707
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (transformer) {
|
|
539
708
|
const runner = <span class="cstat-no" title="statement not covered" >new ScriptRunner(transformer, {</span>
|
|
540
709
|
data: rows,
|
|
541
|
-
params:
|
|
710
|
+
params: enrichedParameters,
|
|
542
711
|
})
|
|
543
712
|
<span class="cstat-no" title="statement not covered" > rows = runner.execute()</span>
|
|
544
713
|
}
|
|
545
714
|
|
|
546
715
|
// if the request fails we retry once, invalidating the cached value
|
|
547
|
-
if (
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
716
|
+
if (info && info.code >= 400 && !this.hasRerun) {
|
|
717
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
718
|
+
this.ctx.user?.provider &&
|
|
719
|
+
<span class="branch-1 cbranch-no" title="branch not covered" > info.code === 401 </span>&&
|
|
720
|
+
<span class="branch-2 cbranch-no" title="branch not covered" > !this.hasRefreshedOAuth</span>
|
|
721
|
+
) {
|
|
722
|
+
// Attempt to refresh the access token from the provider
|
|
723
|
+
<span class="cstat-no" title="statement not covered" > this.hasRefreshedOAuth = true</span>
|
|
724
|
+
const authResponse = <span class="cstat-no" title="statement not covered" >await this.refreshOAuth2(this.ctx)</span>
|
|
725
|
+
|
|
726
|
+
<span class="cstat-no" title="statement not covered" > if (!authResponse || authResponse.err) {</span>
|
|
727
|
+
// In this event the user may have oAuth issues that
|
|
728
|
+
// could require re-authenticating with their provider.
|
|
729
|
+
<span class="cstat-no" title="statement not covered" > throw new Error("OAuth2 access token could not be refreshed")</span>
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
|
|
553
733
|
this.hasRerun = true
|
|
554
|
-
// invalidate the cache value
|
|
555
734
|
await threadUtils.invalidateDynamicVariables(this.cachedVariables)
|
|
556
735
|
return this.execute()
|
|
557
736
|
}
|
|
@@ -596,6 +775,31 @@ class QueryRunner {
|
|
|
596
775
|
{ noRecursiveQuery: true }
|
|
597
776
|
).execute()
|
|
598
777
|
}
|
|
778
|
+
|
|
779
|
+
<span class="fstat-no" title="function not covered" > as</span>ync refreshOAuth2(ctx) {
|
|
780
|
+
const { oauth2, providerType, _id } = <span class="cstat-no" title="statement not covered" >ctx.user</span>
|
|
781
|
+
const { configId } = <span class="cstat-no" title="statement not covered" >ctx.auth</span>
|
|
782
|
+
|
|
783
|
+
<span class="cstat-no" title="statement not covered" > if (!providerType || !oauth2?.refreshToken) {</span>
|
|
784
|
+
<span class="cstat-no" title="statement not covered" > console.error("No refresh token found for authenticated user")</span>
|
|
785
|
+
<span class="cstat-no" title="statement not covered" > return</span>
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
const resp = <span class="cstat-no" title="statement not covered" >await refreshOAuthToken(</span>
|
|
789
|
+
oauth2.refreshToken,
|
|
790
|
+
providerType,
|
|
791
|
+
configId
|
|
792
|
+
)
|
|
793
|
+
|
|
794
|
+
// Refresh session flow. Should be in same location as refreshOAuthToken
|
|
795
|
+
// There are several other properties available in 'resp'
|
|
796
|
+
<span class="cstat-no" title="statement not covered" > if (!resp.error) {</span>
|
|
797
|
+
const globalUserId = <span class="cstat-no" title="statement not covered" >getGlobalIDFromUserMetadataID(_id)</span>
|
|
798
|
+
<span class="cstat-no" title="statement not covered" > await updateUserOAuth(globalUserId, resp)</span>
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
<span class="cstat-no" title="statement not covered" > return resp</span>
|
|
802
|
+
}
|
|
599
803
|
|
|
600
804
|
async getDynamicVariable(variable) {
|
|
601
805
|
let { parameters } = this
|
|
@@ -679,7 +883,7 @@ module.exports = (input, callback) => {
|
|
|
679
883
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
680
884
|
Code coverage generated by
|
|
681
885
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
682
|
-
at
|
|
886
|
+
at Wed Jul 06 2022 12:15:49 GMT+0000 (Coordinated Universal Time)
|
|
683
887
|
</div>
|
|
684
888
|
<script src="../prettify.js"></script>
|
|
685
889
|
<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 Wed Jul 06 2022 12:15:49 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 Wed Jul 06 2022 12:15:49 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 Wed Jul 06 2022 12:15:49 GMT+0000 (Coordinated Universal Time)
|
|
140
140
|
</div>
|
|
141
141
|
<script src="../prettify.js"></script>
|
|
142
142
|
<script>
|
|
@@ -502,7 +502,7 @@ module.exports = {
|
|
|
502
502
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
503
503
|
Code coverage generated by
|
|
504
504
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
505
|
-
at
|
|
505
|
+
at Wed Jul 06 2022 12:15:49 GMT+0000 (Coordinated Universal Time)
|
|
506
506
|
</div>
|
|
507
507
|
<script src="../prettify.js"></script>
|
|
508
508
|
<script>
|