@budibase/server 1.0.49-alpha.4 → 1.0.49-alpha.8
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__/arangojs.ts +1 -1
- package/__mocks__/aws-sdk.ts +4 -4
- package/__mocks__/mongodb.ts +4 -5
- package/__mocks__/mssql.ts +3 -3
- package/__mocks__/node-fetch.ts +2 -1
- package/__mocks__/pg.ts +3 -5
- package/builder/assets/{index.f763d886.js → index.94a9250f.js} +1 -1
- package/builder/index.html +1 -1
- package/coverage/clover.xml +1920 -1940
- package/coverage/coverage-final.json +54 -54
- package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/application.js.html +58 -37
- package/coverage/lcov-report/api/controllers/auth.js.html +11 -14
- package/coverage/lcov-report/api/controllers/automation.js.html +21 -51
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +8 -11
- package/coverage/lcov-report/api/controllers/component.js.html +10 -13
- package/coverage/lcov-report/api/controllers/datasource.js.html +17 -23
- package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
- package/coverage/lcov-report/api/controllers/index.html +52 -52
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +4 -4
- package/coverage/lcov-report/api/controllers/metadata.js.html +6 -21
- package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +6 -6
- package/coverage/lcov-report/api/controllers/query/index.html +10 -10
- package/coverage/lcov-report/api/controllers/query/index.js.html +21 -18
- package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/role.js.html +9 -9
- package/coverage/lcov-report/api/controllers/routing.js.html +7 -10
- package/coverage/lcov-report/api/controllers/row/external.js.html +33 -126
- package/coverage/lcov-report/api/controllers/row/index.html +28 -28
- package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +37 -82
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +19 -25
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +14 -17
- package/coverage/lcov-report/api/controllers/row/utils.js.html +15 -12
- package/coverage/lcov-report/api/controllers/screen.js.html +10 -16
- package/coverage/lcov-report/api/controllers/script.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +20 -50
- package/coverage/lcov-report/api/controllers/table/external.js.html +15 -24
- package/coverage/lcov-report/api/controllers/table/index.html +37 -37
- package/coverage/lcov-report/api/controllers/table/index.js.html +7 -7
- package/coverage/lcov-report/api/controllers/table/internal.js.html +36 -45
- package/coverage/lcov-report/api/controllers/table/utils.js.html +40 -76
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +26 -35
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +16 -16
- package/coverage/lcov-report/api/controllers/view/index.js.html +15 -21
- package/coverage/lcov-report/api/controllers/view/utils.js.html +25 -10
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
- package/coverage/lcov-report/api/controllers/webhook.js.html +21 -15
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/application.js.html +1 -1
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +1 -1
- package/coverage/lcov-report/api/routes/backup.js.html +1 -1
- package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
- package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/api/routes/dev.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +1 -1
- package/coverage/lcov-report/api/routes/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/integration.js.html +1 -1
- package/coverage/lcov-report/api/routes/layout.js.html +1 -1
- package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
- package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
- package/coverage/lcov-report/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +1 -1
- package/coverage/lcov-report/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/api/routes/row.js.html +1 -1
- package/coverage/lcov-report/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/static.js.html +1 -1
- package/coverage/lcov-report/api/routes/table.js.html +1 -1
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +1 -1
- package/coverage/lcov-report/api/routes/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 +4 -7
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/automations/index.html +18 -18
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/automations/steps/createRow.js.html +2 -5
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +1 -1
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
- package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/automations/steps/updateRow.js.html +2 -2
- 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 +46 -40
- package/coverage/lcov-report/automations/utils.js.html +24 -12
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +1 -1
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +1 -1
- package/coverage/lcov-report/db/client.js.html +18 -18
- package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
- package/coverage/lcov-report/db/index.html +1 -1
- package/coverage/lcov-report/db/index.js.html +3 -3
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +11 -23
- package/coverage/lcov-report/db/linkedRows/index.html +27 -27
- package/coverage/lcov-report/db/linkedRows/index.js.html +24 -66
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +28 -28
- package/coverage/lcov-report/db/newid.js.html +1 -1
- package/coverage/lcov-report/db/utils.js.html +5 -5
- 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 +88 -88
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
- package/coverage/lcov-report/middleware/authorized.js.html +21 -15
- package/coverage/lcov-report/middleware/builder.js.html +3 -3
- package/coverage/lcov-report/middleware/currentapp.js.html +72 -60
- package/coverage/lcov-report/middleware/index.html +28 -28
- package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
- package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/usageQuota.js.html +29 -29
- package/coverage/lcov-report/middleware/utils.js.html +2 -2
- package/coverage/lcov-report/threads/automation.js.html +30 -24
- package/coverage/lcov-report/threads/index.html +16 -16
- package/coverage/lcov-report/threads/index.js.html +1 -1
- package/coverage/lcov-report/threads/query.js.html +17 -17
- package/coverage/lcov-report/threads/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
- package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
- package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
- package/coverage/lcov-report/utilities/global.js.html +44 -35
- package/coverage/lcov-report/utilities/index.html +27 -27
- package/coverage/lcov-report/utilities/index.js.html +40 -70
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +7 -7
- package/coverage/lcov-report/utilities/rowProcessor/index.html +11 -11
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +16 -58
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
- package/coverage/lcov-report/utilities/security.js.html +1 -1
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.js.html +5 -2
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +5 -2
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +5 -5
- package/coverage/lcov-report/utilities/workerRequests.js.html +5 -5
- package/coverage/lcov.info +3192 -3209
- package/dist/api/controllers/application.js +31 -28
- package/dist/api/controllers/auth.js +4 -5
- package/dist/api/controllers/automation.js +14 -19
- package/dist/api/controllers/cloud.js +2 -3
- package/dist/api/controllers/component.js +3 -4
- package/dist/api/controllers/datasource.js +9 -10
- package/dist/api/controllers/deploy/Deployment.js +3 -6
- package/dist/api/controllers/deploy/index.js +12 -13
- package/dist/api/controllers/dev.js +5 -5
- package/dist/api/controllers/layout.js +3 -3
- package/dist/api/controllers/metadata.js +4 -4
- package/dist/api/controllers/permission.js +4 -4
- package/dist/api/controllers/query/import/index.js +4 -6
- package/dist/api/controllers/query/index.js +11 -10
- package/dist/api/controllers/role.js +5 -5
- package/dist/api/controllers/routing.js +5 -6
- package/dist/api/controllers/row/ExternalRequest.js +76 -63
- package/dist/api/controllers/row/external.js +14 -22
- package/dist/api/controllers/row/internal.js +29 -44
- package/dist/api/controllers/row/internalSearch.js +11 -13
- package/dist/api/controllers/row/staticFormula.js +11 -11
- package/dist/api/controllers/row/utils.js +7 -6
- package/dist/api/controllers/screen.js +5 -7
- package/dist/api/controllers/static/index.js +4 -4
- package/dist/api/controllers/table/bulkFormula.js +14 -15
- package/dist/api/controllers/table/external.js +7 -10
- package/dist/api/controllers/table/index.js +5 -5
- package/dist/api/controllers/table/internal.js +16 -19
- package/dist/api/controllers/table/utils.js +29 -31
- package/dist/api/controllers/user.js +16 -20
- package/dist/api/controllers/view/index.js +8 -10
- package/dist/api/controllers/view/utils.js +9 -4
- package/dist/api/controllers/webhook.js +10 -8
- package/dist/api/routes/tests/utilities/TestFunctions.js +37 -17
- package/dist/automations/automationUtils.js +2 -3
- package/dist/automations/steps/createRow.js +1 -1
- package/dist/automations/steps/updateRow.js +1 -1
- package/dist/automations/triggers.js +27 -25
- package/dist/automations/utils.js +10 -5
- package/dist/db/linkedRows/LinkController.js +3 -7
- package/dist/db/linkedRows/index.js +16 -26
- package/dist/db/linkedRows/linkUtils.js +6 -6
- package/dist/db/views/staticViews.js +9 -10
- package/dist/environment.js +2 -1
- package/dist/integrations/utils.js +3 -0
- package/dist/middleware/authorized.js +5 -3
- package/dist/middleware/builder.js +2 -2
- package/dist/middleware/currentapp.js +41 -37
- package/dist/middleware/usageQuota.js +2 -2
- package/dist/migrations/functions/usageQuotas/syncApps.js +6 -9
- package/dist/migrations/functions/usageQuotas/syncRows.js +7 -9
- package/dist/package.json +4 -4
- package/dist/tests/utilities/TestConfiguration.js +67 -44
- package/dist/threads/automation.js +13 -11
- package/dist/threads/query.js +11 -11
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/index.js +4 -3
- package/dist/utilities/global.js +15 -12
- package/dist/utilities/index.js +7 -17
- package/dist/utilities/routing/index.js +5 -5
- package/dist/utilities/rowProcessor/index.js +9 -10
- package/dist/utilities/usageQuota/index.js +1 -0
- package/dist/utilities/usageQuota/rows.js +1 -0
- package/dist/utilities/users.js +3 -3
- package/dist/utilities/workerRequests.js +4 -4
- package/package.json +5 -5
- package/scripts/likeCypress.ts +1 -1
- package/src/api/controllers/application.js +35 -28
- package/src/api/controllers/auth.js +4 -5
- package/src/api/controllers/automation.js +13 -23
- package/src/api/controllers/cloud.js +2 -3
- package/src/api/controllers/component.js +3 -4
- package/src/api/controllers/datasource.js +9 -11
- package/src/api/controllers/deploy/Deployment.js +3 -7
- package/src/api/controllers/deploy/index.js +20 -13
- package/src/api/controllers/dev.js +5 -5
- package/src/api/controllers/layout.js +3 -3
- package/src/api/controllers/metadata.js +4 -9
- package/src/api/controllers/permission.js +4 -4
- package/src/api/controllers/query/import/index.ts +4 -6
- package/src/api/controllers/query/import/tests/index.spec.js +2 -1
- package/src/api/controllers/query/index.js +11 -10
- package/src/api/controllers/role.js +5 -5
- package/src/api/controllers/routing.js +5 -6
- package/src/api/controllers/row/ExternalRequest.ts +53 -42
- package/src/api/controllers/row/external.js +27 -58
- package/src/api/controllers/row/internal.js +29 -44
- package/src/api/controllers/row/internalSearch.js +11 -13
- package/src/api/controllers/row/staticFormula.js +10 -11
- package/src/api/controllers/row/utils.js +7 -6
- package/src/api/controllers/screen.js +5 -7
- package/src/api/controllers/static/index.js +4 -4
- package/src/api/controllers/table/bulkFormula.js +13 -23
- package/src/api/controllers/table/external.js +7 -10
- package/src/api/controllers/table/index.js +5 -5
- package/src/api/controllers/table/internal.js +18 -21
- package/src/api/controllers/table/utils.js +29 -41
- package/src/api/controllers/user.js +17 -20
- package/src/api/controllers/view/index.js +8 -10
- package/src/api/controllers/view/utils.js +9 -4
- package/src/api/controllers/webhook.js +10 -8
- package/src/api/routes/tests/automation.spec.js +1 -0
- package/src/api/routes/tests/misc.spec.js +0 -1
- package/src/api/routes/tests/routing.spec.js +21 -12
- package/src/api/routes/tests/row.spec.js +7 -4
- package/src/api/routes/tests/utilities/TestFunctions.js +39 -17
- package/src/automations/automationUtils.js +2 -3
- package/src/automations/steps/createRow.js +0 -1
- package/src/automations/steps/updateRow.js +1 -1
- package/src/automations/triggers.js +33 -31
- package/src/automations/utils.js +9 -5
- package/src/db/linkedRows/LinkController.js +3 -7
- package/src/db/linkedRows/index.js +16 -30
- package/src/db/linkedRows/linkUtils.js +6 -6
- package/src/db/tests/linkController.spec.js +0 -1
- package/src/db/tests/linkTests.spec.js +5 -6
- package/src/db/views/staticViews.js +8 -10
- package/src/environment.js +2 -1
- package/src/integrations/utils.ts +4 -1
- package/src/middleware/authorized.js +5 -3
- package/src/middleware/builder.js +2 -2
- package/src/middleware/currentapp.js +50 -46
- package/src/middleware/tests/authorized.spec.js +7 -2
- package/src/middleware/tests/currentapp.spec.js +6 -0
- package/src/middleware/usageQuota.js +2 -2
- package/src/migrations/functions/usageQuotas/syncApps.ts +4 -4
- package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
- package/src/module.d.ts +3 -0
- package/src/tests/utilities/TestConfiguration.js +69 -50
- package/src/threads/automation.js +17 -15
- package/src/threads/query.js +12 -12
- package/src/utilities/fileSystem/index.js +4 -3
- package/src/utilities/global.js +15 -12
- package/src/utilities/index.js +7 -17
- package/src/utilities/routing/index.js +5 -5
- package/src/utilities/rowProcessor/index.js +9 -23
- package/src/utilities/usageQuota/index.js +1 -0
- package/src/utilities/usageQuota/rows.js +1 -0
- package/src/utilities/users.js +3 -3
- package/src/utilities/workerRequests.js +4 -4
- package/tsconfig.json +2 -1
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">96.
|
|
26
|
+
<span class="strong">96.9% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>97
|
|
28
|
+
<span class='fraction'>94/97</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">82.5% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>33/40</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">96.7% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>91
|
|
49
|
+
<span class='fraction'>88/91</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -268,21 +268,7 @@
|
|
|
268
268
|
<a name='L209'></a><a href='#L209'>209</a>
|
|
269
269
|
<a name='L210'></a><a href='#L210'>210</a>
|
|
270
270
|
<a name='L211'></a><a href='#L211'>211</a>
|
|
271
|
-
<a name='L212'></a><a href='#L212'>212</a>
|
|
272
|
-
<a name='L213'></a><a href='#L213'>213</a>
|
|
273
|
-
<a name='L214'></a><a href='#L214'>214</a>
|
|
274
|
-
<a name='L215'></a><a href='#L215'>215</a>
|
|
275
|
-
<a name='L216'></a><a href='#L216'>216</a>
|
|
276
|
-
<a name='L217'></a><a href='#L217'>217</a>
|
|
277
|
-
<a name='L218'></a><a href='#L218'>218</a>
|
|
278
|
-
<a name='L219'></a><a href='#L219'>219</a>
|
|
279
|
-
<a name='L220'></a><a href='#L220'>220</a>
|
|
280
|
-
<a name='L221'></a><a href='#L221'>221</a>
|
|
281
|
-
<a name='L222'></a><a href='#L222'>222</a>
|
|
282
|
-
<a name='L223'></a><a href='#L223'>223</a>
|
|
283
|
-
<a name='L224'></a><a href='#L224'>224</a>
|
|
284
|
-
<a name='L225'></a><a href='#L225'>225</a>
|
|
285
|
-
<a name='L226'></a><a href='#L226'>226</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
|
|
271
|
+
<a name='L212'></a><a href='#L212'>212</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
|
|
286
272
|
<span class="cline-any cline-neutral"> </span>
|
|
287
273
|
<span class="cline-any cline-neutral"> </span>
|
|
288
274
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -347,7 +333,6 @@
|
|
|
347
333
|
<span class="cline-any cline-neutral"> </span>
|
|
348
334
|
<span class="cline-any cline-neutral"> </span>
|
|
349
335
|
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-neutral"> </span>
|
|
351
336
|
<span class="cline-any cline-yes">30x</span>
|
|
352
337
|
<span class="cline-any cline-neutral"> </span>
|
|
353
338
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -387,13 +372,9 @@
|
|
|
387
372
|
<span class="cline-any cline-neutral"> </span>
|
|
388
373
|
<span class="cline-any cline-neutral"> </span>
|
|
389
374
|
<span class="cline-any cline-neutral"> </span>
|
|
390
|
-
<span class="cline-any cline-neutral"> </span>
|
|
391
375
|
<span class="cline-any cline-yes">39x</span>
|
|
392
376
|
<span class="cline-any cline-yes">182x</span>
|
|
393
377
|
<span class="cline-any cline-yes">182x</span>
|
|
394
|
-
<span class="cline-any cline-yes">182x</span>
|
|
395
|
-
<span class="cline-any cline-no"> </span>
|
|
396
|
-
<span class="cline-any cline-neutral"> </span>
|
|
397
378
|
<span class="cline-any cline-neutral"> </span>
|
|
398
379
|
<span class="cline-any cline-yes">182x</span>
|
|
399
380
|
<span class="cline-any cline-yes">103x</span>
|
|
@@ -434,7 +415,6 @@
|
|
|
434
415
|
<span class="cline-any cline-neutral"> </span>
|
|
435
416
|
<span class="cline-any cline-neutral"> </span>
|
|
436
417
|
<span class="cline-any cline-neutral"> </span>
|
|
437
|
-
<span class="cline-any cline-neutral"> </span>
|
|
438
418
|
<span class="cline-any cline-yes">39x</span>
|
|
439
419
|
<span class="cline-any cline-yes">103x</span>
|
|
440
420
|
<span class="cline-any cline-yes">103x</span>
|
|
@@ -442,8 +422,6 @@
|
|
|
442
422
|
<span class="cline-any cline-neutral"> </span>
|
|
443
423
|
<span class="cline-any cline-neutral"> </span>
|
|
444
424
|
<span class="cline-any cline-yes">30x</span>
|
|
445
|
-
<span class="cline-any cline-neutral"> </span>
|
|
446
|
-
<span class="cline-any cline-yes">30x</span>
|
|
447
425
|
<span class="cline-any cline-yes">25x</span>
|
|
448
426
|
<span class="cline-any cline-neutral"> </span>
|
|
449
427
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -461,10 +439,6 @@
|
|
|
461
439
|
<span class="cline-any cline-neutral"> </span>
|
|
462
440
|
<span class="cline-any cline-yes">18x</span>
|
|
463
441
|
<span class="cline-any cline-yes">18x</span>
|
|
464
|
-
<span class="cline-any cline-neutral"> </span>
|
|
465
|
-
<span class="cline-any cline-neutral"> </span>
|
|
466
|
-
<span class="cline-any cline-neutral"> </span>
|
|
467
|
-
<span class="cline-any cline-neutral"> </span>
|
|
468
442
|
<span class="cline-any cline-yes">18x</span>
|
|
469
443
|
<span class="cline-any cline-yes">18x</span>
|
|
470
444
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -480,9 +454,7 @@
|
|
|
480
454
|
<span class="cline-any cline-neutral"> </span>
|
|
481
455
|
<span class="cline-any cline-neutral"> </span>
|
|
482
456
|
<span class="cline-any cline-neutral"> </span>
|
|
483
|
-
<span class="cline-any cline-neutral"> </span>
|
|
484
457
|
<span class="cline-any cline-yes">39x</span>
|
|
485
|
-
<span class="cline-any cline-yes">26x</span>
|
|
486
458
|
<span class="cline-any cline-neutral"> </span>
|
|
487
459
|
<span class="cline-any cline-yes">26x</span>
|
|
488
460
|
<span class="cline-any cline-yes">26x</span>
|
|
@@ -518,12 +490,12 @@ const {
|
|
|
518
490
|
getLinkedTable,
|
|
519
491
|
} = require("./linkUtils")
|
|
520
492
|
const { flatten } = require("lodash")
|
|
521
|
-
const CouchDB = require("../../db")
|
|
522
493
|
const { FieldTypes } = require("../../constants")
|
|
523
494
|
const { getMultiIDParams, USER_METDATA_PREFIX } = require("../../db/utils")
|
|
524
495
|
const { partition } = require("lodash")
|
|
525
496
|
const { getGlobalUsersFromMetadata } = require("../../utilities/global")
|
|
526
497
|
const { processFormulas } = require("../../utilities/rowProcessor/utils")
|
|
498
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
527
499
|
|
|
528
500
|
/**
|
|
529
501
|
* This functionality makes sure that when rows with links are created, updated or deleted they are processed
|
|
@@ -557,14 +529,13 @@ function clearRelationshipFields(table, rows) {
|
|
|
557
529
|
return rows
|
|
558
530
|
}
|
|
559
531
|
|
|
560
|
-
async function getLinksForRows(
|
|
532
|
+
async function getLinksForRows(rows) {
|
|
561
533
|
const tableIds = [...new Set(rows.map(el => el.tableId))]
|
|
562
534
|
// start by getting all the link values for performance reasons
|
|
563
535
|
const responses = flatten(
|
|
564
536
|
await Promise.all(
|
|
565
537
|
tableIds.map(tableId =>
|
|
566
538
|
getLinkDocuments({
|
|
567
|
-
appId,
|
|
568
539
|
tableId: tableId,
|
|
569
540
|
includeDocs: IncludeDocs.EXCLUDE,
|
|
570
541
|
})
|
|
@@ -581,9 +552,9 @@ async function getLinksForRows(appId, rows) {
|
|
|
581
552
|
)
|
|
582
553
|
}
|
|
583
554
|
|
|
584
|
-
async function getFullLinkedDocs(
|
|
555
|
+
async function getFullLinkedDocs(links) {
|
|
585
556
|
// create DBs
|
|
586
|
-
const db =
|
|
557
|
+
const db = getAppDB()
|
|
587
558
|
const linkedRowIds = links.map(link => link.id)
|
|
588
559
|
const uniqueRowIds = [...new Set(linkedRowIds)]
|
|
589
560
|
let dbRows = (await db.allDocs(getMultiIDParams(uniqueRowIds))).rows.map(
|
|
@@ -597,7 +568,7 @@ async function getFullLinkedDocs(appId, links) {
|
|
|
597
568
|
let [users, other] = partition(linked, linkRow =>
|
|
598
569
|
linkRow._id.startsWith(USER_METDATA_PREFIX)
|
|
599
570
|
)
|
|
600
|
-
users = await getGlobalUsersFromMetadata(
|
|
571
|
+
users = await getGlobalUsersFromMetadata(users)
|
|
601
572
|
return [...other, ...users]
|
|
602
573
|
}
|
|
603
574
|
|
|
@@ -605,20 +576,16 @@ async function getFullLinkedDocs(appId, links) {
|
|
|
605
576
|
* Update link documents for a row or table - this is to be called by the API controller when a change is occurring.
|
|
606
577
|
* @param {string} args.eventType states what type of change which is occurring, means this can be expanded upon in the
|
|
607
578
|
* future quite easily (all updates go through one function).
|
|
608
|
-
* @param {string} args.appId The ID of the instance in which the change is occurring.
|
|
609
579
|
* @param {string} args.tableId The ID of the of the table which is being changed.
|
|
610
|
-
* @param {object|
|
|
611
|
-
* @param {object|
|
|
612
|
-
* @param {object|
|
|
580
|
+
* @param {object|undefined} args.row The row which is changing, e.g. created, updated or deleted.
|
|
581
|
+
* @param {object|undefined} args.table If the table has already been retrieved this can be used to reduce database gets.
|
|
582
|
+
* @param {object|undefined} args.oldTable If the table is being updated then the old table can be provided for differencing.
|
|
613
583
|
* @returns {Promise<object>} When the update is complete this will respond successfully. Returns the row for
|
|
614
584
|
* row operations and the table for table operations.
|
|
615
585
|
*/
|
|
616
586
|
exports.updateLinks = async function (args) {
|
|
617
|
-
const { eventType,
|
|
587
|
+
const { eventType, row, tableId, table, oldTable } = args
|
|
618
588
|
const baseReturnObj = row == null ? table : row
|
|
619
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (appId == null) {
|
|
620
|
-
<span class="cstat-no" title="statement not covered" > throw "Cannot operate without an instance ID."</span>
|
|
621
|
-
}
|
|
622
589
|
// make sure table ID is set
|
|
623
590
|
if (tableId == null && table != null) {
|
|
624
591
|
args.tableId = table._id
|
|
@@ -655,26 +622,23 @@ exports.updateLinks = async function (args) {
|
|
|
655
622
|
/**
|
|
656
623
|
* Given a table and a list of rows this will retrieve all of the attached docs and enrich them into the row.
|
|
657
624
|
* This is required for formula fields, this may only be utilised internally (for now).
|
|
658
|
-
* @param {string} appId The ID of the app which this request is in the context of.
|
|
659
625
|
* @param {object} table The table from which the rows originated.
|
|
660
626
|
* @param {array<object>} rows The rows which are to be enriched.
|
|
661
627
|
* @return {Promise<*>} returns the rows with all of the enriched relationships on it.
|
|
662
628
|
*/
|
|
663
|
-
exports.attachFullLinkedDocs = async (
|
|
629
|
+
exports.attachFullLinkedDocs = async (table, rows) => {
|
|
664
630
|
const linkedTableIds = getLinkedTableIDs(table)
|
|
665
631
|
if (linkedTableIds.length === 0) {
|
|
666
632
|
return rows
|
|
667
633
|
}
|
|
668
|
-
// create DBs
|
|
669
|
-
const db = new CouchDB(appId)
|
|
670
634
|
// get all the links
|
|
671
|
-
const links = (await getLinksForRows(
|
|
635
|
+
const links = (await getLinksForRows(rows)).filter(link =>
|
|
672
636
|
rows.some(row => row._id === link.thisId)
|
|
673
637
|
)
|
|
674
638
|
// clear any existing links that could be dupe'd
|
|
675
639
|
rows = clearRelationshipFields(table, rows)
|
|
676
640
|
// now get the docs and combine into the rows
|
|
677
|
-
let linked = await getFullLinkedDocs(
|
|
641
|
+
let linked = await getFullLinkedDocs(links)
|
|
678
642
|
const linkedTables = []
|
|
679
643
|
for (let row of rows) {
|
|
680
644
|
for (let link of links.filter(link => link.thisId === row._id)) {
|
|
@@ -685,11 +649,7 @@ exports.attachFullLinkedDocs = async (appId, table, rows) => {
|
|
|
685
649
|
if (linkedRow) {
|
|
686
650
|
const linkedTableId =
|
|
687
651
|
linkedRow.tableId || <span class="branch-1 cbranch-no" title="branch not covered" >getRelatedTableForField(table, link.fieldName)</span>
|
|
688
|
-
const linkedTable = await getLinkedTable(
|
|
689
|
-
db,
|
|
690
|
-
linkedTableId,
|
|
691
|
-
linkedTables
|
|
692
|
-
)
|
|
652
|
+
const linkedTable = await getLinkedTable(linkedTableId, linkedTables)
|
|
693
653
|
if (linkedTable) {
|
|
694
654
|
row[link.fieldName].push(processFormulas(linkedTable, linkedRow))
|
|
695
655
|
}
|
|
@@ -701,18 +661,16 @@ exports.attachFullLinkedDocs = async (appId, table, rows) => {
|
|
|
701
661
|
|
|
702
662
|
/**
|
|
703
663
|
* This function will take the given enriched rows and squash the links to only contain the primary display field.
|
|
704
|
-
* @param {string} appId The app in which the tables/rows/links exist.
|
|
705
664
|
* @param {object} table The table from which the rows originated.
|
|
706
665
|
* @param {array<object>} enriched The pre-enriched rows (full docs) which are to be squashed.
|
|
707
666
|
* @returns {Promise<Array>} The rows after having their links squashed to only contain the ID and primary display.
|
|
708
667
|
*/
|
|
709
|
-
exports.squashLinksToPrimaryDisplay = async (
|
|
710
|
-
const db = new CouchDB(appId)
|
|
668
|
+
exports.squashLinksToPrimaryDisplay = async (table, enriched) => {
|
|
711
669
|
// will populate this as we find them
|
|
712
670
|
const linkedTables = [table]
|
|
713
671
|
for (let row of enriched) {
|
|
714
672
|
// this only fetches the table if its not already in array
|
|
715
|
-
const rowTable = await getLinkedTable(
|
|
673
|
+
const rowTable = await getLinkedTable(row.tableId, linkedTables)
|
|
716
674
|
for (let [column, schema] of Object.entries(rowTable.schema)) {
|
|
717
675
|
if (schema.type !== FieldTypes.LINK || !Array.isArray(row[column])) {
|
|
718
676
|
continue
|
|
@@ -720,7 +678,7 @@ exports.squashLinksToPrimaryDisplay = async (appId, table, enriched) => {
|
|
|
720
678
|
const newLinks = []
|
|
721
679
|
for (let link of row[column]) {
|
|
722
680
|
const linkTblId = link.tableId || <span class="branch-1 cbranch-no" title="branch not covered" >getRelatedTableForField(table, column)</span>
|
|
723
|
-
const linkedTable = await getLinkedTable(
|
|
681
|
+
const linkedTable = await getLinkedTable(linkTblId, linkedTables)
|
|
724
682
|
const obj = { _id: link._id }
|
|
725
683
|
if (link[linkedTable.primaryDisplay]) {
|
|
726
684
|
obj.primaryDisplay = link[linkedTable.primaryDisplay]
|
|
@@ -739,7 +697,7 @@ exports.squashLinksToPrimaryDisplay = async (appId, table, enriched) => {
|
|
|
739
697
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
740
698
|
Code coverage generated by
|
|
741
699
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
742
|
-
at
|
|
700
|
+
at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
743
701
|
</div>
|
|
744
702
|
</div>
|
|
745
703
|
<script src="../../prettify.js"></script>
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">93.1% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>54/58</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">76.92% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>20/26</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">92.59% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>50/54</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -203,21 +203,20 @@
|
|
|
203
203
|
<span class="cline-any cline-neutral"> </span>
|
|
204
204
|
<span class="cline-any cline-neutral"> </span>
|
|
205
205
|
<span class="cline-any cline-neutral"> </span>
|
|
206
|
-
<span class="cline-any cline-neutral"> </span>
|
|
207
206
|
<span class="cline-any cline-yes">39x</span>
|
|
208
|
-
<span class="cline-any cline-yes">
|
|
209
|
-
<span class="cline-any cline-yes">
|
|
207
|
+
<span class="cline-any cline-yes">70x</span>
|
|
208
|
+
<span class="cline-any cline-yes">70x</span>
|
|
210
209
|
<span class="cline-any cline-neutral"> </span>
|
|
211
|
-
<span class="cline-any cline-yes">
|
|
212
|
-
<span class="cline-any cline-yes">
|
|
210
|
+
<span class="cline-any cline-yes">70x</span>
|
|
211
|
+
<span class="cline-any cline-yes">31x</span>
|
|
213
212
|
<span class="cline-any cline-neutral"> </span>
|
|
214
213
|
<span class="cline-any cline-neutral"> </span>
|
|
215
214
|
<span class="cline-any cline-neutral"> </span>
|
|
216
215
|
<span class="cline-any cline-yes">39x</span>
|
|
217
216
|
<span class="cline-any cline-neutral"> </span>
|
|
218
|
-
<span class="cline-any cline-yes">
|
|
219
|
-
<span class="cline-any cline-yes">
|
|
220
|
-
<span class="cline-any cline-yes">
|
|
217
|
+
<span class="cline-any cline-yes">70x</span>
|
|
218
|
+
<span class="cline-any cline-yes">70x</span>
|
|
219
|
+
<span class="cline-any cline-yes">70x</span>
|
|
221
220
|
<span class="cline-any cline-neutral"> </span>
|
|
222
221
|
<span class="cline-any cline-yes">70x</span>
|
|
223
222
|
<span class="cline-any cline-yes">70x</span>
|
|
@@ -242,9 +241,9 @@
|
|
|
242
241
|
<span class="cline-any cline-neutral"> </span>
|
|
243
242
|
<span class="cline-any cline-neutral"> </span>
|
|
244
243
|
<span class="cline-any cline-neutral"> </span>
|
|
245
|
-
<span class="cline-any cline-
|
|
246
|
-
<span class="cline-any cline-
|
|
247
|
-
<span class="cline-any cline-
|
|
244
|
+
<span class="cline-any cline-no"> </span>
|
|
245
|
+
<span class="cline-any cline-no"> </span>
|
|
246
|
+
<span class="cline-any cline-no"> </span>
|
|
248
247
|
<span class="cline-any cline-neutral"> </span>
|
|
249
248
|
<span class="cline-any cline-neutral"> </span>
|
|
250
249
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -267,6 +266,7 @@
|
|
|
267
266
|
<span class="cline-any cline-yes">39x</span>
|
|
268
267
|
<span class="cline-any cline-yes">61x</span>
|
|
269
268
|
<span class="cline-any cline-yes">61x</span>
|
|
269
|
+
<span class="cline-any cline-yes">61x</span>
|
|
270
270
|
<span class="cline-any cline-yes">34x</span>
|
|
271
271
|
<span class="cline-any cline-neutral"> </span>
|
|
272
272
|
<span class="cline-any cline-yes">27x</span>
|
|
@@ -289,11 +289,11 @@
|
|
|
289
289
|
<span class="cline-any cline-neutral"> </span>
|
|
290
290
|
<span class="cline-any cline-no"> </span>
|
|
291
291
|
<span class="cline-any cline-neutral"> </span>
|
|
292
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
293
|
-
const Sentry = require("@sentry/node")
|
|
292
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const Sentry = require("@sentry/node")
|
|
294
293
|
const { ViewNames, getQueryIndex } = require("../utils")
|
|
295
294
|
const { FieldTypes } = require("../../constants")
|
|
296
295
|
const { createLinkView } = require("../views/staticViews")
|
|
296
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
297
297
|
|
|
298
298
|
/**
|
|
299
299
|
* Only needed so that boolean parameters are being used for includeDocs
|
|
@@ -308,7 +308,6 @@ exports.createLinkView = createLinkView
|
|
|
308
308
|
|
|
309
309
|
/**
|
|
310
310
|
* Gets the linking documents, not the linked documents themselves.
|
|
311
|
-
* @param {string} args.appId The instance in which we are searching for linked rows.
|
|
312
311
|
* @param {string} args.tableId The table which we are searching for linked rows against.
|
|
313
312
|
* @param {string|null} args.fieldName The name of column/field which is being altered, only looking for
|
|
314
313
|
* linking documents that are related to it. If this is not specified then the table level will be assumed.
|
|
@@ -321,8 +320,8 @@ exports.createLinkView = createLinkView
|
|
|
321
320
|
* (if any).
|
|
322
321
|
*/
|
|
323
322
|
exports.getLinkDocuments = async function (args) {
|
|
324
|
-
const {
|
|
325
|
-
const db =
|
|
323
|
+
const { tableId, rowId, includeDocs } = args
|
|
324
|
+
const db = getAppDB()
|
|
326
325
|
let params
|
|
327
326
|
if (rowId != null) {
|
|
328
327
|
params = { key: [tableId, rowId] }
|
|
@@ -358,10 +357,10 @@ exports.getLinkDocuments = async function (args) {
|
|
|
358
357
|
}
|
|
359
358
|
} catch (err) {
|
|
360
359
|
// check if the view doesn't exist, it should for all new instances
|
|
361
|
-
if (err != null && err.name === "not_found") {
|
|
362
|
-
await exports.createLinkView(
|
|
363
|
-
return exports.getLinkDocuments(arguments[0])
|
|
364
|
-
} else
|
|
360
|
+
<span class="cstat-no" title="statement not covered" > if (err != null && err.name === "not_found") {</span>
|
|
361
|
+
<span class="cstat-no" title="statement not covered" > await exports.createLinkView()</span>
|
|
362
|
+
<span class="cstat-no" title="statement not covered" > return exports.getLinkDocuments(arguments[0])</span>
|
|
363
|
+
} else {
|
|
365
364
|
/* istanbul ignore next */
|
|
366
365
|
Sentry.captureException(err)
|
|
367
366
|
}
|
|
@@ -380,7 +379,8 @@ exports.getLinkedTableIDs = table => {
|
|
|
380
379
|
.map(column => column.tableId)
|
|
381
380
|
}
|
|
382
381
|
|
|
383
|
-
exports.getLinkedTable = async (
|
|
382
|
+
exports.getLinkedTable = async (id, tables) => {
|
|
383
|
+
const db = getAppDB()
|
|
384
384
|
let linkedTable = tables.find(table => table._id === id)
|
|
385
385
|
if (linkedTable) {
|
|
386
386
|
return linkedTable
|
|
@@ -412,7 +412,7 @@ exports.getRelatedTableForField = (table, fieldName) => {
|
|
|
412
412
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
413
413
|
Code coverage generated by
|
|
414
414
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
415
|
-
at
|
|
415
|
+
at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
416
416
|
</div>
|
|
417
417
|
</div>
|
|
418
418
|
<script src="../../prettify.js"></script>
|
|
@@ -79,7 +79,7 @@ module.exports = function () {
|
|
|
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">istanbul</a>
|
|
82
|
-
at
|
|
82
|
+
at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
83
83
|
</div>
|
|
84
84
|
</div>
|
|
85
85
|
<script src="../prettify.js"></script>
|
|
@@ -523,7 +523,7 @@
|
|
|
523
523
|
<span class="cline-any cline-yes">54x</span>
|
|
524
524
|
<span class="cline-any cline-neutral"> </span>
|
|
525
525
|
<span class="cline-any cline-yes">54x</span>
|
|
526
|
-
<span class="cline-any cline-yes">
|
|
526
|
+
<span class="cline-any cline-yes">73x</span>
|
|
527
527
|
<span class="cline-any cline-neutral"> </span>
|
|
528
528
|
<span class="cline-any cline-neutral"> </span>
|
|
529
529
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -591,8 +591,8 @@
|
|
|
591
591
|
<span class="cline-any cline-neutral"> </span>
|
|
592
592
|
<span class="cline-any cline-neutral"> </span>
|
|
593
593
|
<span class="cline-any cline-yes">54x</span>
|
|
594
|
-
<span class="cline-any cline-yes">
|
|
595
|
-
<span class="cline-any cline-yes">
|
|
594
|
+
<span class="cline-any cline-yes">243x</span>
|
|
595
|
+
<span class="cline-any cline-yes">243x</span>
|
|
596
596
|
<span class="cline-any cline-neutral"> </span>
|
|
597
597
|
<span class="cline-any cline-neutral"> </span>
|
|
598
598
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -608,7 +608,7 @@
|
|
|
608
608
|
<span class="cline-any cline-neutral"> </span>
|
|
609
609
|
<span class="cline-any cline-neutral"> </span>
|
|
610
610
|
<span class="cline-any cline-yes">54x</span>
|
|
611
|
-
<span class="cline-any cline-yes">
|
|
611
|
+
<span class="cline-any cline-yes">172x</span>
|
|
612
612
|
<span class="cline-any cline-neutral"> </span>
|
|
613
613
|
<span class="cline-any cline-neutral"> </span>
|
|
614
614
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1201,7 +1201,7 @@ exports.getMultiIDParams = ids => {
|
|
|
1201
1201
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1202
1202
|
Code coverage generated by
|
|
1203
1203
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1204
|
-
at
|
|
1204
|
+
at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
1205
1205
|
</div>
|
|
1206
1206
|
</div>
|
|
1207
1207
|
<script src="../prettify.js"></script>
|
|
@@ -217,7 +217,7 @@ module.exports = AutomationEmitter
|
|
|
217
217
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
218
218
|
Code coverage generated by
|
|
219
219
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
220
|
-
at
|
|
220
|
+
at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
221
221
|
</div>
|
|
222
222
|
</div>
|
|
223
223
|
<script src="../prettify.js"></script>
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
126
126
|
Code coverage generated by
|
|
127
127
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
128
|
-
at
|
|
128
|
+
at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
129
129
|
</div>
|
|
130
130
|
</div>
|
|
131
131
|
<script src="../prettify.js"></script>
|
|
@@ -154,7 +154,7 @@ module.exports = emitter
|
|
|
154
154
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
155
155
|
Code coverage generated by
|
|
156
156
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
157
|
-
at
|
|
157
|
+
at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
158
158
|
</div>
|
|
159
159
|
</div>
|
|
160
160
|
<script src="../prettify.js"></script>
|
|
@@ -178,7 +178,7 @@ exports.tableEmission = ({ emitter, eventName, appId, table, metadata }) => {
|
|
|
178
178
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
179
179
|
Code coverage generated by
|
|
180
180
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
181
|
-
at
|
|
181
|
+
at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
182
182
|
</div>
|
|
183
183
|
</div>
|
|
184
184
|
<script src="../prettify.js"></script>
|