@budibase/server 1.0.200 → 1.0.201-alpha.2
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 +2 -0
- package/builder/assets/index.d7c6f2cd.js +1315 -0
- package/builder/index.html +1 -1
- package/coverage/clover.xml +2094 -2004
- package/coverage/coverage-final.json +121 -122
- package/coverage/lcov-report/api/controllers/apikeys.js.html +6 -6
- package/coverage/lcov-report/api/controllers/auth.js.html +7 -7
- package/coverage/lcov-report/api/controllers/automation.js.html +174 -72
- package/coverage/lcov-report/api/controllers/backup.js.html +30 -6
- package/coverage/lcov-report/api/controllers/cloud.js.html +11 -11
- package/coverage/lcov-report/api/controllers/component.js.html +5 -5
- package/coverage/lcov-report/api/controllers/datasource.js.html +53 -41
- package/coverage/lcov-report/api/controllers/dev.js.html +94 -70
- package/coverage/lcov-report/api/controllers/index.html +57 -72
- package/coverage/lcov-report/api/controllers/integration.js.html +8 -8
- package/coverage/lcov-report/api/controllers/layout.js.html +28 -19
- package/coverage/lcov-report/api/controllers/metadata.js.html +9 -9
- package/coverage/lcov-report/api/controllers/migrations.js.html +4 -4
- package/coverage/lcov-report/api/controllers/permission.js.html +15 -15
- package/coverage/lcov-report/api/controllers/query/index.html +1 -1
- package/coverage/lcov-report/api/controllers/query/validation.js.html +10 -10
- package/coverage/lcov-report/api/controllers/role.js.html +78 -48
- package/coverage/lcov-report/api/controllers/routing.js.html +9 -9
- package/coverage/lcov-report/api/controllers/row/external.js.html +19 -19
- package/coverage/lcov-report/api/controllers/row/index.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +54 -54
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +9 -9
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +24 -24
- package/coverage/lcov-report/api/controllers/row/utils.js.html +24 -24
- package/coverage/lcov-report/api/controllers/screen.js.html +56 -20
- package/coverage/lcov-report/api/controllers/script.js.html +4 -4
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +49 -49
- package/coverage/lcov-report/api/controllers/table/external.js.html +23 -17
- package/coverage/lcov-report/api/controllers/table/index.html +26 -26
- package/coverage/lcov-report/api/controllers/table/index.js.html +85 -49
- package/coverage/lcov-report/api/controllers/templates.js.html +6 -6
- package/coverage/lcov-report/api/controllers/user.js.html +19 -19
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +11 -11
- package/coverage/lcov-report/api/controllers/view/index.html +21 -21
- package/coverage/lcov-report/api/controllers/view/index.js.html +275 -65
- package/coverage/lcov-report/api/controllers/view/utils.js.html +23 -23
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +40 -40
- package/coverage/lcov-report/api/controllers/webhook.js.html +17 -17
- package/coverage/lcov-report/api/index.html +15 -15
- package/coverage/lcov-report/api/index.js.html +39 -45
- package/coverage/lcov-report/api/routes/analytics.js.html +7 -13
- package/coverage/lcov-report/api/routes/apikeys.js.html +8 -8
- package/coverage/lcov-report/api/routes/auth.js.html +6 -6
- package/coverage/lcov-report/api/routes/automation.js.html +11 -11
- package/coverage/lcov-report/api/routes/backup.js.html +8 -8
- package/coverage/lcov-report/api/routes/cloud.js.html +8 -8
- package/coverage/lcov-report/api/routes/component.js.html +8 -8
- package/coverage/lcov-report/api/routes/datasource.js.html +9 -9
- package/coverage/lcov-report/api/routes/deploy.js.html +8 -8
- package/coverage/lcov-report/api/routes/dev.js.html +13 -13
- package/coverage/lcov-report/api/routes/index.html +1 -1
- package/coverage/lcov-report/api/routes/integration.js.html +8 -8
- package/coverage/lcov-report/api/routes/layout.js.html +8 -8
- package/coverage/lcov-report/api/routes/metadata.js.html +9 -9
- package/coverage/lcov-report/api/routes/migrations.js.html +7 -7
- package/coverage/lcov-report/api/routes/permission.js.html +9 -9
- package/coverage/lcov-report/api/routes/query.js.html +10 -10
- package/coverage/lcov-report/api/routes/role.js.html +9 -9
- package/coverage/lcov-report/api/routes/routing.js.html +8 -8
- package/coverage/lcov-report/api/routes/screen.js.html +9 -9
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/table.js.html +10 -10
- package/coverage/lcov-report/api/routes/templates.js.html +8 -8
- package/coverage/lcov-report/api/routes/user.js.html +8 -8
- package/coverage/lcov-report/api/routes/utils/index.html +1 -1
- package/coverage/lcov-report/api/routes/utils/validators.js.html +36 -36
- package/coverage/lcov-report/api/routes/view.js.html +10 -10
- package/coverage/lcov-report/api/routes/webhook.js.html +9 -9
- package/coverage/lcov-report/automations/actions.js.html +25 -25
- package/coverage/lcov-report/automations/automationUtils.js.html +8 -8
- package/coverage/lcov-report/automations/bullboard.js.html +35 -35
- package/coverage/lcov-report/automations/index.html +29 -29
- package/coverage/lcov-report/automations/index.js.html +29 -17
- package/coverage/lcov-report/automations/steps/bash.js.html +7 -7
- package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
- package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
- package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
- package/coverage/lcov-report/automations/steps/filter.js.html +7 -7
- package/coverage/lcov-report/automations/steps/index.html +1 -1
- package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
- package/coverage/lcov-report/automations/steps/loop.js.html +2 -2
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
- package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -10
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
- package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
- package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
- package/coverage/lcov-report/automations/steps/updateRow.js.html +6 -6
- package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
- package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
- 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 +18 -18
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +30 -30
- package/coverage/lcov-report/constants/layouts.js.html +5 -5
- package/coverage/lcov-report/constants/screens.js.html +4 -4
- package/coverage/lcov-report/db/inMemoryView.js.html +5 -5
- package/coverage/lcov-report/db/index.html +1 -1
- package/coverage/lcov-report/db/index.js.html +9 -9
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +17 -17
- package/coverage/lcov-report/db/linkedRows/index.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.js.html +36 -36
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +19 -19
- package/coverage/lcov-report/db/newid.js.html +4 -4
- package/coverage/lcov-report/db/utils.js.html +81 -81
- 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 +7 -7
- package/coverage/lcov-report/events/utils.js.html +10 -10
- package/coverage/lcov-report/index.html +79 -79
- 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 +5 -5
- package/coverage/lcov-report/middleware/builder.js.html +20 -20
- package/coverage/lcov-report/middleware/currentapp.js.html +49 -49
- package/coverage/lcov-report/middleware/index.html +11 -11
- package/coverage/lcov-report/middleware/joi-validator.js.html +44 -20
- package/coverage/lcov-report/middleware/publicApi.js.html +5 -5
- package/coverage/lcov-report/middleware/resourceId.js.html +29 -29
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/utils.js.html +4 -4
- package/coverage/lcov-report/threads/automation.js.html +1 -1
- package/coverage/lcov-report/threads/index.html +1 -1
- package/coverage/lcov-report/threads/query.js.html +1 -1
- package/coverage/lcov-report/threads/utils.js.html +13 -13
- package/coverage/lcov-report/utilities/budibaseDir.js.html +3 -3
- package/coverage/lcov-report/utilities/centralPath.js.html +14 -14
- package/coverage/lcov-report/utilities/csvParser.js.html +34 -34
- package/coverage/lcov-report/utilities/global.js.html +28 -28
- package/coverage/lcov-report/utilities/index.html +25 -25
- package/coverage/lcov-report/utilities/index.js.html +41 -41
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +18 -18
- package/coverage/lcov-report/utilities/queue/index.html +15 -15
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +6 -6
- package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +59 -59
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +15 -15
- package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
- package/coverage/lcov-report/utilities/security.js.html +8 -8
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +30 -30
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +7 -7
- package/coverage/lcov-report/utilities/workerRequests.js.html +29 -29
- package/coverage/lcov.info +2914 -2771
- package/dist/api/controllers/analytics.js +7 -30
- package/dist/api/controllers/application.js +56 -16
- package/dist/api/controllers/automation.js +31 -2
- package/dist/api/controllers/backup.js +7 -0
- package/dist/api/controllers/datasource.js +8 -2
- package/dist/api/controllers/deploy/index.js +6 -2
- package/dist/api/controllers/dev.js +9 -2
- package/dist/api/controllers/layout.js +3 -0
- package/dist/api/controllers/query/import/index.js +12 -2
- package/dist/api/controllers/query/import/sources/curl.js +3 -0
- package/dist/api/controllers/query/import/sources/openapi2.js +3 -0
- package/dist/api/controllers/query/import/sources/openapi3.js +3 -0
- package/dist/api/controllers/query/index.js +16 -2
- package/dist/api/controllers/role.js +11 -0
- package/dist/api/controllers/screen.js +10 -1
- package/dist/api/controllers/static/index.js +29 -15
- package/dist/api/controllers/table/external.js +2 -0
- package/dist/api/controllers/table/index.js +12 -0
- package/dist/api/controllers/table/utils.js +3 -3
- package/dist/api/controllers/view/index.js +62 -6
- package/dist/api/index.js +2 -4
- package/dist/api/routes/analytics.js +1 -3
- package/dist/app.js +16 -8
- package/dist/automations/index.js +4 -0
- package/dist/environment.js +4 -2
- package/dist/middleware/joi-validator.js +5 -0
- package/dist/migrations/functions/backfill/app/automations.js +31 -0
- package/dist/migrations/functions/backfill/app/datasources.js +28 -0
- package/dist/migrations/functions/backfill/app/layouts.js +33 -0
- package/dist/migrations/functions/backfill/app/queries.js +32 -0
- package/dist/migrations/functions/backfill/app/roles.js +28 -0
- package/dist/migrations/functions/backfill/app/screens.js +28 -0
- package/dist/migrations/functions/backfill/app/tables.js +40 -0
- package/dist/migrations/functions/backfill/app.js +175 -0
- package/dist/migrations/functions/backfill/global/configs.js +61 -0
- package/dist/migrations/functions/backfill/global/quotas.js +60 -0
- package/dist/migrations/functions/backfill/global/users.js +50 -0
- package/dist/migrations/functions/backfill/global.js +206 -0
- package/dist/migrations/functions/backfill/index.js +32 -0
- package/dist/migrations/functions/backfill/installation.js +80 -0
- package/dist/migrations/index.js +95 -31
- package/dist/migrations/tests/helpers.js +72 -0
- package/dist/migrations/tests/structures.js +37 -0
- package/dist/package.json +79 -69
- package/dist/tests/utilities/TestConfiguration.js +121 -93
- package/dist/tests/utilities/structures.js +45 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/nodemon.json +1 -1
- package/package.json +80 -70
- package/scripts/dev/manage.js +2 -0
- package/scripts/jestSetup.js +7 -0
- package/scripts/likeCypress.ts +1 -1
- package/src/api/controllers/analytics.ts +8 -0
- package/src/api/controllers/application.ts +60 -18
- package/src/api/controllers/automation.js +36 -2
- package/src/api/controllers/backup.js +8 -0
- package/src/api/controllers/datasource.js +8 -4
- package/src/api/controllers/deploy/index.ts +6 -2
- package/src/api/controllers/dev.js +10 -2
- package/src/api/controllers/layout.js +3 -0
- package/src/api/controllers/query/import/index.ts +16 -3
- package/src/api/controllers/query/import/sources/base/index.ts +2 -1
- package/src/api/controllers/query/import/sources/curl.ts +4 -0
- package/src/api/controllers/query/import/sources/openapi2.ts +4 -0
- package/src/api/controllers/query/import/sources/openapi3.ts +4 -0
- package/src/api/controllers/query/import/tests/index.spec.js +20 -7
- package/src/api/controllers/query/index.ts +16 -3
- package/src/api/controllers/role.js +10 -0
- package/src/api/controllers/screen.js +13 -1
- package/src/api/controllers/static/index.js +28 -15
- package/src/api/controllers/table/external.js +2 -0
- package/src/api/controllers/table/index.js +12 -0
- package/src/api/controllers/table/utils.ts +4 -4
- package/src/api/controllers/view/index.js +76 -6
- package/src/api/index.js +2 -4
- package/src/api/routes/analytics.js +1 -3
- package/src/api/routes/public/utils/Endpoint.ts +1 -1
- package/src/api/routes/tests/__snapshots__/datasource.spec.js.snap +5 -1
- package/src/api/routes/tests/application.spec.js +64 -4
- package/src/api/routes/tests/automation.spec.js +168 -60
- package/src/api/routes/tests/backup.spec.js +2 -0
- package/src/api/routes/tests/data/export.txt +1 -0
- package/src/api/routes/tests/datasource.spec.js +5 -0
- package/src/api/routes/tests/deployment.spec.js +25 -0
- package/src/api/routes/tests/dev.spec.js +40 -0
- package/src/api/routes/tests/layout.spec.js +4 -0
- package/src/api/routes/tests/query.spec.js +56 -13
- package/src/api/routes/tests/role.spec.js +40 -7
- package/src/api/routes/tests/row.spec.js +2 -3
- package/src/api/routes/tests/screen.spec.js +30 -4
- package/src/api/routes/tests/static.spec.js +120 -54
- package/src/api/routes/tests/table.spec.js +102 -38
- package/src/api/routes/tests/view.spec.js +222 -43
- package/src/app.ts +18 -9
- package/src/automations/index.js +4 -0
- package/src/automations/tests/delay.spec.js +4 -0
- package/src/environment.js +5 -2
- package/src/middleware/joi-validator.js +8 -0
- package/src/migrations/functions/backfill/app/automations.ts +26 -0
- package/src/migrations/functions/backfill/app/datasources.ts +22 -0
- package/src/migrations/functions/backfill/app/layouts.ts +29 -0
- package/src/migrations/functions/backfill/app/queries.ts +33 -0
- package/src/migrations/functions/backfill/app/roles.ts +22 -0
- package/src/migrations/functions/backfill/app/screens.ts +22 -0
- package/src/migrations/functions/backfill/app/tables.ts +36 -0
- package/src/migrations/functions/backfill/app.ts +148 -0
- package/src/migrations/functions/backfill/global/configs.ts +66 -0
- package/src/migrations/functions/backfill/global/quotas.ts +60 -0
- package/src/migrations/functions/backfill/global/users.ts +49 -0
- package/src/migrations/functions/backfill/global.ts +214 -0
- package/src/migrations/functions/backfill/index.ts +7 -0
- package/src/migrations/functions/backfill/installation.ts +50 -0
- package/src/migrations/index.ts +119 -51
- package/src/migrations/tests/helpers.ts +40 -0
- package/src/migrations/tests/index.spec.ts +132 -0
- package/src/migrations/tests/structures.ts +66 -0
- package/src/module.d.ts +0 -1
- package/src/tests/utilities/TestConfiguration.js +138 -90
- package/src/tests/utilities/structures.js +71 -0
- package/tsconfig.build.json +20 -5
- package/tsconfig.json +22 -17
- package/builder/assets/index.f83b3433.js +0 -1315
- package/coverage/lcov-report/api/controllers/analytics.js.html +0 -202
- package/src/api/controllers/analytics.js +0 -39
|
@@ -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">83.33% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>25/30</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">83.33% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>25/30</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -114,18 +114,22 @@
|
|
|
114
114
|
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
115
|
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
116
|
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
-
<a name='L52'></a><a href='#L52'>52</a
|
|
117
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
+
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
+
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
+
<a name='L55'></a><a href='#L55'>55</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
118
121
|
<span class="cline-any cline-neutral"> </span>
|
|
119
122
|
<span class="cline-any cline-neutral"> </span>
|
|
120
|
-
<span class="cline-any cline-yes">
|
|
121
|
-
<span class="cline-any cline-yes">
|
|
122
|
-
<span class="cline-any cline-yes">
|
|
123
|
+
<span class="cline-any cline-yes">43x</span>
|
|
124
|
+
<span class="cline-any cline-yes">43x</span>
|
|
125
|
+
<span class="cline-any cline-yes">43x</span>
|
|
126
|
+
<span class="cline-any cline-yes">43x</span>
|
|
123
127
|
<span class="cline-any cline-neutral"> </span>
|
|
124
|
-
<span class="cline-any cline-yes">
|
|
125
|
-
<span class="cline-any cline-yes">
|
|
126
|
-
<span class="cline-any cline-yes">
|
|
128
|
+
<span class="cline-any cline-yes">43x</span>
|
|
129
|
+
<span class="cline-any cline-yes">6x</span>
|
|
130
|
+
<span class="cline-any cline-yes">6x</span>
|
|
127
131
|
<span class="cline-any cline-neutral"> </span>
|
|
128
|
-
<span class="cline-any cline-yes">
|
|
132
|
+
<span class="cline-any cline-yes">6x</span>
|
|
129
133
|
<span class="cline-any cline-no"> </span>
|
|
130
134
|
<span class="cline-any cline-neutral"> </span>
|
|
131
135
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -133,15 +137,16 @@
|
|
|
133
137
|
<span class="cline-any cline-no"> </span>
|
|
134
138
|
<span class="cline-any cline-neutral"> </span>
|
|
135
139
|
<span class="cline-any cline-neutral"> </span>
|
|
136
|
-
<span class="cline-any cline-yes">
|
|
137
|
-
<span class="cline-any cline-yes">
|
|
138
|
-
<span class="cline-any cline-yes">
|
|
140
|
+
<span class="cline-any cline-yes">6x</span>
|
|
141
|
+
<span class="cline-any cline-yes">6x</span>
|
|
142
|
+
<span class="cline-any cline-yes">6x</span>
|
|
143
|
+
<span class="cline-any cline-yes">6x</span>
|
|
139
144
|
<span class="cline-any cline-neutral"> </span>
|
|
140
|
-
<span class="cline-any cline-yes">
|
|
141
|
-
<span class="cline-any cline-yes">
|
|
145
|
+
<span class="cline-any cline-yes">6x</span>
|
|
146
|
+
<span class="cline-any cline-yes">6x</span>
|
|
142
147
|
<span class="cline-any cline-neutral"> </span>
|
|
143
148
|
<span class="cline-any cline-neutral"> </span>
|
|
144
|
-
<span class="cline-any cline-yes">
|
|
149
|
+
<span class="cline-any cline-yes">43x</span>
|
|
145
150
|
<span class="cline-any cline-yes">1x</span>
|
|
146
151
|
<span class="cline-any cline-yes">1x</span>
|
|
147
152
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -164,6 +169,7 @@
|
|
|
164
169
|
<span class="cline-any cline-yes">1x</span>
|
|
165
170
|
<span class="cline-any cline-yes">1x</span>
|
|
166
171
|
<span class="cline-any cline-yes">1x</span>
|
|
172
|
+
<span class="cline-any cline-yes">1x</span>
|
|
167
173
|
<span class="cline-any cline-neutral"> </span>
|
|
168
174
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const {
|
|
169
175
|
EMPTY_LAYOUT,
|
|
@@ -171,6 +177,7 @@
|
|
|
171
177
|
} = require("../../constants/layouts")
|
|
172
178
|
const { generateLayoutID, getScreenParams } = require("../../db/utils")
|
|
173
179
|
const { getAppDB } = require("@budibase/backend-core/context")
|
|
180
|
+
const { events } = require("@budibase/backend-core")
|
|
174
181
|
|
|
175
182
|
exports.save = async function (ctx) {
|
|
176
183
|
const db = getAppDB()
|
|
@@ -186,6 +193,7 @@ exports.save = async function (ctx) {
|
|
|
186
193
|
|
|
187
194
|
layout._id = layout._id || generateLayoutID()
|
|
188
195
|
const response = await db.put(layout)
|
|
196
|
+
await events.layout.created(layout)
|
|
189
197
|
layout._rev = response.rev
|
|
190
198
|
|
|
191
199
|
ctx.body = layout
|
|
@@ -213,6 +221,7 @@ exports.destroy = async function (ctx) {
|
|
|
213
221
|
}
|
|
214
222
|
|
|
215
223
|
await db.remove(layoutId, layoutRev)
|
|
224
|
+
await events.layout.deleted(layoutId)
|
|
216
225
|
ctx.body = { message: "Layout deleted successfully" }
|
|
217
226
|
ctx.status = 200
|
|
218
227
|
}
|
|
@@ -223,7 +232,7 @@ exports.destroy = async function (ctx) {
|
|
|
223
232
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
224
233
|
Code coverage generated by
|
|
225
234
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
226
|
-
at
|
|
235
|
+
at Wed Jun 15 2022 10:31:22 GMT+0000 (Coordinated Universal Time)
|
|
227
236
|
</div>
|
|
228
237
|
<script src="../../prettify.js"></script>
|
|
229
238
|
<script>
|
|
@@ -104,18 +104,18 @@
|
|
|
104
104
|
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
105
|
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
106
|
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
-
<a name='L42'></a><a href='#L42'>42</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">
|
|
108
|
-
<span class="cline-any cline-yes">
|
|
109
|
-
<span class="cline-any cline-yes">
|
|
110
|
-
<span class="cline-any cline-yes">
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">27x</span>
|
|
108
|
+
<span class="cline-any cline-yes">27x</span>
|
|
109
|
+
<span class="cline-any cline-yes">27x</span>
|
|
110
|
+
<span class="cline-any cline-yes">27x</span>
|
|
111
111
|
<span class="cline-any cline-neutral"> </span>
|
|
112
|
-
<span class="cline-any cline-yes">
|
|
112
|
+
<span class="cline-any cline-yes">27x</span>
|
|
113
113
|
<span class="cline-any cline-no"> </span>
|
|
114
114
|
<span class="cline-any cline-neutral"> </span>
|
|
115
115
|
<span class="cline-any cline-neutral"> </span>
|
|
116
116
|
<span class="cline-any cline-neutral"> </span>
|
|
117
117
|
<span class="cline-any cline-neutral"> </span>
|
|
118
|
-
<span class="cline-any cline-yes">
|
|
118
|
+
<span class="cline-any cline-yes">27x</span>
|
|
119
119
|
<span class="cline-any cline-yes">1x</span>
|
|
120
120
|
<span class="cline-any cline-yes">1x</span>
|
|
121
121
|
<span class="cline-any cline-no"> </span>
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
<span class="cline-any cline-yes">1x</span>
|
|
124
124
|
<span class="cline-any cline-neutral"> </span>
|
|
125
125
|
<span class="cline-any cline-neutral"> </span>
|
|
126
|
-
<span class="cline-any cline-yes">
|
|
126
|
+
<span class="cline-any cline-yes">27x</span>
|
|
127
127
|
<span class="cline-any cline-yes">1x</span>
|
|
128
128
|
<span class="cline-any cline-yes">1x</span>
|
|
129
129
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
<span class="cline-any cline-neutral"> </span>
|
|
132
132
|
<span class="cline-any cline-neutral"> </span>
|
|
133
133
|
<span class="cline-any cline-neutral"> </span>
|
|
134
|
-
<span class="cline-any cline-yes">
|
|
134
|
+
<span class="cline-any cline-yes">27x</span>
|
|
135
135
|
<span class="cline-any cline-yes">3x</span>
|
|
136
136
|
<span class="cline-any cline-yes">3x</span>
|
|
137
137
|
<span class="cline-any cline-yes">3x</span>
|
|
@@ -193,7 +193,7 @@ exports.getMetadata = async ctx => {
|
|
|
193
193
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
194
194
|
Code coverage generated by
|
|
195
195
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
196
|
-
at
|
|
196
|
+
at Wed Jun 15 2022 10:31:22 GMT+0000 (Coordinated Universal Time)
|
|
197
197
|
</div>
|
|
198
198
|
<script src="../../prettify.js"></script>
|
|
199
199
|
<script>
|
|
@@ -76,16 +76,16 @@
|
|
|
76
76
|
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
77
|
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
78
|
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
-
<a name='L14'></a><a href='#L14'>14</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">27x</span>
|
|
80
80
|
<span class="cline-any cline-neutral"> </span>
|
|
81
|
-
<span class="cline-any cline-yes">
|
|
81
|
+
<span class="cline-any cline-yes">27x</span>
|
|
82
82
|
<span class="cline-any cline-no"> </span>
|
|
83
83
|
<span class="cline-any cline-neutral"> </span>
|
|
84
84
|
<span class="cline-any cline-no"> </span>
|
|
85
85
|
<span class="cline-any cline-no"> </span>
|
|
86
86
|
<span class="cline-any cline-neutral"> </span>
|
|
87
87
|
<span class="cline-any cline-neutral"> </span>
|
|
88
|
-
<span class="cline-any cline-yes">
|
|
88
|
+
<span class="cline-any cline-yes">27x</span>
|
|
89
89
|
<span class="cline-any cline-no"> </span>
|
|
90
90
|
<span class="cline-any cline-no"> </span>
|
|
91
91
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -109,7 +109,7 @@ exports.fetchDefinitions = <span class="fstat-no" title="function not covered" >
|
|
|
109
109
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
110
110
|
Code coverage generated by
|
|
111
111
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
112
|
-
at
|
|
112
|
+
at Wed Jun 15 2022 10:31:22 GMT+0000 (Coordinated Universal Time)
|
|
113
113
|
</div>
|
|
114
114
|
<script src="../../prettify.js"></script>
|
|
115
115
|
<script>
|
|
@@ -238,28 +238,28 @@
|
|
|
238
238
|
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
239
|
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
240
|
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
-
<a name='L176'></a><a href='#L176'>176</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">
|
|
241
|
+
<a name='L176'></a><a href='#L176'>176</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">43x</span>
|
|
242
242
|
<span class="cline-any cline-neutral"> </span>
|
|
243
243
|
<span class="cline-any cline-neutral"> </span>
|
|
244
244
|
<span class="cline-any cline-neutral"> </span>
|
|
245
245
|
<span class="cline-any cline-neutral"> </span>
|
|
246
246
|
<span class="cline-any cline-neutral"> </span>
|
|
247
247
|
<span class="cline-any cline-neutral"> </span>
|
|
248
|
-
<span class="cline-any cline-yes">
|
|
249
|
-
<span class="cline-any cline-yes">
|
|
248
|
+
<span class="cline-any cline-yes">43x</span>
|
|
249
|
+
<span class="cline-any cline-yes">43x</span>
|
|
250
250
|
<span class="cline-any cline-neutral"> </span>
|
|
251
251
|
<span class="cline-any cline-neutral"> </span>
|
|
252
252
|
<span class="cline-any cline-neutral"> </span>
|
|
253
|
-
<span class="cline-any cline-yes">
|
|
254
|
-
<span class="cline-any cline-yes">
|
|
255
|
-
<span class="cline-any cline-yes">
|
|
253
|
+
<span class="cline-any cline-yes">43x</span>
|
|
254
|
+
<span class="cline-any cline-yes">43x</span>
|
|
255
|
+
<span class="cline-any cline-yes">43x</span>
|
|
256
256
|
<span class="cline-any cline-neutral"> </span>
|
|
257
|
-
<span class="cline-any cline-yes">
|
|
257
|
+
<span class="cline-any cline-yes">43x</span>
|
|
258
258
|
<span class="cline-any cline-neutral"> </span>
|
|
259
259
|
<span class="cline-any cline-neutral"> </span>
|
|
260
260
|
<span class="cline-any cline-neutral"> </span>
|
|
261
261
|
<span class="cline-any cline-neutral"> </span>
|
|
262
|
-
<span class="cline-any cline-yes">
|
|
262
|
+
<span class="cline-any cline-yes">43x</span>
|
|
263
263
|
<span class="cline-any cline-neutral"> </span>
|
|
264
264
|
<span class="cline-any cline-neutral"> </span>
|
|
265
265
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -337,16 +337,16 @@
|
|
|
337
337
|
<span class="cline-any cline-neutral"> </span>
|
|
338
338
|
<span class="cline-any cline-neutral"> </span>
|
|
339
339
|
<span class="cline-any cline-neutral"> </span>
|
|
340
|
-
<span class="cline-any cline-yes">
|
|
340
|
+
<span class="cline-any cline-yes">43x</span>
|
|
341
341
|
<span class="cline-any cline-yes">1x</span>
|
|
342
342
|
<span class="cline-any cline-neutral"> </span>
|
|
343
343
|
<span class="cline-any cline-neutral"> </span>
|
|
344
|
-
<span class="cline-any cline-yes">
|
|
344
|
+
<span class="cline-any cline-yes">43x</span>
|
|
345
345
|
<span class="cline-any cline-neutral"> </span>
|
|
346
346
|
<span class="cline-any cline-yes">1x</span>
|
|
347
347
|
<span class="cline-any cline-neutral"> </span>
|
|
348
348
|
<span class="cline-any cline-neutral"> </span>
|
|
349
|
-
<span class="cline-any cline-yes">
|
|
349
|
+
<span class="cline-any cline-yes">43x</span>
|
|
350
350
|
<span class="cline-any cline-yes">1x</span>
|
|
351
351
|
<span class="cline-any cline-yes">1x</span>
|
|
352
352
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -372,7 +372,7 @@
|
|
|
372
372
|
<span class="cline-any cline-yes">1x</span>
|
|
373
373
|
<span class="cline-any cline-neutral"> </span>
|
|
374
374
|
<span class="cline-any cline-neutral"> </span>
|
|
375
|
-
<span class="cline-any cline-yes">
|
|
375
|
+
<span class="cline-any cline-yes">43x</span>
|
|
376
376
|
<span class="cline-any cline-yes">3x</span>
|
|
377
377
|
<span class="cline-any cline-yes">3x</span>
|
|
378
378
|
<span class="cline-any cline-yes">3x</span>
|
|
@@ -398,7 +398,7 @@
|
|
|
398
398
|
<span class="cline-any cline-yes">3x</span>
|
|
399
399
|
<span class="cline-any cline-neutral"> </span>
|
|
400
400
|
<span class="cline-any cline-neutral"> </span>
|
|
401
|
-
<span class="cline-any cline-yes">
|
|
401
|
+
<span class="cline-any cline-yes">43x</span>
|
|
402
402
|
<span class="cline-any cline-yes">10x</span>
|
|
403
403
|
<span class="cline-any cline-neutral"> </span>
|
|
404
404
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -406,7 +406,7 @@
|
|
|
406
406
|
<span class="cline-any cline-neutral"> </span>
|
|
407
407
|
<span class="cline-any cline-neutral"> </span>
|
|
408
408
|
<span class="cline-any cline-neutral"> </span>
|
|
409
|
-
<span class="cline-any cline-yes">
|
|
409
|
+
<span class="cline-any cline-yes">43x</span>
|
|
410
410
|
<span class="cline-any cline-yes">1x</span>
|
|
411
411
|
<span class="cline-any cline-neutral"> </span>
|
|
412
412
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -595,7 +595,7 @@ exports.removePermission = async function (ctx) {
|
|
|
595
595
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
596
596
|
Code coverage generated by
|
|
597
597
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
598
|
-
at
|
|
598
|
+
at Wed Jun 15 2022 10:31:22 GMT+0000 (Coordinated Universal Time)
|
|
599
599
|
</div>
|
|
600
600
|
<script src="../../prettify.js"></script>
|
|
601
601
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at
|
|
104
|
+
at Wed Jun 15 2022 10:31:22 GMT+0000 (Coordinated Universal Time)
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -113,13 +113,13 @@
|
|
|
113
113
|
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
114
|
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
115
|
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
-
<a name='L51'></a><a href='#L51'>51</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">
|
|
117
|
-
<span class="cline-any cline-yes">
|
|
116
|
+
<a name='L51'></a><a href='#L51'>51</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
|
|
117
|
+
<span class="cline-any cline-yes">44x</span>
|
|
118
118
|
<span class="cline-any cline-neutral"> </span>
|
|
119
|
-
<span class="cline-any cline-yes">
|
|
119
|
+
<span class="cline-any cline-yes">44x</span>
|
|
120
120
|
<span class="cline-any cline-neutral"> </span>
|
|
121
|
-
<span class="cline-any cline-yes">
|
|
122
|
-
<span class="cline-any cline-yes">
|
|
121
|
+
<span class="cline-any cline-yes">44x</span>
|
|
122
|
+
<span class="cline-any cline-yes">36x</span>
|
|
123
123
|
<span class="cline-any cline-neutral"> </span>
|
|
124
124
|
<span class="cline-any cline-neutral"> </span>
|
|
125
125
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -140,14 +140,14 @@
|
|
|
140
140
|
<span class="cline-any cline-neutral"> </span>
|
|
141
141
|
<span class="cline-any cline-neutral"> </span>
|
|
142
142
|
<span class="cline-any cline-neutral"> </span>
|
|
143
|
-
<span class="cline-any cline-yes">
|
|
143
|
+
<span class="cline-any cline-yes">44x</span>
|
|
144
144
|
<span class="cline-any cline-neutral"> </span>
|
|
145
|
-
<span class="cline-any cline-yes">
|
|
145
|
+
<span class="cline-any cline-yes">27x</span>
|
|
146
146
|
<span class="cline-any cline-neutral"> </span>
|
|
147
147
|
<span class="cline-any cline-neutral"> </span>
|
|
148
|
-
<span class="cline-any cline-yes">
|
|
148
|
+
<span class="cline-any cline-yes">44x</span>
|
|
149
149
|
<span class="cline-any cline-neutral"> </span>
|
|
150
|
-
<span class="cline-any cline-yes">
|
|
150
|
+
<span class="cline-any cline-yes">27x</span>
|
|
151
151
|
<span class="cline-any cline-neutral"> </span>
|
|
152
152
|
<span class="cline-any cline-neutral"> </span>
|
|
153
153
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -220,7 +220,7 @@ exports.generateQueryPreviewValidation = () => {
|
|
|
220
220
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
221
221
|
Code coverage generated by
|
|
222
222
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
223
|
-
at
|
|
223
|
+
at Wed Jun 15 2022 10:31:22 GMT+0000 (Coordinated Universal Time)
|
|
224
224
|
</div>
|
|
225
225
|
<script src="../../../prettify.js"></script>
|
|
226
226
|
<script>
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">91.93% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>57/62</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">83.33% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>20/24</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">93.44% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>57/61</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -161,77 +161,96 @@
|
|
|
161
161
|
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
162
|
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
163
|
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
-
<a name='L99'></a><a href='#L99'>99</a
|
|
164
|
+
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
+
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
+
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
+
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
+
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
+
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
+
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
+
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
+
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
+
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
+
<a name='L109'></a><a href='#L109'>109</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
165
175
|
<span class="cline-any cline-neutral"> </span>
|
|
166
176
|
<span class="cline-any cline-neutral"> </span>
|
|
167
177
|
<span class="cline-any cline-neutral"> </span>
|
|
168
178
|
<span class="cline-any cline-neutral"> </span>
|
|
169
|
-
<span class="cline-any cline-yes">
|
|
179
|
+
<span class="cline-any cline-yes">43x</span>
|
|
170
180
|
<span class="cline-any cline-neutral"> </span>
|
|
171
181
|
<span class="cline-any cline-neutral"> </span>
|
|
172
182
|
<span class="cline-any cline-neutral"> </span>
|
|
173
183
|
<span class="cline-any cline-neutral"> </span>
|
|
174
|
-
<span class="cline-any cline-yes">
|
|
175
|
-
<span class="cline-any cline-yes">
|
|
184
|
+
<span class="cline-any cline-yes">43x</span>
|
|
185
|
+
<span class="cline-any cline-yes">43x</span>
|
|
186
|
+
<span class="cline-any cline-yes">43x</span>
|
|
176
187
|
<span class="cline-any cline-neutral"> </span>
|
|
177
|
-
<span class="cline-any cline-yes">
|
|
188
|
+
<span class="cline-any cline-yes">43x</span>
|
|
178
189
|
<span class="cline-any cline-neutral"> </span>
|
|
179
190
|
<span class="cline-any cline-neutral"> </span>
|
|
180
191
|
<span class="cline-any cline-neutral"> </span>
|
|
181
192
|
<span class="cline-any cline-neutral"> </span>
|
|
182
193
|
<span class="cline-any cline-neutral"> </span>
|
|
183
|
-
<span class="cline-any cline-yes">
|
|
184
|
-
<span class="cline-any cline-yes">
|
|
185
|
-
<span class="cline-any cline-yes">
|
|
186
|
-
<span class="cline-any cline-yes">
|
|
187
|
-
<span class="cline-any cline-yes">
|
|
188
|
-
<span class="cline-any cline-yes">
|
|
189
|
-
<span class="cline-any cline-yes">
|
|
190
|
-
<span class="cline-any cline-yes">
|
|
191
|
-
<span class="cline-any cline-yes">
|
|
192
|
-
<span class="cline-any cline-yes">
|
|
194
|
+
<span class="cline-any cline-yes">8x</span>
|
|
195
|
+
<span class="cline-any cline-yes">8x</span>
|
|
196
|
+
<span class="cline-any cline-yes">8x</span>
|
|
197
|
+
<span class="cline-any cline-yes">8x</span>
|
|
198
|
+
<span class="cline-any cline-yes">8x</span>
|
|
199
|
+
<span class="cline-any cline-yes">32x</span>
|
|
200
|
+
<span class="cline-any cline-yes">8x</span>
|
|
201
|
+
<span class="cline-any cline-yes">8x</span>
|
|
202
|
+
<span class="cline-any cline-yes">8x</span>
|
|
203
|
+
<span class="cline-any cline-yes">8x</span>
|
|
193
204
|
<span class="cline-any cline-yes">1x</span>
|
|
194
|
-
<span class="cline-any cline-yes">
|
|
195
|
-
<span class="cline-any cline-yes">
|
|
205
|
+
<span class="cline-any cline-yes">7x</span>
|
|
206
|
+
<span class="cline-any cline-yes">6x</span>
|
|
196
207
|
<span class="cline-any cline-neutral"> </span>
|
|
197
|
-
<span class="cline-any cline-yes">
|
|
208
|
+
<span class="cline-any cline-yes">8x</span>
|
|
198
209
|
<span class="cline-any cline-neutral"> </span>
|
|
199
210
|
<span class="cline-any cline-neutral"> </span>
|
|
200
|
-
<span class="cline-any cline-yes">
|
|
201
|
-
<span class="cline-any cline-yes">
|
|
211
|
+
<span class="cline-any cline-yes">8x</span>
|
|
212
|
+
<span class="cline-any cline-yes">8x</span>
|
|
202
213
|
<span class="cline-any cline-neutral"> </span>
|
|
203
214
|
<span class="cline-any cline-neutral"> </span>
|
|
204
215
|
<span class="cline-any cline-neutral"> </span>
|
|
205
|
-
<span class="cline-any cline-yes">
|
|
216
|
+
<span class="cline-any cline-yes">43x</span>
|
|
206
217
|
<span class="cline-any cline-yes">2x</span>
|
|
207
218
|
<span class="cline-any cline-neutral"> </span>
|
|
208
219
|
<span class="cline-any cline-neutral"> </span>
|
|
209
|
-
<span class="cline-any cline-yes">
|
|
220
|
+
<span class="cline-any cline-yes">43x</span>
|
|
210
221
|
<span class="cline-any cline-yes">1x</span>
|
|
211
222
|
<span class="cline-any cline-neutral"> </span>
|
|
212
223
|
<span class="cline-any cline-neutral"> </span>
|
|
213
|
-
<span class="cline-any cline-yes">
|
|
214
|
-
<span class="cline-any cline-yes">
|
|
215
|
-
<span class="cline-any cline-yes">
|
|
216
|
-
<span class="cline-any cline-yes">
|
|
217
|
-
<span class="cline-any cline-yes">
|
|
218
|
-
<span class="cline-any cline-
|
|
224
|
+
<span class="cline-any cline-yes">43x</span>
|
|
225
|
+
<span class="cline-any cline-yes">7x</span>
|
|
226
|
+
<span class="cline-any cline-yes">7x</span>
|
|
227
|
+
<span class="cline-any cline-yes">7x</span>
|
|
228
|
+
<span class="cline-any cline-yes">7x</span>
|
|
229
|
+
<span class="cline-any cline-yes">6x</span>
|
|
230
|
+
<span class="cline-any cline-yes">6x</span>
|
|
231
|
+
<span class="cline-any cline-yes">1x</span>
|
|
219
232
|
<span class="cline-any cline-no"> </span>
|
|
220
233
|
<span class="cline-any cline-neutral"> </span>
|
|
221
|
-
<span class="cline-any cline-yes">
|
|
234
|
+
<span class="cline-any cline-yes">7x</span>
|
|
222
235
|
<span class="cline-any cline-neutral"> </span>
|
|
223
236
|
<span class="cline-any cline-neutral"> </span>
|
|
224
|
-
<span class="cline-any cline-yes">
|
|
225
|
-
<span class="cline-any cline-
|
|
237
|
+
<span class="cline-any cline-yes">7x</span>
|
|
238
|
+
<span class="cline-any cline-yes">1x</span>
|
|
239
|
+
<span class="cline-any cline-neutral"> </span>
|
|
240
|
+
<span class="cline-any cline-yes">7x</span>
|
|
241
|
+
<span class="cline-any cline-yes">7x</span>
|
|
242
|
+
<span class="cline-any cline-yes">6x</span>
|
|
226
243
|
<span class="cline-any cline-neutral"> </span>
|
|
227
|
-
<span class="cline-any cline-yes">
|
|
228
|
-
<span class="cline-any cline-
|
|
229
|
-
<span class="cline-any cline-yes">
|
|
230
|
-
<span class="cline-any cline-yes">
|
|
231
|
-
<span class="cline-any cline-yes">
|
|
244
|
+
<span class="cline-any cline-yes">1x</span>
|
|
245
|
+
<span class="cline-any cline-neutral"> </span>
|
|
246
|
+
<span class="cline-any cline-yes">7x</span>
|
|
247
|
+
<span class="cline-any cline-yes">7x</span>
|
|
248
|
+
<span class="cline-any cline-yes">7x</span>
|
|
249
|
+
<span class="cline-any cline-yes">7x</span>
|
|
232
250
|
<span class="cline-any cline-neutral"> </span>
|
|
233
251
|
<span class="cline-any cline-neutral"> </span>
|
|
234
|
-
<span class="cline-any cline-yes">
|
|
252
|
+
<span class="cline-any cline-yes">43x</span>
|
|
253
|
+
<span class="cline-any cline-yes">1x</span>
|
|
235
254
|
<span class="cline-any cline-yes">1x</span>
|
|
236
255
|
<span class="cline-any cline-yes">1x</span>
|
|
237
256
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -252,6 +271,7 @@
|
|
|
252
271
|
<span class="cline-any cline-neutral"> </span>
|
|
253
272
|
<span class="cline-any cline-yes">1x</span>
|
|
254
273
|
<span class="cline-any cline-yes">1x</span>
|
|
274
|
+
<span class="cline-any cline-yes">1x</span>
|
|
255
275
|
<span class="cline-any cline-neutral"> </span>
|
|
256
276
|
<span class="cline-any cline-neutral"> </span>
|
|
257
277
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -271,6 +291,7 @@ const {
|
|
|
271
291
|
InternalTables,
|
|
272
292
|
} = require("../../db/utils")
|
|
273
293
|
const { getAppDB } = require("@budibase/backend-core/context")
|
|
294
|
+
const { events } = require("@budibase/backend-core")
|
|
274
295
|
|
|
275
296
|
const UpdateRolesOptions = {
|
|
276
297
|
CREATED: "created",
|
|
@@ -289,7 +310,7 @@ async function updateRolesOnUserTable(db, roleId, updateOption) {
|
|
|
289
310
|
const indexOf = constraints.inclusion.indexOf(roleId)
|
|
290
311
|
if (remove && indexOf !== -1) {
|
|
291
312
|
constraints.inclusion.splice(indexOf, 1)
|
|
292
|
-
} else
|
|
313
|
+
} else if (!remove && indexOf === -1) {
|
|
293
314
|
constraints.inclusion.push(roleId)
|
|
294
315
|
}
|
|
295
316
|
break
|
|
@@ -311,18 +332,25 @@ exports.find = async function (ctx) {
|
|
|
311
332
|
exports.save = async function (ctx) {
|
|
312
333
|
const db = getAppDB()
|
|
313
334
|
let { _id, name, inherits, permissionId } = ctx.request.body
|
|
335
|
+
let isCreate = false
|
|
314
336
|
if (!_id) {
|
|
315
337
|
_id = generateRoleID()
|
|
316
|
-
|
|
338
|
+
isCreate = true
|
|
339
|
+
} else <span class="missing-if-branch" title="if path not taken" >I</span>if (isBuiltin(_id)) {
|
|
317
340
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot update builtin roles.")</span>
|
|
318
341
|
}
|
|
319
342
|
const role = new Role(_id, name)
|
|
320
343
|
.addPermission(permissionId)
|
|
321
344
|
.addInheritance(inherits)
|
|
322
|
-
|
|
323
|
-
|
|
345
|
+
if (ctx.request.body._rev) {
|
|
346
|
+
role._rev = ctx.request.body._rev
|
|
324
347
|
}
|
|
325
348
|
const result = await db.put(role)
|
|
349
|
+
if (isCreate) {
|
|
350
|
+
await events.role.created(role)
|
|
351
|
+
} else {
|
|
352
|
+
await events.role.updated(role)
|
|
353
|
+
}
|
|
326
354
|
await updateRolesOnUserTable(db, _id, UpdateRolesOptions.CREATED)
|
|
327
355
|
role._rev = result.rev
|
|
328
356
|
ctx.body = role
|
|
@@ -332,6 +360,7 @@ exports.save = async function (ctx) {
|
|
|
332
360
|
exports.destroy = async function (ctx) {
|
|
333
361
|
const db = getAppDB()
|
|
334
362
|
const roleId = ctx.params.roleId
|
|
363
|
+
const role = await db.get(roleId)
|
|
335
364
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (isBuiltin(roleId)) {
|
|
336
365
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot delete builtin role.")</span>
|
|
337
366
|
}
|
|
@@ -349,6 +378,7 @@ exports.destroy = async function (ctx) {
|
|
|
349
378
|
}
|
|
350
379
|
|
|
351
380
|
await db.remove(roleId, ctx.params.rev)
|
|
381
|
+
await events.role.deleted(role)
|
|
352
382
|
await updateRolesOnUserTable(
|
|
353
383
|
db,
|
|
354
384
|
ctx.params.roleId,
|
|
@@ -364,7 +394,7 @@ exports.destroy = async function (ctx) {
|
|
|
364
394
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
365
395
|
Code coverage generated by
|
|
366
396
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
367
|
-
at
|
|
397
|
+
at Wed Jun 15 2022 10:31:22 GMT+0000 (Coordinated Universal Time)
|
|
368
398
|
</div>
|
|
369
399
|
<script src="../../prettify.js"></script>
|
|
370
400
|
<script>
|