@budibase/server 1.3.15-alpha.6 → 1.3.15-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/builder/assets/{index.f16f5d65.js → index.0ec37b55.js} +2 -2
- package/builder/index.html +1 -1
- package/coverage/clover.xml +49 -50
- package/coverage/coverage-final.json +2 -2
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
- 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 +25 -37
- 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 +15 -15
- 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 +1 -1
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/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 +5 -5
- package/coverage/lcov-report/api/routes/utils/validators.js.html +9 -6
- 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 +1 -1
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +1 -1
- package/coverage/lcov-report/events/utils.js.html +1 -1
- package/coverage/lcov-report/index.html +15 -15
- 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 +1 -1
- package/coverage/lcov-report/middleware/index.html +1 -1
- 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 +74 -77
- package/dist/api/controllers/component.js +12 -16
- package/dist/api/controllers/plugin/index.js +6 -3
- package/dist/api/routes/application.js +3 -2
- package/dist/api/routes/utils/validators.js +2 -1
- package/dist/package.json +6 -6
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/src/api/controllers/component.js +17 -21
- package/src/api/controllers/plugin/index.ts +8 -4
- package/src/api/routes/application.ts +13 -2
- package/src/api/routes/utils/validators.js +2 -1
|
@@ -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 Wed Sep 14 2022
|
|
119
|
+
at Wed Sep 14 2022 13:59:29 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 Wed Sep 14 2022
|
|
313
|
+
at Wed Sep 14 2022 13:59:29 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 Wed Sep 14 2022
|
|
127
|
+
at Wed Sep 14 2022 13:59:29 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 Wed Sep 14 2022
|
|
208
|
+
at Wed Sep 14 2022 13:59:29 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 Wed Sep 14 2022
|
|
538
|
+
at Wed Sep 14 2022 13:59:29 GMT+0000 (Coordinated Universal Time)
|
|
539
539
|
</div>
|
|
540
540
|
<script src="../prettify.js"></script>
|
|
541
541
|
<script>
|
package/coverage/lcov.info
CHANGED
|
@@ -507,11 +507,11 @@ BRH:0
|
|
|
507
507
|
end_of_record
|
|
508
508
|
TN:
|
|
509
509
|
SF:src/api/controllers/component.js
|
|
510
|
-
FN:
|
|
511
|
-
FN:
|
|
512
|
-
FN:
|
|
513
|
-
FN:
|
|
514
|
-
FN:
|
|
510
|
+
FN:6,(anonymous_0)
|
|
511
|
+
FN:12,(anonymous_1)
|
|
512
|
+
FN:43,(anonymous_2)
|
|
513
|
+
FN:44,(anonymous_3)
|
|
514
|
+
FN:45,(anonymous_4)
|
|
515
515
|
FNF:5
|
|
516
516
|
FNH:2
|
|
517
517
|
FNDA:1,(anonymous_0)
|
|
@@ -523,39 +523,35 @@ DA:1,28
|
|
|
523
523
|
DA:2,28
|
|
524
524
|
DA:3,28
|
|
525
525
|
DA:4,28
|
|
526
|
-
DA:
|
|
527
|
-
DA:7,
|
|
526
|
+
DA:6,28
|
|
527
|
+
DA:7,1
|
|
528
528
|
DA:8,1
|
|
529
529
|
DA:9,1
|
|
530
|
-
DA:
|
|
531
|
-
DA:
|
|
530
|
+
DA:11,1
|
|
531
|
+
DA:13,1
|
|
532
532
|
DA:14,1
|
|
533
|
-
DA:
|
|
533
|
+
DA:20,1
|
|
534
534
|
DA:21,1
|
|
535
535
|
DA:22,1
|
|
536
|
-
DA:23,
|
|
537
|
-
DA:24,
|
|
538
|
-
DA:
|
|
536
|
+
DA:23,52
|
|
537
|
+
DA:24,1
|
|
538
|
+
DA:26,51
|
|
539
539
|
DA:27,51
|
|
540
|
-
DA:
|
|
540
|
+
DA:36,1
|
|
541
541
|
DA:37,1
|
|
542
|
-
DA:
|
|
543
|
-
DA:
|
|
544
|
-
DA:
|
|
542
|
+
DA:42,1
|
|
543
|
+
DA:43,0
|
|
544
|
+
DA:44,0
|
|
545
545
|
DA:46,0
|
|
546
546
|
DA:47,0
|
|
547
|
-
DA:
|
|
548
|
-
DA:
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
BRDA:37,1,0,1
|
|
556
|
-
BRDA:37,1,1,0
|
|
557
|
-
BRF:4
|
|
558
|
-
BRH:3
|
|
547
|
+
DA:53,1
|
|
548
|
+
DA:55,0
|
|
549
|
+
LF:27
|
|
550
|
+
LH:22
|
|
551
|
+
BRDA:23,0,0,1
|
|
552
|
+
BRDA:23,0,1,51
|
|
553
|
+
BRF:2
|
|
554
|
+
BRH:2
|
|
559
555
|
end_of_record
|
|
560
556
|
TN:
|
|
561
557
|
SF:src/api/controllers/datasource.js
|
|
@@ -4540,20 +4536,20 @@ BRH:0
|
|
|
4540
4536
|
end_of_record
|
|
4541
4537
|
TN:
|
|
4542
4538
|
SF:src/api/routes/utils/validators.js
|
|
4543
|
-
FN:
|
|
4544
|
-
FN:
|
|
4545
|
-
FN:
|
|
4546
|
-
FN:
|
|
4547
|
-
FN:
|
|
4548
|
-
FN:
|
|
4549
|
-
FN:
|
|
4550
|
-
FN:
|
|
4551
|
-
FN:
|
|
4552
|
-
FN:
|
|
4553
|
-
FN:
|
|
4554
|
-
FN:
|
|
4555
|
-
FN:
|
|
4556
|
-
FN:
|
|
4539
|
+
FN:15,(anonymous_0)
|
|
4540
|
+
FN:29,(anonymous_1)
|
|
4541
|
+
FN:36,(anonymous_2)
|
|
4542
|
+
FN:50,filterObject
|
|
4543
|
+
FN:67,(anonymous_4)
|
|
4544
|
+
FN:81,(anonymous_5)
|
|
4545
|
+
FN:99,(anonymous_6)
|
|
4546
|
+
FN:120,(anonymous_7)
|
|
4547
|
+
FN:135,(anonymous_8)
|
|
4548
|
+
FN:151,(anonymous_9)
|
|
4549
|
+
FN:161,(anonymous_10)
|
|
4550
|
+
FN:184,generateStepSchema
|
|
4551
|
+
FN:199,(anonymous_12)
|
|
4552
|
+
FN:213,(anonymous_13)
|
|
4557
4553
|
FNF:14
|
|
4558
4554
|
FNH:14
|
|
4559
4555
|
FNDA:84,(anonymous_0)
|
|
@@ -4569,7 +4565,7 @@ FNDA:56,(anonymous_9)
|
|
|
4569
4565
|
FNDA:28,(anonymous_10)
|
|
4570
4566
|
FNDA:112,generateStepSchema
|
|
4571
4567
|
FNDA:56,(anonymous_12)
|
|
4572
|
-
FNDA:
|
|
4568
|
+
FNDA:112,(anonymous_13)
|
|
4573
4569
|
DA:1,28
|
|
4574
4570
|
DA:2,28
|
|
4575
4571
|
DA:3,28
|
|
@@ -4578,41 +4574,42 @@ DA:8,28
|
|
|
4578
4574
|
DA:10,28
|
|
4579
4575
|
DA:11,28
|
|
4580
4576
|
DA:12,28
|
|
4581
|
-
DA:
|
|
4582
|
-
DA:
|
|
4583
|
-
DA:
|
|
4584
|
-
DA:
|
|
4585
|
-
DA:
|
|
4586
|
-
DA:
|
|
4587
|
-
DA:
|
|
4588
|
-
DA:
|
|
4589
|
-
DA:
|
|
4590
|
-
DA:
|
|
4577
|
+
DA:13,28
|
|
4578
|
+
DA:15,28
|
|
4579
|
+
DA:17,84
|
|
4580
|
+
DA:29,28
|
|
4581
|
+
DA:31,112
|
|
4582
|
+
DA:36,28
|
|
4583
|
+
DA:38,28
|
|
4584
|
+
DA:52,84
|
|
4585
|
+
DA:67,28
|
|
4586
|
+
DA:69,28
|
|
4591
4587
|
DA:81,28
|
|
4592
|
-
DA:
|
|
4593
|
-
DA:
|
|
4594
|
-
DA:
|
|
4595
|
-
DA:
|
|
4596
|
-
DA:
|
|
4588
|
+
DA:82,28
|
|
4589
|
+
DA:99,28
|
|
4590
|
+
DA:101,28
|
|
4591
|
+
DA:120,28
|
|
4592
|
+
DA:122,28
|
|
4597
4593
|
DA:135,28
|
|
4598
|
-
DA:
|
|
4599
|
-
DA:
|
|
4600
|
-
DA:151,
|
|
4601
|
-
DA:
|
|
4602
|
-
DA:
|
|
4603
|
-
DA:
|
|
4604
|
-
DA:
|
|
4605
|
-
DA:
|
|
4606
|
-
DA:
|
|
4607
|
-
DA:
|
|
4608
|
-
DA:
|
|
4609
|
-
|
|
4610
|
-
|
|
4611
|
-
|
|
4612
|
-
BRDA:
|
|
4613
|
-
BRDA:
|
|
4614
|
-
BRDA:202,
|
|
4615
|
-
BRDA:
|
|
4594
|
+
DA:136,28
|
|
4595
|
+
DA:138,28
|
|
4596
|
+
DA:151,28
|
|
4597
|
+
DA:152,56
|
|
4598
|
+
DA:154,56
|
|
4599
|
+
DA:161,28
|
|
4600
|
+
DA:163,28
|
|
4601
|
+
DA:186,112
|
|
4602
|
+
DA:199,28
|
|
4603
|
+
DA:201,56
|
|
4604
|
+
DA:213,28
|
|
4605
|
+
DA:215,112
|
|
4606
|
+
LF:37
|
|
4607
|
+
LH:37
|
|
4608
|
+
BRDA:199,0,0,0
|
|
4609
|
+
BRDA:202,1,0,28
|
|
4610
|
+
BRDA:202,1,1,28
|
|
4611
|
+
BRDA:203,2,0,28
|
|
4612
|
+
BRDA:203,2,1,28
|
|
4616
4613
|
BRF:5
|
|
4617
4614
|
BRH:4
|
|
4618
4615
|
end_of_record
|
|
@@ -12,7 +12,6 @@ const { DocumentType, getPluginParams } = require("../../db/utils");
|
|
|
12
12
|
const { getComponentLibraryManifest } = require("../../utilities/fileSystem");
|
|
13
13
|
const { getAppDB } = require("@budibase/backend-core/context");
|
|
14
14
|
const { getGlobalDB } = require("@budibase/backend-core/tenancy");
|
|
15
|
-
const env = require("../../environment");
|
|
16
15
|
exports.fetchAppComponentDefinitions = function (ctx) {
|
|
17
16
|
return __awaiter(this, void 0, void 0, function* () {
|
|
18
17
|
try {
|
|
@@ -37,21 +36,18 @@ exports.fetchAppComponentDefinitions = function (ctx) {
|
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
|
-
//
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
definitions[fullComponentName] = Object.assign({ component: fullComponentName }, plugin.schema.schema);
|
|
53
|
-
});
|
|
54
|
-
}
|
|
39
|
+
// Add custom components
|
|
40
|
+
const globalDB = getGlobalDB();
|
|
41
|
+
const response = yield globalDB.allDocs(getPluginParams(null, {
|
|
42
|
+
include_docs: true,
|
|
43
|
+
}));
|
|
44
|
+
response.rows
|
|
45
|
+
.map(row => row.doc)
|
|
46
|
+
.filter(plugin => plugin.schema.type === "component")
|
|
47
|
+
.forEach(plugin => {
|
|
48
|
+
const fullComponentName = `plugin/${plugin.name}`;
|
|
49
|
+
definitions[fullComponentName] = Object.assign({ component: fullComponentName }, plugin.schema.schema);
|
|
50
|
+
});
|
|
55
51
|
ctx.body = definitions;
|
|
56
52
|
}
|
|
57
53
|
catch (err) {
|
|
@@ -64,11 +64,9 @@ function upload(ctx) {
|
|
|
64
64
|
}
|
|
65
65
|
exports.upload = upload;
|
|
66
66
|
function create(ctx) {
|
|
67
|
+
var _a;
|
|
67
68
|
return __awaiter(this, void 0, void 0, function* () {
|
|
68
69
|
const { source, url, headers, githubToken } = ctx.request.body;
|
|
69
|
-
if (!environment_1.default.SELF_HOSTED) {
|
|
70
|
-
ctx.throw(400, "Plugins not supported outside of self-host.");
|
|
71
|
-
}
|
|
72
70
|
try {
|
|
73
71
|
let metadata;
|
|
74
72
|
let directory;
|
|
@@ -93,6 +91,10 @@ function create(ctx) {
|
|
|
93
91
|
break;
|
|
94
92
|
}
|
|
95
93
|
(0, plugins_1.validate)(metadata === null || metadata === void 0 ? void 0 : metadata.schema);
|
|
94
|
+
// Only allow components in cloud
|
|
95
|
+
if (!environment_1.default.SELF_HOSTED && ((_a = metadata === null || metadata === void 0 ? void 0 : metadata.schema) === null || _a === void 0 ? void 0 : _a.type) !== types_1.PluginType.COMPONENT) {
|
|
96
|
+
throw new Error("Only component plugins are supported outside of self-host");
|
|
97
|
+
}
|
|
96
98
|
const doc = yield storePlugin(metadata, directory, source);
|
|
97
99
|
ctx.body = {
|
|
98
100
|
message: "Plugin uploaded successfully",
|
|
@@ -184,6 +186,7 @@ function processPlugin(plugin, source) {
|
|
|
184
186
|
var _a;
|
|
185
187
|
return __awaiter(this, void 0, void 0, function* () {
|
|
186
188
|
const { metadata, directory } = yield (0, uploaders_1.fileUpload)(plugin);
|
|
189
|
+
(0, plugins_1.validate)(metadata === null || metadata === void 0 ? void 0 : metadata.schema);
|
|
187
190
|
// Only allow components in cloud
|
|
188
191
|
if (!environment_1.default.SELF_HOSTED && ((_a = metadata === null || metadata === void 0 ? void 0 : metadata.schema) === null || _a === void 0 ? void 0 : _a.type) !== types_1.PluginType.COMPONENT) {
|
|
189
192
|
throw new Error("Only component plugins are supported outside of self-host");
|
|
@@ -30,14 +30,15 @@ const router_1 = __importDefault(require("@koa/router"));
|
|
|
30
30
|
const controller = __importStar(require("../controllers/application"));
|
|
31
31
|
const authorized_1 = __importDefault(require("../../middleware/authorized"));
|
|
32
32
|
const permissions_1 = require("@budibase/backend-core/permissions");
|
|
33
|
+
const validators_1 = require("./utils/validators");
|
|
33
34
|
const router = new router_1.default();
|
|
34
35
|
router
|
|
35
36
|
.post("/api/applications/:appId/sync", (0, authorized_1.default)(permissions_1.BUILDER), controller.sync)
|
|
36
|
-
.post("/api/applications", (0, authorized_1.default)(permissions_1.BUILDER), controller.create)
|
|
37
|
+
.post("/api/applications", (0, authorized_1.default)(permissions_1.BUILDER), (0, validators_1.applicationValidator)(), controller.create)
|
|
37
38
|
.get("/api/applications/:appId/definition", controller.fetchAppDefinition)
|
|
38
39
|
.get("/api/applications", controller.fetch)
|
|
39
40
|
.get("/api/applications/:appId/appPackage", controller.fetchAppPackage)
|
|
40
|
-
.put("/api/applications/:appId", (0, authorized_1.default)(permissions_1.BUILDER), controller.update)
|
|
41
|
+
.put("/api/applications/:appId", (0, authorized_1.default)(permissions_1.BUILDER), (0, validators_1.applicationValidator)(), controller.update)
|
|
41
42
|
.post("/api/applications/:appId/client/update", (0, authorized_1.default)(permissions_1.BUILDER), controller.updateClient)
|
|
42
43
|
.post("/api/applications/:appId/client/revert", (0, authorized_1.default)(permissions_1.BUILDER), controller.revertClient)
|
|
43
44
|
.delete("/api/applications/:appId", (0, authorized_1.default)(permissions_1.BUILDER), controller.destroy);
|
|
@@ -7,6 +7,7 @@ const Joi = require("joi");
|
|
|
7
7
|
const OPTIONAL_STRING = Joi.string().optional().allow(null).allow("");
|
|
8
8
|
const OPTIONAL_NUMBER = Joi.number().optional().allow(null);
|
|
9
9
|
const OPTIONAL_BOOLEAN = Joi.boolean().optional().allow(null);
|
|
10
|
+
const APP_NAME_REGEX = /^[\w\s]+$/;
|
|
10
11
|
exports.tableValidator = () => {
|
|
11
12
|
// prettier-ignore
|
|
12
13
|
return joiValidator.body(Joi.object({
|
|
@@ -195,7 +196,7 @@ exports.applicationValidator = () => {
|
|
|
195
196
|
return joiValidator.body(Joi.object({
|
|
196
197
|
_id: OPTIONAL_STRING,
|
|
197
198
|
_rev: OPTIONAL_STRING,
|
|
198
|
-
name: Joi.string().required(),
|
|
199
|
+
name: Joi.string().pattern(new RegExp(APP_NAME_REGEX)).required().error(new Error('App name must be letters, numbers and spaces only')),
|
|
199
200
|
url: OPTIONAL_STRING,
|
|
200
201
|
template: Joi.object({
|
|
201
202
|
templateString: OPTIONAL_STRING,
|
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/server",
|
|
3
3
|
"email": "hi@budibase.com",
|
|
4
|
-
"version": "1.3.15-alpha.
|
|
4
|
+
"version": "1.3.15-alpha.7",
|
|
5
5
|
"description": "Budibase Web Server",
|
|
6
6
|
"main": "src/index.ts",
|
|
7
7
|
"repository": {
|
|
@@ -77,11 +77,11 @@
|
|
|
77
77
|
"license": "GPL-3.0",
|
|
78
78
|
"dependencies": {
|
|
79
79
|
"@apidevtools/swagger-parser": "10.0.3",
|
|
80
|
-
"@budibase/backend-core": "1.3.15-alpha.
|
|
81
|
-
"@budibase/client": "1.3.15-alpha.
|
|
82
|
-
"@budibase/pro": "1.3.15-alpha.
|
|
83
|
-
"@budibase/string-templates": "1.3.15-alpha.
|
|
84
|
-
"@budibase/types": "1.3.15-alpha.
|
|
80
|
+
"@budibase/backend-core": "1.3.15-alpha.7",
|
|
81
|
+
"@budibase/client": "1.3.15-alpha.7",
|
|
82
|
+
"@budibase/pro": "1.3.15-alpha.7",
|
|
83
|
+
"@budibase/string-templates": "1.3.15-alpha.7",
|
|
84
|
+
"@budibase/types": "1.3.15-alpha.7",
|
|
85
85
|
"@bull-board/api": "3.7.0",
|
|
86
86
|
"@bull-board/koa": "3.9.4",
|
|
87
87
|
"@elastic/elasticsearch": "7.10.0",
|