@budibase/server 1.2.58-alpha.1 → 1.2.58-alpha.4
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.52ce947f.js → index.02b3fe06.js} +87 -87
- package/builder/index.html +1 -1
- package/coverage/clover.xml +114 -114
- package/coverage/coverage-final.json +11 -11
- 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 +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 +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 +5 -5
- 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 +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 +2 -2
- package/coverage/lcov-report/db/utils.js.html +13 -13
- 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 +1 -1
- 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 +11 -11
- package/coverage/lcov-report/middleware/currentapp.js.html +33 -33
- 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 +2 -2
- 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 +16 -16
- package/coverage/lcov-report/utilities/index.html +1 -1
- package/coverage/lcov-report/utilities/index.js.html +2 -2
- 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 +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 +20 -20
- 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 +13 -13
- package/coverage/lcov.info +205 -205
- package/dist/api/controllers/application.js +80 -14
- package/dist/package.json +6 -6
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/src/api/controllers/application.ts +96 -15
- package/src/api/routes/tests/application.spec.js +26 -0
- package/src/api/routes/tests/data/old-app.txt +3 -0
|
@@ -36,6 +36,7 @@ const rows_1 = require("../../utilities/usageQuota/rows");
|
|
|
36
36
|
const pro_1 = require("@budibase/pro");
|
|
37
37
|
const backend_core_2 = require("@budibase/backend-core");
|
|
38
38
|
const types_1 = require("@budibase/types");
|
|
39
|
+
const layouts_1 = require("../../constants/layouts");
|
|
39
40
|
const URL_REGEX_SLASH = /\/|\\/g;
|
|
40
41
|
// utility function, need to do away with this
|
|
41
42
|
function getLayouts() {
|
|
@@ -209,26 +210,17 @@ const performAppCreate = (ctx) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
209
210
|
const instance = yield createInstance(instanceConfig);
|
|
210
211
|
const appId = instance._id;
|
|
211
212
|
const db = backend_core_1.context.getAppDB();
|
|
212
|
-
let
|
|
213
|
-
try {
|
|
214
|
-
// if template there will be an existing doc
|
|
215
|
-
const existing = yield db.get(utils_1.DocumentType.APP_METADATA);
|
|
216
|
-
_rev = existing._rev;
|
|
217
|
-
}
|
|
218
|
-
catch (err) {
|
|
219
|
-
// nothing to do
|
|
220
|
-
}
|
|
221
|
-
const newApplication = {
|
|
213
|
+
let newApplication = {
|
|
222
214
|
_id: utils_1.DocumentType.APP_METADATA,
|
|
223
|
-
_rev,
|
|
224
|
-
appId
|
|
215
|
+
_rev: undefined,
|
|
216
|
+
appId,
|
|
225
217
|
type: "app",
|
|
226
218
|
version: package_json_1.default.version,
|
|
227
219
|
componentLibraries: ["@budibase/standard-components"],
|
|
228
220
|
name: name,
|
|
229
221
|
url: url,
|
|
230
|
-
template:
|
|
231
|
-
instance
|
|
222
|
+
template: templateKey,
|
|
223
|
+
instance,
|
|
232
224
|
tenantId: getTenantId(),
|
|
233
225
|
updatedAt: new Date().toISOString(),
|
|
234
226
|
createdAt: new Date().toISOString(),
|
|
@@ -250,6 +242,34 @@ const performAppCreate = (ctx) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
250
242
|
buttonBorderRadius: "16px",
|
|
251
243
|
},
|
|
252
244
|
};
|
|
245
|
+
// If we used a template or imported an app there will be an existing doc.
|
|
246
|
+
// Fetch and migrate some metadata from the existing app.
|
|
247
|
+
try {
|
|
248
|
+
const existing = yield db.get(utils_1.DocumentType.APP_METADATA);
|
|
249
|
+
const keys = [
|
|
250
|
+
"_rev",
|
|
251
|
+
"navigation",
|
|
252
|
+
"theme",
|
|
253
|
+
"customTheme",
|
|
254
|
+
"icon",
|
|
255
|
+
];
|
|
256
|
+
keys.forEach(key => {
|
|
257
|
+
if (existing[key]) {
|
|
258
|
+
// @ts-ignore
|
|
259
|
+
newApplication[key] = existing[key];
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
// Migrate navigation settings and screens if required
|
|
263
|
+
if (existing && !existing.navigation) {
|
|
264
|
+
const navigation = yield migrateAppNavigation();
|
|
265
|
+
if (navigation) {
|
|
266
|
+
newApplication.navigation = navigation;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
catch (err) {
|
|
271
|
+
// Nothing to do
|
|
272
|
+
}
|
|
253
273
|
const response = yield db.put(newApplication, { force: true });
|
|
254
274
|
newApplication._rev = response.rev;
|
|
255
275
|
/* istanbul ignore next */
|
|
@@ -511,3 +531,49 @@ const updateAppPackage = (appPackage, appId) => __awaiter(void 0, void 0, void 0
|
|
|
511
531
|
return newAppPackage;
|
|
512
532
|
}));
|
|
513
533
|
});
|
|
534
|
+
const migrateAppNavigation = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
535
|
+
const db = backend_core_1.context.getAppDB();
|
|
536
|
+
const existing = yield db.get(utils_1.DocumentType.APP_METADATA);
|
|
537
|
+
const layouts = yield getLayouts();
|
|
538
|
+
const screens = yield getScreens();
|
|
539
|
+
// Migrate all screens, removing custom layouts
|
|
540
|
+
for (let screen of screens) {
|
|
541
|
+
if (!screen.layoutId) {
|
|
542
|
+
return;
|
|
543
|
+
}
|
|
544
|
+
const layout = layouts.find(layout => layout._id === screen.layoutId);
|
|
545
|
+
screen.layoutId = undefined;
|
|
546
|
+
screen.showNavigation = (layout === null || layout === void 0 ? void 0 : layout.props.navigation) !== "None";
|
|
547
|
+
screen.width = (layout === null || layout === void 0 ? void 0 : layout.props.width) || "Large";
|
|
548
|
+
yield db.put(screen);
|
|
549
|
+
}
|
|
550
|
+
// Migrate layout navigation settings
|
|
551
|
+
const { name, customTheme } = existing;
|
|
552
|
+
const layout = layouts === null || layouts === void 0 ? void 0 : layouts.find((layout) => layout._id === layouts_1.BASE_LAYOUT_PROP_IDS.PRIVATE);
|
|
553
|
+
if (layout) {
|
|
554
|
+
let navigationSettings = {
|
|
555
|
+
navigation: "Top",
|
|
556
|
+
title: name,
|
|
557
|
+
navWidth: "Large",
|
|
558
|
+
navBackground: (customTheme === null || customTheme === void 0 ? void 0 : customTheme.navBackground) || "var(--spectrum-global-color-gray-50)",
|
|
559
|
+
navTextColor: (customTheme === null || customTheme === void 0 ? void 0 : customTheme.navTextColor) || "var(--spectrum-global-color-gray-800)",
|
|
560
|
+
};
|
|
561
|
+
if (layout) {
|
|
562
|
+
navigationSettings.hideLogo = layout.props.hideLogo;
|
|
563
|
+
navigationSettings.hideTitle = layout.props.hideTitle;
|
|
564
|
+
navigationSettings.title = layout.props.title || name;
|
|
565
|
+
navigationSettings.logoUrl = layout.props.logoUrl;
|
|
566
|
+
navigationSettings.links = layout.props.links;
|
|
567
|
+
navigationSettings.navigation = layout.props.navigation || "Top";
|
|
568
|
+
navigationSettings.sticky = layout.props.sticky;
|
|
569
|
+
navigationSettings.navWidth = layout.props.width || "Large";
|
|
570
|
+
if (navigationSettings.navigation === "None") {
|
|
571
|
+
navigationSettings.navigation = "Top";
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
return navigationSettings;
|
|
575
|
+
}
|
|
576
|
+
else {
|
|
577
|
+
return null;
|
|
578
|
+
}
|
|
579
|
+
});
|
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.2.58-alpha.
|
|
4
|
+
"version": "1.2.58-alpha.3",
|
|
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.2.58-alpha.
|
|
81
|
-
"@budibase/client": "1.2.58-alpha.
|
|
82
|
-
"@budibase/pro": "1.2.58-alpha.
|
|
83
|
-
"@budibase/string-templates": "1.2.58-alpha.
|
|
84
|
-
"@budibase/types": "1.2.58-alpha.
|
|
80
|
+
"@budibase/backend-core": "1.2.58-alpha.3",
|
|
81
|
+
"@budibase/client": "1.2.58-alpha.3",
|
|
82
|
+
"@budibase/pro": "1.2.58-alpha.3",
|
|
83
|
+
"@budibase/string-templates": "1.2.58-alpha.3",
|
|
84
|
+
"@budibase/types": "1.2.58-alpha.3",
|
|
85
85
|
"@bull-board/api": "3.7.0",
|
|
86
86
|
"@bull-board/koa": "3.9.4",
|
|
87
87
|
"@elastic/elasticsearch": "7.10.0",
|