@budibase/server 0.9.186 → 0.9.190-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/Dockerfile +7 -1
- package/LICENSE +1 -1
- package/__mocks__/mssql.ts +1 -1
- package/__mocks__/oracledb.ts +31 -0
- package/__mocks__/pg.ts +3 -0
- package/builder/assets/bb-space-man.5be51a45.svg +290 -0
- package/builder/assets/index.43f4c913.js +1316 -0
- package/builder/assets/index.7d405e74.css +1 -0
- package/builder/assets/oracle.66592424.png +0 -0
- package/builder/assets/vendor.470042a4.js +152 -0
- package/builder/assets/vendor.5e1fe644.css +1 -0
- package/builder/index.html +4 -4
- package/coverage/clover.xml +1520 -1087
- package/coverage/coverage-final.json +93 -89
- package/coverage/lcov-report/api/controllers/analytics.js.html +2 -2
- package/coverage/lcov-report/api/controllers/apikeys.js.html +2 -2
- package/coverage/lcov-report/api/controllers/application.js.html +64 -13
- package/coverage/lcov-report/api/controllers/auth.js.html +19 -10
- package/coverage/lcov-report/api/controllers/automation.js.html +3 -3
- 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 +4 -4
- package/coverage/lcov-report/api/controllers/datasource.js.html +232 -28
- package/coverage/lcov-report/api/controllers/dev.js.html +16 -7
- package/coverage/lcov-report/api/controllers/hosting.js.html +10 -10
- package/coverage/lcov-report/api/controllers/index.html +91 -91
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +3 -3
- package/coverage/lcov-report/api/controllers/metadata.js.html +3 -3
- package/coverage/lcov-report/api/controllers/permission.js.html +3 -3
- package/coverage/lcov-report/api/controllers/query.js.html +53 -209
- package/coverage/lcov-report/api/controllers/role.js.html +9 -9
- package/coverage/lcov-report/api/controllers/routing.js.html +3 -3
- package/coverage/lcov-report/api/controllers/row/external.js.html +17 -8
- package/coverage/lcov-report/api/controllers/row/index.html +26 -26
- package/coverage/lcov-report/api/controllers/row/index.js.html +2 -2
- package/coverage/lcov-report/api/controllers/row/internal.js.html +9 -9
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +2 -2
- package/coverage/lcov-report/api/controllers/row/utils.js.html +21 -30
- package/coverage/lcov-report/api/controllers/screen.js.html +2 -2
- package/coverage/lcov-report/api/controllers/script.js.html +3 -3
- package/coverage/lcov-report/api/controllers/table/external.js.html +1001 -0
- package/coverage/lcov-report/api/controllers/table/index.html +56 -26
- package/coverage/lcov-report/api/controllers/table/index.js.html +80 -350
- package/coverage/lcov-report/api/controllers/table/internal.js.html +545 -0
- package/coverage/lcov-report/api/controllers/table/utils.js.html +175 -52
- package/coverage/lcov-report/api/controllers/templates.js.html +4 -4
- package/coverage/lcov-report/api/controllers/user.js.html +390 -33
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +19 -4
- package/coverage/lcov-report/api/controllers/view/index.html +22 -22
- package/coverage/lcov-report/api/controllers/view/index.js.html +52 -13
- package/coverage/lcov-report/api/controllers/view/utils.js.html +11 -11
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +3 -3
- package/coverage/lcov-report/api/controllers/webhook.js.html +4 -4
- 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 +2 -2
- package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +4 -4
- 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/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +5 -2
- 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 +2 -2
- package/coverage/lcov-report/api/routes/table.js.html +35 -2
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +17 -2
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +2 -2
- package/coverage/lcov-report/automations/automationUtils.js.html +4 -4
- package/coverage/lcov-report/automations/bullboard.js.html +71 -20
- package/coverage/lcov-report/automations/index.html +35 -50
- package/coverage/lcov-report/automations/index.js.html +2 -2
- package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +3 -3
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeScript.js.html +3 -3
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +14 -14
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +3 -3
- package/coverage/lcov-report/automations/steps/queryRows.js.html +3 -3
- 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 +7 -7
- package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
- package/coverage/lcov-report/automations/triggers.js.html +22 -10
- package/coverage/lcov-report/automations/utils.js.html +42 -12
- package/coverage/lcov-report/constants/index.html +5 -5
- package/coverage/lcov-report/constants/index.js.html +87 -21
- 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 +2 -2
- package/coverage/lcov-report/db/inMemoryView.js.html +2 -2
- package/coverage/lcov-report/db/index.html +2 -2
- package/coverage/lcov-report/db/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +6 -6
- package/coverage/lcov-report/db/linkedRows/index.html +10 -10
- package/coverage/lcov-report/db/linkedRows/index.js.html +5 -5
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +6 -6
- package/coverage/lcov-report/db/newid.js.html +3 -3
- package/coverage/lcov-report/db/utils.js.html +57 -57
- package/coverage/lcov-report/events/AutomationEmitter.js.html +6 -6
- package/coverage/lcov-report/events/index.html +6 -6
- package/coverage/lcov-report/events/index.js.html +1 -1
- package/coverage/lcov-report/events/utils.js.html +5 -5
- package/coverage/lcov-report/index.html +108 -93
- 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 +2 -2
- package/coverage/lcov-report/middleware/authorized.js.html +58 -34
- package/coverage/lcov-report/middleware/builder.js.html +16 -7
- package/coverage/lcov-report/middleware/currentapp.js.html +6 -6
- package/coverage/lcov-report/middleware/index.html +27 -27
- package/coverage/lcov-report/middleware/joi-validator.js.html +2 -2
- package/coverage/lcov-report/middleware/resourceId.js.html +18 -18
- package/coverage/lcov-report/middleware/selfhost.js.html +2 -2
- package/coverage/lcov-report/middleware/usageQuota.js.html +4 -4
- package/coverage/lcov-report/middleware/utils.js.html +1 -1
- package/coverage/lcov-report/{automations/thread.js.html → threads/automation.js.html} +90 -33
- package/coverage/lcov-report/threads/index.html +141 -0
- package/coverage/lcov-report/threads/index.js.html +278 -0
- package/coverage/lcov-report/threads/query.js.html +278 -0
- 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 +144 -15
- package/coverage/lcov-report/utilities/global.js.html +26 -11
- package/coverage/lcov-report/utilities/index.html +48 -48
- package/coverage/lcov-report/utilities/index.js.html +47 -14
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +30 -9
- package/coverage/lcov-report/utilities/queue/index.html +14 -14
- 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 +4 -4
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +2 -2
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +3 -3
- package/coverage/lcov-report/utilities/scriptRunner.js.html +16 -7
- package/coverage/lcov-report/utilities/security.js.html +3 -3
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +1 -1
- package/coverage/lcov-report/utilities/workerRequests.js.html +5 -5
- package/coverage/lcov.info +2558 -1787
- package/dist/api/controllers/application.js +15 -1
- package/dist/api/controllers/auth.js +3 -3
- package/dist/api/controllers/datasource.js +67 -16
- package/dist/api/controllers/deploy/index.js +2 -0
- package/dist/api/controllers/dev.js +4 -1
- package/dist/api/controllers/query.js +30 -58
- package/dist/api/controllers/row/ExternalRequest.js +37 -14
- package/dist/api/controllers/row/external.js +3 -1
- package/dist/api/controllers/row/utils.js +6 -12
- package/dist/api/controllers/table/external.js +249 -0
- package/dist/api/controllers/table/index.js +49 -123
- package/dist/api/controllers/table/internal.js +150 -0
- package/dist/api/controllers/table/utils.js +62 -28
- package/dist/api/controllers/user.js +123 -11
- package/dist/api/controllers/view/exporters.js +4 -0
- package/dist/api/controllers/view/index.js +14 -2
- package/dist/api/routes/query.js +1 -1
- package/dist/api/routes/table.js +7 -1
- package/dist/api/routes/user.js +2 -1
- package/dist/app.js +2 -11
- package/dist/automations/bullboard.js +37 -10
- package/dist/automations/triggers.js +7 -3
- package/dist/automations/utils.js +11 -2
- package/dist/constants/index.js +19 -0
- package/dist/definitions/datasource.js +5 -0
- package/dist/environment.js +13 -0
- package/dist/integrations/base/IntegrationBase.js +2 -0
- package/dist/integrations/base/datasourcePlus.js +2 -0
- package/dist/integrations/base/sql.js +338 -180
- package/dist/integrations/base/sqlTable.js +143 -0
- package/dist/integrations/base/utils.js +30 -0
- package/dist/integrations/index.js +6 -0
- package/dist/integrations/microsoftSqlServer.js +117 -9
- package/dist/integrations/mysql.js +14 -84
- package/dist/integrations/oracle.js +345 -0
- package/dist/integrations/postgres.js +35 -28
- package/dist/integrations/utils.js +71 -9
- package/dist/middleware/authorized.js +22 -11
- package/dist/middleware/builder.js +4 -1
- package/dist/package.json +13 -8
- package/dist/tests/utilities/TestConfiguration.js +2 -1
- package/dist/{automations/thread.js → threads/automation.js} +26 -8
- package/dist/threads/index.js +64 -0
- package/dist/threads/query.js +64 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/csvParser.js +46 -5
- package/dist/utilities/global.js +6 -2
- package/dist/utilities/index.js +11 -0
- package/dist/utilities/queue/inMemoryQueue.js +8 -0
- package/dist/utilities/scriptRunner.js +4 -1
- package/package.json +14 -9
- package/scripts/dev/manage.js +1 -0
- package/scripts/integrations/mssql/data/Dockerfile +9 -0
- package/scripts/integrations/mssql/data/entrypoint.sh +24 -0
- package/scripts/integrations/mssql/data/setup.sql +54 -0
- package/scripts/integrations/mssql/docker-compose.yaml +12 -0
- package/scripts/integrations/mssql/reset.sh +3 -0
- package/scripts/integrations/oracle/docker-compose.yml +19 -0
- package/scripts/integrations/oracle/instantclient/linux/x86-64/basiclite-21.4.zip +0 -0
- package/scripts/integrations/oracle/instantclient/linux/x86-64/install.sh +23 -0
- package/scripts/integrations/oracle/oracle.md +90 -0
- package/scripts/integrations/postgres/docker-compose.yml +3 -3
- package/scripts/likeCypress.ts +33 -0
- package/src/api/controllers/application.js +18 -1
- package/src/api/controllers/auth.js +3 -0
- package/src/api/controllers/datasource.js +84 -16
- package/src/api/controllers/deploy/index.js +2 -0
- package/src/api/controllers/dev.js +4 -1
- package/src/api/controllers/query.js +29 -81
- package/src/api/controllers/row/ExternalRequest.ts +47 -16
- package/src/api/controllers/row/external.js +4 -1
- package/src/api/controllers/row/utils.js +8 -11
- package/src/api/controllers/table/external.js +307 -0
- package/src/api/controllers/table/index.js +47 -137
- package/src/api/controllers/table/internal.js +155 -0
- package/src/api/controllers/table/utils.js +74 -33
- package/src/api/controllers/user.js +132 -13
- package/src/api/controllers/view/exporters.js +5 -0
- package/src/api/controllers/view/index.js +15 -2
- package/src/api/routes/query.js +1 -0
- package/src/api/routes/table.js +11 -0
- package/src/api/routes/tests/datasource.spec.js +2 -2
- package/src/api/routes/tests/misc.spec.js +5 -1
- package/src/api/routes/tests/query.spec.js +0 -1
- package/src/api/routes/user.js +5 -0
- package/src/app.ts +2 -10
- package/src/automations/bullboard.js +28 -11
- package/src/automations/tests/automation.spec.js +3 -4
- package/src/automations/triggers.js +7 -3
- package/src/automations/utils.js +12 -2
- package/src/constants/index.js +22 -0
- package/src/definitions/common.ts +7 -1
- package/src/definitions/datasource.ts +10 -3
- package/src/environment.js +15 -0
- package/src/integrations/airtable.ts +2 -1
- package/src/integrations/arangodb.ts +2 -1
- package/src/integrations/base/IntegrationBase.ts +6 -0
- package/src/integrations/base/datasourcePlus.ts +9 -0
- package/src/integrations/base/sql.ts +362 -222
- package/src/integrations/base/sqlTable.ts +180 -0
- package/src/integrations/base/utils.ts +22 -0
- package/src/integrations/couchdb.ts +2 -1
- package/src/integrations/dynamodb.ts +2 -1
- package/src/integrations/elasticsearch.ts +2 -1
- package/src/integrations/index.ts +7 -0
- package/src/integrations/microsoftSqlServer.ts +145 -13
- package/src/integrations/mongodb.ts +2 -1
- package/src/integrations/mysql.ts +20 -94
- package/src/integrations/oracle.ts +445 -0
- package/src/integrations/postgres.ts +45 -35
- package/src/integrations/rest.ts +2 -1
- package/src/integrations/s3.ts +2 -1
- package/src/integrations/tests/microsoftSqlServer.spec.js +22 -15
- package/src/integrations/tests/oracle.spec.js +94 -0
- package/src/integrations/tests/postgres.spec.js +4 -0
- package/src/integrations/utils.ts +74 -8
- package/src/middleware/authorized.js +26 -18
- package/src/middleware/builder.js +4 -1
- package/src/middleware/tests/authorized.spec.js +2 -0
- package/src/tests/utilities/TestConfiguration.js +2 -1
- package/src/{automations/thread.js → threads/automation.js} +27 -8
- package/src/threads/index.js +66 -0
- package/src/threads/query.js +66 -0
- package/src/utilities/csvParser.js +48 -5
- package/src/utilities/global.js +7 -2
- package/src/utilities/index.js +11 -0
- package/src/utilities/queue/inMemoryQueue.js +7 -0
- package/src/utilities/scriptRunner.js +4 -1
- package/src/utilities/tests/__snapshots__/csvParser.spec.js.snap +0 -6
- package/src/utilities/tests/csvParser.spec.js +3 -0
- package/tsconfig.json +1 -1
- package/builder/assets/index.10556cc1.js +0 -201
- package/builder/assets/index.7469e1e4.css +0 -29
- package/builder/assets/vendor.278a305c.js +0 -9
- package/builder/assets/vendor.d75d5eb7.css +0 -1
|
@@ -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">71.42% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>50/70</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">38.88% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>7/
|
|
35
|
+
<span class='fraction'>7/18</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">73.33% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>11/
|
|
42
|
+
<span class='fraction'>11/15</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">70.58% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>48/68</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -198,7 +198,18 @@
|
|
|
198
198
|
<a name='L139'></a><a href='#L139'>139</a>
|
|
199
199
|
<a name='L140'></a><a href='#L140'>140</a>
|
|
200
200
|
<a name='L141'></a><a href='#L141'>141</a>
|
|
201
|
-
<a name='L142'></a><a href='#L142'>142</a
|
|
201
|
+
<a name='L142'></a><a href='#L142'>142</a>
|
|
202
|
+
<a name='L143'></a><a href='#L143'>143</a>
|
|
203
|
+
<a name='L144'></a><a href='#L144'>144</a>
|
|
204
|
+
<a name='L145'></a><a href='#L145'>145</a>
|
|
205
|
+
<a name='L146'></a><a href='#L146'>146</a>
|
|
206
|
+
<a name='L147'></a><a href='#L147'>147</a>
|
|
207
|
+
<a name='L148'></a><a href='#L148'>148</a>
|
|
208
|
+
<a name='L149'></a><a href='#L149'>149</a>
|
|
209
|
+
<a name='L150'></a><a href='#L150'>150</a>
|
|
210
|
+
<a name='L151'></a><a href='#L151'>151</a>
|
|
211
|
+
<a name='L152'></a><a href='#L152'>152</a>
|
|
212
|
+
<a name='L153'></a><a href='#L153'>153</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">36x</span>
|
|
202
213
|
<span class="cline-any cline-yes">36x</span>
|
|
203
214
|
<span class="cline-any cline-yes">36x</span>
|
|
204
215
|
<span class="cline-any cline-yes">36x</span>
|
|
@@ -226,7 +237,7 @@
|
|
|
226
237
|
<span class="cline-any cline-neutral"> </span>
|
|
227
238
|
<span class="cline-any cline-neutral"> </span>
|
|
228
239
|
<span class="cline-any cline-yes">36x</span>
|
|
229
|
-
<span class="cline-any cline-yes">
|
|
240
|
+
<span class="cline-any cline-yes">187x</span>
|
|
230
241
|
<span class="cline-any cline-neutral"> </span>
|
|
231
242
|
<span class="cline-any cline-neutral"> </span>
|
|
232
243
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -251,6 +262,7 @@
|
|
|
251
262
|
<span class="cline-any cline-neutral"> </span>
|
|
252
263
|
<span class="cline-any cline-neutral"> </span>
|
|
253
264
|
<span class="cline-any cline-neutral"> </span>
|
|
265
|
+
<span class="cline-any cline-neutral"> </span>
|
|
254
266
|
<span class="cline-any cline-yes">36x</span>
|
|
255
267
|
<span class="cline-any cline-yes">187x</span>
|
|
256
268
|
<span class="cline-any cline-no"> </span>
|
|
@@ -339,6 +351,16 @@
|
|
|
339
351
|
<span class="cline-any cline-neutral"> </span>
|
|
340
352
|
<span class="cline-any cline-neutral"> </span>
|
|
341
353
|
<span class="cline-any cline-neutral"> </span>
|
|
354
|
+
<span class="cline-any cline-neutral"> </span>
|
|
355
|
+
<span class="cline-any cline-yes">36x</span>
|
|
356
|
+
<span class="cline-any cline-no"> </span>
|
|
357
|
+
<span class="cline-any cline-no"> </span>
|
|
358
|
+
<span class="cline-any cline-no"> </span>
|
|
359
|
+
<span class="cline-any cline-no"> </span>
|
|
360
|
+
<span class="cline-any cline-neutral"> </span>
|
|
361
|
+
<span class="cline-any cline-no"> </span>
|
|
362
|
+
<span class="cline-any cline-neutral"> </span>
|
|
363
|
+
<span class="cline-any cline-neutral"> </span>
|
|
342
364
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const env = require("../environment")
|
|
343
365
|
const { OBJ_STORE_DIRECTORY } = require("../constants")
|
|
344
366
|
const { sanitizeKey } = require("@budibase/auth/src/objectStore")
|
|
@@ -354,7 +376,7 @@ exports.isDev = env.isDev
|
|
|
354
376
|
|
|
355
377
|
exports.removeFromArray = (array, element) => {
|
|
356
378
|
const index = array.indexOf(element)
|
|
357
|
-
|
|
379
|
+
if (index !== -1) {
|
|
358
380
|
array.splice(index, 1)
|
|
359
381
|
}
|
|
360
382
|
return array
|
|
@@ -375,10 +397,10 @@ exports.checkSlashesInUrl = url => {
|
|
|
375
397
|
* @return {string} The base URL of the object store (MinIO or S3).
|
|
376
398
|
*/
|
|
377
399
|
exports.objectStoreUrl = () => {
|
|
378
|
-
|
|
400
|
+
if (env.SELF_HOSTED) {
|
|
379
401
|
// can use a relative url for this as all goes through the proxy (this is hosted in minio)
|
|
380
402
|
return OBJ_STORE_DIRECTORY
|
|
381
|
-
} else {
|
|
403
|
+
} else <span class="missing-if-branch" title="else path not taken" >E</span>{
|
|
382
404
|
<span class="cstat-no" title="statement not covered" > return BB_CDN</span>
|
|
383
405
|
}
|
|
384
406
|
}
|
|
@@ -389,6 +411,7 @@ exports.objectStoreUrl = () => {
|
|
|
389
411
|
* via a specific endpoint (under /api/assets/client).
|
|
390
412
|
* @param {string} appId In production we need the appId to look up the correct bucket, as the
|
|
391
413
|
* version of the client lib may differ between apps.
|
|
414
|
+
* @param {string} version The version to retrieve.
|
|
392
415
|
* @return {string} The URL to be inserted into appPackage response or server rendered
|
|
393
416
|
* app index file.
|
|
394
417
|
*/
|
|
@@ -480,6 +503,16 @@ exports.stringToReadStream = <span class="fstat-no" title="function not covered"
|
|
|
480
503
|
},
|
|
481
504
|
})
|
|
482
505
|
}
|
|
506
|
+
|
|
507
|
+
exports.doesDatabaseExist = <span class="fstat-no" title="function not covered" >as</span>ync dbName => {
|
|
508
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
509
|
+
const db = <span class="cstat-no" title="statement not covered" >new CouchDB(dbName, { skip_setup: true })</span>
|
|
510
|
+
const info = <span class="cstat-no" title="statement not covered" >await db.info()</span>
|
|
511
|
+
<span class="cstat-no" title="statement not covered" > return info && !info.error</span>
|
|
512
|
+
} catch (err) {
|
|
513
|
+
<span class="cstat-no" title="statement not covered" > return false</span>
|
|
514
|
+
}
|
|
515
|
+
}
|
|
483
516
|
</pre></td></tr></table></pre>
|
|
484
517
|
|
|
485
518
|
<div class='push'></div><!-- for sticky footer -->
|
|
@@ -487,7 +520,7 @@ exports.stringToReadStream = <span class="fstat-no" title="function not covered"
|
|
|
487
520
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
488
521
|
Code coverage generated by
|
|
489
522
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
490
|
-
at
|
|
523
|
+
at Thu Nov 25 2021 12:28:23 GMT+0000 (Coordinated Universal Time)
|
|
491
524
|
</div>
|
|
492
525
|
</div>
|
|
493
526
|
<script src="../prettify.js"></script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">85.71% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>18/
|
|
28
|
+
<span class='fraction'>18/21</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">75% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>6/
|
|
42
|
+
<span class='fraction'>6/8</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">85.71% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>18/
|
|
49
|
+
<span class='fraction'>18/21</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -151,7 +151,14 @@
|
|
|
151
151
|
<a name='L92'></a><a href='#L92'>92</a>
|
|
152
152
|
<a name='L93'></a><a href='#L93'>93</a>
|
|
153
153
|
<a name='L94'></a><a href='#L94'>94</a>
|
|
154
|
-
<a name='L95'></a><a href='#L95'>95</a
|
|
154
|
+
<a name='L95'></a><a href='#L95'>95</a>
|
|
155
|
+
<a name='L96'></a><a href='#L96'>96</a>
|
|
156
|
+
<a name='L97'></a><a href='#L97'>97</a>
|
|
157
|
+
<a name='L98'></a><a href='#L98'>98</a>
|
|
158
|
+
<a name='L99'></a><a href='#L99'>99</a>
|
|
159
|
+
<a name='L100'></a><a href='#L100'>100</a>
|
|
160
|
+
<a name='L101'></a><a href='#L101'>101</a>
|
|
161
|
+
<a name='L102'></a><a href='#L102'>102</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
|
|
155
162
|
<span class="cline-any cline-neutral"> </span>
|
|
156
163
|
<span class="cline-any cline-neutral"> </span>
|
|
157
164
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -244,6 +251,13 @@
|
|
|
244
251
|
<span class="cline-any cline-neutral"> </span>
|
|
245
252
|
<span class="cline-any cline-neutral"> </span>
|
|
246
253
|
<span class="cline-any cline-neutral"> </span>
|
|
254
|
+
<span class="cline-any cline-neutral"> </span>
|
|
255
|
+
<span class="cline-any cline-neutral"> </span>
|
|
256
|
+
<span class="cline-any cline-neutral"> </span>
|
|
257
|
+
<span class="cline-any cline-no"> </span>
|
|
258
|
+
<span class="cline-any cline-neutral"> </span>
|
|
259
|
+
<span class="cline-any cline-neutral"> </span>
|
|
260
|
+
<span class="cline-any cline-neutral"> </span>
|
|
247
261
|
<span class="cline-any cline-yes">33x</span>
|
|
248
262
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">let events = require("events")
|
|
249
263
|
|
|
@@ -299,7 +313,7 @@ class InMemoryQueue {
|
|
|
299
313
|
}
|
|
300
314
|
let msg = this._messages.shift()
|
|
301
315
|
let resp = func(msg)
|
|
302
|
-
|
|
316
|
+
if (resp.then != null) {
|
|
303
317
|
await resp
|
|
304
318
|
}
|
|
305
319
|
})
|
|
@@ -336,6 +350,13 @@ class InMemoryQueue {
|
|
|
336
350
|
getRepeatableJobs() {
|
|
337
351
|
return []
|
|
338
352
|
}
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* Implemented for tests
|
|
356
|
+
*/
|
|
357
|
+
<span class="fstat-no" title="function not covered" > as</span>ync clean() {
|
|
358
|
+
<span class="cstat-no" title="statement not covered" > return []</span>
|
|
359
|
+
}
|
|
339
360
|
}
|
|
340
361
|
|
|
341
362
|
module.exports = InMemoryQueue
|
|
@@ -346,7 +367,7 @@ module.exports = InMemoryQueue
|
|
|
346
367
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
347
368
|
Code coverage generated by
|
|
348
369
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
349
|
-
at
|
|
370
|
+
at Thu Nov 25 2021 12:28:23 GMT+0000 (Coordinated Universal Time)
|
|
350
371
|
</div>
|
|
351
372
|
</div>
|
|
352
373
|
<script src="../../prettify.js"></script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">85.71% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>18/
|
|
28
|
+
<span class='fraction'>18/21</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">75% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>6/
|
|
42
|
+
<span class='fraction'>6/8</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">85.71% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>18/
|
|
49
|
+
<span class='fraction'>18/21</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -74,17 +74,17 @@
|
|
|
74
74
|
</thead>
|
|
75
75
|
<tbody><tr>
|
|
76
76
|
<td class="file high" data-value="inMemoryQueue.js"><a href="inMemoryQueue.js.html">inMemoryQueue.js</a></td>
|
|
77
|
-
<td data-value="
|
|
78
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
77
|
+
<td data-value="85.71" class="pic high">
|
|
78
|
+
<div class="chart"><div class="cover-fill" style="width: 85%"></div><div class="cover-empty" style="width: 15%"></div></div>
|
|
79
79
|
</td>
|
|
80
|
-
<td data-value="
|
|
81
|
-
<td data-value="
|
|
80
|
+
<td data-value="85.71" class="pct high">85.71%</td>
|
|
81
|
+
<td data-value="21" class="abs high">18/21</td>
|
|
82
82
|
<td data-value="57.14" class="pct medium">57.14%</td>
|
|
83
83
|
<td data-value="7" class="abs medium">4/7</td>
|
|
84
|
+
<td data-value="75" class="pct medium">75%</td>
|
|
85
|
+
<td data-value="8" class="abs medium">6/8</td>
|
|
84
86
|
<td data-value="85.71" class="pct high">85.71%</td>
|
|
85
|
-
<td data-value="
|
|
86
|
-
<td data-value="90" class="pct high">90%</td>
|
|
87
|
-
<td data-value="20" class="abs high">18/20</td>
|
|
87
|
+
<td data-value="21" class="abs high">18/21</td>
|
|
88
88
|
</tr>
|
|
89
89
|
|
|
90
90
|
</tbody>
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
96
96
|
Code coverage generated by
|
|
97
97
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
98
|
-
at
|
|
98
|
+
at Thu Nov 25 2021 12:28:23 GMT+0000 (Coordinated Universal Time)
|
|
99
99
|
</div>
|
|
100
100
|
</div>
|
|
101
101
|
<script src="../../prettify.js"></script>
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
96
96
|
Code coverage generated by
|
|
97
97
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
98
|
-
at
|
|
98
|
+
at Thu Nov 25 2021 12:28:23 GMT+0000 (Coordinated Universal Time)
|
|
99
99
|
</div>
|
|
100
100
|
</div>
|
|
101
101
|
<script src="../../prettify.js"></script>
|
|
@@ -139,7 +139,7 @@ exports.createRoutingView = createRoutingView
|
|
|
139
139
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
140
140
|
Code coverage generated by
|
|
141
141
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
142
|
-
at
|
|
142
|
+
at Thu Nov 25 2021 12:28:23 GMT+0000 (Coordinated Universal Time)
|
|
143
143
|
</div>
|
|
144
144
|
</div>
|
|
145
145
|
<script src="../../prettify.js"></script>
|
|
@@ -23,14 +23,14 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">77.
|
|
26
|
+
<span class="strong">77.31% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
28
|
<span class='fraction'>75/97</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">60.
|
|
33
|
+
<span class="strong">60.52% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
35
|
<span class='fraction'>46/76</span>
|
|
36
36
|
</div>
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
<td data-value="6" class="abs high">5/6</td>
|
|
99
99
|
<td data-value="50" class="pct medium">50%</td>
|
|
100
100
|
<td data-value="2" class="abs medium">1/2</td>
|
|
101
|
-
<td data-value="90.
|
|
101
|
+
<td data-value="90.9" class="pct high">90.9%</td>
|
|
102
102
|
<td data-value="11" class="abs high">10/11</td>
|
|
103
103
|
</tr>
|
|
104
104
|
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
111
111
|
Code coverage generated by
|
|
112
112
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
113
|
-
at
|
|
113
|
+
at Thu Nov 25 2021 12:28:23 GMT+0000 (Coordinated Universal Time)
|
|
114
114
|
</div>
|
|
115
115
|
</div>
|
|
116
116
|
<script src="../../prettify.js"></script>
|
|
@@ -687,7 +687,7 @@ function processAutoColumn(
|
|
|
687
687
|
// if a row doesn't have a revision then it doesn't exist yet
|
|
688
688
|
const creating = !row._rev
|
|
689
689
|
for (let [key, schema] of Object.entries(table.schema)) {
|
|
690
|
-
|
|
690
|
+
if (!schema.autocolumn) {
|
|
691
691
|
continue
|
|
692
692
|
}
|
|
693
693
|
<span class="cstat-no" title="statement not covered" > switch (schema.subtype) {</span>
|
|
@@ -850,7 +850,7 @@ exports.outputProcessing = async (
|
|
|
850
850
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
851
851
|
Code coverage generated by
|
|
852
852
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
853
|
-
at
|
|
853
|
+
at Thu Nov 25 2021 12:28:23 GMT+0000 (Coordinated Universal Time)
|
|
854
854
|
</div>
|
|
855
855
|
</div>
|
|
856
856
|
<script src="../../prettify.js"></script>
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">90.
|
|
47
|
+
<span class="strong">90.9% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
49
|
<span class='fraction'>10/11</span>
|
|
50
50
|
</div>
|
|
@@ -115,7 +115,7 @@ exports.processFormulas = (table, rows) => {
|
|
|
115
115
|
rows = [rows]
|
|
116
116
|
}
|
|
117
117
|
for (let [column, schema] of Object.entries(table.schema)) {
|
|
118
|
-
|
|
118
|
+
if (schema.type !== FieldTypes.FORMULA) {
|
|
119
119
|
continue
|
|
120
120
|
}
|
|
121
121
|
// iterate through rows and process formula
|
|
@@ -133,7 +133,7 @@ exports.processFormulas = (table, rows) => {
|
|
|
133
133
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
134
134
|
Code coverage generated by
|
|
135
135
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
136
|
-
at
|
|
136
|
+
at Thu Nov 25 2021 12:28:23 GMT+0000 (Coordinated Universal Time)
|
|
137
137
|
</div>
|
|
138
138
|
</div>
|
|
139
139
|
<script src="../../prettify.js"></script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">30.76% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>4/13</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">30.76% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>4/13</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -78,13 +78,19 @@
|
|
|
78
78
|
<a name='L19'></a><a href='#L19'>19</a>
|
|
79
79
|
<a name='L20'></a><a href='#L20'>20</a>
|
|
80
80
|
<a name='L21'></a><a href='#L21'>21</a>
|
|
81
|
-
<a name='L22'></a><a href='#L22'>22</a
|
|
81
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
82
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
83
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
84
|
+
<a name='L25'></a><a href='#L25'>25</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
85
|
+
<span class="cline-any cline-yes">34x</span>
|
|
82
86
|
<span class="cline-any cline-yes">34x</span>
|
|
83
87
|
<span class="cline-any cline-neutral"> </span>
|
|
84
88
|
<span class="cline-any cline-neutral"> </span>
|
|
85
89
|
<span class="cline-any cline-neutral"> </span>
|
|
86
90
|
<span class="cline-any cline-no"> </span>
|
|
87
91
|
<span class="cline-any cline-no"> </span>
|
|
92
|
+
<span class="cline-any cline-neutral"> </span>
|
|
93
|
+
<span class="cline-any cline-neutral"> </span>
|
|
88
94
|
<span class="cline-any cline-no"> </span>
|
|
89
95
|
<span class="cline-any cline-no"> </span>
|
|
90
96
|
<span class="cline-any cline-no"> </span>
|
|
@@ -101,11 +107,14 @@
|
|
|
101
107
|
<span class="cline-any cline-yes">34x</span>
|
|
102
108
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const fetch = require("node-fetch")
|
|
103
109
|
const { VM, VMScript } = require("vm2")
|
|
110
|
+
const JS_TIMEOUT_MS = 1000
|
|
104
111
|
|
|
105
112
|
class ScriptRunner {
|
|
106
113
|
<span class="fstat-no" title="function not covered" > co</span>nstructor(script, context) {
|
|
107
114
|
const code = <span class="cstat-no" title="statement not covered" >`let fn = () => {\n${script}\n}; results.out = fn();`</span>
|
|
108
|
-
<span class="cstat-no" title="statement not covered" > this.vm = new VM(
|
|
115
|
+
<span class="cstat-no" title="statement not covered" > this.vm = new VM({</span>
|
|
116
|
+
timeout: JS_TIMEOUT_MS,
|
|
117
|
+
})
|
|
109
118
|
<span class="cstat-no" title="statement not covered" > this.results = { out: "" }</span>
|
|
110
119
|
<span class="cstat-no" title="statement not covered" > this.vm.setGlobals(context)</span>
|
|
111
120
|
<span class="cstat-no" title="statement not covered" > this.vm.setGlobal("fetch", fetch)</span>
|
|
@@ -127,7 +136,7 @@ module.exports = ScriptRunner
|
|
|
127
136
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
128
137
|
Code coverage generated by
|
|
129
138
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
130
|
-
at
|
|
139
|
+
at Thu Nov 25 2021 12:28:23 GMT+0000 (Coordinated Universal Time)
|
|
131
140
|
</div>
|
|
132
141
|
</div>
|
|
133
142
|
<script src="../prettify.js"></script>
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">82.
|
|
26
|
+
<span class="strong">82.75% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
28
|
<span class='fraction'>24/29</span>
|
|
29
29
|
</div>
|
|
@@ -246,7 +246,7 @@ exports.getBasePermissions = resourceId => {
|
|
|
246
246
|
) {
|
|
247
247
|
const level = typedPermission.level
|
|
248
248
|
permissions[level] = lowerBuiltinRoleID(permissions[level], roleId)
|
|
249
|
-
|
|
249
|
+
if (isPermissionLevelHigherThanRead(level)) {
|
|
250
250
|
permissions[PermissionLevels.READ] = lowerBuiltinRoleID(
|
|
251
251
|
permissions[PermissionLevels.READ],
|
|
252
252
|
roleId
|
|
@@ -265,7 +265,7 @@ exports.CURRENTLY_SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
|
|
|
265
265
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
266
266
|
Code coverage generated by
|
|
267
267
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
268
|
-
at
|
|
268
|
+
at Thu Nov 25 2021 12:28:23 GMT+0000 (Coordinated Universal Time)
|
|
269
269
|
</div>
|
|
270
270
|
</div>
|
|
271
271
|
<script src="../prettify.js"></script>
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
86
86
|
Code coverage generated by
|
|
87
87
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
88
|
-
at
|
|
88
|
+
at Thu Nov 25 2021 12:28:23 GMT+0000 (Coordinated Universal Time)
|
|
89
89
|
</div>
|
|
90
90
|
</div>
|
|
91
91
|
<script src="../prettify.js"></script>
|
|
@@ -136,7 +136,7 @@ exports.getFullUser = async (ctx, userId) => {
|
|
|
136
136
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
137
137
|
Code coverage generated by
|
|
138
138
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
139
|
-
at
|
|
139
|
+
at Thu Nov 25 2021 12:28:23 GMT+0000 (Coordinated Universal Time)
|
|
140
140
|
</div>
|
|
141
141
|
</div>
|
|
142
142
|
<script src="../prettify.js"></script>
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">66.
|
|
26
|
+
<span class="strong">66.03% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
28
|
<span class='fraction'>35/53</span>
|
|
29
29
|
</div>
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">66.
|
|
47
|
+
<span class="strong">66.03% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
49
|
<span class='fraction'>35/53</span>
|
|
50
50
|
</div>
|
|
@@ -292,7 +292,7 @@ const { Headers } = require("@budibase/auth/constants")
|
|
|
292
292
|
const { getTenantId, isTenantIdSet } = require("@budibase/auth/tenancy")
|
|
293
293
|
|
|
294
294
|
function request(ctx, request) {
|
|
295
|
-
|
|
295
|
+
if (!request.headers) {
|
|
296
296
|
request.headers = {}
|
|
297
297
|
}
|
|
298
298
|
if (!ctx) {
|
|
@@ -354,7 +354,7 @@ exports.getDeployedApps = async () => {
|
|
|
354
354
|
const json = await response.json()
|
|
355
355
|
const apps = {}
|
|
356
356
|
for (let [key, value] of Object.entries(json)) {
|
|
357
|
-
|
|
357
|
+
if (value.url) {
|
|
358
358
|
value.url = value.url.toLowerCase()
|
|
359
359
|
apps[key] = value
|
|
360
360
|
}
|
|
@@ -403,7 +403,7 @@ exports.removeAppFromUserRoles = async (ctx, appId) => {
|
|
|
403
403
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
404
404
|
Code coverage generated by
|
|
405
405
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
406
|
-
at
|
|
406
|
+
at Thu Nov 25 2021 12:28:23 GMT+0000 (Coordinated Universal Time)
|
|
407
407
|
</div>
|
|
408
408
|
</div>
|
|
409
409
|
<script src="../prettify.js"></script>
|