@budibase/server 0.9.184 → 0.9.185-alpha.11
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 +1 -1
- package/__mocks__/mssql.ts +1 -1
- package/__mocks__/pg.ts +3 -0
- package/builder/assets/bb-space-man.5be51a45.svg +290 -0
- package/builder/assets/index.053c6f7a.js +1321 -0
- package/builder/assets/index.4a7c5636.css +1 -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 +1357 -959
- package/coverage/coverage-final.json +91 -87
- 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 +65 -14
- 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 +147 -27
- 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 +90 -90
- 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 +12 -6
- 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 +980 -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 +172 -49
- 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 +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +9 -9
- package/coverage/lcov-report/api/controllers/view/index.js.html +5 -5
- 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 +3 -3
- package/coverage/lcov-report/automations/bullboard.js.html +71 -20
- package/coverage/lcov-report/automations/index.html +33 -48
- 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 +49 -4
- 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 +1 -1
- package/coverage/lcov-report/db/utils.js.html +1 -1
- 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 +98 -83
- 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 +11 -8
- 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 +23 -23
- 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} +83 -32
- package/coverage/lcov-report/threads/index.html +141 -0
- package/coverage/lcov-report/threads/index.js.html +260 -0
- package/coverage/lcov-report/threads/query.js.html +269 -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 +49 -49
- package/coverage/lcov-report/utilities/index.js.html +65 -17
- 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 +2301 -1599
- package/dist/api/controllers/application.js +16 -2
- package/dist/api/controllers/auth.js +3 -3
- package/dist/api/controllers/datasource.js +47 -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 +1 -0
- package/dist/api/controllers/row/utils.js +6 -12
- package/dist/api/controllers/static/index.js +1 -1
- package/dist/api/controllers/table/external.js +242 -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/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 +13 -0
- package/dist/definitions/datasource.js +4 -0
- package/dist/integrations/base/IntegrationBase.js +2 -0
- package/dist/integrations/base/datasourcePlus.js +2 -0
- package/dist/integrations/base/sql.js +334 -180
- package/dist/integrations/base/sqlTable.js +143 -0
- package/dist/integrations/base/utils.js +30 -0
- package/dist/integrations/microsoftSqlServer.js +117 -9
- package/dist/integrations/mysql.js +14 -84
- package/dist/integrations/postgres.js +35 -28
- package/dist/integrations/utils.js +56 -9
- package/dist/middleware/authorized.js +2 -1
- package/dist/middleware/builder.js +4 -1
- package/dist/package.json +7 -6
- package/dist/tests/utilities/TestConfiguration.js +2 -1
- package/dist/{automations/thread.js → threads/automation.js} +23 -7
- package/dist/threads/index.js +58 -0
- package/dist/threads/query.js +61 -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 +18 -2
- package/dist/utilities/queue/inMemoryQueue.js +8 -0
- package/dist/utilities/scriptRunner.js +4 -1
- package/package.json +8 -7
- 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/likeCypress.ts +33 -0
- package/src/api/controllers/application.js +19 -2
- package/src/api/controllers/auth.js +3 -0
- package/src/api/controllers/datasource.js +56 -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 +2 -0
- package/src/api/controllers/row/utils.js +8 -11
- package/src/api/controllers/static/index.js +1 -1
- package/src/api/controllers/table/external.js +300 -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/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 +15 -0
- package/src/definitions/common.ts +7 -1
- package/src/definitions/datasource.ts +9 -3
- 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 +359 -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/microsoftSqlServer.ts +145 -13
- package/src/integrations/mongodb.ts +2 -1
- package/src/integrations/mysql.ts +20 -94
- 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/postgres.spec.js +4 -0
- package/src/integrations/utils.ts +60 -8
- package/src/middleware/authorized.js +2 -1
- package/src/middleware/builder.js +4 -1
- package/src/tests/utilities/TestConfiguration.js +2 -1
- package/src/{automations/thread.js → threads/automation.js} +24 -7
- package/src/threads/index.js +60 -0
- package/src/threads/query.js +63 -0
- package/src/utilities/csvParser.js +48 -5
- package/src/utilities/global.js +7 -2
- package/src/utilities/index.js +18 -2
- 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.34964222.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">84.93% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>62/73</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">48% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>12/25</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>9/9</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.72% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>61/72</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
56
|
</p>
|
|
57
57
|
</div>
|
|
58
|
-
<div class='status-line
|
|
58
|
+
<div class='status-line high'></div>
|
|
59
59
|
<pre><table class="coverage">
|
|
60
60
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
61
61
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -213,64 +213,13 @@
|
|
|
213
213
|
<a name='L154'></a><a href='#L154'>154</a>
|
|
214
214
|
<a name='L155'></a><a href='#L155'>155</a>
|
|
215
215
|
<a name='L156'></a><a href='#L156'>156</a>
|
|
216
|
-
<a name='L157'></a><a href='#L157'>157</a>
|
|
217
|
-
<a name='L158'></a><a href='#L158'>158</a>
|
|
218
|
-
<a name='L159'></a><a href='#L159'>159</a>
|
|
219
|
-
<a name='L160'></a><a href='#L160'>160</a>
|
|
220
|
-
<a name='L161'></a><a href='#L161'>161</a>
|
|
221
|
-
<a name='L162'></a><a href='#L162'>162</a>
|
|
222
|
-
<a name='L163'></a><a href='#L163'>163</a>
|
|
223
|
-
<a name='L164'></a><a href='#L164'>164</a>
|
|
224
|
-
<a name='L165'></a><a href='#L165'>165</a>
|
|
225
|
-
<a name='L166'></a><a href='#L166'>166</a>
|
|
226
|
-
<a name='L167'></a><a href='#L167'>167</a>
|
|
227
|
-
<a name='L168'></a><a href='#L168'>168</a>
|
|
228
|
-
<a name='L169'></a><a href='#L169'>169</a>
|
|
229
|
-
<a name='L170'></a><a href='#L170'>170</a>
|
|
230
|
-
<a name='L171'></a><a href='#L171'>171</a>
|
|
231
|
-
<a name='L172'></a><a href='#L172'>172</a>
|
|
232
|
-
<a name='L173'></a><a href='#L173'>173</a>
|
|
233
|
-
<a name='L174'></a><a href='#L174'>174</a>
|
|
234
|
-
<a name='L175'></a><a href='#L175'>175</a>
|
|
235
|
-
<a name='L176'></a><a href='#L176'>176</a>
|
|
236
|
-
<a name='L177'></a><a href='#L177'>177</a>
|
|
237
|
-
<a name='L178'></a><a href='#L178'>178</a>
|
|
238
|
-
<a name='L179'></a><a href='#L179'>179</a>
|
|
239
|
-
<a name='L180'></a><a href='#L180'>180</a>
|
|
240
|
-
<a name='L181'></a><a href='#L181'>181</a>
|
|
241
|
-
<a name='L182'></a><a href='#L182'>182</a>
|
|
242
|
-
<a name='L183'></a><a href='#L183'>183</a>
|
|
243
|
-
<a name='L184'></a><a href='#L184'>184</a>
|
|
244
|
-
<a name='L185'></a><a href='#L185'>185</a>
|
|
245
|
-
<a name='L186'></a><a href='#L186'>186</a>
|
|
246
|
-
<a name='L187'></a><a href='#L187'>187</a>
|
|
247
|
-
<a name='L188'></a><a href='#L188'>188</a>
|
|
248
|
-
<a name='L189'></a><a href='#L189'>189</a>
|
|
249
|
-
<a name='L190'></a><a href='#L190'>190</a>
|
|
250
|
-
<a name='L191'></a><a href='#L191'>191</a>
|
|
251
|
-
<a name='L192'></a><a href='#L192'>192</a>
|
|
252
|
-
<a name='L193'></a><a href='#L193'>193</a>
|
|
253
|
-
<a name='L194'></a><a href='#L194'>194</a>
|
|
254
|
-
<a name='L195'></a><a href='#L195'>195</a>
|
|
255
|
-
<a name='L196'></a><a href='#L196'>196</a>
|
|
256
|
-
<a name='L197'></a><a href='#L197'>197</a>
|
|
257
|
-
<a name='L198'></a><a href='#L198'>198</a>
|
|
258
|
-
<a name='L199'></a><a href='#L199'>199</a>
|
|
259
|
-
<a name='L200'></a><a href='#L200'>200</a>
|
|
260
|
-
<a name='L201'></a><a href='#L201'>201</a>
|
|
261
|
-
<a name='L202'></a><a href='#L202'>202</a>
|
|
262
|
-
<a name='L203'></a><a href='#L203'>203</a>
|
|
263
|
-
<a name='L204'></a><a href='#L204'>204</a>
|
|
264
|
-
<a name='L205'></a><a href='#L205'>205</a>
|
|
265
|
-
<a name='L206'></a><a href='#L206'>206</a>
|
|
266
|
-
<a name='L207'></a><a href='#L207'>207</a>
|
|
267
|
-
<a name='L208'></a><a href='#L208'>208</a>
|
|
268
|
-
<a name='L209'></a><a href='#L209'>209</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
216
|
+
<a name='L157'></a><a href='#L157'>157</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
269
217
|
<span class="cline-any cline-yes">34x</span>
|
|
270
218
|
<span class="cline-any cline-yes">34x</span>
|
|
271
219
|
<span class="cline-any cline-yes">34x</span>
|
|
272
220
|
<span class="cline-any cline-yes">34x</span>
|
|
273
221
|
<span class="cline-any cline-yes">34x</span>
|
|
222
|
+
<span class="cline-any cline-neutral"> </span>
|
|
274
223
|
<span class="cline-any cline-yes">34x</span>
|
|
275
224
|
<span class="cline-any cline-neutral"> </span>
|
|
276
225
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -285,47 +234,6 @@
|
|
|
285
234
|
<span class="cline-any cline-yes">4x</span>
|
|
286
235
|
<span class="cline-any cline-neutral"> </span>
|
|
287
236
|
<span class="cline-any cline-neutral"> </span>
|
|
288
|
-
<span class="cline-any cline-neutral"> </span>
|
|
289
|
-
<span class="cline-any cline-yes">2x</span>
|
|
290
|
-
<span class="cline-any cline-no"> </span>
|
|
291
|
-
<span class="cline-any cline-no"> </span>
|
|
292
|
-
<span class="cline-any cline-neutral"> </span>
|
|
293
|
-
<span class="cline-any cline-no"> </span>
|
|
294
|
-
<span class="cline-any cline-neutral"> </span>
|
|
295
|
-
<span class="cline-any cline-neutral"> </span>
|
|
296
|
-
<span class="cline-any cline-yes">2x</span>
|
|
297
|
-
<span class="cline-any cline-neutral"> </span>
|
|
298
|
-
<span class="cline-any cline-neutral"> </span>
|
|
299
|
-
<span class="cline-any cline-neutral"> </span>
|
|
300
|
-
<span class="cline-any cline-neutral"> </span>
|
|
301
|
-
<span class="cline-any cline-neutral"> </span>
|
|
302
|
-
<span class="cline-any cline-neutral"> </span>
|
|
303
|
-
<span class="cline-any cline-neutral"> </span>
|
|
304
|
-
<span class="cline-any cline-neutral"> </span>
|
|
305
|
-
<span class="cline-any cline-yes">2x</span>
|
|
306
|
-
<span class="cline-any cline-neutral"> </span>
|
|
307
|
-
<span class="cline-any cline-neutral"> </span>
|
|
308
|
-
<span class="cline-any cline-yes">2x</span>
|
|
309
|
-
<span class="cline-any cline-no"> </span>
|
|
310
|
-
<span class="cline-any cline-no"> </span>
|
|
311
|
-
<span class="cline-any cline-neutral"> </span>
|
|
312
|
-
<span class="cline-any cline-neutral"> </span>
|
|
313
|
-
<span class="cline-any cline-neutral"> </span>
|
|
314
|
-
<span class="cline-any cline-yes">2x</span>
|
|
315
|
-
<span class="cline-any cline-no"> </span>
|
|
316
|
-
<span class="cline-any cline-neutral"> </span>
|
|
317
|
-
<span class="cline-any cline-neutral"> </span>
|
|
318
|
-
<span class="cline-any cline-neutral"> </span>
|
|
319
|
-
<span class="cline-any cline-yes">2x</span>
|
|
320
|
-
<span class="cline-any cline-no"> </span>
|
|
321
|
-
<span class="cline-any cline-neutral"> </span>
|
|
322
|
-
<span class="cline-any cline-neutral"> </span>
|
|
323
|
-
<span class="cline-any cline-neutral"> </span>
|
|
324
|
-
<span class="cline-any cline-yes">2x</span>
|
|
325
|
-
<span class="cline-any cline-neutral"> </span>
|
|
326
|
-
<span class="cline-any cline-yes">2x</span>
|
|
327
|
-
<span class="cline-any cline-neutral"> </span>
|
|
328
|
-
<span class="cline-any cline-neutral"> </span>
|
|
329
237
|
<span class="cline-any cline-yes">34x</span>
|
|
330
238
|
<span class="cline-any cline-yes">2x</span>
|
|
331
239
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -353,10 +261,10 @@
|
|
|
353
261
|
<span class="cline-any cline-neutral"> </span>
|
|
354
262
|
<span class="cline-any cline-neutral"> </span>
|
|
355
263
|
<span class="cline-any cline-neutral"> </span>
|
|
356
|
-
<span class="cline-any cline-yes">
|
|
264
|
+
<span class="cline-any cline-yes">4x</span>
|
|
357
265
|
<span class="cline-any cline-neutral"> </span>
|
|
358
266
|
<span class="cline-any cline-neutral"> </span>
|
|
359
|
-
<span class="cline-any cline-yes">
|
|
267
|
+
<span class="cline-any cline-yes">4x</span>
|
|
360
268
|
<span class="cline-any cline-no"> </span>
|
|
361
269
|
<span class="cline-any cline-no"> </span>
|
|
362
270
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -367,11 +275,13 @@
|
|
|
367
275
|
<span class="cline-any cline-neutral"> </span>
|
|
368
276
|
<span class="cline-any cline-no"> </span>
|
|
369
277
|
<span class="cline-any cline-neutral"> </span>
|
|
278
|
+
<span class="cline-any cline-neutral"> </span>
|
|
279
|
+
<span class="cline-any cline-neutral"> </span>
|
|
370
280
|
<span class="cline-any cline-no"> </span>
|
|
371
281
|
<span class="cline-any cline-neutral"> </span>
|
|
372
282
|
<span class="cline-any cline-neutral"> </span>
|
|
373
283
|
<span class="cline-any cline-neutral"> </span>
|
|
374
|
-
<span class="cline-any cline-yes">
|
|
284
|
+
<span class="cline-any cline-yes">4x</span>
|
|
375
285
|
<span class="cline-any cline-neutral"> </span>
|
|
376
286
|
<span class="cline-any cline-neutral"> </span>
|
|
377
287
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -388,7 +298,7 @@
|
|
|
388
298
|
<span class="cline-any cline-no"> </span>
|
|
389
299
|
<span class="cline-any cline-neutral"> </span>
|
|
390
300
|
<span class="cline-any cline-neutral"> </span>
|
|
391
|
-
<span class="cline-any cline-yes">
|
|
301
|
+
<span class="cline-any cline-yes">4x</span>
|
|
392
302
|
<span class="cline-any cline-neutral"> </span>
|
|
393
303
|
<span class="cline-any cline-neutral"> </span>
|
|
394
304
|
<span class="cline-any cline-yes">34x</span>
|
|
@@ -409,16 +319,10 @@
|
|
|
409
319
|
<span class="cline-any cline-yes">2x</span>
|
|
410
320
|
<span class="cline-any cline-neutral"> </span>
|
|
411
321
|
<span class="cline-any cline-yes">2x</span>
|
|
412
|
-
<span class="cline-any cline-neutral"> </span>
|
|
413
322
|
<span class="cline-any cline-yes">2x</span>
|
|
414
|
-
<span class="cline-any cline-yes">1x</span>
|
|
415
|
-
<span class="cline-any cline-neutral"> </span>
|
|
416
|
-
<span class="cline-any cline-neutral"> </span>
|
|
417
|
-
<span class="cline-any cline-yes">1x</span>
|
|
418
|
-
<span class="cline-any cline-yes">1x</span>
|
|
419
|
-
<span class="cline-any cline-yes">1x</span>
|
|
420
323
|
<span class="cline-any cline-neutral"> </span>
|
|
421
|
-
<span class="cline-any cline-yes">
|
|
324
|
+
<span class="cline-any cline-yes">2x</span>
|
|
325
|
+
<span class="cline-any cline-yes">2x</span>
|
|
422
326
|
<span class="cline-any cline-neutral"> </span>
|
|
423
327
|
<span class="cline-any cline-neutral"> </span>
|
|
424
328
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -431,7 +335,6 @@
|
|
|
431
335
|
<span class="cline-any cline-neutral"> </span>
|
|
432
336
|
<span class="cline-any cline-neutral"> </span>
|
|
433
337
|
<span class="cline-any cline-yes">1x</span>
|
|
434
|
-
<span class="cline-any cline-no"> </span>
|
|
435
338
|
<span class="cline-any cline-neutral"> </span>
|
|
436
339
|
<span class="cline-any cline-neutral"> </span>
|
|
437
340
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -443,18 +346,12 @@
|
|
|
443
346
|
<span class="cline-any cline-neutral"> </span>
|
|
444
347
|
<span class="cline-any cline-yes">2x</span>
|
|
445
348
|
<span class="cline-any cline-neutral"> </span>
|
|
446
|
-
<span class="cline-any cline-yes">2x</span>
|
|
447
|
-
<span class="cline-any cline-yes">1x</span>
|
|
448
|
-
<span class="cline-any cline-neutral"> </span>
|
|
449
|
-
<span class="cline-any cline-neutral"> </span>
|
|
450
|
-
<span class="cline-any cline-yes">1x</span>
|
|
451
349
|
<span class="cline-any cline-neutral"> </span>
|
|
452
350
|
<span class="cline-any cline-neutral"> </span>
|
|
453
351
|
<span class="cline-any cline-neutral"> </span>
|
|
454
|
-
<span class="cline-any cline-yes">1x</span>
|
|
455
352
|
<span class="cline-any cline-neutral"> </span>
|
|
456
|
-
<span class="cline-any cline-
|
|
457
|
-
<span class="cline-any cline-yes">
|
|
353
|
+
<span class="cline-any cline-yes">2x</span>
|
|
354
|
+
<span class="cline-any cline-yes">2x</span>
|
|
458
355
|
<span class="cline-any cline-neutral"> </span>
|
|
459
356
|
<span class="cline-any cline-neutral"> </span>
|
|
460
357
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -463,7 +360,6 @@
|
|
|
463
360
|
<span class="cline-any cline-yes">1x</span>
|
|
464
361
|
<span class="cline-any cline-neutral"> </span>
|
|
465
362
|
<span class="cline-any cline-yes">1x</span>
|
|
466
|
-
<span class="cline-any cline-no"> </span>
|
|
467
363
|
<span class="cline-any cline-neutral"> </span>
|
|
468
364
|
<span class="cline-any cline-neutral"> </span>
|
|
469
365
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -476,64 +372,24 @@
|
|
|
476
372
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const { processString } = require("@budibase/string-templates")
|
|
477
373
|
const CouchDB = require("../../db")
|
|
478
374
|
const { generateQueryID, getQueryParams } = require("../../db/utils")
|
|
479
|
-
const { integrations } = require("../../integrations")
|
|
480
375
|
const { BaseQueryVerbs } = require("../../constants")
|
|
481
376
|
const env = require("../../environment")
|
|
482
|
-
const
|
|
377
|
+
const { Thread, ThreadType } = require("../../threads")
|
|
378
|
+
|
|
379
|
+
const Runner = new Thread(ThreadType.QUERY, { timeoutMs: 10000 })
|
|
483
380
|
|
|
484
381
|
// simple function to append "readable" to all read queries
|
|
485
382
|
function enrichQueries(input) {
|
|
486
383
|
const wasArray = Array.isArray(input)
|
|
487
384
|
const queries = wasArray ? input : [input]
|
|
488
385
|
for (let query of queries) {
|
|
489
|
-
|
|
386
|
+
if (query.queryVerb === BaseQueryVerbs.READ) {
|
|
490
387
|
query.readable = true
|
|
491
388
|
}
|
|
492
389
|
}
|
|
493
390
|
return wasArray ? queries : queries[0]
|
|
494
391
|
}
|
|
495
392
|
|
|
496
|
-
function formatResponse(resp) {
|
|
497
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof resp === "string") {
|
|
498
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
499
|
-
<span class="cstat-no" title="statement not covered" > resp = JSON.parse(resp)</span>
|
|
500
|
-
} catch (err) {
|
|
501
|
-
<span class="cstat-no" title="statement not covered" > resp = { response: resp }</span>
|
|
502
|
-
}
|
|
503
|
-
}
|
|
504
|
-
return resp
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
async function runAndTransform(
|
|
508
|
-
integration,
|
|
509
|
-
queryVerb,
|
|
510
|
-
enrichedQuery,
|
|
511
|
-
transformer
|
|
512
|
-
) {
|
|
513
|
-
let rows = formatResponse(await integration[queryVerb](enrichedQuery))
|
|
514
|
-
|
|
515
|
-
// transform as required
|
|
516
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (transformer) {
|
|
517
|
-
const runner = <span class="cstat-no" title="statement not covered" >new ScriptRunner(transformer, { data: rows })</span>
|
|
518
|
-
<span class="cstat-no" title="statement not covered" > rows = runner.execute()</span>
|
|
519
|
-
}
|
|
520
|
-
|
|
521
|
-
// needs to an array for next step
|
|
522
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!Array.isArray(rows)) {
|
|
523
|
-
<span class="cstat-no" title="statement not covered" > rows = [rows]</span>
|
|
524
|
-
}
|
|
525
|
-
|
|
526
|
-
// map into JSON if just raw primitive here
|
|
527
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (rows.find(row => typeof row !== "object")) {
|
|
528
|
-
<span class="cstat-no" title="statement not covered" > rows = rows.map(<span class="fstat-no" title="function not covered" >va</span>lue => (<span class="cstat-no" title="statement not covered" >{ value })</span>)</span>
|
|
529
|
-
}
|
|
530
|
-
|
|
531
|
-
// get all the potential fields in the schema
|
|
532
|
-
let keys = rows.flatMap(Object.keys)
|
|
533
|
-
|
|
534
|
-
return { rows, keys }
|
|
535
|
-
}
|
|
536
|
-
|
|
537
393
|
exports.fetch = async function (ctx) {
|
|
538
394
|
const db = new CouchDB(ctx.appId)
|
|
539
395
|
|
|
@@ -549,7 +405,7 @@ exports.save = async function (ctx) {
|
|
|
549
405
|
const db = new CouchDB(ctx.appId)
|
|
550
406
|
const query = ctx.request.body
|
|
551
407
|
|
|
552
|
-
|
|
408
|
+
if (!query._id) {
|
|
553
409
|
query._id = generateQueryID(query.datasourceId)
|
|
554
410
|
}
|
|
555
411
|
|
|
@@ -573,7 +429,9 @@ async function enrichQueryFields(fields, parameters = <span class="branch-0 cbra
|
|
|
573
429
|
<span class="cstat-no" title="statement not covered" > enrichedQuery[key] = await enrichQueryFields(fields[key], parameters)</span>
|
|
574
430
|
} else <span class="cstat-no" title="statement not covered" >if (typeof fields[key] === "string") {</span>
|
|
575
431
|
// enrich string value as normal
|
|
576
|
-
<span class="cstat-no" title="statement not covered" > enrichedQuery[key] = await processString(fields[key], parameters
|
|
432
|
+
<span class="cstat-no" title="statement not covered" > enrichedQuery[key] = await processString(fields[key], parameters, {</span>
|
|
433
|
+
noHelpers: true,
|
|
434
|
+
})
|
|
577
435
|
} else {
|
|
578
436
|
<span class="cstat-no" title="statement not covered" > enrichedQuery[key] = fields[key]</span>
|
|
579
437
|
}
|
|
@@ -615,31 +473,24 @@ exports.preview = async function (ctx) {
|
|
|
615
473
|
const db = new CouchDB(ctx.appId)
|
|
616
474
|
|
|
617
475
|
const datasource = await db.get(ctx.request.body.datasourceId)
|
|
618
|
-
|
|
619
|
-
const Integration = integrations[datasource.source]
|
|
620
|
-
|
|
621
|
-
if (!Integration) {
|
|
622
|
-
ctx.throw(400, "Integration type does not exist.")
|
|
623
|
-
}
|
|
624
476
|
|
|
625
477
|
const { fields, parameters, queryVerb, transformer } = ctx.request.body
|
|
626
478
|
const enrichedQuery = await enrichQueryFields(fields, parameters)
|
|
627
|
-
const integration = new Integration(datasource.config)
|
|
628
479
|
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
480
|
+
try {
|
|
481
|
+
const { rows, keys } = await Runner.run({
|
|
482
|
+
datasource,
|
|
483
|
+
queryVerb,
|
|
484
|
+
query: enrichedQuery,
|
|
485
|
+
transformer,
|
|
486
|
+
})
|
|
635
487
|
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
<span class="cstat-no" title="statement not covered" > integration.end()</span>
|
|
488
|
+
ctx.body = {
|
|
489
|
+
rows,
|
|
490
|
+
schemaFields: [...new Set(keys)],
|
|
491
|
+
}
|
|
492
|
+
} catch (err) {
|
|
493
|
+
ctx.throw(400, err)
|
|
643
494
|
}
|
|
644
495
|
}
|
|
645
496
|
|
|
@@ -648,30 +499,23 @@ exports.execute = async function (ctx) {
|
|
|
648
499
|
|
|
649
500
|
const query = await db.get(ctx.params.queryId)
|
|
650
501
|
const datasource = await db.get(query.datasourceId)
|
|
651
|
-
|
|
652
|
-
const Integration = integrations[datasource.source]
|
|
653
|
-
|
|
654
|
-
if (!Integration) {
|
|
655
|
-
ctx.throw(400, "Integration type does not exist.")
|
|
656
|
-
}
|
|
657
502
|
|
|
658
503
|
const enrichedQuery = await enrichQueryFields(
|
|
659
504
|
query.fields,
|
|
660
505
|
ctx.request.body.parameters
|
|
661
506
|
)
|
|
662
|
-
const integration = new Integration(datasource.config)
|
|
663
507
|
|
|
664
508
|
// call the relevant CRUD method on the integration class
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
509
|
+
try {
|
|
510
|
+
const { rows } = await Runner.run({
|
|
511
|
+
datasource,
|
|
512
|
+
queryVerb: query.queryVerb,
|
|
513
|
+
query: enrichedQuery,
|
|
514
|
+
transformer: query.transformer,
|
|
515
|
+
})
|
|
516
|
+
ctx.body = rows
|
|
517
|
+
} catch (err) {
|
|
518
|
+
ctx.throw(400, err)
|
|
675
519
|
}
|
|
676
520
|
}
|
|
677
521
|
|
|
@@ -688,7 +532,7 @@ exports.destroy = async function (ctx) {
|
|
|
688
532
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
689
533
|
Code coverage generated by
|
|
690
534
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
691
|
-
at
|
|
535
|
+
at Mon Nov 22 2021 10:23:31 GMT+0000 (Coordinated Universal Time)
|
|
692
536
|
</div>
|
|
693
537
|
</div>
|
|
694
538
|
<script src="../../prettify.js"></script>
|
|
@@ -23,28 +23,28 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">87.
|
|
26
|
+
<span class="strong">87.03% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
28
|
<span class='fraction'>47/54</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">63.
|
|
33
|
+
<span class="strong">63.63% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
35
|
<span class='fraction'>14/22</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">71.
|
|
40
|
+
<span class="strong">71.42% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
42
|
<span class='fraction'>5/7</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">88.
|
|
47
|
+
<span class="strong">88.67% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
49
|
<span class='fraction'>47/53</span>
|
|
50
50
|
</div>
|
|
@@ -283,13 +283,13 @@ async function updateRolesOnUserTable(db, roleId, updateOption) {
|
|
|
283
283
|
const indexOf = constraints.inclusion.indexOf(roleId)
|
|
284
284
|
if (remove && indexOf !== -1) {
|
|
285
285
|
constraints.inclusion.splice(indexOf, 1)
|
|
286
|
-
} else
|
|
286
|
+
} else if (!remove && indexOf === -1) {
|
|
287
287
|
constraints.inclusion.push(roleId)
|
|
288
288
|
}
|
|
289
289
|
break
|
|
290
290
|
}
|
|
291
291
|
}
|
|
292
|
-
|
|
292
|
+
if (updated) {
|
|
293
293
|
await db.put(table)
|
|
294
294
|
}
|
|
295
295
|
}
|
|
@@ -305,9 +305,9 @@ exports.find = async function (ctx) {
|
|
|
305
305
|
exports.save = async function (ctx) {
|
|
306
306
|
const db = new CouchDB(ctx.appId)
|
|
307
307
|
let { _id, name, inherits, permissionId } = ctx.request.body
|
|
308
|
-
|
|
308
|
+
if (!_id) {
|
|
309
309
|
_id = generateRoleID()
|
|
310
|
-
} else <span class="cstat-no" title="statement not covered" >if (isBuiltin(_id)) {</span>
|
|
310
|
+
} else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="else path not taken" >E</span>if (isBuiltin(_id)) {</span>
|
|
311
311
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot update builtin roles.")</span>
|
|
312
312
|
}
|
|
313
313
|
const role = new Role(_id, name)
|
|
@@ -358,7 +358,7 @@ exports.destroy = async function (ctx) {
|
|
|
358
358
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
359
359
|
Code coverage generated by
|
|
360
360
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
361
|
-
at
|
|
361
|
+
at Mon Nov 22 2021 10:23:31 GMT+0000 (Coordinated Universal Time)
|
|
362
362
|
</div>
|
|
363
363
|
</div>
|
|
364
364
|
<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">89.
|
|
26
|
+
<span class="strong">89.79% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
28
|
<span class='fraction'>44/49</span>
|
|
29
29
|
</div>
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">89.
|
|
47
|
+
<span class="strong">89.79% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
49
|
<span class='fraction'>44/49</span>
|
|
50
50
|
</div>
|
|
@@ -343,7 +343,7 @@ exports.clientFetch = async ctx => {
|
|
|
343
343
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
344
344
|
Code coverage generated by
|
|
345
345
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
346
|
-
at
|
|
346
|
+
at Mon Nov 22 2021 10:23:31 GMT+0000 (Coordinated Universal Time)
|
|
347
347
|
</div>
|
|
348
348
|
</div>
|
|
349
349
|
<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">15% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>15/100</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">15.3% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>15/98</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -285,7 +285,9 @@
|
|
|
285
285
|
<a name='L226'></a><a href='#L226'>226</a>
|
|
286
286
|
<a name='L227'></a><a href='#L227'>227</a>
|
|
287
287
|
<a name='L228'></a><a href='#L228'>228</a>
|
|
288
|
-
<a name='L229'></a><a href='#L229'>229</a
|
|
288
|
+
<a name='L229'></a><a href='#L229'>229</a>
|
|
289
|
+
<a name='L230'></a><a href='#L230'>230</a>
|
|
290
|
+
<a name='L231'></a><a href='#L231'>231</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
289
291
|
<span class="cline-any cline-neutral"> </span>
|
|
290
292
|
<span class="cline-any cline-neutral"> </span>
|
|
291
293
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -318,6 +320,8 @@
|
|
|
318
320
|
<span class="cline-any cline-neutral"> </span>
|
|
319
321
|
<span class="cline-any cline-neutral"> </span>
|
|
320
322
|
<span class="cline-any cline-yes">34x</span>
|
|
323
|
+
<span class="cline-any cline-neutral"> </span>
|
|
324
|
+
<span class="cline-any cline-yes">34x</span>
|
|
321
325
|
<span class="cline-any cline-no"> </span>
|
|
322
326
|
<span class="cline-any cline-no"> </span>
|
|
323
327
|
<span class="cline-any cline-no"> </span>
|
|
@@ -545,6 +549,8 @@ async function <span class="fstat-no" title="function not covered" >handleReques
|
|
|
545
549
|
)
|
|
546
550
|
}
|
|
547
551
|
|
|
552
|
+
exports.handleRequest = handleRequest
|
|
553
|
+
|
|
548
554
|
exports.patch = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
549
555
|
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
550
556
|
const inputs = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
@@ -748,7 +754,7 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
|
|
|
748
754
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
749
755
|
Code coverage generated by
|
|
750
756
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
751
|
-
at
|
|
757
|
+
at Mon Nov 22 2021 10:23:31 GMT+0000 (Coordinated Universal Time)
|
|
752
758
|
</div>
|
|
753
759
|
</div>
|
|
754
760
|
<script src="../../../prettify.js"></script>
|