@budibase/server 1.0.49-alpha.4 → 1.0.49-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__mocks__/arangojs.ts +1 -1
- package/__mocks__/aws-sdk.ts +4 -4
- package/__mocks__/mongodb.ts +4 -5
- package/__mocks__/mssql.ts +3 -3
- package/__mocks__/node-fetch.ts +2 -1
- package/__mocks__/pg.ts +3 -5
- package/builder/assets/{index.f763d886.js → index.94a9250f.js} +1 -1
- package/builder/index.html +1 -1
- package/coverage/clover.xml +1920 -1940
- package/coverage/coverage-final.json +54 -54
- package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/application.js.html +58 -37
- package/coverage/lcov-report/api/controllers/auth.js.html +11 -14
- package/coverage/lcov-report/api/controllers/automation.js.html +21 -51
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +8 -11
- package/coverage/lcov-report/api/controllers/component.js.html +10 -13
- package/coverage/lcov-report/api/controllers/datasource.js.html +17 -23
- package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
- package/coverage/lcov-report/api/controllers/index.html +52 -52
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +4 -4
- package/coverage/lcov-report/api/controllers/metadata.js.html +6 -21
- package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +6 -6
- package/coverage/lcov-report/api/controllers/query/index.html +10 -10
- package/coverage/lcov-report/api/controllers/query/index.js.html +21 -18
- package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/role.js.html +9 -9
- package/coverage/lcov-report/api/controllers/routing.js.html +7 -10
- package/coverage/lcov-report/api/controllers/row/external.js.html +33 -126
- package/coverage/lcov-report/api/controllers/row/index.html +28 -28
- package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +37 -82
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +19 -25
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +14 -17
- package/coverage/lcov-report/api/controllers/row/utils.js.html +15 -12
- package/coverage/lcov-report/api/controllers/screen.js.html +10 -16
- package/coverage/lcov-report/api/controllers/script.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +20 -50
- package/coverage/lcov-report/api/controllers/table/external.js.html +15 -24
- package/coverage/lcov-report/api/controllers/table/index.html +37 -37
- package/coverage/lcov-report/api/controllers/table/index.js.html +7 -7
- package/coverage/lcov-report/api/controllers/table/internal.js.html +36 -45
- package/coverage/lcov-report/api/controllers/table/utils.js.html +40 -76
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +26 -35
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +16 -16
- package/coverage/lcov-report/api/controllers/view/index.js.html +15 -21
- package/coverage/lcov-report/api/controllers/view/utils.js.html +25 -10
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
- package/coverage/lcov-report/api/controllers/webhook.js.html +21 -15
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/application.js.html +1 -1
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +1 -1
- package/coverage/lcov-report/api/routes/backup.js.html +1 -1
- package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
- package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/api/routes/dev.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +1 -1
- package/coverage/lcov-report/api/routes/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/integration.js.html +1 -1
- package/coverage/lcov-report/api/routes/layout.js.html +1 -1
- package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
- package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
- package/coverage/lcov-report/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +1 -1
- package/coverage/lcov-report/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/api/routes/row.js.html +1 -1
- package/coverage/lcov-report/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/static.js.html +1 -1
- package/coverage/lcov-report/api/routes/table.js.html +1 -1
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +1 -1
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +1 -1
- package/coverage/lcov-report/automations/automationUtils.js.html +4 -7
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/automations/index.html +18 -18
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/automations/steps/createRow.js.html +2 -5
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +1 -1
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
- package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/automations/steps/updateRow.js.html +2 -2
- package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
- package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/triggers.js.html +46 -40
- package/coverage/lcov-report/automations/utils.js.html +24 -12
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +1 -1
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +1 -1
- package/coverage/lcov-report/db/client.js.html +18 -18
- package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
- package/coverage/lcov-report/db/index.html +1 -1
- package/coverage/lcov-report/db/index.js.html +3 -3
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +11 -23
- package/coverage/lcov-report/db/linkedRows/index.html +27 -27
- package/coverage/lcov-report/db/linkedRows/index.js.html +24 -66
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +28 -28
- package/coverage/lcov-report/db/newid.js.html +1 -1
- package/coverage/lcov-report/db/utils.js.html +5 -5
- package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +1 -1
- package/coverage/lcov-report/events/utils.js.html +1 -1
- package/coverage/lcov-report/index.html +88 -88
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
- package/coverage/lcov-report/middleware/authorized.js.html +21 -15
- package/coverage/lcov-report/middleware/builder.js.html +3 -3
- package/coverage/lcov-report/middleware/currentapp.js.html +72 -60
- package/coverage/lcov-report/middleware/index.html +28 -28
- package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
- package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/usageQuota.js.html +29 -29
- package/coverage/lcov-report/middleware/utils.js.html +2 -2
- package/coverage/lcov-report/threads/automation.js.html +30 -24
- package/coverage/lcov-report/threads/index.html +16 -16
- package/coverage/lcov-report/threads/index.js.html +1 -1
- package/coverage/lcov-report/threads/query.js.html +17 -17
- package/coverage/lcov-report/threads/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
- package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
- package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
- package/coverage/lcov-report/utilities/global.js.html +44 -35
- package/coverage/lcov-report/utilities/index.html +27 -27
- package/coverage/lcov-report/utilities/index.js.html +40 -70
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +7 -7
- package/coverage/lcov-report/utilities/rowProcessor/index.html +11 -11
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +16 -58
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
- package/coverage/lcov-report/utilities/security.js.html +1 -1
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.js.html +5 -2
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +5 -2
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +5 -5
- package/coverage/lcov-report/utilities/workerRequests.js.html +5 -5
- package/coverage/lcov.info +3192 -3209
- package/dist/api/controllers/application.js +31 -28
- package/dist/api/controllers/auth.js +4 -5
- package/dist/api/controllers/automation.js +14 -19
- package/dist/api/controllers/cloud.js +2 -3
- package/dist/api/controllers/component.js +3 -4
- package/dist/api/controllers/datasource.js +9 -10
- package/dist/api/controllers/deploy/Deployment.js +3 -6
- package/dist/api/controllers/deploy/index.js +12 -13
- package/dist/api/controllers/dev.js +5 -5
- package/dist/api/controllers/layout.js +3 -3
- package/dist/api/controllers/metadata.js +4 -4
- package/dist/api/controllers/permission.js +4 -4
- package/dist/api/controllers/query/import/index.js +4 -6
- package/dist/api/controllers/query/index.js +11 -10
- package/dist/api/controllers/role.js +5 -5
- package/dist/api/controllers/routing.js +5 -6
- package/dist/api/controllers/row/ExternalRequest.js +76 -63
- package/dist/api/controllers/row/external.js +14 -22
- package/dist/api/controllers/row/internal.js +29 -44
- package/dist/api/controllers/row/internalSearch.js +11 -13
- package/dist/api/controllers/row/staticFormula.js +11 -11
- package/dist/api/controllers/row/utils.js +7 -6
- package/dist/api/controllers/screen.js +5 -7
- package/dist/api/controllers/static/index.js +4 -4
- package/dist/api/controllers/table/bulkFormula.js +14 -15
- package/dist/api/controllers/table/external.js +7 -10
- package/dist/api/controllers/table/index.js +5 -5
- package/dist/api/controllers/table/internal.js +16 -19
- package/dist/api/controllers/table/utils.js +29 -31
- package/dist/api/controllers/user.js +16 -20
- package/dist/api/controllers/view/index.js +8 -10
- package/dist/api/controllers/view/utils.js +9 -4
- package/dist/api/controllers/webhook.js +10 -8
- package/dist/api/routes/tests/utilities/TestFunctions.js +37 -17
- package/dist/automations/automationUtils.js +2 -3
- package/dist/automations/steps/createRow.js +1 -1
- package/dist/automations/steps/updateRow.js +1 -1
- package/dist/automations/triggers.js +27 -25
- package/dist/automations/utils.js +10 -5
- package/dist/db/linkedRows/LinkController.js +3 -7
- package/dist/db/linkedRows/index.js +16 -26
- package/dist/db/linkedRows/linkUtils.js +6 -6
- package/dist/db/views/staticViews.js +9 -10
- package/dist/environment.js +2 -1
- package/dist/integrations/utils.js +3 -0
- package/dist/middleware/authorized.js +5 -3
- package/dist/middleware/builder.js +2 -2
- package/dist/middleware/currentapp.js +41 -37
- package/dist/middleware/usageQuota.js +2 -2
- package/dist/migrations/functions/usageQuotas/syncApps.js +6 -9
- package/dist/migrations/functions/usageQuotas/syncRows.js +7 -9
- package/dist/package.json +4 -4
- package/dist/tests/utilities/TestConfiguration.js +67 -44
- package/dist/threads/automation.js +13 -11
- package/dist/threads/query.js +11 -11
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/index.js +4 -3
- package/dist/utilities/global.js +15 -12
- package/dist/utilities/index.js +7 -17
- package/dist/utilities/routing/index.js +5 -5
- package/dist/utilities/rowProcessor/index.js +9 -10
- package/dist/utilities/usageQuota/index.js +1 -0
- package/dist/utilities/usageQuota/rows.js +1 -0
- package/dist/utilities/users.js +3 -3
- package/dist/utilities/workerRequests.js +4 -4
- package/package.json +5 -5
- package/scripts/likeCypress.ts +1 -1
- package/src/api/controllers/application.js +35 -28
- package/src/api/controllers/auth.js +4 -5
- package/src/api/controllers/automation.js +13 -23
- package/src/api/controllers/cloud.js +2 -3
- package/src/api/controllers/component.js +3 -4
- package/src/api/controllers/datasource.js +9 -11
- package/src/api/controllers/deploy/Deployment.js +3 -7
- package/src/api/controllers/deploy/index.js +20 -13
- package/src/api/controllers/dev.js +5 -5
- package/src/api/controllers/layout.js +3 -3
- package/src/api/controllers/metadata.js +4 -9
- package/src/api/controllers/permission.js +4 -4
- package/src/api/controllers/query/import/index.ts +4 -6
- package/src/api/controllers/query/import/tests/index.spec.js +2 -1
- package/src/api/controllers/query/index.js +11 -10
- package/src/api/controllers/role.js +5 -5
- package/src/api/controllers/routing.js +5 -6
- package/src/api/controllers/row/ExternalRequest.ts +53 -42
- package/src/api/controllers/row/external.js +27 -58
- package/src/api/controllers/row/internal.js +29 -44
- package/src/api/controllers/row/internalSearch.js +11 -13
- package/src/api/controllers/row/staticFormula.js +10 -11
- package/src/api/controllers/row/utils.js +7 -6
- package/src/api/controllers/screen.js +5 -7
- package/src/api/controllers/static/index.js +4 -4
- package/src/api/controllers/table/bulkFormula.js +13 -23
- package/src/api/controllers/table/external.js +7 -10
- package/src/api/controllers/table/index.js +5 -5
- package/src/api/controllers/table/internal.js +18 -21
- package/src/api/controllers/table/utils.js +29 -41
- package/src/api/controllers/user.js +17 -20
- package/src/api/controllers/view/index.js +8 -10
- package/src/api/controllers/view/utils.js +9 -4
- package/src/api/controllers/webhook.js +10 -8
- package/src/api/routes/tests/automation.spec.js +1 -0
- package/src/api/routes/tests/misc.spec.js +0 -1
- package/src/api/routes/tests/routing.spec.js +21 -12
- package/src/api/routes/tests/row.spec.js +7 -4
- package/src/api/routes/tests/utilities/TestFunctions.js +39 -17
- package/src/automations/automationUtils.js +2 -3
- package/src/automations/steps/createRow.js +0 -1
- package/src/automations/steps/updateRow.js +1 -1
- package/src/automations/triggers.js +33 -31
- package/src/automations/utils.js +9 -5
- package/src/db/linkedRows/LinkController.js +3 -7
- package/src/db/linkedRows/index.js +16 -30
- package/src/db/linkedRows/linkUtils.js +6 -6
- package/src/db/tests/linkController.spec.js +0 -1
- package/src/db/tests/linkTests.spec.js +5 -6
- package/src/db/views/staticViews.js +8 -10
- package/src/environment.js +2 -1
- package/src/integrations/utils.ts +4 -1
- package/src/middleware/authorized.js +5 -3
- package/src/middleware/builder.js +2 -2
- package/src/middleware/currentapp.js +50 -46
- package/src/middleware/tests/authorized.spec.js +7 -2
- package/src/middleware/tests/currentapp.spec.js +6 -0
- package/src/middleware/usageQuota.js +2 -2
- package/src/migrations/functions/usageQuotas/syncApps.ts +4 -4
- package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
- package/src/module.d.ts +3 -0
- package/src/tests/utilities/TestConfiguration.js +69 -50
- package/src/threads/automation.js +17 -15
- package/src/threads/query.js +12 -12
- package/src/utilities/fileSystem/index.js +4 -3
- package/src/utilities/global.js +15 -12
- package/src/utilities/index.js +7 -17
- package/src/utilities/routing/index.js +5 -5
- package/src/utilities/rowProcessor/index.js +9 -23
- package/src/utilities/usageQuota/index.js +1 -0
- package/src/utilities/usageQuota/rows.js +1 -0
- package/src/utilities/users.js +3 -3
- package/src/utilities/workerRequests.js +4 -4
- package/tsconfig.json +2 -1
|
@@ -190,7 +190,7 @@ exports.generateQueryPreviewValidation = () => {
|
|
|
190
190
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
191
191
|
Code coverage generated by
|
|
192
192
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
193
|
-
at
|
|
193
|
+
at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
194
194
|
</div>
|
|
195
195
|
</div>
|
|
196
196
|
<script src="../../../prettify.js"></script>
|
|
@@ -155,8 +155,7 @@
|
|
|
155
155
|
<a name='L96'></a><a href='#L96'>96</a>
|
|
156
156
|
<a name='L97'></a><a href='#L97'>97</a>
|
|
157
157
|
<a name='L98'></a><a href='#L98'>98</a>
|
|
158
|
-
<a name='L99'></a><a href='#L99'>99</a></td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
159
|
-
<span class="cline-any cline-neutral"> </span>
|
|
158
|
+
<a name='L99'></a><a href='#L99'>99</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
160
159
|
<span class="cline-any cline-neutral"> </span>
|
|
161
160
|
<span class="cline-any cline-neutral"> </span>
|
|
162
161
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -167,6 +166,7 @@
|
|
|
167
166
|
<span class="cline-any cline-neutral"> </span>
|
|
168
167
|
<span class="cline-any cline-neutral"> </span>
|
|
169
168
|
<span class="cline-any cline-yes">38x</span>
|
|
169
|
+
<span class="cline-any cline-yes">38x</span>
|
|
170
170
|
<span class="cline-any cline-neutral"> </span>
|
|
171
171
|
<span class="cline-any cline-yes">38x</span>
|
|
172
172
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -253,8 +253,7 @@
|
|
|
253
253
|
<span class="cline-any cline-yes">1x</span>
|
|
254
254
|
<span class="cline-any cline-yes">1x</span>
|
|
255
255
|
<span class="cline-any cline-neutral"> </span>
|
|
256
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
257
|
-
const {
|
|
256
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const {
|
|
258
257
|
Role,
|
|
259
258
|
getRole,
|
|
260
259
|
isBuiltin,
|
|
@@ -265,6 +264,7 @@ const {
|
|
|
265
264
|
getUserMetadataParams,
|
|
266
265
|
InternalTables,
|
|
267
266
|
} = require("../../db/utils")
|
|
267
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
268
268
|
|
|
269
269
|
const UpdateRolesOptions = {
|
|
270
270
|
CREATED: "created",
|
|
@@ -295,15 +295,15 @@ async function updateRolesOnUserTable(db, roleId, updateOption) {
|
|
|
295
295
|
}
|
|
296
296
|
|
|
297
297
|
exports.fetch = async function (ctx) {
|
|
298
|
-
ctx.body = await getAllRoles(
|
|
298
|
+
ctx.body = await getAllRoles()
|
|
299
299
|
}
|
|
300
300
|
|
|
301
301
|
exports.find = async function (ctx) {
|
|
302
|
-
ctx.body = await getRole(ctx.
|
|
302
|
+
ctx.body = await getRole(ctx.params.roleId)
|
|
303
303
|
}
|
|
304
304
|
|
|
305
305
|
exports.save = async function (ctx) {
|
|
306
|
-
const db =
|
|
306
|
+
const db = getAppDB()
|
|
307
307
|
let { _id, name, inherits, permissionId } = ctx.request.body
|
|
308
308
|
if (!_id) {
|
|
309
309
|
_id = generateRoleID()
|
|
@@ -324,7 +324,7 @@ exports.save = async function (ctx) {
|
|
|
324
324
|
}
|
|
325
325
|
|
|
326
326
|
exports.destroy = async function (ctx) {
|
|
327
|
-
const db =
|
|
327
|
+
const db = getAppDB()
|
|
328
328
|
const roleId = ctx.params.roleId
|
|
329
329
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (isBuiltin(roleId)) {
|
|
330
330
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot delete builtin role.")</span>
|
|
@@ -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 Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
362
362
|
</div>
|
|
363
363
|
</div>
|
|
364
364
|
<script src="../../prettify.js"></script>
|
|
@@ -149,8 +149,7 @@
|
|
|
149
149
|
<a name='L90'></a><a href='#L90'>90</a>
|
|
150
150
|
<a name='L91'></a><a href='#L91'>91</a>
|
|
151
151
|
<a name='L92'></a><a href='#L92'>92</a>
|
|
152
|
-
<a name='L93'></a><a href='#L93'>93</a>
|
|
153
|
-
<a name='L94'></a><a href='#L94'>94</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
|
|
152
|
+
<a name='L93'></a><a href='#L93'>93</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
|
|
154
153
|
<span class="cline-any cline-neutral"> </span>
|
|
155
154
|
<span class="cline-any cline-neutral"> </span>
|
|
156
155
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -195,7 +194,6 @@
|
|
|
195
194
|
<span class="cline-any cline-neutral"> </span>
|
|
196
195
|
<span class="cline-any cline-neutral"> </span>
|
|
197
196
|
<span class="cline-any cline-neutral"> </span>
|
|
198
|
-
<span class="cline-any cline-neutral"> </span>
|
|
199
197
|
<span class="cline-any cline-yes">3x</span>
|
|
200
198
|
<span class="cline-any cline-yes">3x</span>
|
|
201
199
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -284,12 +282,11 @@ Routing.prototype.addScreenId = function (fullpath, roleId, screenId) {
|
|
|
284
282
|
|
|
285
283
|
/**
|
|
286
284
|
* Gets the full routing structure by querying the routing view and processing the result into the tree.
|
|
287
|
-
* @param {string} appId The application to produce the routing structure for.
|
|
288
285
|
* @returns {Promise<object>} The routing structure, this is the full structure designed for use in the builder,
|
|
289
286
|
* if the client routing is required then the updateRoutingStructureForUserRole should be used.
|
|
290
287
|
*/
|
|
291
|
-
async function getRoutingStructure(
|
|
292
|
-
const screenRoutes = await getRoutingInfo(
|
|
288
|
+
async function getRoutingStructure() {
|
|
289
|
+
const screenRoutes = await getRoutingInfo()
|
|
293
290
|
const routing = new Routing()
|
|
294
291
|
|
|
295
292
|
for (let screenRoute of screenRoutes) {
|
|
@@ -302,13 +299,13 @@ async function getRoutingStructure(appId) {
|
|
|
302
299
|
}
|
|
303
300
|
|
|
304
301
|
exports.fetch = async ctx => {
|
|
305
|
-
ctx.body = await getRoutingStructure(
|
|
302
|
+
ctx.body = await getRoutingStructure()
|
|
306
303
|
}
|
|
307
304
|
|
|
308
305
|
exports.clientFetch = async ctx => {
|
|
309
|
-
const routing = await getRoutingStructure(
|
|
306
|
+
const routing = await getRoutingStructure()
|
|
310
307
|
let roleId = ctx.user.role._id
|
|
311
|
-
const roleIds = await getUserRoleHierarchy(
|
|
308
|
+
const roleIds = await getUserRoleHierarchy(roleId)
|
|
312
309
|
for (let topLevel of Object.values(routing.routes)) {
|
|
313
310
|
for (let subpathKey of Object.keys(topLevel.subpaths)) {
|
|
314
311
|
let found = false
|
|
@@ -343,7 +340,7 @@ exports.clientFetch = async ctx => {
|
|
|
343
340
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
344
341
|
Code coverage generated by
|
|
345
342
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
346
|
-
at
|
|
343
|
+
at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
347
344
|
</div>
|
|
348
345
|
</div>
|
|
349
346
|
<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">16.12% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>15/
|
|
28
|
+
<span class='fraction'>15/93</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">16.48% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>15/
|
|
49
|
+
<span class='fraction'>15/91</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -257,38 +257,7 @@
|
|
|
257
257
|
<a name='L198'></a><a href='#L198'>198</a>
|
|
258
258
|
<a name='L199'></a><a href='#L199'>199</a>
|
|
259
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>
|
|
269
|
-
<a name='L210'></a><a href='#L210'>210</a>
|
|
270
|
-
<a name='L211'></a><a href='#L211'>211</a>
|
|
271
|
-
<a name='L212'></a><a href='#L212'>212</a>
|
|
272
|
-
<a name='L213'></a><a href='#L213'>213</a>
|
|
273
|
-
<a name='L214'></a><a href='#L214'>214</a>
|
|
274
|
-
<a name='L215'></a><a href='#L215'>215</a>
|
|
275
|
-
<a name='L216'></a><a href='#L216'>216</a>
|
|
276
|
-
<a name='L217'></a><a href='#L217'>217</a>
|
|
277
|
-
<a name='L218'></a><a href='#L218'>218</a>
|
|
278
|
-
<a name='L219'></a><a href='#L219'>219</a>
|
|
279
|
-
<a name='L220'></a><a href='#L220'>220</a>
|
|
280
|
-
<a name='L221'></a><a href='#L221'>221</a>
|
|
281
|
-
<a name='L222'></a><a href='#L222'>222</a>
|
|
282
|
-
<a name='L223'></a><a href='#L223'>223</a>
|
|
283
|
-
<a name='L224'></a><a href='#L224'>224</a>
|
|
284
|
-
<a name='L225'></a><a href='#L225'>225</a>
|
|
285
|
-
<a name='L226'></a><a href='#L226'>226</a>
|
|
286
|
-
<a name='L227'></a><a href='#L227'>227</a>
|
|
287
|
-
<a name='L228'></a><a href='#L228'>228</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>
|
|
291
|
-
<a name='L232'></a><a href='#L232'>232</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
260
|
+
<a name='L201'></a><a href='#L201'>201</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
292
261
|
<span class="cline-any cline-neutral"> </span>
|
|
293
262
|
<span class="cline-any cline-neutral"> </span>
|
|
294
263
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -318,15 +287,12 @@
|
|
|
318
287
|
<span class="cline-any cline-no"> </span>
|
|
319
288
|
<span class="cline-any cline-neutral"> </span>
|
|
320
289
|
<span class="cline-any cline-neutral"> </span>
|
|
321
|
-
<span class="cline-any cline-neutral"> </span>
|
|
322
|
-
<span class="cline-any cline-neutral"> </span>
|
|
323
290
|
<span class="cline-any cline-yes">39x</span>
|
|
324
291
|
<span class="cline-any cline-neutral"> </span>
|
|
325
292
|
<span class="cline-any cline-yes">39x</span>
|
|
326
293
|
<span class="cline-any cline-no"> </span>
|
|
327
294
|
<span class="cline-any cline-no"> </span>
|
|
328
295
|
<span class="cline-any cline-no"> </span>
|
|
329
|
-
<span class="cline-any cline-no"> </span>
|
|
330
296
|
<span class="cline-any cline-neutral"> </span>
|
|
331
297
|
<span class="cline-any cline-no"> </span>
|
|
332
298
|
<span class="cline-any cline-no"> </span>
|
|
@@ -339,7 +305,6 @@
|
|
|
339
305
|
<span class="cline-any cline-no"> </span>
|
|
340
306
|
<span class="cline-any cline-no"> </span>
|
|
341
307
|
<span class="cline-any cline-no"> </span>
|
|
342
|
-
<span class="cline-any cline-no"> </span>
|
|
343
308
|
<span class="cline-any cline-neutral"> </span>
|
|
344
309
|
<span class="cline-any cline-neutral"> </span>
|
|
345
310
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -355,19 +320,12 @@
|
|
|
355
320
|
<span class="cline-any cline-yes">39x</span>
|
|
356
321
|
<span class="cline-any cline-no"> </span>
|
|
357
322
|
<span class="cline-any cline-no"> </span>
|
|
358
|
-
<span class="cline-any cline-no"> </span>
|
|
359
323
|
<span class="cline-any cline-neutral"> </span>
|
|
360
324
|
<span class="cline-any cline-neutral"> </span>
|
|
361
325
|
<span class="cline-any cline-yes">39x</span>
|
|
362
326
|
<span class="cline-any cline-no"> </span>
|
|
363
327
|
<span class="cline-any cline-no"> </span>
|
|
364
328
|
<span class="cline-any cline-no"> </span>
|
|
365
|
-
<span class="cline-any cline-no"> </span>
|
|
366
|
-
<span class="cline-any cline-neutral"> </span>
|
|
367
|
-
<span class="cline-any cline-neutral"> </span>
|
|
368
|
-
<span class="cline-any cline-neutral"> </span>
|
|
369
|
-
<span class="cline-any cline-neutral"> </span>
|
|
370
|
-
<span class="cline-any cline-neutral"> </span>
|
|
371
329
|
<span class="cline-any cline-neutral"> </span>
|
|
372
330
|
<span class="cline-any cline-neutral"> </span>
|
|
373
331
|
<span class="cline-any cline-no"> </span>
|
|
@@ -377,12 +335,6 @@
|
|
|
377
335
|
<span class="cline-any cline-no"> </span>
|
|
378
336
|
<span class="cline-any cline-no"> </span>
|
|
379
337
|
<span class="cline-any cline-no"> </span>
|
|
380
|
-
<span class="cline-any cline-no"> </span>
|
|
381
|
-
<span class="cline-any cline-neutral"> </span>
|
|
382
|
-
<span class="cline-any cline-neutral"> </span>
|
|
383
|
-
<span class="cline-any cline-neutral"> </span>
|
|
384
|
-
<span class="cline-any cline-neutral"> </span>
|
|
385
|
-
<span class="cline-any cline-neutral"> </span>
|
|
386
338
|
<span class="cline-any cline-neutral"> </span>
|
|
387
339
|
<span class="cline-any cline-neutral"> </span>
|
|
388
340
|
<span class="cline-any cline-no"> </span>
|
|
@@ -394,7 +346,6 @@
|
|
|
394
346
|
<span class="cline-any cline-no"> </span>
|
|
395
347
|
<span class="cline-any cline-no"> </span>
|
|
396
348
|
<span class="cline-any cline-no"> </span>
|
|
397
|
-
<span class="cline-any cline-no"> </span>
|
|
398
349
|
<span class="cline-any cline-neutral"> </span>
|
|
399
350
|
<span class="cline-any cline-neutral"> </span>
|
|
400
351
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -410,7 +361,6 @@
|
|
|
410
361
|
<span class="cline-any cline-no"> </span>
|
|
411
362
|
<span class="cline-any cline-no"> </span>
|
|
412
363
|
<span class="cline-any cline-no"> </span>
|
|
413
|
-
<span class="cline-any cline-no"> </span>
|
|
414
364
|
<span class="cline-any cline-neutral"> </span>
|
|
415
365
|
<span class="cline-any cline-no"> </span>
|
|
416
366
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -450,11 +400,6 @@
|
|
|
450
400
|
<span class="cline-any cline-neutral"> </span>
|
|
451
401
|
<span class="cline-any cline-neutral"> </span>
|
|
452
402
|
<span class="cline-any cline-neutral"> </span>
|
|
453
|
-
<span class="cline-any cline-neutral"> </span>
|
|
454
|
-
<span class="cline-any cline-neutral"> </span>
|
|
455
|
-
<span class="cline-any cline-neutral"> </span>
|
|
456
|
-
<span class="cline-any cline-neutral"> </span>
|
|
457
|
-
<span class="cline-any cline-neutral"> </span>
|
|
458
403
|
<span class="cline-any cline-no"> </span>
|
|
459
404
|
<span class="cline-any cline-neutral"> </span>
|
|
460
405
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -474,18 +419,12 @@
|
|
|
474
419
|
<span class="cline-any cline-no"> </span>
|
|
475
420
|
<span class="cline-any cline-no"> </span>
|
|
476
421
|
<span class="cline-any cline-no"> </span>
|
|
477
|
-
<span class="cline-any cline-no"> </span>
|
|
478
422
|
<span class="cline-any cline-neutral"> </span>
|
|
479
423
|
<span class="cline-any cline-no"> </span>
|
|
480
424
|
<span class="cline-any cline-no"> </span>
|
|
481
425
|
<span class="cline-any cline-neutral"> </span>
|
|
482
426
|
<span class="cline-any cline-neutral"> </span>
|
|
483
427
|
<span class="cline-any cline-neutral"> </span>
|
|
484
|
-
<span class="cline-any cline-neutral"> </span>
|
|
485
|
-
<span class="cline-any cline-neutral"> </span>
|
|
486
|
-
<span class="cline-any cline-neutral"> </span>
|
|
487
|
-
<span class="cline-any cline-neutral"> </span>
|
|
488
|
-
<span class="cline-any cline-neutral"> </span>
|
|
489
428
|
<span class="cline-any cline-no"> </span>
|
|
490
429
|
<span class="cline-any cline-no"> </span>
|
|
491
430
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -516,7 +455,6 @@
|
|
|
516
455
|
<span class="cline-any cline-neutral"> </span>
|
|
517
456
|
<span class="cline-any cline-neutral"> </span>
|
|
518
457
|
<span class="cline-any cline-neutral"> </span>
|
|
519
|
-
<span class="cline-any cline-neutral"> </span>
|
|
520
458
|
<span class="cline-any cline-no"> </span>
|
|
521
459
|
<span class="cline-any cline-neutral"> </span>
|
|
522
460
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const {
|
|
@@ -530,9 +468,9 @@ const {
|
|
|
530
468
|
breakRowIdField,
|
|
531
469
|
} = require("../../../integrations/utils")
|
|
532
470
|
const ExternalRequest = require("./ExternalRequest")
|
|
533
|
-
const
|
|
471
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
534
472
|
|
|
535
|
-
async function <span class="fstat-no" title="function not covered" >handleRequest(</span>
|
|
473
|
+
async function <span class="fstat-no" title="function not covered" >handleRequest(</span>operation, tableId, opts = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
|
|
536
474
|
// make sure the filters are cleaned up, no empty strings for equals, fuzzy or string
|
|
537
475
|
<span class="cstat-no" title="statement not covered" > if (opts && opts.filters) {</span>
|
|
538
476
|
<span class="cstat-no" title="statement not covered" > for (let filterField of NoEmptyFilterStrings) {</span>
|
|
@@ -546,31 +484,27 @@ async function <span class="fstat-no" title="function not covered" >handleReques
|
|
|
546
484
|
}
|
|
547
485
|
}
|
|
548
486
|
}
|
|
549
|
-
<span class="cstat-no" title="statement not covered" > return new ExternalRequest(
|
|
550
|
-
opts
|
|
551
|
-
)
|
|
487
|
+
<span class="cstat-no" title="statement not covered" > return new ExternalRequest(operation, tableId, opts.datasource).run(opts)</span>
|
|
552
488
|
}
|
|
553
489
|
|
|
554
490
|
exports.handleRequest = handleRequest
|
|
555
491
|
|
|
556
492
|
exports.patch = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
557
|
-
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
558
493
|
const inputs = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
559
494
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
560
495
|
const id = <span class="cstat-no" title="statement not covered" >breakRowIdField(inputs._id)</span>
|
|
561
496
|
// don't save the ID to db
|
|
562
497
|
<span class="cstat-no" title="statement not covered" > delete inputs._id</span>
|
|
563
|
-
<span class="cstat-no" title="statement not covered" > return handleRequest(
|
|
498
|
+
<span class="cstat-no" title="statement not covered" > return handleRequest(DataSourceOperation.UPDATE, tableId, {</span>
|
|
564
499
|
id,
|
|
565
500
|
row: inputs,
|
|
566
501
|
})
|
|
567
502
|
}
|
|
568
503
|
|
|
569
504
|
exports.save = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
570
|
-
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
571
505
|
const inputs = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
572
506
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
573
|
-
<span class="cstat-no" title="statement not covered" > return handleRequest(
|
|
507
|
+
<span class="cstat-no" title="statement not covered" > return handleRequest(DataSourceOperation.CREATE, tableId, {</span>
|
|
574
508
|
row: inputs,
|
|
575
509
|
})
|
|
576
510
|
}
|
|
@@ -584,49 +518,35 @@ exports.fetchView = <span class="fstat-no" title="function not covered" >as</spa
|
|
|
584
518
|
}
|
|
585
519
|
|
|
586
520
|
exports.fetch = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
587
|
-
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
588
521
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
589
|
-
<span class="cstat-no" title="statement not covered" > return handleRequest(
|
|
522
|
+
<span class="cstat-no" title="statement not covered" > return handleRequest(DataSourceOperation.READ, tableId)</span>
|
|
590
523
|
}
|
|
591
524
|
|
|
592
525
|
exports.find = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
593
|
-
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
594
526
|
const id = <span class="cstat-no" title="statement not covered" >ctx.params.rowId</span>
|
|
595
527
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
596
|
-
const response = <span class="cstat-no" title="statement not covered" >await handleRequest(</span>
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
tableId,
|
|
600
|
-
{
|
|
601
|
-
id,
|
|
602
|
-
}
|
|
603
|
-
)
|
|
528
|
+
const response = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.READ, tableId, {</span>
|
|
529
|
+
id,
|
|
530
|
+
})
|
|
604
531
|
<span class="cstat-no" title="statement not covered" > return response ? response[0] : response</span>
|
|
605
532
|
}
|
|
606
533
|
|
|
607
534
|
exports.destroy = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
608
|
-
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
609
535
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
610
536
|
const id = <span class="cstat-no" title="statement not covered" >ctx.request.body._id</span>
|
|
611
|
-
const { row } = <span class="cstat-no" title="statement not covered" >await handleRequest(</span>
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
tableId,
|
|
615
|
-
{
|
|
616
|
-
id,
|
|
617
|
-
}
|
|
618
|
-
)
|
|
537
|
+
const { row } = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.DELETE, tableId, {</span>
|
|
538
|
+
id,
|
|
539
|
+
})
|
|
619
540
|
<span class="cstat-no" title="statement not covered" > return { response: { ok: true }, row }</span>
|
|
620
541
|
}
|
|
621
542
|
|
|
622
543
|
exports.bulkDestroy = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
623
|
-
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
624
544
|
const { rows } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
625
545
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
626
546
|
let promises = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
627
547
|
<span class="cstat-no" title="statement not covered" > for (let row of rows) {</span>
|
|
628
548
|
<span class="cstat-no" title="statement not covered" > promises.push(</span>
|
|
629
|
-
handleRequest(
|
|
549
|
+
handleRequest(DataSourceOperation.DELETE, tableId, {
|
|
630
550
|
id: breakRowIdField(row._id),
|
|
631
551
|
})
|
|
632
552
|
)
|
|
@@ -636,7 +556,6 @@ exports.bulkDestroy = <span class="fstat-no" title="function not covered" >as</s
|
|
|
636
556
|
}
|
|
637
557
|
|
|
638
558
|
exports.search = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
639
|
-
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
640
559
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
641
560
|
const { paginate, query, ...params } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
642
561
|
let { bookmark, limit } = <span class="cstat-no" title="statement not covered" >params</span>
|
|
@@ -666,26 +585,21 @@ exports.search = <span class="fstat-no" title="function not covered" >as</span>y
|
|
|
666
585
|
[params.sort]: direction,
|
|
667
586
|
}
|
|
668
587
|
}
|
|
669
|
-
const rows = <span class="cstat-no" title="statement not covered" >await handleRequest(
|
|
588
|
+
const rows = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.READ, tableId, {</span>
|
|
670
589
|
filters: query,
|
|
671
590
|
sort,
|
|
672
591
|
paginate: paginateObj,
|
|
673
592
|
})
|
|
674
593
|
let hasNextPage = <span class="cstat-no" title="statement not covered" >false</span>
|
|
675
594
|
<span class="cstat-no" title="statement not covered" > if (paginate && rows.length === limit) {</span>
|
|
676
|
-
const nextRows = <span class="cstat-no" title="statement not covered" >await handleRequest(</span>
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
limit: 1,
|
|
685
|
-
page: bookmark * limit + 1,
|
|
686
|
-
},
|
|
687
|
-
}
|
|
688
|
-
)
|
|
595
|
+
const nextRows = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.READ, tableId, {</span>
|
|
596
|
+
filters: query,
|
|
597
|
+
sort,
|
|
598
|
+
paginate: {
|
|
599
|
+
limit: 1,
|
|
600
|
+
page: bookmark * limit + 1,
|
|
601
|
+
},
|
|
602
|
+
})
|
|
689
603
|
<span class="cstat-no" title="statement not covered" > hasNextPage = nextRows.length > 0</span>
|
|
690
604
|
}
|
|
691
605
|
// need wrapper object for bookmarks etc when paginating
|
|
@@ -698,25 +612,19 @@ exports.validate = <span class="fstat-no" title="function not covered" >as</span
|
|
|
698
612
|
}
|
|
699
613
|
|
|
700
614
|
exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
701
|
-
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
702
615
|
const id = <span class="cstat-no" title="statement not covered" >ctx.params.rowId</span>
|
|
703
616
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
704
617
|
const { datasourceId, tableName } = <span class="cstat-no" title="statement not covered" >breakExternalTableId(tableId)</span>
|
|
705
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
618
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
706
619
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
707
620
|
<span class="cstat-no" title="statement not covered" > if (!datasource || !datasource.entities) {</span>
|
|
708
621
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Datasource has not been configured for plus API.")</span>
|
|
709
622
|
}
|
|
710
623
|
const tables = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
|
|
711
|
-
const response = <span class="cstat-no" title="statement not covered" >await handleRequest(</span>
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
{
|
|
716
|
-
id,
|
|
717
|
-
datasource,
|
|
718
|
-
}
|
|
719
|
-
)
|
|
624
|
+
const response = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.READ, tableId, {</span>
|
|
625
|
+
id,
|
|
626
|
+
datasource,
|
|
627
|
+
})
|
|
720
628
|
const table = <span class="cstat-no" title="statement not covered" >tables[tableName]</span>
|
|
721
629
|
const row = <span class="cstat-no" title="statement not covered" >response[0]</span>
|
|
722
630
|
// this seems like a lot of work, but basically we need to dig deeper for the enrich
|
|
@@ -735,7 +643,6 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
|
|
|
735
643
|
// don't support composite keys right now
|
|
736
644
|
const linkedIds = <span class="cstat-no" title="statement not covered" >links.map(<span class="fstat-no" title="function not covered" >li</span>nk => <span class="cstat-no" title="statement not covered" >breakRowIdField(link._id)[0])</span></span>
|
|
737
645
|
<span class="cstat-no" title="statement not covered" > row[fieldName] = await handleRequest(</span>
|
|
738
|
-
appId,
|
|
739
646
|
DataSourceOperation.READ,
|
|
740
647
|
linkedTableId,
|
|
741
648
|
{
|
|
@@ -757,7 +664,7 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
|
|
|
757
664
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
758
665
|
Code coverage generated by
|
|
759
666
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
760
|
-
at
|
|
667
|
+
at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
761
668
|
</div>
|
|
762
669
|
</div>
|
|
763
670
|
<script src="../../../prettify.js"></script>
|