@budibase/server 2.0.18 → 2.0.20
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.bef2492f.js → index.654c9538.js} +1 -1
- package/builder/index.html +1 -1
- package/coverage/clover.xml +171 -154
- package/coverage/coverage-final.json +2 -1
- package/coverage/lcov-report/api/controllers/apikeys.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/datasource.js.html +1 -1
- package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
- package/coverage/lcov-report/api/controllers/index.html +1 -1
- 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 +15 -15
- package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +122 -116
- 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/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/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 +1 -1
- package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
- 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 +26 -26
- 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 +24 -9
- package/coverage/lcov-report/utilities/index.js.html +1 -1
- package/coverage/lcov-report/utilities/plugins.js.html +148 -0
- 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 +311 -278
- package/dist/api/controllers/application.js +4 -1
- package/dist/api/controllers/public/utils.js +1 -1
- package/dist/api/controllers/row/internalSearch.js +4 -2
- package/dist/api/controllers/static/index.js +3 -1
- package/dist/api/controllers/static/templates/BudibaseApp.svelte +1 -3
- package/dist/api/controllers/table/internal.js +9 -1
- package/dist/api/controllers/table/utils.js +1 -1
- package/dist/package.json +6 -6
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/plugins.js +20 -0
- package/package.json +7 -7
- package/src/api/controllers/application.ts +5 -1
- package/src/api/controllers/public/utils.ts +1 -1
- package/src/api/controllers/row/internalSearch.js +4 -2
- package/src/api/controllers/static/index.ts +4 -1
- package/src/api/controllers/static/templates/BudibaseApp.svelte +1 -3
- package/src/api/controllers/table/internal.ts +10 -2
- package/src/api/controllers/table/utils.ts +1 -1
- package/src/api/routes/tests/internalSearch.spec.js +20 -0
- package/src/utilities/plugins.js +21 -0
|
@@ -38,6 +38,7 @@ const backend_core_2 = require("@budibase/backend-core");
|
|
|
38
38
|
const types_1 = require("@budibase/types");
|
|
39
39
|
const layouts_1 = require("../../constants/layouts");
|
|
40
40
|
const pro_2 = require("@budibase/pro");
|
|
41
|
+
const plugins_1 = require("../../utilities/plugins");
|
|
41
42
|
const URL_REGEX_SLASH = /\/|\\/g;
|
|
42
43
|
// utility function, need to do away with this
|
|
43
44
|
function getLayouts() {
|
|
@@ -176,9 +177,11 @@ const fetchAppDefinition = (ctx) => __awaiter(void 0, void 0, void 0, function*
|
|
|
176
177
|
exports.fetchAppDefinition = fetchAppDefinition;
|
|
177
178
|
const fetchAppPackage = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
178
179
|
const db = backend_core_1.context.getAppDB();
|
|
179
|
-
|
|
180
|
+
let application = yield db.get(utils_1.DocumentType.APP_METADATA);
|
|
180
181
|
const layouts = yield getLayouts();
|
|
181
182
|
let screens = yield getScreens();
|
|
183
|
+
// Enrich plugin URLs
|
|
184
|
+
application.usedPlugins = (0, plugins_1.enrichPluginURLs)(application.usedPlugins);
|
|
182
185
|
// Only filter screens if the user is not a builder
|
|
183
186
|
if (!(ctx.user.builder && ctx.user.builder.global)) {
|
|
184
187
|
const userRoleId = getUserRoleId(ctx);
|
|
@@ -32,7 +32,7 @@ function addRev(body, tableId) {
|
|
|
32
32
|
}
|
|
33
33
|
exports.addRev = addRev;
|
|
34
34
|
/**
|
|
35
|
-
* Performs a case
|
|
35
|
+
* Performs a case in-sensitive search on the provided documents, using the
|
|
36
36
|
* provided key and value. This will be a string based search, using the
|
|
37
37
|
* startsWith function.
|
|
38
38
|
*/
|
|
@@ -120,7 +120,7 @@ class QueryBuilder {
|
|
|
120
120
|
* @param options The preprocess options
|
|
121
121
|
* @returns {string|*}
|
|
122
122
|
*/
|
|
123
|
-
preprocess(value, { escape, lowercase, wrap } = {}) {
|
|
123
|
+
preprocess(value, { escape, lowercase, wrap, type } = {}) {
|
|
124
124
|
const hasVersion = !!this.version;
|
|
125
125
|
// Determine if type needs wrapped
|
|
126
126
|
const originalType = typeof value;
|
|
@@ -133,7 +133,7 @@ class QueryBuilder {
|
|
|
133
133
|
value = `${value}`.replace(/[ #+\-&|!(){}\]^"~*?:\\]/g, "\\$&");
|
|
134
134
|
}
|
|
135
135
|
// Wrap in quotes
|
|
136
|
-
if (originalType === "string" && !isNaN(value) && !
|
|
136
|
+
if (originalType === "string" && !isNaN(value) && !type) {
|
|
137
137
|
value = `"${value}"`;
|
|
138
138
|
}
|
|
139
139
|
else if (hasVersion && wrap) {
|
|
@@ -221,6 +221,7 @@ class QueryBuilder {
|
|
|
221
221
|
value = builder.preprocess(value, {
|
|
222
222
|
escape: true,
|
|
223
223
|
lowercase: true,
|
|
224
|
+
type: "string",
|
|
224
225
|
});
|
|
225
226
|
return `${key}:${value}*`;
|
|
226
227
|
});
|
|
@@ -249,6 +250,7 @@ class QueryBuilder {
|
|
|
249
250
|
value = builder.preprocess(value, {
|
|
250
251
|
escape: true,
|
|
251
252
|
lowercase: true,
|
|
253
|
+
type: "fuzzy",
|
|
252
254
|
});
|
|
253
255
|
return `${key}:${value}~`;
|
|
254
256
|
});
|
|
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.getSignedUploadURL = exports.serveClientLibrary = exports.serveBuilderPreview = exports.serveApp = exports.deleteObjects = exports.uploadFile = exports.serveBuilder = exports.toggleBetaUiFeature = void 0;
|
|
13
|
+
const plugins_1 = require("../../../utilities/plugins");
|
|
13
14
|
require("svelte/register");
|
|
14
15
|
const send = require("koa-send");
|
|
15
16
|
const { resolve, join } = require("../../../utilities/centralPath");
|
|
@@ -108,12 +109,13 @@ const serveApp = function (ctx) {
|
|
|
108
109
|
let appId = getAppId();
|
|
109
110
|
if (!env.isJest()) {
|
|
110
111
|
const App = require("./templates/BudibaseApp.svelte").default;
|
|
112
|
+
const plugins = (0, plugins_1.enrichPluginURLs)(appInfo.usedPlugins);
|
|
111
113
|
const { head, html, css } = App.render({
|
|
112
114
|
title: appInfo.name,
|
|
113
115
|
production: env.isProd(),
|
|
114
116
|
appId,
|
|
115
117
|
clientLibPath: clientLibraryPath(appId, appInfo.version, ctx),
|
|
116
|
-
usedPlugins:
|
|
118
|
+
usedPlugins: plugins,
|
|
117
119
|
});
|
|
118
120
|
const appHbs = loadHandlebarsFile(`${__dirname}/templates/app.hbs`);
|
|
119
121
|
ctx.body = yield processString(appHbs, {
|
|
@@ -88,9 +88,7 @@
|
|
|
88
88
|
<!-- But before loadBudibase is called -->
|
|
89
89
|
{#if usedPlugins?.length}
|
|
90
90
|
{#each usedPlugins as plugin}
|
|
91
|
-
<script
|
|
92
|
-
type="application/javascript"
|
|
93
|
-
src={`/plugins/${plugin.jsUrl}`}></script>
|
|
91
|
+
<script type="application/javascript" src={plugin.jsUrl}></script>
|
|
94
92
|
{/each}
|
|
95
93
|
{/if}
|
|
96
94
|
<script type="application/javascript">
|
|
@@ -30,6 +30,8 @@ const environment_1 = require("../../../environment");
|
|
|
30
30
|
const rowProcessor_1 = require("../../../utilities/rowProcessor");
|
|
31
31
|
const bulkFormula_1 = require("./bulkFormula");
|
|
32
32
|
const pro_1 = require("@budibase/pro");
|
|
33
|
+
const lodash_1 = require("lodash");
|
|
34
|
+
const fp_1 = require("lodash/fp");
|
|
33
35
|
function checkAutoColumns(table, oldTable) {
|
|
34
36
|
if (!table.schema) {
|
|
35
37
|
return table;
|
|
@@ -124,9 +126,15 @@ function save(ctx) {
|
|
|
124
126
|
if (updatedRows && updatedRows.length !== 0) {
|
|
125
127
|
yield db.bulkDocs(updatedRows);
|
|
126
128
|
}
|
|
127
|
-
|
|
129
|
+
let result = yield db.put(tableToSave);
|
|
128
130
|
tableToSave._rev = result.rev;
|
|
131
|
+
const savedTable = (0, fp_1.cloneDeep)(tableToSave);
|
|
129
132
|
tableToSave = yield tableSaveFunctions.after(tableToSave);
|
|
133
|
+
// the table may be updated as part of the table save after functionality - need to write it
|
|
134
|
+
if (!(0, lodash_1.isEqual)(savedTable, tableToSave)) {
|
|
135
|
+
result = yield db.put(tableToSave);
|
|
136
|
+
tableToSave._rev = result.rev;
|
|
137
|
+
}
|
|
130
138
|
// has to run after, make sure it has _id
|
|
131
139
|
yield (0, bulkFormula_1.runStaticFormulaChecks)(tableToSave, { oldTable, deletion: null });
|
|
132
140
|
return tableToSave;
|
|
@@ -220,7 +220,7 @@ class TableSaveFunctions {
|
|
|
220
220
|
after(table) {
|
|
221
221
|
return __awaiter(this, void 0, void 0, function* () {
|
|
222
222
|
table = yield handleSearchIndexes(table);
|
|
223
|
-
yield handleDataImport(this.user, table, this.dataImport);
|
|
223
|
+
table = yield handleDataImport(this.user, table, this.dataImport);
|
|
224
224
|
return table;
|
|
225
225
|
});
|
|
226
226
|
}
|
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/server",
|
|
3
3
|
"email": "hi@budibase.com",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.19",
|
|
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": "^2.0.
|
|
81
|
-
"@budibase/client": "^2.0.
|
|
82
|
-
"@budibase/pro": "2.0.
|
|
83
|
-
"@budibase/string-templates": "^2.0.
|
|
84
|
-
"@budibase/types": "^2.0.
|
|
80
|
+
"@budibase/backend-core": "^2.0.19",
|
|
81
|
+
"@budibase/client": "^2.0.19",
|
|
82
|
+
"@budibase/pro": "2.0.19",
|
|
83
|
+
"@budibase/string-templates": "^2.0.19",
|
|
84
|
+
"@budibase/types": "^2.0.19",
|
|
85
85
|
"@bull-board/api": "3.7.0",
|
|
86
86
|
"@bull-board/koa": "3.9.4",
|
|
87
87
|
"@elastic/elasticsearch": "7.10.0",
|