@budibase/server 1.0.27-alpha.1 → 1.0.27-alpha.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__mocks__/node-fetch.ts +18 -0
- package/builder/assets/{index.4a13c4cb.css → index.176f00e0.css} +1 -1
- package/builder/assets/index.5776ef20.js +1348 -0
- package/builder/index.html +2 -2
- package/coverage/clover.xml +1193 -1027
- package/coverage/coverage-final.json +72 -72
- package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
- package/coverage/lcov-report/api/controllers/apikeys.js.html +3 -3
- package/coverage/lcov-report/api/controllers/application.js.html +73 -64
- package/coverage/lcov-report/api/controllers/auth.js.html +2 -2
- 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 +13 -4
- package/coverage/lcov-report/api/controllers/component.js.html +4 -4
- package/coverage/lcov-report/api/controllers/datasource.js.html +150 -48
- package/coverage/lcov-report/api/controllers/dev.js.html +3 -3
- package/coverage/lcov-report/api/controllers/hosting.js.html +3 -3
- package/coverage/lcov-report/api/controllers/index.html +20 -20
- 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/permission.js.html +3 -3
- package/coverage/lcov-report/api/controllers/query/index.html +21 -21
- package/coverage/lcov-report/api/controllers/query/index.js.html +101 -122
- package/coverage/lcov-report/api/controllers/query/validation.js.html +6 -3
- package/coverage/lcov-report/api/controllers/role.js.html +2 -2
- package/coverage/lcov-report/api/controllers/routing.js.html +2 -2
- package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/index.html +22 -22
- package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +38 -11
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +8 -5
- package/coverage/lcov-report/api/controllers/row/utils.js.html +29 -20
- package/coverage/lcov-report/api/controllers/screen.js.html +2 -2
- package/coverage/lcov-report/api/controllers/script.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/table/internal.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +14 -5
- 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 +2 -2
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +6 -6
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +2 -2
- package/coverage/lcov-report/api/routes/application.js.html +2 -2
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +2 -2
- package/coverage/lcov-report/api/routes/backup.js.html +2 -2
- package/coverage/lcov-report/api/routes/cloud.js.html +2 -2
- package/coverage/lcov-report/api/routes/component.js.html +2 -2
- package/coverage/lcov-report/api/routes/datasource.js.html +2 -2
- package/coverage/lcov-report/api/routes/deploy.js.html +2 -2
- package/coverage/lcov-report/api/routes/dev.js.html +2 -2
- package/coverage/lcov-report/api/routes/hosting.js.html +2 -2
- package/coverage/lcov-report/api/routes/index.html +1 -1
- package/coverage/lcov-report/api/routes/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/integration.js.html +2 -2
- package/coverage/lcov-report/api/routes/layout.js.html +2 -2
- package/coverage/lcov-report/api/routes/metadata.js.html +2 -2
- package/coverage/lcov-report/api/routes/permission.js.html +12 -3
- package/coverage/lcov-report/api/routes/query.js.html +25 -4
- package/coverage/lcov-report/api/routes/role.js.html +2 -2
- package/coverage/lcov-report/api/routes/routing.js.html +2 -2
- package/coverage/lcov-report/api/routes/row.js.html +2 -2
- package/coverage/lcov-report/api/routes/screen.js.html +2 -2
- package/coverage/lcov-report/api/routes/script.js.html +2 -2
- package/coverage/lcov-report/api/routes/static.js.html +2 -2
- package/coverage/lcov-report/api/routes/table.js.html +2 -2
- package/coverage/lcov-report/api/routes/templates.js.html +2 -2
- package/coverage/lcov-report/api/routes/user.js.html +2 -2
- package/coverage/lcov-report/api/routes/view.js.html +2 -2
- package/coverage/lcov-report/api/routes/webhook.js.html +2 -2
- 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 +2 -2
- 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/createRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +32 -8
- 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 +11 -11
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
- package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/automations/steps/updateRow.js.html +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/automations/utils.js.html +6 -6
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +4 -4
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +2 -2
- package/coverage/lcov-report/db/client.js.html +2 -2
- 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 +2 -2
- package/coverage/lcov-report/db/utils.js.html +19 -19
- 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 +64 -64
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
- package/coverage/lcov-report/middleware/authorized.js.html +12 -12
- package/coverage/lcov-report/middleware/builder.js.html +10 -10
- package/coverage/lcov-report/middleware/currentapp.js.html +48 -36
- package/coverage/lcov-report/middleware/index.html +1 -1
- package/coverage/lcov-report/middleware/joi-validator.js.html +9 -9
- package/coverage/lcov-report/middleware/resourceId.js.html +18 -18
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/usageQuota.js.html +2 -2
- package/coverage/lcov-report/middleware/utils.js.html +2 -2
- package/coverage/lcov-report/threads/automation.js.html +3 -3
- package/coverage/lcov-report/threads/index.html +31 -31
- package/coverage/lcov-report/threads/index.js.html +12 -12
- package/coverage/lcov-report/threads/query.js.html +369 -93
- package/coverage/lcov-report/threads/utils.js.html +359 -14
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +2 -2
- 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 +28 -19
- package/coverage/lcov-report/utilities/index.html +1 -1
- package/coverage/lcov-report/utilities/index.js.html +11 -11
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +2 -2
- 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 +19 -19
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +247 -10
- 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 +13 -4
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +1 -1
- package/coverage/lcov-report/utilities/workerRequests.js.html +22 -22
- package/coverage/lcov.info +2027 -1725
- package/dist/api/controllers/apikeys.js +2 -2
- package/dist/api/controllers/application.js +4 -4
- package/dist/api/controllers/auth.js +1 -1
- package/dist/api/controllers/cloud.js +2 -2
- package/dist/api/controllers/datasource.js +29 -0
- package/dist/api/controllers/deploy/index.js +2 -2
- package/dist/api/controllers/dev.js +2 -2
- package/dist/api/controllers/hosting.js +2 -2
- package/dist/api/controllers/permission.js +2 -2
- package/dist/api/controllers/query/import/sources/base/index.js +2 -1
- package/dist/api/controllers/query/import/sources/curl.js +11 -5
- package/dist/api/controllers/query/import/sources/openapi2.js +8 -5
- package/dist/api/controllers/query/index.js +45 -47
- package/dist/api/controllers/query/validation.js +2 -1
- package/dist/api/controllers/role.js +1 -1
- package/dist/api/controllers/routing.js +1 -1
- package/dist/api/controllers/row/internal.js +14 -6
- package/dist/api/controllers/row/internalSearch.js +3 -2
- package/dist/api/controllers/row/utils.js +13 -6
- package/dist/api/controllers/screen.js +1 -1
- package/dist/api/controllers/user.js +3 -3
- package/dist/api/controllers/webhook.js +1 -1
- package/dist/api/index.js +1 -1
- package/dist/api/routes/apikeys.js +1 -1
- package/dist/api/routes/application.js +1 -1
- package/dist/api/routes/automation.js +1 -1
- package/dist/api/routes/backup.js +1 -1
- package/dist/api/routes/cloud.js +1 -1
- package/dist/api/routes/component.js +1 -1
- package/dist/api/routes/datasource.js +1 -1
- package/dist/api/routes/deploy.js +1 -1
- package/dist/api/routes/dev.js +1 -1
- package/dist/api/routes/hosting.js +1 -1
- package/dist/api/routes/integration.js +1 -1
- package/dist/api/routes/layout.js +1 -1
- package/dist/api/routes/metadata.js +1 -1
- package/dist/api/routes/permission.js +1 -1
- package/dist/api/routes/query.js +4 -2
- package/dist/api/routes/role.js +1 -1
- package/dist/api/routes/routing.js +1 -1
- package/dist/api/routes/row.js +1 -1
- package/dist/api/routes/screen.js +1 -1
- package/dist/api/routes/script.js +1 -1
- package/dist/api/routes/static.js +1 -1
- package/dist/api/routes/table.js +1 -1
- package/dist/api/routes/templates.js +1 -1
- package/dist/api/routes/tests/utilities/TestFunctions.js +1 -1
- package/dist/api/routes/user.js +1 -1
- package/dist/api/routes/view.js +1 -1
- package/dist/api/routes/webhook.js +1 -1
- package/dist/app.js +1 -1
- package/dist/automations/bullboard.js +1 -1
- package/dist/automations/steps/executeQuery.js +9 -2
- package/dist/automations/utils.js +1 -1
- package/dist/constants/index.js +3 -3
- package/dist/constants/screens.js +1 -1
- package/dist/db/client.js +1 -1
- package/dist/db/utils.js +1 -1
- package/dist/integrations/base/sqlTable.js +1 -1
- package/dist/integrations/rest.js +3 -3
- package/dist/middleware/authorized.js +2 -2
- package/dist/middleware/builder.js +2 -2
- package/dist/middleware/currentapp.js +6 -6
- package/dist/middleware/usageQuota.js +1 -1
- package/dist/package.json +5 -4
- package/dist/tests/utilities/TestConfiguration.js +55 -8
- package/dist/tests/utilities/structures.js +2 -2
- package/dist/threads/automation.js +2 -2
- package/dist/threads/query.js +148 -52
- package/dist/threads/utils.js +106 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/budibaseDir.js +1 -1
- package/dist/utilities/fileSystem/utilities.js +2 -1
- package/dist/utilities/global.js +5 -5
- package/dist/utilities/index.js +1 -1
- package/dist/utilities/redis.js +1 -1
- package/dist/utilities/rowProcessor/index.js +76 -0
- package/dist/utilities/security.js +2 -2
- package/dist/utilities/usageQuota.js +2 -2
- package/dist/utilities/workerRequests.js +3 -3
- package/package.json +6 -5
- package/scripts/replicateApp.js +1 -1
- package/src/api/controllers/apikeys.js +2 -2
- package/src/api/controllers/application.js +7 -4
- package/src/api/controllers/auth.js +1 -1
- package/src/api/controllers/cloud.js +5 -2
- package/src/api/controllers/datasource.js +34 -0
- package/src/api/controllers/deploy/index.js +2 -2
- package/src/api/controllers/dev.js +2 -2
- package/src/api/controllers/hosting.js +2 -2
- package/src/api/controllers/permission.js +2 -2
- package/src/api/controllers/query/import/sources/base/index.ts +3 -1
- package/src/api/controllers/query/import/sources/curl.ts +12 -4
- package/src/api/controllers/query/import/sources/openapi2.ts +9 -5
- package/src/api/controllers/query/import/sources/tests/curl/curl.spec.js +2 -3
- package/src/api/controllers/query/import/sources/tests/openapi2/openapi2.spec.js +6 -7
- package/src/api/controllers/query/import/tests/index.spec.js +0 -6
- package/src/api/controllers/query/index.js +48 -55
- package/src/api/controllers/query/validation.js +2 -1
- package/src/api/controllers/role.js +1 -1
- package/src/api/controllers/routing.js +1 -1
- package/src/api/controllers/row/internal.js +14 -5
- package/src/api/controllers/row/internalSearch.js +3 -2
- package/src/api/controllers/row/utils.js +11 -8
- package/src/api/controllers/screen.js +1 -1
- package/src/api/controllers/user.js +6 -3
- package/src/api/controllers/webhook.js +1 -1
- package/src/api/index.js +1 -1
- package/src/api/routes/apikeys.js +1 -1
- package/src/api/routes/application.js +1 -1
- package/src/api/routes/automation.js +1 -1
- package/src/api/routes/backup.js +1 -1
- package/src/api/routes/cloud.js +1 -1
- package/src/api/routes/component.js +1 -1
- package/src/api/routes/datasource.js +1 -1
- package/src/api/routes/deploy.js +1 -1
- package/src/api/routes/dev.js +1 -1
- package/src/api/routes/hosting.js +1 -1
- package/src/api/routes/integration.js +1 -1
- package/src/api/routes/layout.js +1 -1
- package/src/api/routes/metadata.js +1 -1
- package/src/api/routes/permission.js +4 -1
- package/src/api/routes/query.js +9 -2
- package/src/api/routes/role.js +1 -1
- package/src/api/routes/routing.js +1 -1
- package/src/api/routes/row.js +1 -1
- package/src/api/routes/screen.js +1 -1
- package/src/api/routes/script.js +1 -1
- package/src/api/routes/static.js +1 -1
- package/src/api/routes/table.js +1 -1
- package/src/api/routes/templates.js +1 -1
- package/src/api/routes/tests/datasource.spec.js +45 -0
- package/src/api/routes/tests/permissions.spec.js +1 -1
- package/src/api/routes/tests/query.spec.js +70 -1
- package/src/api/routes/tests/role.spec.js +2 -2
- package/src/api/routes/tests/routing.spec.js +1 -1
- package/src/api/routes/tests/user.spec.js +1 -1
- package/src/api/routes/tests/utilities/TestFunctions.js +1 -1
- package/src/api/routes/user.js +1 -1
- package/src/api/routes/view.js +1 -1
- package/src/api/routes/webhook.js +1 -1
- package/src/app.ts +1 -1
- package/src/automations/bullboard.js +1 -1
- package/src/automations/steps/executeQuery.js +10 -2
- package/src/automations/utils.js +1 -1
- package/src/constants/index.js +3 -3
- package/src/constants/screens.js +1 -1
- package/src/db/client.js +1 -1
- package/src/db/utils.js +1 -1
- package/src/definitions/datasource.ts +10 -0
- package/src/integrations/base/sqlTable.ts +1 -1
- package/src/integrations/rest.ts +6 -3
- package/src/middleware/authorized.js +2 -2
- package/src/middleware/builder.js +2 -2
- package/src/middleware/currentapp.js +11 -7
- package/src/middleware/tests/authorized.spec.js +2 -2
- package/src/middleware/tests/currentapp.spec.js +35 -41
- package/src/middleware/tests/usageQuota.spec.js +1 -1
- package/src/middleware/usageQuota.js +1 -1
- package/src/tests/utilities/TestConfiguration.js +65 -8
- package/src/tests/utilities/structures.js +2 -2
- package/src/threads/automation.js +2 -2
- package/src/threads/query.js +148 -56
- package/src/threads/utils.js +116 -1
- package/src/utilities/budibaseDir.js +1 -1
- package/src/utilities/fileSystem/utilities.js +3 -1
- package/src/utilities/global.js +8 -5
- package/src/utilities/index.js +1 -1
- package/src/utilities/redis.js +1 -1
- package/src/utilities/rowProcessor/index.js +79 -0
- package/src/utilities/security.js +5 -2
- package/src/utilities/usageQuota.js +2 -2
- package/src/utilities/workerRequests.js +3 -3
- package/builder/assets/index.00c4135e.js +0 -1320
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
const { processString } = require("@budibase/string-templates")
|
|
2
1
|
const CouchDB = require("../../../db")
|
|
3
2
|
const {
|
|
4
3
|
generateQueryID,
|
|
@@ -9,6 +8,7 @@ const { BaseQueryVerbs } = require("../../../constants")
|
|
|
9
8
|
const { Thread, ThreadType } = require("../../../threads")
|
|
10
9
|
const { save: saveDatasource } = require("../datasource")
|
|
11
10
|
const { RestImporter } = require("./import")
|
|
11
|
+
const { invalidateDynamicVariables } = require("../../../threads/utils")
|
|
12
12
|
|
|
13
13
|
const Runner = new Thread(ThreadType.QUERY, { timeoutMs: 10000 })
|
|
14
14
|
|
|
@@ -90,47 +90,6 @@ exports.save = async function (ctx) {
|
|
|
90
90
|
ctx.message = `Query ${query.name} saved successfully.`
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
async function enrichQueryFields(fields, parameters = {}) {
|
|
94
|
-
const enrichedQuery = {}
|
|
95
|
-
|
|
96
|
-
// enrich the fields with dynamic parameters
|
|
97
|
-
for (let key of Object.keys(fields)) {
|
|
98
|
-
if (fields[key] == null) {
|
|
99
|
-
continue
|
|
100
|
-
}
|
|
101
|
-
if (typeof fields[key] === "object") {
|
|
102
|
-
// enrich nested fields object
|
|
103
|
-
enrichedQuery[key] = await enrichQueryFields(fields[key], parameters)
|
|
104
|
-
} else if (typeof fields[key] === "string") {
|
|
105
|
-
// enrich string value as normal
|
|
106
|
-
enrichedQuery[key] = await processString(fields[key], parameters, {
|
|
107
|
-
noHelpers: true,
|
|
108
|
-
})
|
|
109
|
-
} else {
|
|
110
|
-
enrichedQuery[key] = fields[key]
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
if (
|
|
115
|
-
enrichedQuery.json ||
|
|
116
|
-
enrichedQuery.customData ||
|
|
117
|
-
enrichedQuery.requestBody
|
|
118
|
-
) {
|
|
119
|
-
try {
|
|
120
|
-
enrichedQuery.json = JSON.parse(
|
|
121
|
-
enrichedQuery.json ||
|
|
122
|
-
enrichedQuery.customData ||
|
|
123
|
-
enrichedQuery.requestBody
|
|
124
|
-
)
|
|
125
|
-
} catch (err) {
|
|
126
|
-
// no json found, ignore
|
|
127
|
-
}
|
|
128
|
-
delete enrichedQuery.customData
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
return enrichedQuery
|
|
132
|
-
}
|
|
133
|
-
|
|
134
93
|
exports.find = async function (ctx) {
|
|
135
94
|
const db = new CouchDB(ctx.appId)
|
|
136
95
|
const query = enrichQueries(await db.get(ctx.params.queryId))
|
|
@@ -146,16 +105,20 @@ exports.preview = async function (ctx) {
|
|
|
146
105
|
const db = new CouchDB(ctx.appId)
|
|
147
106
|
|
|
148
107
|
const datasource = await db.get(ctx.request.body.datasourceId)
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
const
|
|
108
|
+
// preview may not have a queryId as it hasn't been saved, but if it does
|
|
109
|
+
// this stops dynamic variables from calling the same query
|
|
110
|
+
const { fields, parameters, queryVerb, transformer, queryId } =
|
|
111
|
+
ctx.request.body
|
|
152
112
|
|
|
153
113
|
try {
|
|
154
114
|
const { rows, keys, info, extra } = await Runner.run({
|
|
115
|
+
appId: ctx.appId,
|
|
155
116
|
datasource,
|
|
156
117
|
queryVerb,
|
|
157
|
-
|
|
118
|
+
fields,
|
|
119
|
+
parameters,
|
|
158
120
|
transformer,
|
|
121
|
+
queryId,
|
|
159
122
|
})
|
|
160
123
|
|
|
161
124
|
ctx.body = {
|
|
@@ -169,33 +132,63 @@ exports.preview = async function (ctx) {
|
|
|
169
132
|
}
|
|
170
133
|
}
|
|
171
134
|
|
|
172
|
-
|
|
135
|
+
async function execute(ctx, opts = { rowsOnly: false }) {
|
|
173
136
|
const db = new CouchDB(ctx.appId)
|
|
174
137
|
|
|
175
138
|
const query = await db.get(ctx.params.queryId)
|
|
176
139
|
const datasource = await db.get(query.datasourceId)
|
|
177
140
|
|
|
178
|
-
const enrichedQuery = await enrichQueryFields(
|
|
179
|
-
query.fields,
|
|
180
|
-
ctx.request.body.parameters
|
|
181
|
-
)
|
|
182
|
-
|
|
183
141
|
// call the relevant CRUD method on the integration class
|
|
184
142
|
try {
|
|
185
|
-
const { rows } = await Runner.run({
|
|
143
|
+
const { rows, extra } = await Runner.run({
|
|
144
|
+
appId: ctx.appId,
|
|
186
145
|
datasource,
|
|
187
146
|
queryVerb: query.queryVerb,
|
|
188
|
-
|
|
147
|
+
fields: query.fields,
|
|
148
|
+
parameters: ctx.request.body.parameters,
|
|
189
149
|
transformer: query.transformer,
|
|
150
|
+
queryId: ctx.params.queryId,
|
|
190
151
|
})
|
|
191
|
-
|
|
152
|
+
if (opts && opts.rowsOnly) {
|
|
153
|
+
ctx.body = rows
|
|
154
|
+
} else {
|
|
155
|
+
ctx.body = { data: rows, ...extra }
|
|
156
|
+
}
|
|
192
157
|
} catch (err) {
|
|
193
158
|
ctx.throw(400, err)
|
|
194
159
|
}
|
|
195
160
|
}
|
|
196
161
|
|
|
162
|
+
exports.executeV1 = async function (ctx) {
|
|
163
|
+
return execute(ctx, { rowsOnly: true })
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
exports.executeV2 = async function (ctx) {
|
|
167
|
+
return execute(ctx, { rowsOnly: false })
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
const removeDynamicVariables = async (db, queryId) => {
|
|
171
|
+
const query = await db.get(queryId)
|
|
172
|
+
const datasource = await db.get(query.datasourceId)
|
|
173
|
+
const dynamicVariables = datasource.config.dynamicVariables
|
|
174
|
+
|
|
175
|
+
if (dynamicVariables) {
|
|
176
|
+
// delete dynamic variables from the datasource
|
|
177
|
+
const newVariables = dynamicVariables.filter(dv => dv.queryId !== queryId)
|
|
178
|
+
datasource.config.dynamicVariables = newVariables
|
|
179
|
+
await db.put(datasource)
|
|
180
|
+
|
|
181
|
+
// invalidate the deleted variables
|
|
182
|
+
const variablesToDelete = dynamicVariables.filter(
|
|
183
|
+
dv => dv.queryId === queryId
|
|
184
|
+
)
|
|
185
|
+
await invalidateDynamicVariables(variablesToDelete)
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
197
189
|
exports.destroy = async function (ctx) {
|
|
198
190
|
const db = new CouchDB(ctx.appId)
|
|
191
|
+
await removeDynamicVariables(db, ctx.params.queryId)
|
|
199
192
|
await db.remove(ctx.params.queryId, ctx.params.revId)
|
|
200
193
|
ctx.message = `Query deleted.`
|
|
201
194
|
ctx.status = 200
|
|
@@ -36,6 +36,7 @@ exports.generateQueryPreviewValidation = () => {
|
|
|
36
36
|
extra: Joi.object().optional(),
|
|
37
37
|
datasourceId: Joi.string().required(),
|
|
38
38
|
transformer: Joi.string().optional(),
|
|
39
|
-
parameters: Joi.object({}).required().unknown(true)
|
|
39
|
+
parameters: Joi.object({}).required().unknown(true),
|
|
40
|
+
queryId: Joi.string().optional(),
|
|
40
41
|
}))
|
|
41
42
|
}
|
|
@@ -11,6 +11,7 @@ const {
|
|
|
11
11
|
inputProcessing,
|
|
12
12
|
outputProcessing,
|
|
13
13
|
processAutoColumn,
|
|
14
|
+
cleanupAttachments,
|
|
14
15
|
} = require("../../../utilities/rowProcessor")
|
|
15
16
|
const { FieldTypes } = require("../../../constants")
|
|
16
17
|
const { isEqual } = require("lodash")
|
|
@@ -25,6 +26,7 @@ const {
|
|
|
25
26
|
getFromDesignDoc,
|
|
26
27
|
getFromMemoryDoc,
|
|
27
28
|
} = require("../view/utils")
|
|
29
|
+
const { cloneDeep } = require("lodash/fp")
|
|
28
30
|
|
|
29
31
|
const CALCULATION_TYPES = {
|
|
30
32
|
SUM: "sum",
|
|
@@ -109,14 +111,14 @@ exports.patch = async ctx => {
|
|
|
109
111
|
const inputs = ctx.request.body
|
|
110
112
|
const tableId = inputs.tableId
|
|
111
113
|
const isUserTable = tableId === InternalTables.USER_METADATA
|
|
112
|
-
let
|
|
114
|
+
let oldRow
|
|
113
115
|
try {
|
|
114
|
-
|
|
116
|
+
oldRow = await db.get(inputs._id)
|
|
115
117
|
} catch (err) {
|
|
116
118
|
if (isUserTable) {
|
|
117
119
|
// don't include the rev, it'll be the global rev
|
|
118
120
|
// this time
|
|
119
|
-
|
|
121
|
+
oldRow = {
|
|
120
122
|
_id: inputs._id,
|
|
121
123
|
}
|
|
122
124
|
} else {
|
|
@@ -125,13 +127,14 @@ exports.patch = async ctx => {
|
|
|
125
127
|
}
|
|
126
128
|
let dbTable = await db.get(tableId)
|
|
127
129
|
// need to build up full patch fields before coerce
|
|
130
|
+
let combinedRow = cloneDeep(oldRow)
|
|
128
131
|
for (let key of Object.keys(inputs)) {
|
|
129
132
|
if (!dbTable.schema[key]) continue
|
|
130
|
-
|
|
133
|
+
combinedRow[key] = inputs[key]
|
|
131
134
|
}
|
|
132
135
|
|
|
133
136
|
// this returns the table and row incase they have been updated
|
|
134
|
-
let { table, row } = inputProcessing(ctx.user, dbTable,
|
|
137
|
+
let { table, row } = inputProcessing(ctx.user, dbTable, combinedRow)
|
|
135
138
|
const validateResult = await validate({
|
|
136
139
|
row,
|
|
137
140
|
table,
|
|
@@ -149,6 +152,8 @@ exports.patch = async ctx => {
|
|
|
149
152
|
tableId: row.tableId,
|
|
150
153
|
table,
|
|
151
154
|
})
|
|
155
|
+
// check if any attachments removed
|
|
156
|
+
await cleanupAttachments(appId, table, { oldRow, row })
|
|
152
157
|
|
|
153
158
|
if (isUserTable) {
|
|
154
159
|
// the row has been updated, need to put it into the ctx
|
|
@@ -295,6 +300,8 @@ exports.destroy = async function (ctx) {
|
|
|
295
300
|
row,
|
|
296
301
|
tableId: row.tableId,
|
|
297
302
|
})
|
|
303
|
+
// remove any attachments that were on the row from object storage
|
|
304
|
+
await cleanupAttachments(appId, table, { row })
|
|
298
305
|
|
|
299
306
|
let response
|
|
300
307
|
if (ctx.params.tableId === InternalTables.USER_METADATA) {
|
|
@@ -341,6 +348,8 @@ exports.bulkDestroy = async ctx => {
|
|
|
341
348
|
} else {
|
|
342
349
|
await db.bulkDocs(rows.map(row => ({ ...row, _deleted: true })))
|
|
343
350
|
}
|
|
351
|
+
// remove any attachments that were on the rows from object storage
|
|
352
|
+
await cleanupAttachments(appId, table, { rows })
|
|
344
353
|
await Promise.all(updates)
|
|
345
354
|
return { response: { ok: true }, rows }
|
|
346
355
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const { SearchIndexes } = require("../../../db/utils")
|
|
2
2
|
const fetch = require("node-fetch")
|
|
3
|
-
const { getCouchUrl } = require("@budibase/
|
|
3
|
+
const { getCouchUrl } = require("@budibase/backend-core/db")
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Class to build lucene query URLs.
|
|
@@ -191,7 +191,8 @@ class QueryBuilder {
|
|
|
191
191
|
}
|
|
192
192
|
if (this.query.equal) {
|
|
193
193
|
build(this.query.equal, (key, value) => {
|
|
194
|
-
if
|
|
194
|
+
// 0 evaluates to false, which means we would return all rows if we don't check it
|
|
195
|
+
if (!value && value !== 0) {
|
|
195
196
|
return null
|
|
196
197
|
}
|
|
197
198
|
return `${key}:${builder.preprocess(value, allPreProcessingOpts)}`
|
|
@@ -50,10 +50,10 @@ exports.validate = async ({ appId, tableId, row, table }) => {
|
|
|
50
50
|
const errors = {}
|
|
51
51
|
for (let fieldName of Object.keys(table.schema)) {
|
|
52
52
|
const constraints = cloneDeep(table.schema[fieldName].constraints)
|
|
53
|
+
const type = table.schema[fieldName].type
|
|
53
54
|
// special case for options, need to always allow unselected (null)
|
|
54
55
|
if (
|
|
55
|
-
|
|
56
|
-
(FieldTypes.OPTIONS || FieldTypes.ARRAY) &&
|
|
56
|
+
(type === FieldTypes.OPTIONS || type === FieldTypes.ARRAY) &&
|
|
57
57
|
constraints.inclusion
|
|
58
58
|
) {
|
|
59
59
|
constraints.inclusion.push(null)
|
|
@@ -61,17 +61,20 @@ exports.validate = async ({ appId, tableId, row, table }) => {
|
|
|
61
61
|
let res
|
|
62
62
|
|
|
63
63
|
// Validate.js doesn't seem to handle array
|
|
64
|
-
if (
|
|
65
|
-
table.schema[fieldName].type === FieldTypes.ARRAY &&
|
|
66
|
-
row[fieldName] &&
|
|
67
|
-
row[fieldName].length
|
|
68
|
-
) {
|
|
64
|
+
if (type === FieldTypes.ARRAY && row[fieldName] && row[fieldName].length) {
|
|
69
65
|
row[fieldName].map(val => {
|
|
70
66
|
if (!constraints.inclusion.includes(val)) {
|
|
71
67
|
errors[fieldName] = "Field not in list"
|
|
72
68
|
}
|
|
73
69
|
})
|
|
74
|
-
} else if (
|
|
70
|
+
} else if (type === FieldTypes.JSON && typeof row[fieldName] === "string") {
|
|
71
|
+
// this should only happen if there is an error
|
|
72
|
+
try {
|
|
73
|
+
JSON.parse(row[fieldName])
|
|
74
|
+
} catch (err) {
|
|
75
|
+
errors[fieldName] = [`Contains invalid JSON`]
|
|
76
|
+
}
|
|
77
|
+
} else if (type === FieldTypes.FORMULA) {
|
|
75
78
|
res = validateJs.single(
|
|
76
79
|
processStringSync(table.schema[fieldName].formula, row),
|
|
77
80
|
constraints
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const CouchDB = require("../../db")
|
|
2
2
|
const { getScreenParams, generateScreenID } = require("../../db/utils")
|
|
3
|
-
const { AccessController } = require("@budibase/
|
|
3
|
+
const { AccessController } = require("@budibase/backend-core/roles")
|
|
4
4
|
|
|
5
5
|
exports.fetch = async ctx => {
|
|
6
6
|
const appId = ctx.appId
|
|
@@ -8,10 +8,13 @@ const { InternalTables } = require("../../db/utils")
|
|
|
8
8
|
const { getGlobalUsers, getRawGlobalUser } = require("../../utilities/global")
|
|
9
9
|
const { getFullUser } = require("../../utilities/users")
|
|
10
10
|
const { isEqual } = require("lodash")
|
|
11
|
-
const { BUILTIN_ROLE_IDS } = require("@budibase/
|
|
12
|
-
const {
|
|
11
|
+
const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
|
|
12
|
+
const {
|
|
13
|
+
getDevelopmentAppID,
|
|
14
|
+
getDeployedAppIDs,
|
|
15
|
+
} = require("@budibase/backend-core/db")
|
|
13
16
|
const { doesDatabaseExist } = require("../../utilities")
|
|
14
|
-
const { UserStatus } = require("@budibase/
|
|
17
|
+
const { UserStatus } = require("@budibase/backend-core/constants")
|
|
15
18
|
|
|
16
19
|
async function rawMetadata(db) {
|
|
17
20
|
return (
|
|
@@ -3,7 +3,7 @@ const { generateWebhookID, getWebhookParams } = require("../../db/utils")
|
|
|
3
3
|
const toJsonSchema = require("to-json-schema")
|
|
4
4
|
const validate = require("jsonschema").validate
|
|
5
5
|
const triggers = require("../../automations/triggers")
|
|
6
|
-
const { getDeployedAppID } = require("@budibase/
|
|
6
|
+
const { getDeployedAppID } = require("@budibase/backend-core/db")
|
|
7
7
|
|
|
8
8
|
const AUTOMATION_DESCRIPTION = "Generated from Webhook Schema"
|
|
9
9
|
|
package/src/api/index.js
CHANGED
|
@@ -4,7 +4,7 @@ const {
|
|
|
4
4
|
auditLog,
|
|
5
5
|
buildTenancyMiddleware,
|
|
6
6
|
buildAppTenancyMiddleware,
|
|
7
|
-
} = require("@budibase/auth")
|
|
7
|
+
} = require("@budibase/backend-core/auth")
|
|
8
8
|
const currentApp = require("../middleware/currentapp")
|
|
9
9
|
const compress = require("koa-compress")
|
|
10
10
|
const zlib = require("zlib")
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const Router = require("@koa/router")
|
|
2
2
|
const controller = require("../controllers/apikeys")
|
|
3
3
|
const authorized = require("../../middleware/authorized")
|
|
4
|
-
const { BUILDER } = require("@budibase/
|
|
4
|
+
const { BUILDER } = require("@budibase/backend-core/permissions")
|
|
5
5
|
|
|
6
6
|
const router = Router()
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const Router = require("@koa/router")
|
|
2
2
|
const controller = require("../controllers/application")
|
|
3
3
|
const authorized = require("../../middleware/authorized")
|
|
4
|
-
const { BUILDER } = require("@budibase/
|
|
4
|
+
const { BUILDER } = require("@budibase/backend-core/permissions")
|
|
5
5
|
const usage = require("../../middleware/usageQuota")
|
|
6
6
|
|
|
7
7
|
const router = Router()
|
|
@@ -6,7 +6,7 @@ const {
|
|
|
6
6
|
BUILDER,
|
|
7
7
|
PermissionLevels,
|
|
8
8
|
PermissionTypes,
|
|
9
|
-
} = require("@budibase/
|
|
9
|
+
} = require("@budibase/backend-core/permissions")
|
|
10
10
|
const Joi = require("joi")
|
|
11
11
|
const { bodyResource, paramResource } = require("../../middleware/resourceId")
|
|
12
12
|
const {
|
package/src/api/routes/backup.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const Router = require("@koa/router")
|
|
2
2
|
const controller = require("../controllers/backup")
|
|
3
3
|
const authorized = require("../../middleware/authorized")
|
|
4
|
-
const { BUILDER } = require("@budibase/
|
|
4
|
+
const { BUILDER } = require("@budibase/backend-core/permissions")
|
|
5
5
|
|
|
6
6
|
const router = Router()
|
|
7
7
|
|
package/src/api/routes/cloud.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const Router = require("@koa/router")
|
|
2
2
|
const controller = require("../controllers/cloud")
|
|
3
3
|
const authorized = require("../../middleware/authorized")
|
|
4
|
-
const { BUILDER } = require("@budibase/
|
|
4
|
+
const { BUILDER } = require("@budibase/backend-core/permissions")
|
|
5
5
|
|
|
6
6
|
const router = Router()
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const Router = require("@koa/router")
|
|
2
2
|
const controller = require("../controllers/component")
|
|
3
3
|
const authorized = require("../../middleware/authorized")
|
|
4
|
-
const { BUILDER } = require("@budibase/
|
|
4
|
+
const { BUILDER } = require("@budibase/backend-core/permissions")
|
|
5
5
|
|
|
6
6
|
const router = Router()
|
|
7
7
|
|
package/src/api/routes/deploy.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const Router = require("@koa/router")
|
|
2
2
|
const controller = require("../controllers/deploy")
|
|
3
3
|
const authorized = require("../../middleware/authorized")
|
|
4
|
-
const { BUILDER } = require("@budibase/
|
|
4
|
+
const { BUILDER } = require("@budibase/backend-core/permissions")
|
|
5
5
|
|
|
6
6
|
const router = Router()
|
|
7
7
|
|
package/src/api/routes/dev.js
CHANGED
|
@@ -2,7 +2,7 @@ const Router = require("@koa/router")
|
|
|
2
2
|
const controller = require("../controllers/dev")
|
|
3
3
|
const env = require("../../environment")
|
|
4
4
|
const authorized = require("../../middleware/authorized")
|
|
5
|
-
const { BUILDER } = require("@budibase/
|
|
5
|
+
const { BUILDER } = require("@budibase/backend-core/permissions")
|
|
6
6
|
|
|
7
7
|
const router = Router()
|
|
8
8
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const Router = require("@koa/router")
|
|
2
2
|
const controller = require("../controllers/hosting")
|
|
3
3
|
const authorized = require("../../middleware/authorized")
|
|
4
|
-
const { BUILDER } = require("@budibase/
|
|
4
|
+
const { BUILDER } = require("@budibase/backend-core/permissions")
|
|
5
5
|
|
|
6
6
|
const router = Router()
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const Router = require("@koa/router")
|
|
2
2
|
const controller = require("../controllers/integration")
|
|
3
3
|
const authorized = require("../../middleware/authorized")
|
|
4
|
-
const { BUILDER } = require("@budibase/
|
|
4
|
+
const { BUILDER } = require("@budibase/backend-core/permissions")
|
|
5
5
|
|
|
6
6
|
const router = Router()
|
|
7
7
|
|
package/src/api/routes/layout.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const Router = require("@koa/router")
|
|
2
2
|
const authorized = require("../../middleware/authorized")
|
|
3
|
-
const { BUILDER } = require("@budibase/
|
|
3
|
+
const { BUILDER } = require("@budibase/backend-core/permissions")
|
|
4
4
|
const controller = require("../controllers/layout")
|
|
5
5
|
|
|
6
6
|
const router = Router()
|
|
@@ -5,7 +5,7 @@ const {
|
|
|
5
5
|
AppType,
|
|
6
6
|
} = require("../../middleware/appInfo")
|
|
7
7
|
const authorized = require("../../middleware/authorized")
|
|
8
|
-
const { BUILDER } = require("@budibase/
|
|
8
|
+
const { BUILDER } = require("@budibase/backend-core/permissions")
|
|
9
9
|
|
|
10
10
|
const router = Router()
|
|
11
11
|
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
const Router = require("@koa/router")
|
|
2
2
|
const controller = require("../controllers/permission")
|
|
3
3
|
const authorized = require("../../middleware/authorized")
|
|
4
|
-
const {
|
|
4
|
+
const {
|
|
5
|
+
BUILDER,
|
|
6
|
+
PermissionLevels,
|
|
7
|
+
} = require("@budibase/backend-core/permissions")
|
|
5
8
|
const Joi = require("joi")
|
|
6
9
|
const joiValidator = require("../../middleware/joi-validator")
|
|
7
10
|
|
package/src/api/routes/query.js
CHANGED
|
@@ -5,7 +5,7 @@ const {
|
|
|
5
5
|
PermissionLevels,
|
|
6
6
|
PermissionTypes,
|
|
7
7
|
BUILDER,
|
|
8
|
-
} = require("@budibase/
|
|
8
|
+
} = require("@budibase/backend-core/permissions")
|
|
9
9
|
const {
|
|
10
10
|
bodyResource,
|
|
11
11
|
bodySubResource,
|
|
@@ -41,11 +41,18 @@ router
|
|
|
41
41
|
authorized(PermissionTypes.QUERY, PermissionLevels.READ),
|
|
42
42
|
queryController.find
|
|
43
43
|
)
|
|
44
|
+
// DEPRECATED - use new query endpoint for future work
|
|
44
45
|
.post(
|
|
45
46
|
"/api/queries/:queryId",
|
|
46
47
|
paramResource("queryId"),
|
|
47
48
|
authorized(PermissionTypes.QUERY, PermissionLevels.WRITE),
|
|
48
|
-
queryController.
|
|
49
|
+
queryController.executeV1
|
|
50
|
+
)
|
|
51
|
+
.post(
|
|
52
|
+
"/api/v2/queries/:queryId",
|
|
53
|
+
paramResource("queryId"),
|
|
54
|
+
authorized(PermissionTypes.QUERY, PermissionLevels.WRITE),
|
|
55
|
+
queryController.executeV2
|
|
49
56
|
)
|
|
50
57
|
.delete(
|
|
51
58
|
"/api/queries/:queryId/:revId",
|
package/src/api/routes/role.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const Router = require("@koa/router")
|
|
2
2
|
const authorized = require("../../middleware/authorized")
|
|
3
|
-
const { BUILDER } = require("@budibase/
|
|
3
|
+
const { BUILDER } = require("@budibase/backend-core/permissions")
|
|
4
4
|
const controller = require("../controllers/routing")
|
|
5
5
|
|
|
6
6
|
const router = Router()
|
package/src/api/routes/row.js
CHANGED
package/src/api/routes/screen.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const Router = require("@koa/router")
|
|
2
2
|
const controller = require("../controllers/screen")
|
|
3
3
|
const authorized = require("../../middleware/authorized")
|
|
4
|
-
const { BUILDER } = require("@budibase/
|
|
4
|
+
const { BUILDER } = require("@budibase/backend-core/permissions")
|
|
5
5
|
const joiValidator = require("../../middleware/joi-validator")
|
|
6
6
|
const Joi = require("joi")
|
|
7
7
|
|
package/src/api/routes/script.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const Router = require("@koa/router")
|
|
2
2
|
const controller = require("../controllers/script")
|
|
3
3
|
const authorized = require("../../middleware/authorized")
|
|
4
|
-
const { BUILDER } = require("@budibase/
|
|
4
|
+
const { BUILDER } = require("@budibase/backend-core/permissions")
|
|
5
5
|
|
|
6
6
|
const router = Router()
|
|
7
7
|
|
package/src/api/routes/static.js
CHANGED
|
@@ -6,7 +6,7 @@ const {
|
|
|
6
6
|
BUILDER,
|
|
7
7
|
PermissionTypes,
|
|
8
8
|
PermissionLevels,
|
|
9
|
-
} = require("@budibase/
|
|
9
|
+
} = require("@budibase/backend-core/permissions")
|
|
10
10
|
const env = require("../../environment")
|
|
11
11
|
const { paramResource } = require("../../middleware/resourceId")
|
|
12
12
|
|
package/src/api/routes/table.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const Router = require("@koa/router")
|
|
2
2
|
const controller = require("../controllers/templates")
|
|
3
3
|
const authorized = require("../../middleware/authorized")
|
|
4
|
-
const { BUILDER } = require("@budibase/
|
|
4
|
+
const { BUILDER } = require("@budibase/backend-core/permissions")
|
|
5
5
|
|
|
6
6
|
const router = Router()
|
|
7
7
|
|