@budibase/server 2.4.27-alpha.7 → 2.4.27-alpha.9
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 +6 -1
- package/builder/assets/{index.de2f79b4.css → index.5bc70767.css} +1 -1
- package/builder/assets/{index.ae75974f.js → index.ae03d7b1.js} +371 -371
- package/builder/index.html +7 -7
- package/dist/api/controllers/application.js +27 -23
- package/dist/api/controllers/row/utils.js +4 -3
- package/dist/api/controllers/static/index.js +84 -24
- package/dist/api/controllers/static/templates/BudibaseApp.svelte +33 -10
- package/dist/app.js +1 -0
- package/dist/integrations/redis.js +1 -1
- package/dist/package.json +13 -12
- package/dist/sdk/users/utils.js +2 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/global.js +17 -7
- package/jest.config.ts +1 -0
- package/package.json +14 -13
- package/scripts/test.sh +3 -3
- package/src/api/controllers/application.ts +18 -19
- package/src/api/controllers/row/utils.ts +4 -3
- package/src/api/controllers/static/index.ts +69 -26
- package/src/api/controllers/static/templates/BudibaseApp.svelte +33 -10
- package/src/api/controllers/view/tests/__snapshots__/viewBuilder.spec.js.snap +48 -48
- package/src/api/routes/tests/__snapshots__/datasource.spec.ts.snap +22 -22
- package/src/api/routes/tests/__snapshots__/view.spec.js.snap +5 -5
- package/src/api/routes/tests/appSync.spec.ts +31 -0
- package/src/api/routes/tests/internalSearch.spec.js +8 -7
- package/src/app.ts +2 -1
- package/src/automations/automationUtils.ts +1 -1
- package/src/automations/tests/automation.spec.ts +99 -0
- package/src/integration-test/postgres.spec.ts +46 -52
- package/src/integrations/redis.ts +1 -1
- package/src/integrations/tests/googlesheets.spec.ts +13 -13
- package/src/integrations/tests/redis.spec.ts +9 -5
- package/src/middleware/currentapp.ts +2 -2
- package/src/sdk/users/utils.ts +4 -1
- package/src/tests/jestEnv.ts +1 -0
- package/src/tests/jestSetup.ts +5 -1
- package/src/tests/utilities/TestConfiguration.ts +13 -0
- package/src/tests/utilities/structures.ts +13 -1
- package/src/utilities/global.ts +21 -9
- package/builder/assets/favicon.e7fc7733.png +0 -0
- package/src/automations/tests/automation.spec.js +0 -84
package/builder/index.html
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html class="spectrum spectrum--medium spectrum--darkest" lang="en" dir="ltr">
|
|
3
|
+
|
|
3
4
|
<head>
|
|
4
5
|
<meta charset='utf8'>
|
|
5
6
|
<meta name='viewport' content='width=device-width'>
|
|
6
7
|
<title>Budibase</title>
|
|
7
|
-
<link rel='icon' href='/builder/assets/favicon.e7fc7733.png'>
|
|
8
8
|
<link rel="preconnect" href="https://fonts.gstatic.com" />
|
|
9
|
-
<link
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
<script type="module" crossorigin src="/builder/assets/index.ae75974f.js"></script>
|
|
14
|
-
<link rel="stylesheet" href="/builder/assets/index.de2f79b4.css">
|
|
9
|
+
<link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600;700&display=swap"
|
|
10
|
+
rel="stylesheet" />
|
|
11
|
+
<script type="module" crossorigin src="/builder/assets/index.ae03d7b1.js"></script>
|
|
12
|
+
<link rel="stylesheet" href="/builder/assets/index.5bc70767.css">
|
|
15
13
|
</head>
|
|
14
|
+
|
|
16
15
|
<body id="app">
|
|
17
16
|
|
|
18
17
|
</body>
|
|
18
|
+
|
|
19
19
|
</html>
|
|
@@ -415,17 +415,19 @@ function revertClient(ctx) {
|
|
|
415
415
|
});
|
|
416
416
|
}
|
|
417
417
|
exports.revertClient = revertClient;
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
418
|
+
function unpublishApp(ctx) {
|
|
419
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
420
|
+
let appId = ctx.params.appId;
|
|
421
|
+
appId = backend_core_1.db.getProdAppID(appId);
|
|
422
|
+
const db = backend_core_1.context.getProdAppDB();
|
|
423
|
+
const result = yield db.destroy();
|
|
424
|
+
yield backend_core_1.events.app.unpublished({ appId });
|
|
425
|
+
// automations only in production
|
|
426
|
+
yield (0, utils_2.cleanupAutomations)(appId);
|
|
427
|
+
yield backend_core_1.cache.app.invalidateAppMetadata(appId);
|
|
428
|
+
return result;
|
|
429
|
+
});
|
|
430
|
+
}
|
|
429
431
|
function destroyApp(ctx) {
|
|
430
432
|
return __awaiter(this, void 0, void 0, function* () {
|
|
431
433
|
let appId = ctx.params.appId;
|
|
@@ -476,18 +478,20 @@ function destroy(ctx) {
|
|
|
476
478
|
});
|
|
477
479
|
}
|
|
478
480
|
exports.destroy = destroy;
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
481
|
+
function unpublish(ctx) {
|
|
482
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
483
|
+
const prodAppId = backend_core_1.db.getProdAppID(ctx.params.appId);
|
|
484
|
+
const dbExists = yield backend_core_1.db.dbExists(prodAppId);
|
|
485
|
+
// check app has been published
|
|
486
|
+
if (!dbExists) {
|
|
487
|
+
return ctx.throw(400, "App has not been published.");
|
|
488
|
+
}
|
|
489
|
+
yield preDestroyApp(ctx);
|
|
490
|
+
yield unpublishApp(ctx);
|
|
491
|
+
yield postDestroyApp(ctx);
|
|
492
|
+
ctx.status = 204;
|
|
493
|
+
});
|
|
494
|
+
}
|
|
491
495
|
exports.unpublish = unpublish;
|
|
492
496
|
function sync(ctx) {
|
|
493
497
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -95,10 +95,11 @@ function validate({ tableId, row, table, }) {
|
|
|
95
95
|
}
|
|
96
96
|
const errors = {};
|
|
97
97
|
for (let fieldName of Object.keys(fetchedTable.schema)) {
|
|
98
|
-
const
|
|
99
|
-
const
|
|
98
|
+
const column = fetchedTable.schema[fieldName];
|
|
99
|
+
const constraints = cloneDeep(column.constraints);
|
|
100
|
+
const type = column.type;
|
|
100
101
|
// formulas shouldn't validated, data will be deleted anyway
|
|
101
|
-
if (type === constants_1.FieldTypes.FORMULA) {
|
|
102
|
+
if (type === constants_1.FieldTypes.FORMULA || column.autocolumn) {
|
|
102
103
|
continue;
|
|
103
104
|
}
|
|
104
105
|
// special case for options, need to always allow unselected (null)
|
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
26
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -25,6 +48,7 @@ const backend_core_1 = require("@budibase/backend-core");
|
|
|
25
48
|
const aws_sdk_1 = __importDefault(require("aws-sdk"));
|
|
26
49
|
const fs_1 = __importDefault(require("fs"));
|
|
27
50
|
const sdk_1 = __importDefault(require("../../../sdk"));
|
|
51
|
+
const pro = __importStar(require("@budibase/pro"));
|
|
28
52
|
const send = require("koa-send");
|
|
29
53
|
function prepareUpload({ s3Key, bucket, metadata, file }) {
|
|
30
54
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -102,31 +126,67 @@ const deleteObjects = function (ctx) {
|
|
|
102
126
|
exports.deleteObjects = deleteObjects;
|
|
103
127
|
const serveApp = function (ctx) {
|
|
104
128
|
return __awaiter(this, void 0, void 0, function* () {
|
|
105
|
-
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
129
|
+
//Public Settings
|
|
130
|
+
const { config } = yield backend_core_1.configs.getSettingsConfigDoc();
|
|
131
|
+
const branding = yield pro.branding.getBrandingConfig(config);
|
|
132
|
+
let db;
|
|
133
|
+
try {
|
|
134
|
+
db = backend_core_1.context.getAppDB({ skip_setup: true });
|
|
135
|
+
const appInfo = yield db.get(utils_1.DocumentType.APP_METADATA);
|
|
136
|
+
let appId = backend_core_1.context.getAppId();
|
|
137
|
+
if (!environment_1.default.isJest()) {
|
|
138
|
+
const App = require("./templates/BudibaseApp.svelte").default;
|
|
139
|
+
const plugins = backend_core_1.objectStore.enrichPluginURLs(appInfo.usedPlugins);
|
|
140
|
+
const { head, html, css } = App.render({
|
|
141
|
+
metaImage: (branding === null || branding === void 0 ? void 0 : branding.metaImageUrl) ||
|
|
142
|
+
"https://res.cloudinary.com/daog6scxm/image/upload/v1666109324/meta-images/budibase-meta-image_uukc1m.png",
|
|
143
|
+
metaDescription: (branding === null || branding === void 0 ? void 0 : branding.metaDescription) || "",
|
|
144
|
+
metaTitle: (branding === null || branding === void 0 ? void 0 : branding.metaTitle) || `${appInfo.name} - built with Budibase`,
|
|
145
|
+
title: appInfo.name,
|
|
146
|
+
production: environment_1.default.isProd(),
|
|
147
|
+
appId,
|
|
148
|
+
clientLibPath: backend_core_1.objectStore.clientLibraryUrl(appId, appInfo.version),
|
|
149
|
+
usedPlugins: plugins,
|
|
150
|
+
favicon: branding.faviconUrl !== ""
|
|
151
|
+
? backend_core_1.objectStore.getGlobalFileUrl("settings", "faviconUrl")
|
|
152
|
+
: "",
|
|
153
|
+
logo: (config === null || config === void 0 ? void 0 : config.logoUrl) !== ""
|
|
154
|
+
? backend_core_1.objectStore.getGlobalFileUrl("settings", "logoUrl")
|
|
155
|
+
: "",
|
|
156
|
+
});
|
|
157
|
+
const appHbs = (0, fileSystem_1.loadHandlebarsFile)(`${__dirname}/templates/app.hbs`);
|
|
158
|
+
ctx.body = yield (0, string_templates_1.processString)(appHbs, {
|
|
159
|
+
head,
|
|
160
|
+
body: html,
|
|
161
|
+
style: css.code,
|
|
162
|
+
appId,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
// just return the app info for jest to assert on
|
|
167
|
+
ctx.body = appInfo;
|
|
168
|
+
}
|
|
126
169
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
170
|
+
catch (error) {
|
|
171
|
+
if (!environment_1.default.isJest()) {
|
|
172
|
+
const App = require("./templates/BudibaseApp.svelte").default;
|
|
173
|
+
const { head, html, css } = App.render({
|
|
174
|
+
title: branding === null || branding === void 0 ? void 0 : branding.metaTitle,
|
|
175
|
+
metaTitle: branding === null || branding === void 0 ? void 0 : branding.metaTitle,
|
|
176
|
+
metaImage: (branding === null || branding === void 0 ? void 0 : branding.metaImageUrl) ||
|
|
177
|
+
"https://res.cloudinary.com/daog6scxm/image/upload/v1666109324/meta-images/budibase-meta-image_uukc1m.png",
|
|
178
|
+
metaDescription: (branding === null || branding === void 0 ? void 0 : branding.metaDescription) || "",
|
|
179
|
+
favicon: branding.faviconUrl !== ""
|
|
180
|
+
? backend_core_1.objectStore.getGlobalFileUrl("settings", "faviconUrl")
|
|
181
|
+
: "",
|
|
182
|
+
});
|
|
183
|
+
const appHbs = (0, fileSystem_1.loadHandlebarsFile)(`${__dirname}/templates/app.hbs`);
|
|
184
|
+
ctx.body = yield (0, string_templates_1.processString)(appHbs, {
|
|
185
|
+
head,
|
|
186
|
+
body: html,
|
|
187
|
+
style: css.code,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
130
190
|
}
|
|
131
191
|
});
|
|
132
192
|
};
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
<script>
|
|
2
2
|
export let title = ""
|
|
3
3
|
export let favicon = ""
|
|
4
|
+
|
|
4
5
|
export let metaImage = ""
|
|
6
|
+
export let metaTitle = ""
|
|
7
|
+
export let metaDescription = ""
|
|
5
8
|
|
|
6
9
|
export let clientLibPath
|
|
7
10
|
export let usedPlugins
|
|
@@ -13,18 +16,33 @@
|
|
|
13
16
|
name="viewport"
|
|
14
17
|
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
|
|
15
18
|
/>
|
|
19
|
+
|
|
20
|
+
<!-- Primary Meta Tags -->
|
|
21
|
+
<meta name="title" content={metaTitle} />
|
|
22
|
+
<meta name="description" content={metaDescription} />
|
|
23
|
+
|
|
16
24
|
<!-- Opengraph Meta Tags -->
|
|
17
|
-
<meta name="twitter:card" content="summary_large_image" />
|
|
18
|
-
<meta name="twitter:site" content="@budibase" />
|
|
19
|
-
<meta name="twitter:image" content={metaImage} />
|
|
20
|
-
<meta name="twitter:title" content="{title} - built with Budibase" />
|
|
21
25
|
<meta property="og:site_name" content="Budibase" />
|
|
22
26
|
<meta property="og:title" content="{title} - built with Budibase" />
|
|
27
|
+
<meta property="og:description" content={metaDescription} />
|
|
23
28
|
<meta property="og:type" content="website" />
|
|
24
29
|
<meta property="og:image" content={metaImage} />
|
|
25
30
|
|
|
31
|
+
<!-- Twitter -->
|
|
32
|
+
<meta property="twitter:card" content="summary_large_image" />
|
|
33
|
+
<meta property="twitter:site" content="@budibase" />
|
|
34
|
+
<meta property="twitter:image" content={metaImage} />
|
|
35
|
+
<meta property="twitter:image:alt" content="{title} - built with Budibase" />
|
|
36
|
+
<meta property="twitter:title" content="{title} - built with Budibase" />
|
|
37
|
+
<meta property="twitter:description" content={metaDescription} />
|
|
38
|
+
|
|
26
39
|
<title>{title}</title>
|
|
27
|
-
|
|
40
|
+
{#if favicon !== ""}
|
|
41
|
+
<link rel="icon" type="image/png" href={favicon} />
|
|
42
|
+
{:else}
|
|
43
|
+
<link rel="icon" type="image/png" href="https://i.imgur.com/Xhdt1YP.png" />
|
|
44
|
+
{/if}
|
|
45
|
+
|
|
28
46
|
<link rel="stylesheet" href="https://rsms.me/inter/inter.css" />
|
|
29
47
|
<link rel="preconnect" href="https://fonts.gstatic.com" />
|
|
30
48
|
<link
|
|
@@ -83,11 +101,16 @@
|
|
|
83
101
|
|
|
84
102
|
<body id="app">
|
|
85
103
|
<div id="error">
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
104
|
+
{#if clientLibPath}
|
|
105
|
+
<h1>There was an error loading your app</h1>
|
|
106
|
+
<h2>
|
|
107
|
+
The Budibase client library could not be loaded. Try republishing your
|
|
108
|
+
app.
|
|
109
|
+
</h2>
|
|
110
|
+
{:else}
|
|
111
|
+
<h2>We couldn't find that application</h2>
|
|
112
|
+
<p />
|
|
113
|
+
{/if}
|
|
91
114
|
</div>
|
|
92
115
|
<script type="application/javascript">
|
|
93
116
|
window.INIT_TIME = Date.now()
|
package/dist/app.js
CHANGED
|
@@ -105,6 +105,7 @@ server.on("close", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
105
105
|
}
|
|
106
106
|
shuttingDown = true;
|
|
107
107
|
console.log("Server Closed");
|
|
108
|
+
backend_core_1.timers.cleanup();
|
|
108
109
|
yield automations.shutdown();
|
|
109
110
|
yield redis.shutdown();
|
|
110
111
|
backend_core_1.events.shutdown();
|
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.4.27-alpha.
|
|
4
|
+
"version": "2.4.27-alpha.8",
|
|
5
5
|
"description": "Budibase Web Server",
|
|
6
6
|
"main": "src/index.ts",
|
|
7
7
|
"repository": {
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
"build:dev": "yarn prebuild && tsc --build --watch --preserveWatchOutput",
|
|
15
15
|
"debug": "yarn build && node --expose-gc --inspect=9222 dist/index.js",
|
|
16
16
|
"postbuild": "copyfiles -u 1 src/**/*.svelte dist/ && copyfiles -u 1 src/**/*.hbs dist/ && copyfiles -u 1 src/**/*.json dist/",
|
|
17
|
-
"test": "bash scripts/test.sh",
|
|
17
|
+
"test": "NODE_OPTIONS=\"--max-old-space-size=4096\" bash scripts/test.sh",
|
|
18
|
+
"test:memory": "jest --maxWorkers=2 --logHeapUsage --forceExit",
|
|
18
19
|
"test:watch": "jest --watch",
|
|
19
20
|
"predocker": "copyfiles -f ../client/dist/budibase-client.js ../client/manifest.json client",
|
|
20
21
|
"build:docker": "yarn run predocker && docker build . -t app-service --label version=$BUDIBASE_RELEASE_VERSION",
|
|
@@ -43,12 +44,12 @@
|
|
|
43
44
|
"license": "GPL-3.0",
|
|
44
45
|
"dependencies": {
|
|
45
46
|
"@apidevtools/swagger-parser": "10.0.3",
|
|
46
|
-
"@budibase/backend-core": "2.4.27-alpha.
|
|
47
|
-
"@budibase/client": "2.4.27-alpha.
|
|
48
|
-
"@budibase/pro": "2.4.27-alpha.
|
|
49
|
-
"@budibase/shared-core": "2.4.27-alpha.
|
|
50
|
-
"@budibase/string-templates": "2.4.27-alpha.
|
|
51
|
-
"@budibase/types": "2.4.27-alpha.
|
|
47
|
+
"@budibase/backend-core": "2.4.27-alpha.8",
|
|
48
|
+
"@budibase/client": "2.4.27-alpha.8",
|
|
49
|
+
"@budibase/pro": "2.4.27-alpha.8",
|
|
50
|
+
"@budibase/shared-core": "2.4.27-alpha.8",
|
|
51
|
+
"@budibase/string-templates": "2.4.27-alpha.8",
|
|
52
|
+
"@budibase/types": "2.4.27-alpha.8",
|
|
52
53
|
"@bull-board/api": "3.7.0",
|
|
53
54
|
"@bull-board/koa": "3.9.4",
|
|
54
55
|
"@elastic/elasticsearch": "7.10.0",
|
|
@@ -125,7 +126,7 @@
|
|
|
125
126
|
"@babel/core": "7.17.4",
|
|
126
127
|
"@babel/preset-env": "7.16.11",
|
|
127
128
|
"@budibase/standard-components": "^0.9.139",
|
|
128
|
-
"@jest/test-sequencer": "
|
|
129
|
+
"@jest/test-sequencer": "29.5.0",
|
|
129
130
|
"@swc/core": "^1.3.25",
|
|
130
131
|
"@swc/jest": "^0.2.24",
|
|
131
132
|
"@trendyol/jest-testcontainers": "^2.1.1",
|
|
@@ -134,7 +135,7 @@
|
|
|
134
135
|
"@types/global-agent": "2.1.1",
|
|
135
136
|
"@types/google-spreadsheet": "3.1.5",
|
|
136
137
|
"@types/ioredis": "4.28.10",
|
|
137
|
-
"@types/jest": "
|
|
138
|
+
"@types/jest": "29.5.0",
|
|
138
139
|
"@types/koa": "2.13.4",
|
|
139
140
|
"@types/koa__router": "8.0.8",
|
|
140
141
|
"@types/lodash": "4.14.180",
|
|
@@ -154,7 +155,7 @@
|
|
|
154
155
|
"eslint": "6.8.0",
|
|
155
156
|
"ioredis-mock": "7.2.0",
|
|
156
157
|
"is-wsl": "2.2.0",
|
|
157
|
-
"jest": "
|
|
158
|
+
"jest": "29.5.0",
|
|
158
159
|
"jest-openapi": "0.14.2",
|
|
159
160
|
"jest-serial-runner": "^1.2.1",
|
|
160
161
|
"nodemon": "2.0.15",
|
|
@@ -166,7 +167,7 @@
|
|
|
166
167
|
"supertest": "6.2.2",
|
|
167
168
|
"swagger-jsdoc": "6.1.0",
|
|
168
169
|
"timekeeper": "2.2.0",
|
|
169
|
-
"ts-jest": "
|
|
170
|
+
"ts-jest": "29.0.5",
|
|
170
171
|
"ts-node": "10.8.1",
|
|
171
172
|
"tsconfig-paths": "4.0.0",
|
|
172
173
|
"typescript": "4.7.3",
|
package/dist/sdk/users/utils.js
CHANGED
|
@@ -16,7 +16,8 @@ const utils_1 = require("../../db/utils");
|
|
|
16
16
|
const lodash_1 = require("lodash");
|
|
17
17
|
function combineMetadataAndUser(user, metadata) {
|
|
18
18
|
// skip users with no access
|
|
19
|
-
if (user.roleId
|
|
19
|
+
if (user.roleId == null ||
|
|
20
|
+
user.roleId === backend_core_1.roles.BUILTIN_ROLE_IDS.PUBLIC) {
|
|
20
21
|
return null;
|
|
21
22
|
}
|
|
22
23
|
delete user._rev;
|