@budibase/server 1.3.20 → 1.3.21-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__mocks__/mongodb.ts +1 -1
- package/builder/assets/index.75653b72.js +1005 -0
- package/builder/assets/index.f1b70f52.css +6 -0
- package/builder/index.html +2 -4
- package/coverage/clover.xml +451 -390
- package/coverage/coverage-final.json +21 -21
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/auth.js.html +41 -8
- package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
- package/coverage/lcov-report/api/controllers/component.js.html +68 -11
- package/coverage/lcov-report/api/controllers/datasource.js.html +73 -34
- package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
- package/coverage/lcov-report/api/controllers/index.html +46 -46
- package/coverage/lcov-report/api/controllers/integration.js.html +6 -6
- 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 +2 -2
- package/coverage/lcov-report/api/controllers/row/index.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/screen.js.html +207 -12
- 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 +1 -1
- package/coverage/lcov-report/api/index.js.html +13 -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 +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/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 +2 -2
- 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 +9 -9
- package/coverage/lcov-report/api/routes/utils/validators.js.html +75 -12
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +1 -1
- package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/automations/index.html +1 -1
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/automations/steps/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 +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/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 +1 -1
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +1 -1
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +1 -1
- package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
- package/coverage/lcov-report/db/index.html +18 -18
- package/coverage/lcov-report/db/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
- package/coverage/lcov-report/db/newid.js.html +2 -2
- package/coverage/lcov-report/db/utils.js.html +56 -20
- package/coverage/lcov-report/events/AutomationEmitter.js.html +3 -3
- 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 +46 -46
- 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 +46 -40
- package/coverage/lcov-report/middleware/index.html +15 -15
- package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
- 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/utilities/budibaseDir.js.html +3 -3
- package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
- package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
- package/coverage/lcov-report/utilities/global.js.html +16 -16
- package/coverage/lcov-report/utilities/index.html +15 -15
- package/coverage/lcov-report/utilities/index.js.html +24 -24
- 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 +32 -8
- package/coverage/lcov.info +798 -672
- package/dist/api/controllers/application.js +5 -5
- package/dist/api/controllers/auth.js +9 -0
- package/dist/api/controllers/component.js +14 -1
- package/dist/api/controllers/datasource.js +21 -8
- package/dist/api/controllers/deploy/index.js +1 -8
- package/dist/api/controllers/integration.js +4 -4
- package/dist/{migrations/functions/usageQuotas/syncDevelopers.js → api/controllers/plugin/file.js} +13 -13
- package/dist/api/controllers/plugin/github.js +69 -0
- package/dist/api/controllers/plugin/index.js +200 -0
- package/dist/api/controllers/plugin/npm.js +58 -0
- package/dist/api/controllers/plugin/uploaders.js +11 -0
- package/dist/{migrations/functions/usageQuotas/syncPublishedApps.js → api/controllers/plugin/url.js} +13 -15
- package/dist/api/controllers/plugin/utils.js +26 -0
- package/dist/api/controllers/row/external.js +1 -1
- package/dist/api/controllers/screen.js +52 -2
- package/dist/api/controllers/static/index.js +1 -0
- package/dist/api/controllers/static/templates/BudibaseApp.svelte +10 -0
- package/dist/api/controllers/static/templates/preview.hbs +5 -1
- package/dist/api/index.js +1 -1
- package/dist/api/routes/application.js +3 -2
- package/dist/api/routes/index.js +2 -0
- package/dist/{migrations/functions/publishedAppsQuota.js → api/routes/plugin.js} +13 -21
- package/dist/api/routes/public/rows.js +1 -82
- package/dist/api/routes/public/tables.js +1 -1
- package/dist/api/routes/table.js +1 -1
- package/dist/api/routes/utils/validators.js +20 -2
- package/dist/app.js +16 -1
- package/dist/db/utils.js +10 -1
- package/dist/environment.js +1 -0
- package/dist/integrations/airtable.js +126 -129
- package/dist/integrations/arangodb.js +86 -89
- package/dist/integrations/base/query.js +2 -2
- package/dist/integrations/base/sqlTable.js +3 -1
- package/dist/integrations/couchdb.js +80 -83
- package/dist/integrations/dynamodb.js +161 -164
- package/dist/integrations/elasticsearch.js +135 -138
- package/dist/integrations/firebase.js +154 -157
- package/dist/integrations/googlesheets.js +323 -327
- package/dist/integrations/index.js +99 -51
- package/dist/integrations/microsoftSqlServer.js +240 -243
- package/dist/integrations/mongodb.js +239 -242
- package/dist/integrations/mysql.js +215 -219
- package/dist/integrations/oracle.js +318 -322
- package/dist/integrations/postgres.js +262 -265
- package/dist/integrations/redis.js +134 -139
- package/dist/integrations/rest.js +289 -292
- package/dist/integrations/s3.js +61 -64
- package/dist/integrations/snowflake.js +83 -86
- package/dist/middleware/currentapp.js +2 -0
- package/dist/migrations/functions/backfill/global.js +0 -3
- package/dist/migrations/index.js +0 -10
- package/dist/package.json +9 -6
- package/dist/tests/utilities/TestConfiguration.js +1 -1
- package/dist/threads/query.js +2 -2
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/index.js +111 -1
- package/dist/utilities/workerRequests.js +4 -0
- package/dist/watch.js +77 -0
- package/dist/websocket.js +22 -0
- package/package.json +10 -7
- package/scripts/dev/manage.js +4 -0
- package/scripts/localdomain.js +3 -1
- package/specs/openapi.json +115 -112
- package/specs/openapi.yaml +96 -94
- package/specs/resources/misc.js +116 -0
- package/specs/resources/query.js +1 -1
- package/src/api/controllers/application.ts +1 -2
- package/src/api/controllers/auth.js +11 -0
- package/src/api/controllers/component.js +21 -2
- package/src/api/controllers/datasource.js +21 -8
- package/src/api/controllers/deploy/index.ts +1 -6
- package/src/api/controllers/integration.js +4 -4
- package/src/api/controllers/plugin/file.ts +15 -0
- package/src/api/controllers/plugin/github.ts +75 -0
- package/src/api/controllers/plugin/index.ts +215 -0
- package/src/api/controllers/plugin/npm.ts +56 -0
- package/src/api/controllers/plugin/uploaders.ts +4 -0
- package/src/api/controllers/plugin/url.ts +12 -0
- package/src/api/controllers/plugin/utils.ts +19 -0
- package/src/api/controllers/public/mapping/types.ts +8 -0
- package/src/api/controllers/row/external.js +1 -1
- package/src/api/controllers/screen.js +66 -1
- package/src/api/controllers/static/index.ts +1 -1
- package/src/api/controllers/static/templates/BudibaseApp.svelte +10 -0
- package/src/api/controllers/static/templates/preview.hbs +5 -1
- package/src/api/index.js +1 -1
- package/src/api/routes/application.ts +13 -2
- package/src/api/routes/index.ts +2 -0
- package/src/api/routes/plugin.ts +14 -0
- package/src/api/routes/public/rows.ts +1 -82
- package/src/api/routes/public/tables.ts +1 -1
- package/src/api/routes/table.js +1 -1
- package/src/api/routes/tests/query.spec.js +8 -25
- package/src/api/routes/tests/user.spec.js +0 -2
- package/src/api/routes/utils/validators.js +26 -5
- package/src/app.ts +25 -2
- package/src/db/utils.js +12 -0
- package/src/definitions/openapi.ts +56 -55
- package/src/environment.js +1 -0
- package/src/integrations/airtable.ts +116 -118
- package/src/integrations/arangodb.ts +87 -89
- package/src/integrations/base/query.ts +2 -2
- package/src/integrations/base/sqlTable.ts +3 -1
- package/src/integrations/couchdb.ts +83 -89
- package/src/integrations/dynamodb.ts +173 -175
- package/src/integrations/elasticsearch.ts +120 -122
- package/src/integrations/firebase.ts +157 -159
- package/src/integrations/googlesheets.ts +328 -338
- package/src/integrations/index.ts +64 -21
- package/src/integrations/microsoftSqlServer.ts +249 -251
- package/src/integrations/mongodb.ts +261 -258
- package/src/integrations/mysql.ts +229 -234
- package/src/integrations/oracle.ts +373 -380
- package/src/integrations/postgres.ts +264 -268
- package/src/integrations/redis.ts +128 -132
- package/src/integrations/rest.ts +324 -329
- package/src/integrations/s3.ts +68 -71
- package/src/integrations/snowflake.ts +80 -82
- package/src/integrations/tests/{airtable.spec.js → airtable.spec.ts} +21 -18
- package/src/integrations/tests/{arangodb.spec.js → arangodb.spec.ts} +12 -9
- package/src/integrations/tests/{couchdb.spec.js → couchdb.spec.ts} +33 -27
- package/src/integrations/tests/{dynamodb.spec.js → dynamodb.spec.ts} +45 -41
- package/src/integrations/tests/{elasticsearch.spec.js → elasticsearch.spec.ts} +22 -21
- package/src/integrations/tests/{firebase.spec.js → firebase.spec.ts} +33 -28
- package/src/integrations/tests/{microsoftSqlServer.spec.js → microsoftSqlServer.spec.ts} +12 -11
- package/src/integrations/tests/{mongo.spec.js → mongo.spec.ts} +46 -35
- package/src/integrations/tests/{mysql.spec.js → mysql.spec.ts} +17 -15
- package/src/integrations/tests/{oracle.spec.js → oracle.spec.ts} +19 -17
- package/src/integrations/tests/{postgres.spec.js → postgres.spec.ts} +19 -17
- package/src/integrations/tests/{redis.spec.js → redis.spec.ts} +27 -18
- package/src/integrations/tests/{rest.spec.js → rest.spec.ts} +22 -14
- package/src/integrations/tests/{s3.spec.js → s3.spec.ts} +10 -8
- package/src/integrations/tests/{sql.spec.js → sql.spec.ts} +228 -177
- package/src/middleware/currentapp.js +2 -0
- package/src/migrations/functions/backfill/global.ts +0 -3
- package/src/migrations/index.ts +0 -16
- package/src/module.d.ts +2 -0
- package/src/tests/utilities/TestConfiguration.js +1 -1
- package/src/threads/query.ts +2 -2
- package/src/utilities/fileSystem/index.js +130 -0
- package/src/utilities/workerRequests.js +8 -0
- package/src/watch.ts +38 -0
- package/src/websocket.ts +26 -0
- package/builder/assets/index.79165a2a.js +0 -876
- package/builder/assets/index.fbe5f97c.css +0 -6
- package/builder/assets/vendor.5e1fe644.css +0 -1
- package/builder/assets/vendor.67dbd8fa.js +0 -248
- package/dist/migrations/functions/developerQuota.js +0 -49
- package/src/migrations/functions/developerQuota.ts +0 -15
- package/src/migrations/functions/publishedAppsQuota.ts +0 -13
- package/src/migrations/functions/usageQuotas/syncDevelopers.ts +0 -19
- package/src/migrations/functions/usageQuotas/syncPublishedApps.ts +0 -21
|
@@ -232,7 +232,7 @@ exports.update = async function (ctx) {
|
|
|
232
232
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
233
233
|
Code coverage generated by
|
|
234
234
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
235
|
-
at Fri Sep 16 2022
|
|
235
|
+
at Fri Sep 16 2022 15:29:28 GMT+0000 (Coordinated Universal Time)
|
|
236
236
|
</div>
|
|
237
237
|
<script src="../../prettify.js"></script>
|
|
238
238
|
<script>
|
|
@@ -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">84.37% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>27/32</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">50% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>5/10</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>2/2</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">84.37% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>27/32</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -121,12 +121,32 @@
|
|
|
121
121
|
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
122
|
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
123
|
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
-
<a name='L59'></a><a href='#L59'>59</a
|
|
124
|
+
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
+
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
+
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
+
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
+
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
+
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
+
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
+
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
+
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
+
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
+
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
+
<a name='L70'></a><a href='#L70'>70</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">28x</span>
|
|
125
136
|
<span class="cline-any cline-yes">28x</span>
|
|
126
137
|
<span class="cline-any cline-yes">28x</span>
|
|
127
138
|
<span class="cline-any cline-yes">28x</span>
|
|
128
139
|
<span class="cline-any cline-yes">28x</span>
|
|
129
140
|
<span class="cline-any cline-neutral"> </span>
|
|
141
|
+
<span class="cline-any cline-neutral"> </span>
|
|
142
|
+
<span class="cline-any cline-neutral"> </span>
|
|
143
|
+
<span class="cline-any cline-neutral"> </span>
|
|
144
|
+
<span class="cline-any cline-yes">28x</span>
|
|
145
|
+
<span class="cline-any cline-yes">1x</span>
|
|
146
|
+
<span class="cline-any cline-yes">1x</span>
|
|
147
|
+
<span class="cline-any cline-neutral"> </span>
|
|
148
|
+
<span class="cline-any cline-neutral"> </span>
|
|
149
|
+
<span class="cline-any cline-neutral"> </span>
|
|
130
150
|
<span class="cline-any cline-yes">28x</span>
|
|
131
151
|
<span class="cline-any cline-yes">1x</span>
|
|
132
152
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -179,12 +199,23 @@
|
|
|
179
199
|
<span class="cline-any cline-no"> </span>
|
|
180
200
|
<span class="cline-any cline-neutral"> </span>
|
|
181
201
|
<span class="cline-any cline-neutral"> </span>
|
|
202
|
+
<span class="cline-any cline-yes">1x</span>
|
|
203
|
+
<span class="cline-any cline-neutral"> </span>
|
|
182
204
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const { outputProcessing } = require("../../utilities/rowProcessor")
|
|
183
205
|
const { InternalTables } = require("../../db/utils")
|
|
184
206
|
const { getFullUser } = require("../../utilities/users")
|
|
185
207
|
const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
|
|
186
208
|
const { getAppDB, getAppId } = require("@budibase/backend-core/context")
|
|
187
209
|
|
|
210
|
+
/**
|
|
211
|
+
* Add the attributes that are session based to the current user.
|
|
212
|
+
*/
|
|
213
|
+
const addSessionAttributesToUser = ctx => {
|
|
214
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (ctx.user) {
|
|
215
|
+
ctx.body.license = ctx.user.license
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
188
219
|
exports.fetchSelf = async ctx => {
|
|
189
220
|
let userId = ctx.user.userId || <span class="branch-1 cbranch-no" title="branch not covered" >ctx.user._id</span>
|
|
190
221
|
/* istanbul ignore next */
|
|
@@ -236,6 +267,8 @@ exports.fetchSelf = async ctx => {
|
|
|
236
267
|
} else <span class="missing-if-branch" title="else path not taken" >E</span>{
|
|
237
268
|
<span class="cstat-no" title="statement not covered" > ctx.body = user</span>
|
|
238
269
|
}
|
|
270
|
+
|
|
271
|
+
addSessionAttributesToUser(ctx)
|
|
239
272
|
}
|
|
240
273
|
</pre></td></tr></table></pre>
|
|
241
274
|
|
|
@@ -244,7 +277,7 @@ exports.fetchSelf = async ctx => {
|
|
|
244
277
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
245
278
|
Code coverage generated by
|
|
246
279
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
247
|
-
at Fri Sep 16 2022
|
|
280
|
+
at Fri Sep 16 2022 15:29:28 GMT+0000 (Coordinated Universal Time)
|
|
248
281
|
</div>
|
|
249
282
|
<script src="../../prettify.js"></script>
|
|
250
283
|
<script>
|
|
@@ -925,7 +925,7 @@ exports.test = async function (ctx) {
|
|
|
925
925
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
926
926
|
Code coverage generated by
|
|
927
927
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
928
|
-
at Fri Sep 16 2022
|
|
928
|
+
at Fri Sep 16 2022 15:29:28 GMT+0000 (Coordinated Universal Time)
|
|
929
929
|
</div>
|
|
930
930
|
<script src="../../prettify.js"></script>
|
|
931
931
|
<script>
|
|
@@ -127,7 +127,7 @@ exports.exportAppDump = async function (ctx) {
|
|
|
127
127
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
128
128
|
Code coverage generated by
|
|
129
129
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
130
|
-
at Fri Sep 16 2022
|
|
130
|
+
at Fri Sep 16 2022 15:29:28 GMT+0000 (Coordinated Universal Time)
|
|
131
131
|
</div>
|
|
132
132
|
<script src="../../prettify.js"></script>
|
|
133
133
|
<script>
|
|
@@ -409,7 +409,7 @@ exports.importApps = <span class="fstat-no" title="function not covered" >as</sp
|
|
|
409
409
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
410
410
|
Code coverage generated by
|
|
411
411
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
412
|
-
at Fri Sep 16 2022
|
|
412
|
+
at Fri Sep 16 2022 15:29:28 GMT+0000 (Coordinated Universal Time)
|
|
413
413
|
</div>
|
|
414
414
|
<script src="../../prettify.js"></script>
|
|
415
415
|
<script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">81.48% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>22/27</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">40% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>2/
|
|
42
|
+
<span class='fraction'>2/5</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">81.48% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>22/27</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -101,7 +101,27 @@
|
|
|
101
101
|
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
102
|
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
103
|
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
-
<a name='L39'></a><a href='#L39'>39</a
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
+
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
+
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
+
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
+
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
+
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
+
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
+
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
+
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
+
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
+
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
+
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
+
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
+
<a name='L58'></a><a href='#L58'>58</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">28x</span>
|
|
124
|
+
<span class="cline-any cline-yes">28x</span>
|
|
105
125
|
<span class="cline-any cline-yes">28x</span>
|
|
106
126
|
<span class="cline-any cline-yes">28x</span>
|
|
107
127
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -113,7 +133,6 @@
|
|
|
113
133
|
<span class="cline-any cline-yes">1x</span>
|
|
114
134
|
<span class="cline-any cline-neutral"> </span>
|
|
115
135
|
<span class="cline-any cline-yes">1x</span>
|
|
116
|
-
<span class="cline-any cline-neutral"> </span>
|
|
117
136
|
<span class="cline-any cline-yes">1x</span>
|
|
118
137
|
<span class="cline-any cline-neutral"> </span>
|
|
119
138
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -134,14 +153,34 @@
|
|
|
134
153
|
<span class="cline-any cline-neutral"> </span>
|
|
135
154
|
<span class="cline-any cline-neutral"> </span>
|
|
136
155
|
<span class="cline-any cline-neutral"> </span>
|
|
156
|
+
<span class="cline-any cline-neutral"> </span>
|
|
157
|
+
<span class="cline-any cline-neutral"> </span>
|
|
158
|
+
<span class="cline-any cline-yes">1x</span>
|
|
159
|
+
<span class="cline-any cline-yes">1x</span>
|
|
160
|
+
<span class="cline-any cline-neutral"> </span>
|
|
161
|
+
<span class="cline-any cline-neutral"> </span>
|
|
162
|
+
<span class="cline-any cline-neutral"> </span>
|
|
163
|
+
<span class="cline-any cline-neutral"> </span>
|
|
164
|
+
<span class="cline-any cline-yes">1x</span>
|
|
165
|
+
<span class="cline-any cline-no"> </span>
|
|
166
|
+
<span class="cline-any cline-no"> </span>
|
|
167
|
+
<span class="cline-any cline-neutral"> </span>
|
|
168
|
+
<span class="cline-any cline-no"> </span>
|
|
169
|
+
<span class="cline-any cline-no"> </span>
|
|
170
|
+
<span class="cline-any cline-neutral"> </span>
|
|
171
|
+
<span class="cline-any cline-neutral"> </span>
|
|
172
|
+
<span class="cline-any cline-neutral"> </span>
|
|
173
|
+
<span class="cline-any cline-neutral"> </span>
|
|
174
|
+
<span class="cline-any cline-neutral"> </span>
|
|
137
175
|
<span class="cline-any cline-yes">1x</span>
|
|
138
176
|
<span class="cline-any cline-neutral"> </span>
|
|
139
177
|
<span class="cline-any cline-no"> </span>
|
|
140
178
|
<span class="cline-any cline-neutral"> </span>
|
|
141
179
|
<span class="cline-any cline-neutral"> </span>
|
|
142
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const { DocumentType } = require("../../db/utils")
|
|
180
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const { DocumentType, getPluginParams } = require("../../db/utils")
|
|
143
181
|
const { getComponentLibraryManifest } = require("../../utilities/fileSystem")
|
|
144
182
|
const { getAppDB } = require("@budibase/backend-core/context")
|
|
183
|
+
const { getGlobalDB } = require("@budibase/backend-core/tenancy")
|
|
145
184
|
|
|
146
185
|
exports.fetchAppComponentDefinitions = async function (ctx) {
|
|
147
186
|
try {
|
|
@@ -151,7 +190,6 @@ exports.fetchAppComponentDefinitions = async function (ctx) {
|
|
|
151
190
|
let componentManifests = await Promise.all(
|
|
152
191
|
app.componentLibraries.map(async library => {
|
|
153
192
|
let manifest = await getComponentLibraryManifest(library)
|
|
154
|
-
|
|
155
193
|
return {
|
|
156
194
|
manifest,
|
|
157
195
|
library,
|
|
@@ -172,6 +210,25 @@ exports.fetchAppComponentDefinitions = async function (ctx) {
|
|
|
172
210
|
}
|
|
173
211
|
}
|
|
174
212
|
}
|
|
213
|
+
|
|
214
|
+
// Add custom components
|
|
215
|
+
const globalDB = getGlobalDB()
|
|
216
|
+
const response = await globalDB.allDocs(
|
|
217
|
+
getPluginParams(null, {
|
|
218
|
+
include_docs: true,
|
|
219
|
+
})
|
|
220
|
+
)
|
|
221
|
+
response.rows
|
|
222
|
+
.map(<span class="fstat-no" title="function not covered" >ro</span>w => <span class="cstat-no" title="statement not covered" >row.doc)</span>
|
|
223
|
+
.filter(<span class="fstat-no" title="function not covered" >pl</span>ugin => <span class="cstat-no" title="statement not covered" >plugin.schema.type === "component")</span>
|
|
224
|
+
.forEach(<span class="fstat-no" title="function not covered" >pl</span>ugin => {
|
|
225
|
+
const fullComponentName = <span class="cstat-no" title="statement not covered" >`plugin/${plugin.name}`</span>
|
|
226
|
+
<span class="cstat-no" title="statement not covered" > definitions[fullComponentName] = {</span>
|
|
227
|
+
component: fullComponentName,
|
|
228
|
+
...plugin.schema.schema,
|
|
229
|
+
}
|
|
230
|
+
})
|
|
231
|
+
|
|
175
232
|
ctx.body = definitions
|
|
176
233
|
} catch (err) {
|
|
177
234
|
<span class="cstat-no" title="statement not covered" > console.error(`component-definitions=failed`, err)</span>
|
|
@@ -184,7 +241,7 @@ exports.fetchAppComponentDefinitions = async function (ctx) {
|
|
|
184
241
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
185
242
|
Code coverage generated by
|
|
186
243
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
187
|
-
at Fri Sep 16 2022
|
|
244
|
+
at Fri Sep 16 2022 15:29:28 GMT+0000 (Coordinated Universal Time)
|
|
188
245
|
</div>
|
|
189
246
|
<script src="../../prettify.js"></script>
|
|
190
247
|
<script>
|
|
@@ -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">58.45% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>83/
|
|
28
|
+
<span class='fraction'>83/142</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">32.78% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>20/
|
|
35
|
+
<span class='fraction'>20/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">55% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>11/
|
|
42
|
+
<span class='fraction'>11/20</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">58.15% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>82/
|
|
49
|
+
<span class='fraction'>82/141</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -326,7 +326,20 @@
|
|
|
326
326
|
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
327
|
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
328
|
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
-
<a name='L264'></a><a href='#L264'>264</a
|
|
329
|
+
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
+
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
+
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
+
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
+
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
+
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
+
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
+
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
+
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
+
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
+
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
+
<a name='L275'></a><a href='#L275'>275</a>
|
|
341
|
+
<a name='L276'></a><a href='#L276'>276</a>
|
|
342
|
+
<a name='L277'></a><a href='#L277'>277</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
330
343
|
<span class="cline-any cline-neutral"> </span>
|
|
331
344
|
<span class="cline-any cline-neutral"> </span>
|
|
332
345
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -378,9 +391,23 @@
|
|
|
378
391
|
<span class="cline-any cline-yes">45x</span>
|
|
379
392
|
<span class="cline-any cline-no"> </span>
|
|
380
393
|
<span class="cline-any cline-no"> </span>
|
|
394
|
+
<span class="cline-any cline-no"> </span>
|
|
381
395
|
<span class="cline-any cline-neutral"> </span>
|
|
382
396
|
<span class="cline-any cline-no"> </span>
|
|
383
397
|
<span class="cline-any cline-no"> </span>
|
|
398
|
+
<span class="cline-any cline-no"> </span>
|
|
399
|
+
<span class="cline-any cline-no"> </span>
|
|
400
|
+
<span class="cline-any cline-neutral"> </span>
|
|
401
|
+
<span class="cline-any cline-no"> </span>
|
|
402
|
+
<span class="cline-any cline-no"> </span>
|
|
403
|
+
<span class="cline-any cline-no"> </span>
|
|
404
|
+
<span class="cline-any cline-neutral"> </span>
|
|
405
|
+
<span class="cline-any cline-no"> </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-no"> </span>
|
|
410
|
+
<span class="cline-any cline-neutral"> </span>
|
|
384
411
|
<span class="cline-any cline-neutral"> </span>
|
|
385
412
|
<span class="cline-any cline-no"> </span>
|
|
386
413
|
<span class="cline-any cline-no"> </span>
|
|
@@ -454,40 +481,40 @@
|
|
|
454
481
|
<span class="cline-any cline-neutral"> </span>
|
|
455
482
|
<span class="cline-any cline-neutral"> </span>
|
|
456
483
|
<span class="cline-any cline-yes">45x</span>
|
|
457
|
-
<span class="cline-any cline-yes">
|
|
458
|
-
<span class="cline-any cline-yes">
|
|
459
|
-
<span class="cline-any cline-yes">
|
|
484
|
+
<span class="cline-any cline-yes">64x</span>
|
|
485
|
+
<span class="cline-any cline-yes">64x</span>
|
|
486
|
+
<span class="cline-any cline-yes">64x</span>
|
|
460
487
|
<span class="cline-any cline-neutral"> </span>
|
|
461
|
-
<span class="cline-any cline-yes">
|
|
488
|
+
<span class="cline-any cline-yes">64x</span>
|
|
462
489
|
<span class="cline-any cline-neutral"> </span>
|
|
463
490
|
<span class="cline-any cline-neutral"> </span>
|
|
464
491
|
<span class="cline-any cline-neutral"> </span>
|
|
465
492
|
<span class="cline-any cline-neutral"> </span>
|
|
466
493
|
<span class="cline-any cline-neutral"> </span>
|
|
467
|
-
<span class="cline-any cline-yes">
|
|
468
|
-
<span class="cline-any cline-yes">
|
|
494
|
+
<span class="cline-any cline-yes">64x</span>
|
|
495
|
+
<span class="cline-any cline-yes">64x</span>
|
|
469
496
|
<span class="cline-any cline-no"> </span>
|
|
470
497
|
<span class="cline-any cline-no"> </span>
|
|
471
498
|
<span class="cline-any cline-no"> </span>
|
|
472
499
|
<span class="cline-any cline-neutral"> </span>
|
|
473
500
|
<span class="cline-any cline-neutral"> </span>
|
|
474
|
-
<span class="cline-any cline-yes">
|
|
475
|
-
<span class="cline-any cline-yes">
|
|
476
|
-
<span class="cline-any cline-yes">
|
|
501
|
+
<span class="cline-any cline-yes">64x</span>
|
|
502
|
+
<span class="cline-any cline-yes">64x</span>
|
|
503
|
+
<span class="cline-any cline-yes">64x</span>
|
|
477
504
|
<span class="cline-any cline-neutral"> </span>
|
|
478
505
|
<span class="cline-any cline-neutral"> </span>
|
|
479
|
-
<span class="cline-any cline-yes">
|
|
480
|
-
<span class="cline-any cline-yes">
|
|
481
|
-
<span class="cline-any cline-yes">
|
|
506
|
+
<span class="cline-any cline-yes">64x</span>
|
|
507
|
+
<span class="cline-any cline-yes">64x</span>
|
|
508
|
+
<span class="cline-any cline-yes">63x</span>
|
|
482
509
|
<span class="cline-any cline-no"> </span>
|
|
483
510
|
<span class="cline-any cline-neutral"> </span>
|
|
484
511
|
<span class="cline-any cline-neutral"> </span>
|
|
485
512
|
<span class="cline-any cline-neutral"> </span>
|
|
486
|
-
<span class="cline-any cline-yes">
|
|
487
|
-
<span class="cline-any cline-yes">
|
|
513
|
+
<span class="cline-any cline-yes">63x</span>
|
|
514
|
+
<span class="cline-any cline-yes">63x</span>
|
|
488
515
|
<span class="cline-any cline-no"> </span>
|
|
489
516
|
<span class="cline-any cline-neutral"> </span>
|
|
490
|
-
<span class="cline-any cline-yes">
|
|
517
|
+
<span class="cline-any cline-yes">63x</span>
|
|
491
518
|
<span class="cline-any cline-neutral"> </span>
|
|
492
519
|
<span class="cline-any cline-neutral"> </span>
|
|
493
520
|
<span class="cline-any cline-yes">45x</span>
|
|
@@ -551,7 +578,6 @@
|
|
|
551
578
|
<span class="cline-any cline-neutral"> </span>
|
|
552
579
|
<span class="cline-any cline-no"> </span>
|
|
553
580
|
<span class="cline-any cline-no"> </span>
|
|
554
|
-
<span class="cline-any cline-no"> </span>
|
|
555
581
|
<span class="cline-any cline-neutral"> </span>
|
|
556
582
|
<span class="cline-any cline-neutral"> </span>
|
|
557
583
|
<span class="cline-any cline-no"> </span>
|
|
@@ -598,7 +624,7 @@
|
|
|
598
624
|
getTableParams,
|
|
599
625
|
} = require("../../db/utils")
|
|
600
626
|
const { BuildSchemaErrors, InvalidColumns } = require("../../constants")
|
|
601
|
-
const {
|
|
627
|
+
const { getIntegration } = require("../../integrations")
|
|
602
628
|
const { getDatasourceAndQuery } = require("./row/utils")
|
|
603
629
|
const { invalidateDynamicVariables } = require("../../threads/utils")
|
|
604
630
|
const { getAppDB } = require("@budibase/backend-core/context")
|
|
@@ -641,9 +667,23 @@ exports.fetch = async function (ctx) {
|
|
|
641
667
|
exports.buildSchemaFromDb = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
642
668
|
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
643
669
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(ctx.params.datasourceId)</span>
|
|
670
|
+
const tablesFilter = <span class="cstat-no" title="statement not covered" >ctx.request.body.tablesFilter</span>
|
|
644
671
|
|
|
645
|
-
|
|
646
|
-
<span class="cstat-no" title="statement not covered" >
|
|
672
|
+
let { tables, error } = <span class="cstat-no" title="statement not covered" >await buildSchemaHelper(datasource)</span>
|
|
673
|
+
<span class="cstat-no" title="statement not covered" > if (tablesFilter) {</span>
|
|
674
|
+
<span class="cstat-no" title="statement not covered" > if (!datasource.entities) {</span>
|
|
675
|
+
<span class="cstat-no" title="statement not covered" > datasource.entities = {}</span>
|
|
676
|
+
}
|
|
677
|
+
<span class="cstat-no" title="statement not covered" > for (let key in tables) {</span>
|
|
678
|
+
<span class="cstat-no" title="statement not covered" > if (</span>
|
|
679
|
+
tablesFilter.some(<span class="fstat-no" title="function not covered" >fi</span>lter => <span class="cstat-no" title="statement not covered" >filter.toLowerCase() === key.toLowerCase())</span>
|
|
680
|
+
) {
|
|
681
|
+
<span class="cstat-no" title="statement not covered" > datasource.entities[key] = tables[key]</span>
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
} else {
|
|
685
|
+
<span class="cstat-no" title="statement not covered" > datasource.entities = tables</span>
|
|
686
|
+
}
|
|
647
687
|
|
|
648
688
|
const dbResp = <span class="cstat-no" title="statement not covered" >await db.put(datasource)</span>
|
|
649
689
|
<span class="cstat-no" title="statement not covered" > datasource._rev = dbResp.rev</span>
|
|
@@ -705,7 +745,7 @@ exports.update = async function (ctx) {
|
|
|
705
745
|
|
|
706
746
|
// Drain connection pools when configuration is changed
|
|
707
747
|
<span class="missing-if-branch" title="else path not taken" >E</span>if (datasource.source) {
|
|
708
|
-
const source =
|
|
748
|
+
const source = await getIntegration(datasource.source)
|
|
709
749
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (source && source.pool) {
|
|
710
750
|
<span class="cstat-no" title="statement not covered" > await source.pool.end()</span>
|
|
711
751
|
}
|
|
@@ -740,7 +780,7 @@ exports.save = async function (ctx) {
|
|
|
740
780
|
|
|
741
781
|
// Drain connection pools when configuration is changed
|
|
742
782
|
<span class="missing-if-branch" title="else path not taken" >E</span>if (datasource.source) {
|
|
743
|
-
const source =
|
|
783
|
+
const source = await getIntegration(datasource.source)
|
|
744
784
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (source && source.pool) {
|
|
745
785
|
<span class="cstat-no" title="statement not covered" > await source.pool.end()</span>
|
|
746
786
|
}
|
|
@@ -809,15 +849,14 @@ function <span class="fstat-no" title="function not covered" >updateError(</span
|
|
|
809
849
|
}
|
|
810
850
|
|
|
811
851
|
const buildSchemaHelper = <span class="fstat-no" title="function not covered" >as</span>ync datasource => {
|
|
812
|
-
const Connector = <span class="cstat-no" title="statement not covered" >
|
|
852
|
+
const Connector = <span class="cstat-no" title="statement not covered" >await getIntegration(datasource.source)</span>
|
|
813
853
|
|
|
814
854
|
// Connect to the DB and build the schema
|
|
815
855
|
const connector = <span class="cstat-no" title="statement not covered" >new Connector(datasource.config)</span>
|
|
816
856
|
<span class="cstat-no" title="statement not covered" > await connector.buildSchema(datasource._id, datasource.entities)</span>
|
|
817
|
-
<span class="cstat-no" title="statement not covered" > datasource.entities = connector.tables</span>
|
|
818
857
|
|
|
819
858
|
// make sure they all have a display name selected
|
|
820
|
-
<span class="cstat-no" title="statement not covered" > for (let entity of Object.values(datasource.entities)) {</span>
|
|
859
|
+
<span class="cstat-no" title="statement not covered" > for (let entity of Object.values(datasource.entities ?? {})) {</span>
|
|
821
860
|
<span class="cstat-no" title="statement not covered" > if (entity.primaryDisplay) {</span>
|
|
822
861
|
<span class="cstat-no" title="statement not covered" > continue</span>
|
|
823
862
|
}
|
|
@@ -859,7 +898,7 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
|
|
|
859
898
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
860
899
|
Code coverage generated by
|
|
861
900
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
862
|
-
at Fri Sep 16 2022
|
|
901
|
+
at Fri Sep 16 2022 15:29:28 GMT+0000 (Coordinated Universal Time)
|
|
863
902
|
</div>
|
|
864
903
|
<script src="../../prettify.js"></script>
|
|
865
904
|
<script>
|
|
@@ -475,7 +475,7 @@ exports.getBudibaseVersion = async ctx => {
|
|
|
475
475
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
476
476
|
Code coverage generated by
|
|
477
477
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
478
|
-
at Fri Sep 16 2022
|
|
478
|
+
at Fri Sep 16 2022 15:29:28 GMT+0000 (Coordinated Universal Time)
|
|
479
479
|
</div>
|
|
480
480
|
<script src="../../prettify.js"></script>
|
|
481
481
|
<script>
|