@budibase/server 1.0.199 → 1.0.200-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.359da19e.js +1315 -0
- package/builder/index.html +1 -1
- package/coverage/clover.xml +2089 -2001
- 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 +74 -74
- 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 +1 -1
- package/coverage/lcov-report/middleware/joi-validator.js.html +14 -14
- 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 +2903 -2762
- 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/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 +189 -0
- package/dist/migrations/functions/backfill/index.js +32 -0
- package/dist/migrations/functions/backfill/installation.js +81 -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/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 +194 -0
- package/src/migrations/functions/backfill/index.ts +7 -0
- package/src/migrations/functions/backfill/installation.ts +51 -0
- package/src/migrations/index.ts +120 -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.107ba2e5.js +0 -1315
- package/coverage/lcov-report/api/controllers/analytics.js.html +0 -202
- package/src/api/controllers/analytics.js +0 -39
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">90.38% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>94/104</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">90.76% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>59/65</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">72.72% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>8/11</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">91.26% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>94/103</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -182,49 +182,183 @@
|
|
|
182
182
|
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
183
|
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
184
|
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
-
<a name='L120'></a><a href='#L120'>120</a
|
|
186
|
-
<
|
|
187
|
-
<
|
|
188
|
-
<
|
|
189
|
-
<
|
|
190
|
-
<
|
|
191
|
-
<
|
|
192
|
-
<
|
|
193
|
-
<
|
|
194
|
-
<
|
|
185
|
+
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
+
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
+
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
+
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
+
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
+
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
+
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
+
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
+
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
+
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
+
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
+
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
+
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
+
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
+
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
+
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
+
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
+
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
+
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
+
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
+
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
+
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
+
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
+
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
+
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
+
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
+
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
+
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
+
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
+
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
+
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
+
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
+
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
+
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
+
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
+
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
+
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
+
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
+
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
+
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
+
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
+
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
+
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
+
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
+
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
+
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
+
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
+
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
+
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
+
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
+
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
+
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
+
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
+
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
+
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
+
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
+
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
+
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
+
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
+
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
+
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
+
<a name='L190'></a><a href='#L190'>190</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">43x</span>
|
|
256
|
+
<span class="cline-any cline-yes">43x</span>
|
|
257
|
+
<span class="cline-any cline-yes">43x</span>
|
|
258
|
+
<span class="cline-any cline-yes">43x</span>
|
|
259
|
+
<span class="cline-any cline-yes">43x</span>
|
|
260
|
+
<span class="cline-any cline-yes">43x</span>
|
|
261
|
+
<span class="cline-any cline-yes">43x</span>
|
|
262
|
+
<span class="cline-any cline-yes">43x</span>
|
|
263
|
+
<span class="cline-any cline-yes">43x</span>
|
|
264
|
+
<span class="cline-any cline-yes">43x</span>
|
|
265
|
+
<span class="cline-any cline-yes">43x</span>
|
|
266
|
+
<span class="cline-any cline-neutral"> </span>
|
|
267
|
+
<span class="cline-any cline-yes">43x</span>
|
|
195
268
|
<span class="cline-any cline-yes">1x</span>
|
|
196
269
|
<span class="cline-any cline-neutral"> </span>
|
|
197
270
|
<span class="cline-any cline-neutral"> </span>
|
|
198
|
-
<span class="cline-any cline-yes">
|
|
199
|
-
<span class="cline-any cline-yes">
|
|
200
|
-
<span class="cline-any cline-yes">
|
|
201
|
-
<span class="cline-any cline-yes">
|
|
271
|
+
<span class="cline-any cline-yes">43x</span>
|
|
272
|
+
<span class="cline-any cline-yes">23x</span>
|
|
273
|
+
<span class="cline-any cline-yes">23x</span>
|
|
274
|
+
<span class="cline-any cline-yes">23x</span>
|
|
275
|
+
<span class="cline-any cline-yes">23x</span>
|
|
202
276
|
<span class="cline-any cline-neutral"> </span>
|
|
203
|
-
<span class="cline-any cline-yes">
|
|
277
|
+
<span class="cline-any cline-yes">23x</span>
|
|
204
278
|
<span class="cline-any cline-no"> </span>
|
|
205
279
|
<span class="cline-any cline-neutral"> </span>
|
|
206
280
|
<span class="cline-any cline-neutral"> </span>
|
|
207
|
-
<span class="cline-any cline-yes">
|
|
281
|
+
<span class="cline-any cline-yes">23x</span>
|
|
208
282
|
<span class="cline-any cline-neutral"> </span>
|
|
209
283
|
<span class="cline-any cline-neutral"> </span>
|
|
210
|
-
<span class="cline-any cline-yes">
|
|
211
|
-
<span class="cline-any cline-yes">
|
|
212
|
-
<span class="cline-any cline-yes">
|
|
213
|
-
<span class="cline-any cline-yes">
|
|
284
|
+
<span class="cline-any cline-yes">23x</span>
|
|
285
|
+
<span class="cline-any cline-yes">23x</span>
|
|
286
|
+
<span class="cline-any cline-yes">23x</span>
|
|
287
|
+
<span class="cline-any cline-yes">23x</span>
|
|
288
|
+
<span class="cline-any cline-yes">7x</span>
|
|
214
289
|
<span class="cline-any cline-neutral"> </span>
|
|
215
|
-
<span class="cline-any cline-yes">
|
|
216
|
-
<span class="cline-any cline-yes">
|
|
290
|
+
<span class="cline-any cline-yes">23x</span>
|
|
291
|
+
<span class="cline-any cline-yes">23x</span>
|
|
292
|
+
<span class="cline-any cline-no"> </span>
|
|
217
293
|
<span class="cline-any cline-no"> </span>
|
|
218
294
|
<span class="cline-any cline-neutral"> </span>
|
|
219
|
-
<span class="cline-any cline-yes">
|
|
295
|
+
<span class="cline-any cline-yes">23x</span>
|
|
296
|
+
<span class="cline-any cline-yes">23x</span>
|
|
297
|
+
<span class="cline-any cline-neutral"> </span>
|
|
298
|
+
<span class="cline-any cline-yes">23x</span>
|
|
299
|
+
<span class="cline-any cline-neutral"> </span>
|
|
300
|
+
<span class="cline-any cline-neutral"> </span>
|
|
301
|
+
<span class="cline-any cline-neutral"> </span>
|
|
302
|
+
<span class="cline-any cline-neutral"> </span>
|
|
303
|
+
<span class="cline-any cline-neutral"> </span>
|
|
304
|
+
<span class="cline-any cline-yes">43x</span>
|
|
305
|
+
<span class="cline-any cline-yes">23x</span>
|
|
306
|
+
<span class="cline-any cline-yes">23x</span>
|
|
307
|
+
<span class="cline-any cline-neutral"> </span>
|
|
308
|
+
<span class="cline-any cline-yes">23x</span>
|
|
309
|
+
<span class="cline-any cline-yes">1x</span>
|
|
310
|
+
<span class="cline-any cline-neutral"> </span>
|
|
311
|
+
<span class="cline-any cline-neutral"> </span>
|
|
312
|
+
<span class="cline-any cline-yes">23x</span>
|
|
313
|
+
<span class="cline-any cline-yes">12x</span>
|
|
314
|
+
<span class="cline-any cline-neutral"> </span>
|
|
315
|
+
<span class="cline-any cline-neutral"> </span>
|
|
316
|
+
<span class="cline-any cline-yes">23x</span>
|
|
317
|
+
<span class="cline-any cline-neutral"> </span>
|
|
318
|
+
<span class="cline-any cline-neutral"> </span>
|
|
319
|
+
<span class="cline-any cline-neutral"> </span>
|
|
320
|
+
<span class="cline-any cline-neutral"> </span>
|
|
321
|
+
<span class="cline-any cline-yes">1x</span>
|
|
220
322
|
<span class="cline-any cline-neutral"> </span>
|
|
221
|
-
<span class="cline-any cline-yes">8x</span>
|
|
222
323
|
<span class="cline-any cline-neutral"> </span>
|
|
223
324
|
<span class="cline-any cline-neutral"> </span>
|
|
325
|
+
<span class="cline-any cline-yes">43x</span>
|
|
326
|
+
<span class="cline-any cline-yes">23x</span>
|
|
224
327
|
<span class="cline-any cline-neutral"> </span>
|
|
225
328
|
<span class="cline-any cline-neutral"> </span>
|
|
226
329
|
<span class="cline-any cline-neutral"> </span>
|
|
227
|
-
<span class="cline-any cline-
|
|
330
|
+
<span class="cline-any cline-neutral"> </span>
|
|
331
|
+
<span class="cline-any cline-yes">23x</span>
|
|
332
|
+
<span class="cline-any cline-neutral"> </span>
|
|
333
|
+
<span class="cline-any cline-yes">23x</span>
|
|
334
|
+
<span class="cline-any cline-yes">1x</span>
|
|
335
|
+
<span class="cline-any cline-neutral"> </span>
|
|
336
|
+
<span class="cline-any cline-neutral"> </span>
|
|
337
|
+
<span class="cline-any cline-yes">23x</span>
|
|
338
|
+
<span class="cline-any cline-yes">4x</span>
|
|
339
|
+
<span class="cline-any cline-neutral"> </span>
|
|
340
|
+
<span class="cline-any cline-neutral"> </span>
|
|
341
|
+
<span class="cline-any cline-yes">23x</span>
|
|
342
|
+
<span class="cline-any cline-neutral"> </span>
|
|
343
|
+
<span class="cline-any cline-neutral"> </span>
|
|
344
|
+
<span class="cline-any cline-neutral"> </span>
|
|
345
|
+
<span class="cline-any cline-neutral"> </span>
|
|
346
|
+
<span class="cline-any cline-yes">1x</span>
|
|
347
|
+
<span class="cline-any cline-neutral"> </span>
|
|
348
|
+
<span class="cline-any cline-neutral"> </span>
|
|
349
|
+
<span class="cline-any cline-neutral"> </span>
|
|
350
|
+
<span class="cline-any cline-yes">43x</span>
|
|
351
|
+
<span class="cline-any cline-yes">23x</span>
|
|
352
|
+
<span class="cline-any cline-yes">18x</span>
|
|
353
|
+
<span class="cline-any cline-neutral"> </span>
|
|
354
|
+
<span class="cline-any cline-yes">5x</span>
|
|
355
|
+
<span class="cline-any cline-neutral"> </span>
|
|
356
|
+
<span class="cline-any cline-yes">23x</span>
|
|
357
|
+
<span class="cline-any cline-yes">23x</span>
|
|
358
|
+
<span class="cline-any cline-neutral"> </span>
|
|
359
|
+
<span class="cline-any cline-neutral"> </span>
|
|
360
|
+
<span class="cline-any cline-yes">43x</span>
|
|
361
|
+
<span class="cline-any cline-yes">1x</span>
|
|
228
362
|
<span class="cline-any cline-yes">1x</span>
|
|
229
363
|
<span class="cline-any cline-yes">1x</span>
|
|
230
364
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -235,16 +369,16 @@
|
|
|
235
369
|
<span class="cline-any cline-yes">1x</span>
|
|
236
370
|
<span class="cline-any cline-neutral"> </span>
|
|
237
371
|
<span class="cline-any cline-neutral"> </span>
|
|
238
|
-
<span class="cline-any cline-yes">
|
|
239
|
-
<span class="cline-any cline-yes">
|
|
240
|
-
<span class="cline-any cline-yes">
|
|
372
|
+
<span class="cline-any cline-yes">43x</span>
|
|
373
|
+
<span class="cline-any cline-yes">4x</span>
|
|
374
|
+
<span class="cline-any cline-yes">4x</span>
|
|
241
375
|
<span class="cline-any cline-neutral"> </span>
|
|
242
|
-
<span class="cline-any cline-yes">
|
|
243
|
-
<span class="cline-any cline-yes">
|
|
376
|
+
<span class="cline-any cline-yes">4x</span>
|
|
377
|
+
<span class="cline-any cline-yes">4x</span>
|
|
244
378
|
<span class="cline-any cline-no"> </span>
|
|
245
379
|
<span class="cline-any cline-neutral"> </span>
|
|
246
380
|
<span class="cline-any cline-neutral"> </span>
|
|
247
|
-
<span class="cline-any cline-yes">
|
|
381
|
+
<span class="cline-any cline-yes">4x</span>
|
|
248
382
|
<span class="cline-any cline-yes">2x</span>
|
|
249
383
|
<span class="cline-any cline-neutral"> </span>
|
|
250
384
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -259,22 +393,22 @@
|
|
|
259
393
|
<span class="cline-any cline-neutral"> </span>
|
|
260
394
|
<span class="cline-any cline-neutral"> </span>
|
|
261
395
|
<span class="cline-any cline-neutral"> </span>
|
|
262
|
-
<span class="cline-any cline-yes">
|
|
263
|
-
<span class="cline-any cline-yes">
|
|
396
|
+
<span class="cline-any cline-yes">4x</span>
|
|
397
|
+
<span class="cline-any cline-yes">4x</span>
|
|
264
398
|
<span class="cline-any cline-neutral"> </span>
|
|
265
|
-
<span class="cline-any cline-yes">
|
|
266
|
-
<span class="cline-any cline-yes">
|
|
267
|
-
<span class="cline-any cline-yes">
|
|
268
|
-
<span class="cline-any cline-yes">
|
|
269
|
-
<span class="cline-any cline-yes">
|
|
399
|
+
<span class="cline-any cline-yes">4x</span>
|
|
400
|
+
<span class="cline-any cline-yes">4x</span>
|
|
401
|
+
<span class="cline-any cline-yes">4x</span>
|
|
402
|
+
<span class="cline-any cline-yes">4x</span>
|
|
403
|
+
<span class="cline-any cline-yes">4x</span>
|
|
270
404
|
<span class="cline-any cline-neutral"> </span>
|
|
271
405
|
<span class="cline-any cline-neutral"> </span>
|
|
272
406
|
<span class="cline-any cline-neutral"> </span>
|
|
273
|
-
<span class="cline-any cline-yes">2x</span>
|
|
274
407
|
<span class="cline-any cline-yes">4x</span>
|
|
408
|
+
<span class="cline-any cline-yes">8x</span>
|
|
275
409
|
<span class="cline-any cline-no"> </span>
|
|
276
410
|
<span class="cline-any cline-neutral"> </span>
|
|
277
|
-
<span class="cline-any cline-yes">
|
|
411
|
+
<span class="cline-any cline-yes">4x</span>
|
|
278
412
|
<span class="cline-any cline-no"> </span>
|
|
279
413
|
<span class="cline-any cline-no"> </span>
|
|
280
414
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -282,25 +416,31 @@
|
|
|
282
416
|
<span class="cline-any cline-neutral"> </span>
|
|
283
417
|
<span class="cline-any cline-neutral"> </span>
|
|
284
418
|
<span class="cline-any cline-neutral"> </span>
|
|
285
|
-
<span class="cline-any cline-yes">
|
|
286
|
-
<span class="cline-any cline-yes">1x</span>
|
|
287
|
-
<span class="cline-any cline-yes">1x</span>
|
|
288
|
-
<span class="cline-any cline-yes">2x</span>
|
|
419
|
+
<span class="cline-any cline-yes">4x</span>
|
|
289
420
|
<span class="cline-any cline-yes">2x</span>
|
|
290
421
|
<span class="cline-any cline-yes">2x</span>
|
|
422
|
+
<span class="cline-any cline-yes">4x</span>
|
|
423
|
+
<span class="cline-any cline-yes">4x</span>
|
|
424
|
+
<span class="cline-any cline-no"> </span>
|
|
291
425
|
<span class="cline-any cline-neutral"> </span>
|
|
292
426
|
<span class="cline-any cline-neutral"> </span>
|
|
293
427
|
<span class="cline-any cline-neutral"> </span>
|
|
294
428
|
<span class="cline-any cline-neutral"> </span>
|
|
295
429
|
<span class="cline-any cline-neutral"> </span>
|
|
296
430
|
<span class="cline-any cline-neutral"> </span>
|
|
297
|
-
<span class="cline-any cline-yes">
|
|
298
|
-
<span class="cline-any cline-yes">
|
|
299
|
-
<span class="cline-any cline-yes">
|
|
431
|
+
<span class="cline-any cline-yes">4x</span>
|
|
432
|
+
<span class="cline-any cline-yes">4x</span>
|
|
433
|
+
<span class="cline-any cline-yes">4x</span>
|
|
434
|
+
<span class="cline-any cline-neutral"> </span>
|
|
435
|
+
<span class="cline-any cline-yes">4x</span>
|
|
436
|
+
<span class="cline-any cline-yes">4x</span>
|
|
300
437
|
<span class="cline-any cline-neutral"> </span>
|
|
438
|
+
<span class="cline-any cline-yes">4x</span>
|
|
301
439
|
<span class="cline-any cline-yes">2x</span>
|
|
440
|
+
<span class="cline-any cline-neutral"> </span>
|
|
302
441
|
<span class="cline-any cline-yes">2x</span>
|
|
303
442
|
<span class="cline-any cline-neutral"> </span>
|
|
443
|
+
<span class="cline-any cline-neutral"> </span>
|
|
304
444
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const viewTemplate = require("./viewBuilder")
|
|
305
445
|
const { apiFileReturn } = require("../../../utilities/fileSystem")
|
|
306
446
|
const exporters = require("./exporters")
|
|
@@ -309,6 +449,9 @@ const { fetchView } = require("../row")
|
|
|
309
449
|
const { getTable } = require("../table/utils")
|
|
310
450
|
const { FieldTypes } = require("../../../constants")
|
|
311
451
|
const { getAppDB } = require("@budibase/backend-core/context")
|
|
452
|
+
const { events } = require("@budibase/backend-core")
|
|
453
|
+
const { DocumentTypes } = require("../../../db/utils")
|
|
454
|
+
const { cloneDeep, isEqual } = require("lodash")
|
|
312
455
|
|
|
313
456
|
exports.fetch = async ctx => {
|
|
314
457
|
ctx.body = await getViews()
|
|
@@ -318,24 +461,28 @@ exports.save = async ctx => {
|
|
|
318
461
|
const db = getAppDB()
|
|
319
462
|
const { originalName, ...viewToSave } = ctx.request.body
|
|
320
463
|
const view = viewTemplate(viewToSave)
|
|
464
|
+
const viewName = viewToSave.name
|
|
321
465
|
|
|
322
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!
|
|
466
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!viewName) {
|
|
323
467
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot create view without a name")</span>
|
|
324
468
|
}
|
|
325
469
|
|
|
326
|
-
await saveView(originalName,
|
|
470
|
+
await saveView(originalName, viewName, view)
|
|
327
471
|
|
|
328
472
|
// add views to table document
|
|
329
|
-
const
|
|
473
|
+
const existingTable = await db.get(ctx.request.body.tableId)
|
|
474
|
+
const table = cloneDeep(existingTable)
|
|
330
475
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!table.views) <span class="cstat-no" title="statement not covered" >table.views = {}</span>
|
|
331
476
|
if (!view.meta.schema) {
|
|
332
477
|
view.meta.schema = table.schema
|
|
333
478
|
}
|
|
334
|
-
table.views[
|
|
479
|
+
table.views[viewName] = view.meta
|
|
335
480
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (originalName) {
|
|
336
481
|
<span class="cstat-no" title="statement not covered" > delete table.views[originalName]</span>
|
|
482
|
+
<span class="cstat-no" title="statement not covered" > existingTable.views[viewName] = existingTable.views[originalName]</span>
|
|
337
483
|
}
|
|
338
484
|
await db.put(table)
|
|
485
|
+
await handleViewEvents(existingTable.views[viewName], table.views[viewName])
|
|
339
486
|
|
|
340
487
|
ctx.body = {
|
|
341
488
|
...table.views[viewToSave.name],
|
|
@@ -343,6 +490,62 @@ exports.save = async ctx => {
|
|
|
343
490
|
}
|
|
344
491
|
}
|
|
345
492
|
|
|
493
|
+
const calculationEvents = async (existingView, newView) => {
|
|
494
|
+
const existingCalculation = existingView && existingView.calculation
|
|
495
|
+
const newCalculation = newView && newView.calculation
|
|
496
|
+
|
|
497
|
+
if (existingCalculation && !newCalculation) {
|
|
498
|
+
await events.view.calculationDeleted(existingView)
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
if (!existingCalculation && newCalculation) {
|
|
502
|
+
await events.view.calculationCreated(newView)
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
if (
|
|
506
|
+
existingCalculation &&
|
|
507
|
+
newCalculation &&
|
|
508
|
+
existingCalculation !== newCalculation
|
|
509
|
+
) {
|
|
510
|
+
await events.view.calculationUpdated(newView)
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
const filterEvents = async (existingView, newView) => {
|
|
515
|
+
const hasExistingFilters = !!(
|
|
516
|
+
existingView &&
|
|
517
|
+
existingView.filters &&
|
|
518
|
+
existingView.filters.length
|
|
519
|
+
)
|
|
520
|
+
const hasNewFilters = !!(newView && newView.filters && newView.filters.length)
|
|
521
|
+
|
|
522
|
+
if (hasExistingFilters && !hasNewFilters) {
|
|
523
|
+
await events.view.filterDeleted(newView)
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
if (!hasExistingFilters && hasNewFilters) {
|
|
527
|
+
await events.view.filterCreated(newView)
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
if (
|
|
531
|
+
hasExistingFilters &&
|
|
532
|
+
hasNewFilters &&
|
|
533
|
+
!isEqual(existingView.filters, newView.filters)
|
|
534
|
+
) {
|
|
535
|
+
await events.view.filterUpdated(newView)
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
const handleViewEvents = async (existingView, newView) => {
|
|
540
|
+
if (!existingView) {
|
|
541
|
+
await events.view.created(newView)
|
|
542
|
+
} else {
|
|
543
|
+
await events.view.updated(newView)
|
|
544
|
+
}
|
|
545
|
+
await calculationEvents(existingView, newView)
|
|
546
|
+
await filterEvents(existingView, newView)
|
|
547
|
+
}
|
|
548
|
+
|
|
346
549
|
exports.destroy = async ctx => {
|
|
347
550
|
const db = getAppDB()
|
|
348
551
|
const viewName = decodeURI(ctx.params.viewName)
|
|
@@ -350,6 +553,7 @@ exports.destroy = async ctx => {
|
|
|
350
553
|
const table = await db.get(view.meta.tableId)
|
|
351
554
|
delete table.views[viewName]
|
|
352
555
|
await db.put(table)
|
|
556
|
+
await events.view.deleted(view)
|
|
353
557
|
|
|
354
558
|
ctx.body = view
|
|
355
559
|
}
|
|
@@ -372,7 +576,7 @@ exports.exportView = async ctx => {
|
|
|
372
576
|
stats: !!view.meta.field,
|
|
373
577
|
field: view.meta.field,
|
|
374
578
|
}
|
|
375
|
-
} else
|
|
579
|
+
} else {
|
|
376
580
|
// table all_ view
|
|
377
581
|
/* istanbul ignore next */
|
|
378
582
|
ctx.params.viewName = viewName
|
|
@@ -382,9 +586,9 @@ exports.exportView = async ctx => {
|
|
|
382
586
|
let rows = ctx.body
|
|
383
587
|
|
|
384
588
|
let schema = view && view.meta && view.meta.schema
|
|
589
|
+
const tableId = ctx.params.tableId || view.meta.tableId
|
|
590
|
+
const table = await getTable(tableId)
|
|
385
591
|
<span class="missing-if-branch" title="else path not taken" >E</span>if (!schema) {
|
|
386
|
-
const tableId = ctx.params.tableId || view.meta.tableId
|
|
387
|
-
const table = await getTable(tableId)
|
|
388
592
|
schema = table.schema
|
|
389
593
|
}
|
|
390
594
|
|
|
@@ -405,8 +609,8 @@ exports.exportView = async ctx => {
|
|
|
405
609
|
const schemaKeys = Object.keys(schema)
|
|
406
610
|
for (let key of schemaKeys) {
|
|
407
611
|
for (let row of rows) {
|
|
408
|
-
<span class="missing-if-branch" title="
|
|
409
|
-
row[key] = ""
|
|
612
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (row[key] == null) {
|
|
613
|
+
<span class="cstat-no" title="statement not covered" > row[key] = ""</span>
|
|
410
614
|
}
|
|
411
615
|
}
|
|
412
616
|
}
|
|
@@ -419,6 +623,12 @@ exports.exportView = async ctx => {
|
|
|
419
623
|
// send down the file
|
|
420
624
|
ctx.attachment(filename)
|
|
421
625
|
ctx.body = apiFileReturn(exporter(headers, rows))
|
|
626
|
+
|
|
627
|
+
if (viewName.startsWith(DocumentTypes.TABLE)) {
|
|
628
|
+
await events.table.exported(table, format)
|
|
629
|
+
} else {
|
|
630
|
+
await events.view.exported(table, format)
|
|
631
|
+
}
|
|
422
632
|
}
|
|
423
633
|
</pre></td></tr></table></pre>
|
|
424
634
|
|
|
@@ -427,7 +637,7 @@ exports.exportView = async ctx => {
|
|
|
427
637
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
428
638
|
Code coverage generated by
|
|
429
639
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
430
|
-
at
|
|
640
|
+
at Mon Jun 13 2022 15:58:57 GMT+0000 (Coordinated Universal Time)
|
|
431
641
|
</div>
|
|
432
642
|
<script src="../../../prettify.js"></script>
|
|
433
643
|
<script>
|
|
@@ -219,16 +219,16 @@
|
|
|
219
219
|
<span class="cline-any cline-neutral"> </span>
|
|
220
220
|
<span class="cline-any cline-neutral"> </span>
|
|
221
221
|
<span class="cline-any cline-neutral"> </span>
|
|
222
|
-
<span class="cline-any cline-yes">
|
|
223
|
-
<span class="cline-any cline-yes">
|
|
224
|
-
<span class="cline-any cline-yes">
|
|
225
|
-
<span class="cline-any cline-yes">
|
|
222
|
+
<span class="cline-any cline-yes">44x</span>
|
|
223
|
+
<span class="cline-any cline-yes">44x</span>
|
|
224
|
+
<span class="cline-any cline-yes">44x</span>
|
|
225
|
+
<span class="cline-any cline-yes">44x</span>
|
|
226
226
|
<span class="cline-any cline-neutral"> </span>
|
|
227
|
-
<span class="cline-any cline-yes">
|
|
228
|
-
<span class="cline-any cline-yes">
|
|
229
|
-
<span class="cline-any cline-yes">
|
|
230
|
-
<span class="cline-any cline-yes">
|
|
231
|
-
<span class="cline-any cline-yes">
|
|
227
|
+
<span class="cline-any cline-yes">44x</span>
|
|
228
|
+
<span class="cline-any cline-yes">4x</span>
|
|
229
|
+
<span class="cline-any cline-yes">4x</span>
|
|
230
|
+
<span class="cline-any cline-yes">4x</span>
|
|
231
|
+
<span class="cline-any cline-yes">4x</span>
|
|
232
232
|
<span class="cline-any cline-neutral"> </span>
|
|
233
233
|
<span class="cline-any cline-neutral"> </span>
|
|
234
234
|
<span class="cline-any cline-no"> </span>
|
|
@@ -240,7 +240,7 @@
|
|
|
240
240
|
<span class="cline-any cline-neutral"> </span>
|
|
241
241
|
<span class="cline-any cline-neutral"> </span>
|
|
242
242
|
<span class="cline-any cline-neutral"> </span>
|
|
243
|
-
<span class="cline-any cline-yes">
|
|
243
|
+
<span class="cline-any cline-yes">44x</span>
|
|
244
244
|
<span class="cline-any cline-yes">2x</span>
|
|
245
245
|
<span class="cline-any cline-yes">2x</span>
|
|
246
246
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -273,19 +273,19 @@
|
|
|
273
273
|
<span class="cline-any cline-yes">2x</span>
|
|
274
274
|
<span class="cline-any cline-neutral"> </span>
|
|
275
275
|
<span class="cline-any cline-neutral"> </span>
|
|
276
|
-
<span class="cline-any cline-yes">
|
|
277
|
-
<span class="cline-any cline-yes">
|
|
278
|
-
<span class="cline-any cline-yes">
|
|
279
|
-
<span class="cline-any cline-yes">
|
|
280
|
-
<span class="cline-any cline-yes">
|
|
276
|
+
<span class="cline-any cline-yes">44x</span>
|
|
277
|
+
<span class="cline-any cline-yes">23x</span>
|
|
278
|
+
<span class="cline-any cline-yes">23x</span>
|
|
279
|
+
<span class="cline-any cline-yes">23x</span>
|
|
280
|
+
<span class="cline-any cline-yes">23x</span>
|
|
281
281
|
<span class="cline-any cline-neutral"> </span>
|
|
282
282
|
<span class="cline-any cline-neutral"> </span>
|
|
283
283
|
<span class="cline-any cline-neutral"> </span>
|
|
284
284
|
<span class="cline-any cline-neutral"> </span>
|
|
285
|
-
<span class="cline-any cline-yes">
|
|
285
|
+
<span class="cline-any cline-yes">23x</span>
|
|
286
286
|
<span class="cline-any cline-no"> </span>
|
|
287
287
|
<span class="cline-any cline-neutral"> </span>
|
|
288
|
-
<span class="cline-any cline-yes">
|
|
288
|
+
<span class="cline-any cline-yes">23x</span>
|
|
289
289
|
<span class="cline-any cline-neutral"> </span>
|
|
290
290
|
<span class="cline-any cline-no"> </span>
|
|
291
291
|
<span class="cline-any cline-no"> </span>
|
|
@@ -311,7 +311,7 @@
|
|
|
311
311
|
<span class="cline-any cline-neutral"> </span>
|
|
312
312
|
<span class="cline-any cline-neutral"> </span>
|
|
313
313
|
<span class="cline-any cline-neutral"> </span>
|
|
314
|
-
<span class="cline-any cline-yes">
|
|
314
|
+
<span class="cline-any cline-yes">44x</span>
|
|
315
315
|
<span class="cline-any cline-yes">1x</span>
|
|
316
316
|
<span class="cline-any cline-yes">1x</span>
|
|
317
317
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -327,7 +327,7 @@
|
|
|
327
327
|
<span class="cline-any cline-neutral"> </span>
|
|
328
328
|
<span class="cline-any cline-neutral"> </span>
|
|
329
329
|
<span class="cline-any cline-neutral"> </span>
|
|
330
|
-
<span class="cline-any cline-yes">
|
|
330
|
+
<span class="cline-any cline-yes">44x</span>
|
|
331
331
|
<span class="cline-any cline-neutral"> </span>
|
|
332
332
|
<span class="cline-any cline-no"> </span>
|
|
333
333
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -337,7 +337,7 @@
|
|
|
337
337
|
<span class="cline-any cline-no"> </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">44x</span>
|
|
341
341
|
<span class="cline-any cline-no"> </span>
|
|
342
342
|
<span class="cline-any cline-no"> </span>
|
|
343
343
|
<span class="cline-any cline-no"> </span>
|
|
@@ -345,7 +345,7 @@
|
|
|
345
345
|
<span class="cline-any cline-no"> </span>
|
|
346
346
|
<span class="cline-any cline-neutral"> </span>
|
|
347
347
|
<span class="cline-any cline-neutral"> </span>
|
|
348
|
-
<span class="cline-any cline-yes">
|
|
348
|
+
<span class="cline-any cline-yes">44x</span>
|
|
349
349
|
<span class="cline-any cline-yes">6x</span>
|
|
350
350
|
<span class="cline-any cline-yes">6x</span>
|
|
351
351
|
<span class="cline-any cline-yes">6x</span>
|
|
@@ -354,7 +354,7 @@
|
|
|
354
354
|
<span class="cline-any cline-yes">5x</span>
|
|
355
355
|
<span class="cline-any cline-neutral"> </span>
|
|
356
356
|
<span class="cline-any cline-neutral"> </span>
|
|
357
|
-
<span class="cline-any cline-yes">
|
|
357
|
+
<span class="cline-any cline-yes">44x</span>
|
|
358
358
|
<span class="cline-any cline-yes">1x</span>
|
|
359
359
|
<span class="cline-any cline-no"> </span>
|
|
360
360
|
<span class="cline-any cline-no"> </span>
|
|
@@ -520,7 +520,7 @@ exports.getFromMemoryDoc = async (db, viewName) => {
|
|
|
520
520
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
521
521
|
Code coverage generated by
|
|
522
522
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
523
|
-
at
|
|
523
|
+
at Mon Jun 13 2022 15:58:57 GMT+0000 (Coordinated Universal Time)
|
|
524
524
|
</div>
|
|
525
525
|
<script src="../../../prettify.js"></script>
|
|
526
526
|
<script>
|