@budibase/server 1.3.19-alpha.0 → 1.3.19-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/builder/assets/index.8f621053.css +6 -0
- package/builder/assets/{index.fdade753.js → index.bd4753ac.js} +366 -356
- package/builder/index.html +2 -2
- package/coverage/clover.xml +47 -37
- package/coverage/coverage-final.json +4 -4
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/auth.js.html +41 -8
- package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
- package/coverage/lcov-report/api/controllers/component.js.html +1 -1
- package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
- package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
- package/coverage/lcov-report/api/controllers/index.html +17 -17
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
- package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
- package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
- package/coverage/lcov-report/api/controllers/query/index.html +1 -1
- package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/role.js.html +1 -1
- package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/index.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
- package/coverage/lcov-report/api/controllers/script.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
- package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +2 -2
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +1 -1
- package/coverage/lcov-report/api/routes/backup.js.html +1 -1
- package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
- package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/api/routes/dev.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +1 -1
- package/coverage/lcov-report/api/routes/integration.js.html +1 -1
- package/coverage/lcov-report/api/routes/layout.js.html +1 -1
- package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
- package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
- package/coverage/lcov-report/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +1 -1
- package/coverage/lcov-report/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/table.js.html +1 -1
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +1 -1
- package/coverage/lcov-report/api/routes/utils/index.html +9 -9
- package/coverage/lcov-report/api/routes/utils/validators.js.html +71 -11
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +1 -1
- package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/automations/index.html +1 -1
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +1 -1
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
- package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
- package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/triggers.js.html +1 -1
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +1 -1
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +1 -1
- package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
- package/coverage/lcov-report/db/index.html +1 -1
- package/coverage/lcov-report/db/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
- package/coverage/lcov-report/db/newid.js.html +1 -1
- package/coverage/lcov-report/db/utils.js.html +1 -1
- package/coverage/lcov-report/events/AutomationEmitter.js.html +3 -3
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +1 -1
- package/coverage/lcov-report/events/utils.js.html +1 -1
- package/coverage/lcov-report/index.html +29 -29
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
- package/coverage/lcov-report/middleware/builder.js.html +1 -1
- package/coverage/lcov-report/middleware/currentapp.js.html +14 -8
- package/coverage/lcov-report/middleware/index.html +15 -15
- package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
- package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
- package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
- package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
- package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
- package/coverage/lcov-report/utilities/global.js.html +1 -1
- package/coverage/lcov-report/utilities/index.html +1 -1
- package/coverage/lcov-report/utilities/index.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
- package/coverage/lcov-report/utilities/security.js.html +1 -1
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +1 -1
- package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
- package/coverage/lcov.info +73 -54
- package/dist/api/controllers/application.js +0 -1
- package/dist/api/controllers/auth.js +9 -0
- package/dist/api/controllers/deploy/index.js +1 -8
- package/dist/api/controllers/plugin/index.js +3 -0
- package/dist/api/index.js +1 -1
- package/dist/api/routes/application.js +1 -1
- package/dist/api/routes/utils/validators.js +19 -2
- package/dist/middleware/currentapp.js +2 -0
- package/dist/migrations/functions/backfill/global.js +0 -3
- package/dist/migrations/index.js +0 -10
- package/dist/package.json +6 -6
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/scripts/localdomain.js +3 -1
- package/src/api/controllers/application.ts +0 -1
- package/src/api/controllers/auth.js +11 -0
- package/src/api/controllers/deploy/index.ts +1 -6
- package/src/api/controllers/plugin/index.ts +8 -5
- package/src/api/controllers/static/index.ts +0 -1
- package/src/api/index.js +1 -1
- package/src/api/routes/application.ts +1 -1
- package/src/api/routes/tests/user.spec.js +0 -2
- package/src/api/routes/utils/validators.js +25 -5
- package/src/middleware/currentapp.js +2 -0
- package/src/migrations/functions/backfill/global.ts +0 -3
- package/src/migrations/index.ts +0 -16
- package/builder/assets/index.3850883f.css +0 -6
- package/dist/migrations/functions/developerQuota.js +0 -49
- package/dist/migrations/functions/publishedAppsQuota.js +0 -47
- package/dist/migrations/functions/usageQuotas/syncDevelopers.js +0 -24
- package/dist/migrations/functions/usageQuotas/syncPublishedApps.js +0 -26
- package/src/migrations/functions/developerQuota.ts +0 -15
- package/src/migrations/functions/publishedAppsQuota.ts +0 -13
- package/src/migrations/functions/usageQuotas/syncDevelopers.ts +0 -19
- package/src/migrations/functions/usageQuotas/syncPublishedApps.ts +0 -21
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">75.
|
|
26
|
+
<span class="strong">75.8% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>141/186</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">71.
|
|
33
|
+
<span class="strong">71.65% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>91/127</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">75.
|
|
47
|
+
<span class="strong">75.8% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>141/186</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -110,17 +110,17 @@
|
|
|
110
110
|
|
|
111
111
|
<tr>
|
|
112
112
|
<td class="file medium" data-value="currentapp.js"><a href="currentapp.js.html">currentapp.js</a></td>
|
|
113
|
-
<td data-value="
|
|
114
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
113
|
+
<td data-value="77.27" class="pic medium">
|
|
114
|
+
<div class="chart"><div class="cover-fill" style="width: 77%"></div><div class="cover-empty" style="width: 23%"></div></div>
|
|
115
115
|
</td>
|
|
116
|
-
<td data-value="
|
|
117
|
-
<td data-value="
|
|
118
|
-
<td data-value="80" class="pct high">80%</td>
|
|
119
|
-
<td data-value="
|
|
116
|
+
<td data-value="77.27" class="pct medium">77.27%</td>
|
|
117
|
+
<td data-value="66" class="abs medium">51/66</td>
|
|
118
|
+
<td data-value="80.7" class="pct high">80.7%</td>
|
|
119
|
+
<td data-value="57" class="abs high">46/57</td>
|
|
120
120
|
<td data-value="100" class="pct high">100%</td>
|
|
121
121
|
<td data-value="2" class="abs high">2/2</td>
|
|
122
|
-
<td data-value="
|
|
123
|
-
<td data-value="
|
|
122
|
+
<td data-value="77.27" class="pct medium">77.27%</td>
|
|
123
|
+
<td data-value="66" class="abs medium">51/66</td>
|
|
124
124
|
</tr>
|
|
125
125
|
|
|
126
126
|
<tr>
|
|
@@ -206,7 +206,7 @@
|
|
|
206
206
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
207
207
|
Code coverage generated by
|
|
208
208
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
209
|
-
at Thu Sep 15 2022
|
|
209
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
210
210
|
</div>
|
|
211
211
|
<script src="../prettify.js"></script>
|
|
212
212
|
<script>
|
|
@@ -187,7 +187,7 @@ function <span class="fstat-no" title="function not covered" >validate(</span>sc
|
|
|
187
187
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
188
188
|
Code coverage generated by
|
|
189
189
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
190
|
-
at Thu Sep 15 2022
|
|
190
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
191
191
|
</div>
|
|
192
192
|
<script src="../prettify.js"></script>
|
|
193
193
|
<script>
|
|
@@ -133,7 +133,7 @@ module.exports = function ({ requiresAppId } = <span class="branch-0 cbranch-no"
|
|
|
133
133
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
134
134
|
Code coverage generated by
|
|
135
135
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
136
|
-
at Thu Sep 15 2022
|
|
136
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
137
137
|
</div>
|
|
138
138
|
<script src="../prettify.js"></script>
|
|
139
139
|
<script>
|
|
@@ -253,7 +253,7 @@ module.exports.bodySubResource = (main, sub) => {
|
|
|
253
253
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
254
254
|
Code coverage generated by
|
|
255
255
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
256
|
-
at Thu Sep 15 2022
|
|
256
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
257
257
|
</div>
|
|
258
258
|
<script src="../prettify.js"></script>
|
|
259
259
|
<script>
|
|
@@ -100,7 +100,7 @@ module.exports = async (ctx, next) => {
|
|
|
100
100
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
101
101
|
Code coverage generated by
|
|
102
102
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
103
|
-
at Thu Sep 15 2022
|
|
103
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
104
104
|
</div>
|
|
105
105
|
<script src="../prettify.js"></script>
|
|
106
106
|
<script>
|
|
@@ -91,7 +91,7 @@ exports.isWebhookEndpoint = ctx => {
|
|
|
91
91
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
92
92
|
Code coverage generated by
|
|
93
93
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
94
|
-
at Thu Sep 15 2022
|
|
94
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
95
95
|
</div>
|
|
96
96
|
<script src="../prettify.js"></script>
|
|
97
97
|
<script>
|
|
@@ -79,7 +79,7 @@ module.exports.budibaseTempDir = budibaseTempDir
|
|
|
79
79
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
80
80
|
Code coverage generated by
|
|
81
81
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
82
|
-
at Thu Sep 15 2022
|
|
82
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
83
83
|
</div>
|
|
84
84
|
<script src="../prettify.js"></script>
|
|
85
85
|
<script>
|
|
@@ -136,7 +136,7 @@ exports.resolve = function (...args) {
|
|
|
136
136
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
137
137
|
Code coverage generated by
|
|
138
138
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
139
|
-
at Thu Sep 15 2022
|
|
139
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
140
140
|
</div>
|
|
141
141
|
<script src="../prettify.js"></script>
|
|
142
142
|
<script>
|
|
@@ -502,7 +502,7 @@ module.exports = {
|
|
|
502
502
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
503
503
|
Code coverage generated by
|
|
504
504
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
505
|
-
at Thu Sep 15 2022
|
|
505
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
506
506
|
</div>
|
|
507
507
|
<script src="../prettify.js"></script>
|
|
508
508
|
<script>
|
|
@@ -445,7 +445,7 @@ exports.getGlobalUsersFromMetadata = async users => {
|
|
|
445
445
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
446
446
|
Code coverage generated by
|
|
447
447
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
448
|
-
at Thu Sep 15 2022
|
|
448
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
449
449
|
</div>
|
|
450
450
|
<script src="../prettify.js"></script>
|
|
451
451
|
<script>
|
|
@@ -236,7 +236,7 @@
|
|
|
236
236
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
237
237
|
Code coverage generated by
|
|
238
238
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
239
|
-
at Thu Sep 15 2022
|
|
239
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
240
240
|
</div>
|
|
241
241
|
<script src="../prettify.js"></script>
|
|
242
242
|
<script>
|
|
@@ -586,7 +586,7 @@ exports.isQsTrue = param => {
|
|
|
586
586
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
587
587
|
Code coverage generated by
|
|
588
588
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
589
|
-
at Thu Sep 15 2022
|
|
589
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
590
590
|
</div>
|
|
591
591
|
<script src="../prettify.js"></script>
|
|
592
592
|
<script>
|
|
@@ -436,7 +436,7 @@ module.exports = InMemoryQueue
|
|
|
436
436
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
437
437
|
Code coverage generated by
|
|
438
438
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
439
|
-
at Thu Sep 15 2022
|
|
439
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
440
440
|
</div>
|
|
441
441
|
<script src="../../prettify.js"></script>
|
|
442
442
|
<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 Thu Sep 15 2022
|
|
104
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../prettify.js"></script>
|
|
107
107
|
<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 Thu Sep 15 2022
|
|
104
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -145,7 +145,7 @@ exports.createRoutingView = createRoutingView
|
|
|
145
145
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
146
146
|
Code coverage generated by
|
|
147
147
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
148
|
-
at Thu Sep 15 2022
|
|
148
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
149
149
|
</div>
|
|
150
150
|
<script src="../../prettify.js"></script>
|
|
151
151
|
<script>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at Thu Sep 15 2022
|
|
119
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -1096,7 +1096,7 @@ exports.cleanupAttachments = async (table, { row, rows, oldRow, oldTable }) =>
|
|
|
1096
1096
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1097
1097
|
Code coverage generated by
|
|
1098
1098
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1099
|
-
at Thu Sep 15 2022
|
|
1099
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
1100
1100
|
</div>
|
|
1101
1101
|
<script src="../../prettify.js"></script>
|
|
1102
1102
|
<script>
|
|
@@ -346,7 +346,7 @@ exports.processDates = <span class="fstat-no" title="function not covered" >(t</
|
|
|
346
346
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
347
347
|
Code coverage generated by
|
|
348
348
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
349
|
-
at Thu Sep 15 2022
|
|
349
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
350
350
|
</div>
|
|
351
351
|
<script src="../../prettify.js"></script>
|
|
352
352
|
<script>
|
|
@@ -142,7 +142,7 @@ module.exports = ScriptRunner
|
|
|
142
142
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
143
143
|
Code coverage generated by
|
|
144
144
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
145
|
-
at Thu Sep 15 2022
|
|
145
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
146
146
|
</div>
|
|
147
147
|
<script src="../prettify.js"></script>
|
|
148
148
|
<script>
|
|
@@ -283,7 +283,7 @@ exports.CURRENTLY_SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
|
|
|
283
283
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
284
284
|
Code coverage generated by
|
|
285
285
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
286
|
-
at Thu Sep 15 2022
|
|
286
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
287
287
|
</div>
|
|
288
288
|
<script src="../prettify.js"></script>
|
|
289
289
|
<script>
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
92
92
|
Code coverage generated by
|
|
93
93
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
94
|
-
at Thu Sep 15 2022
|
|
94
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
95
95
|
</div>
|
|
96
96
|
<script src="../prettify.js"></script>
|
|
97
97
|
<script>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at Thu Sep 15 2022
|
|
119
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -310,7 +310,7 @@ exports.getUniqueRows = async appIds => {
|
|
|
310
310
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
311
311
|
Code coverage generated by
|
|
312
312
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
313
|
-
at Thu Sep 15 2022
|
|
313
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
314
314
|
</div>
|
|
315
315
|
<script src="../../prettify.js"></script>
|
|
316
316
|
<script>
|
|
@@ -124,7 +124,7 @@ function <span class="fstat-no" title="function not covered" >resetQuotasIfRequi
|
|
|
124
124
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
125
125
|
Code coverage generated by
|
|
126
126
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
127
|
-
at Thu Sep 15 2022
|
|
127
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
128
128
|
</div>
|
|
129
129
|
<script src="../../prettify.js"></script>
|
|
130
130
|
<script>
|
|
@@ -205,7 +205,7 @@ exports.publicApiUserFix = ctx => {
|
|
|
205
205
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
206
206
|
Code coverage generated by
|
|
207
207
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
208
|
-
at Thu Sep 15 2022
|
|
208
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
209
209
|
</div>
|
|
210
210
|
<script src="../prettify.js"></script>
|
|
211
211
|
<script>
|
|
@@ -535,7 +535,7 @@ exports.getChecklist = <span class="fstat-no" title="function not covered" >as</
|
|
|
535
535
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
536
536
|
Code coverage generated by
|
|
537
537
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
538
|
-
at Thu Sep 15 2022
|
|
538
|
+
at Thu Sep 15 2022 14:18:03 GMT+0000 (Coordinated Universal Time)
|
|
539
539
|
</div>
|
|
540
540
|
<script src="../prettify.js"></script>
|
|
541
541
|
<script>
|
package/coverage/lcov.info
CHANGED
|
@@ -102,50 +102,58 @@ BRH:2
|
|
|
102
102
|
end_of_record
|
|
103
103
|
TN:
|
|
104
104
|
SF:src/api/controllers/auth.js
|
|
105
|
-
FN:
|
|
106
|
-
|
|
107
|
-
|
|
105
|
+
FN:10,(anonymous_0)
|
|
106
|
+
FN:16,(anonymous_1)
|
|
107
|
+
FNF:2
|
|
108
|
+
FNH:2
|
|
108
109
|
FNDA:1,(anonymous_0)
|
|
110
|
+
FNDA:1,(anonymous_1)
|
|
109
111
|
DA:1,28
|
|
110
112
|
DA:2,28
|
|
111
113
|
DA:3,28
|
|
112
114
|
DA:4,28
|
|
113
115
|
DA:5,28
|
|
114
|
-
DA:
|
|
115
|
-
DA:
|
|
116
|
-
DA:
|
|
116
|
+
DA:10,28
|
|
117
|
+
DA:11,1
|
|
118
|
+
DA:12,1
|
|
119
|
+
DA:16,28
|
|
117
120
|
DA:17,1
|
|
118
|
-
DA:19,1
|
|
119
|
-
DA:21,1
|
|
120
|
-
DA:22,1
|
|
121
121
|
DA:24,1
|
|
122
|
-
DA:25,1
|
|
123
122
|
DA:26,1
|
|
124
|
-
DA:
|
|
125
|
-
DA:
|
|
126
|
-
DA:31,
|
|
127
|
-
DA:
|
|
128
|
-
DA:
|
|
129
|
-
DA:
|
|
130
|
-
DA:
|
|
123
|
+
DA:28,1
|
|
124
|
+
DA:30,1
|
|
125
|
+
DA:31,1
|
|
126
|
+
DA:33,1
|
|
127
|
+
DA:34,1
|
|
128
|
+
DA:35,1
|
|
129
|
+
DA:36,1
|
|
130
|
+
DA:38,0
|
|
131
|
+
DA:40,0
|
|
131
132
|
DA:47,1
|
|
132
|
-
DA:48,
|
|
133
|
-
DA:
|
|
134
|
-
DA:
|
|
135
|
-
DA:
|
|
136
|
-
DA:
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
BRDA:
|
|
145
|
-
BRDA:
|
|
146
|
-
BRDA:
|
|
147
|
-
|
|
148
|
-
|
|
133
|
+
DA:48,0
|
|
134
|
+
DA:51,1
|
|
135
|
+
DA:52,1
|
|
136
|
+
DA:56,1
|
|
137
|
+
DA:57,1
|
|
138
|
+
DA:58,1
|
|
139
|
+
DA:60,0
|
|
140
|
+
DA:62,1
|
|
141
|
+
DA:65,0
|
|
142
|
+
DA:68,1
|
|
143
|
+
LF:32
|
|
144
|
+
LH:27
|
|
145
|
+
BRDA:11,0,0,1
|
|
146
|
+
BRDA:11,0,1,0
|
|
147
|
+
BRDA:17,1,0,1
|
|
148
|
+
BRDA:17,1,1,0
|
|
149
|
+
BRDA:30,2,0,1
|
|
150
|
+
BRDA:30,2,1,0
|
|
151
|
+
BRDA:47,3,0,0
|
|
152
|
+
BRDA:47,3,1,1
|
|
153
|
+
BRDA:51,4,0,1
|
|
154
|
+
BRDA:51,4,1,0
|
|
155
|
+
BRF:10
|
|
156
|
+
BRH:5
|
|
149
157
|
end_of_record
|
|
150
158
|
TN:
|
|
151
159
|
SF:src/api/controllers/automation.js
|
|
@@ -4603,15 +4611,23 @@ DA:199,28
|
|
|
4603
4611
|
DA:201,56
|
|
4604
4612
|
DA:213,28
|
|
4605
4613
|
DA:215,112
|
|
4606
|
-
|
|
4607
|
-
|
|
4614
|
+
DA:224,112
|
|
4615
|
+
DA:227,112
|
|
4616
|
+
DA:228,84
|
|
4617
|
+
DA:230,28
|
|
4618
|
+
DA:233,112
|
|
4619
|
+
LF:42
|
|
4620
|
+
LH:42
|
|
4608
4621
|
BRDA:199,0,0,0
|
|
4609
4622
|
BRDA:202,1,0,28
|
|
4610
4623
|
BRDA:202,1,1,28
|
|
4611
4624
|
BRDA:203,2,0,28
|
|
4612
4625
|
BRDA:203,2,1,28
|
|
4613
|
-
|
|
4614
|
-
|
|
4626
|
+
BRDA:213,3,0,84
|
|
4627
|
+
BRDA:227,4,0,84
|
|
4628
|
+
BRDA:227,4,1,28
|
|
4629
|
+
BRF:8
|
|
4630
|
+
BRH:7
|
|
4615
4631
|
end_of_record
|
|
4616
4632
|
TN:
|
|
4617
4633
|
SF:src/automations/actions.js
|
|
@@ -6558,15 +6574,15 @@ FN:23,(anonymous_1)
|
|
|
6558
6574
|
FN:38,(anonymous_2)
|
|
6559
6575
|
FNF:3
|
|
6560
6576
|
FNH:2
|
|
6561
|
-
FNDA:
|
|
6577
|
+
FNDA:7,(anonymous_0)
|
|
6562
6578
|
FNDA:5,(anonymous_1)
|
|
6563
6579
|
FNDA:0,(anonymous_2)
|
|
6564
6580
|
DA:1,44
|
|
6565
6581
|
DA:2,44
|
|
6566
6582
|
DA:3,44
|
|
6567
6583
|
DA:7,44
|
|
6568
|
-
DA:17,
|
|
6569
|
-
DA:18,
|
|
6584
|
+
DA:17,7
|
|
6585
|
+
DA:18,7
|
|
6570
6586
|
DA:25,5
|
|
6571
6587
|
DA:26,1
|
|
6572
6588
|
DA:28,4
|
|
@@ -6853,11 +6869,12 @@ DA:112,239
|
|
|
6853
6869
|
DA:113,239
|
|
6854
6870
|
DA:114,239
|
|
6855
6871
|
DA:115,239
|
|
6856
|
-
DA:
|
|
6857
|
-
DA:
|
|
6858
|
-
DA:
|
|
6859
|
-
|
|
6860
|
-
|
|
6872
|
+
DA:116,239
|
|
6873
|
+
DA:126,239
|
|
6874
|
+
DA:132,10
|
|
6875
|
+
DA:135,239
|
|
6876
|
+
LF:66
|
|
6877
|
+
LH:51
|
|
6861
6878
|
BRDA:28,0,0,1
|
|
6862
6879
|
BRDA:28,0,1,241
|
|
6863
6880
|
BRDA:28,1,0,242
|
|
@@ -6907,14 +6924,16 @@ BRDA:112,19,0,239
|
|
|
6907
6924
|
BRDA:112,19,1,0
|
|
6908
6925
|
BRDA:114,20,0,234
|
|
6909
6926
|
BRDA:114,20,1,5
|
|
6910
|
-
BRDA:
|
|
6911
|
-
BRDA:
|
|
6912
|
-
BRDA:
|
|
6913
|
-
BRDA:
|
|
6914
|
-
BRDA:
|
|
6915
|
-
BRDA:
|
|
6916
|
-
|
|
6917
|
-
|
|
6927
|
+
BRDA:115,21,0,234
|
|
6928
|
+
BRDA:115,21,1,5
|
|
6929
|
+
BRDA:126,22,0,10
|
|
6930
|
+
BRDA:126,22,1,229
|
|
6931
|
+
BRDA:127,23,0,239
|
|
6932
|
+
BRDA:127,23,1,239
|
|
6933
|
+
BRDA:127,23,2,234
|
|
6934
|
+
BRDA:127,23,3,10
|
|
6935
|
+
BRF:57
|
|
6936
|
+
BRH:46
|
|
6918
6937
|
end_of_record
|
|
6919
6938
|
TN:
|
|
6920
6939
|
SF:src/middleware/joi-validator.js
|
|
@@ -415,7 +415,6 @@ const destroyApp = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
415
415
|
const app = yield db.get(utils_1.DocumentType.APP_METADATA);
|
|
416
416
|
const result = yield db.destroy();
|
|
417
417
|
if (isUnpublish) {
|
|
418
|
-
yield pro_1.quotas.removePublishedApp();
|
|
419
418
|
yield backend_core_2.events.app.unpublished(app);
|
|
420
419
|
}
|
|
421
420
|
else {
|
|
@@ -13,6 +13,14 @@ const { InternalTables } = require("../../db/utils");
|
|
|
13
13
|
const { getFullUser } = require("../../utilities/users");
|
|
14
14
|
const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles");
|
|
15
15
|
const { getAppDB, getAppId } = require("@budibase/backend-core/context");
|
|
16
|
+
/**
|
|
17
|
+
* Add the attributes that are session based to the current user.
|
|
18
|
+
*/
|
|
19
|
+
const addSessionAttributesToUser = ctx => {
|
|
20
|
+
if (ctx.user) {
|
|
21
|
+
ctx.body.license = ctx.user.license;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
16
24
|
exports.fetchSelf = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
25
|
let userId = ctx.user.userId || ctx.user._id;
|
|
18
26
|
/* istanbul ignore next */
|
|
@@ -59,4 +67,5 @@ exports.fetchSelf = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
59
67
|
else {
|
|
60
68
|
ctx.body = user;
|
|
61
69
|
}
|
|
70
|
+
addSessionAttributesToUser(ctx);
|
|
62
71
|
});
|
|
@@ -19,7 +19,6 @@ const utils_1 = require("../../../db/utils");
|
|
|
19
19
|
const utils_2 = require("../../../automations/utils");
|
|
20
20
|
const cache_1 = require("@budibase/backend-core/cache");
|
|
21
21
|
const context_1 = require("@budibase/backend-core/context");
|
|
22
|
-
const pro_1 = require("@budibase/pro");
|
|
23
22
|
const backend_core_1 = require("@budibase/backend-core");
|
|
24
23
|
// the max time we can wait for an invalidation to complete before considering it failed
|
|
25
24
|
const MAX_PENDING_TIME_MS = 30 * 60000;
|
|
@@ -196,13 +195,7 @@ const _deployApp = function (ctx) {
|
|
|
196
195
|
deployment = yield storeDeploymentHistory(deployment);
|
|
197
196
|
console.log("Stored deployment history");
|
|
198
197
|
console.log("Deploying app...");
|
|
199
|
-
let app;
|
|
200
|
-
if (yield isFirstDeploy()) {
|
|
201
|
-
app = yield pro_1.quotas.addPublishedApp(() => deployApp(deployment));
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
app = yield deployApp(deployment);
|
|
205
|
-
}
|
|
198
|
+
let app = yield deployApp(deployment);
|
|
206
199
|
yield backend_core_1.events.app.published(app);
|
|
207
200
|
ctx.body = deployment;
|
|
208
201
|
});
|
|
@@ -23,6 +23,7 @@ const objectStore_1 = require("@budibase/backend-core/objectStore");
|
|
|
23
23
|
const types_1 = require("@budibase/types");
|
|
24
24
|
const environment_1 = __importDefault(require("../../../environment"));
|
|
25
25
|
const websocket_1 = require("../../../websocket");
|
|
26
|
+
const backend_core_1 = require("@budibase/backend-core");
|
|
26
27
|
function getPlugins(type) {
|
|
27
28
|
return __awaiter(this, void 0, void 0, function* () {
|
|
28
29
|
const db = (0, tenancy_1.getGlobalDB)();
|
|
@@ -124,6 +125,7 @@ function destroy(ctx) {
|
|
|
124
125
|
const bucketPath = `${plugin.name}/`;
|
|
125
126
|
yield (0, objectStore_1.deleteFolder)(constants_1.ObjectStoreBuckets.PLUGINS, bucketPath);
|
|
126
127
|
yield db.remove(pluginId, plugin._rev);
|
|
128
|
+
yield backend_core_1.events.plugin.deleted(plugin);
|
|
127
129
|
}
|
|
128
130
|
catch (err) {
|
|
129
131
|
const errMsg = (err === null || err === void 0 ? void 0 : err.message) ? err === null || err === void 0 ? void 0 : err.message : err;
|
|
@@ -177,6 +179,7 @@ function storePlugin(metadata, directory, source) {
|
|
|
177
179
|
doc = Object.assign(Object.assign({}, doc), { source });
|
|
178
180
|
}
|
|
179
181
|
const response = yield db.put(doc);
|
|
182
|
+
yield backend_core_1.events.plugin.imported(doc);
|
|
180
183
|
websocket_1.ClientAppSocket.emit("plugin-update", { name, hash });
|
|
181
184
|
return Object.assign(Object.assign({}, doc), { _rev: response.rev });
|
|
182
185
|
});
|
package/dist/api/index.js
CHANGED
|
@@ -51,8 +51,8 @@ router
|
|
|
51
51
|
.use(buildTenancyMiddleware(null, null, {
|
|
52
52
|
noTenancyRequired: true,
|
|
53
53
|
}))
|
|
54
|
-
.use(currentApp)
|
|
55
54
|
.use(pro.licensing())
|
|
55
|
+
.use(currentApp)
|
|
56
56
|
.use(auditLog);
|
|
57
57
|
// error handling middleware
|
|
58
58
|
router.use((ctx, next) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -38,7 +38,7 @@ router
|
|
|
38
38
|
.get("/api/applications/:appId/definition", controller.fetchAppDefinition)
|
|
39
39
|
.get("/api/applications", controller.fetch)
|
|
40
40
|
.get("/api/applications/:appId/appPackage", controller.fetchAppPackage)
|
|
41
|
-
.put("/api/applications/:appId", (0, authorized_1.default)(permissions_1.BUILDER), (0, validators_1.applicationValidator)(), controller.update)
|
|
41
|
+
.put("/api/applications/:appId", (0, authorized_1.default)(permissions_1.BUILDER), (0, validators_1.applicationValidator)({ isCreate: false }), controller.update)
|
|
42
42
|
.post("/api/applications/:appId/client/update", (0, authorized_1.default)(permissions_1.BUILDER), controller.updateClient)
|
|
43
43
|
.post("/api/applications/:appId/client/revert", (0, authorized_1.default)(permissions_1.BUILDER), controller.revertClient)
|
|
44
44
|
.delete("/api/applications/:appId", (0, authorized_1.default)(permissions_1.BUILDER), controller.destroy);
|