@budibase/backend-core 3.13.21 → 3.13.22
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/dist/index.js +11 -11
- package/dist/index.js.map +3 -3
- package/dist/package.json +2 -2
- package/dist/src/utils/utils.js +18 -10
- package/dist/src/utils/utils.js.map +1 -1
- package/dist/tests/core/utilities/structures/koa.js +5 -1
- package/dist/tests/core/utilities/structures/koa.js.map +1 -1
- package/package.json +2 -2
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/backend-core",
|
|
3
|
-
"version": "3.13.
|
|
3
|
+
"version": "3.13.22",
|
|
4
4
|
"description": "Budibase backend core libraries used in server and worker",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -118,5 +118,5 @@
|
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
},
|
|
121
|
-
"gitHead": "
|
|
121
|
+
"gitHead": "72110c606f8b12bbf037346388c63d682c1aa9c0"
|
|
122
122
|
}
|
package/dist/src/utils/utils.js
CHANGED
|
@@ -74,11 +74,6 @@ const BUILDER_PREVIEW_PATH = "/app/preview";
|
|
|
74
74
|
const BUILDER_PREFIX = "/builder";
|
|
75
75
|
const BUILDER_APP_PREFIX = `${BUILDER_PREFIX}/app/`;
|
|
76
76
|
const PUBLIC_API_PREFIX = "/api/public/v";
|
|
77
|
-
function confirmAppId(possibleAppId) {
|
|
78
|
-
return possibleAppId && possibleAppId.startsWith(APP_PREFIX)
|
|
79
|
-
? possibleAppId
|
|
80
|
-
: undefined;
|
|
81
|
-
}
|
|
82
77
|
function resolveAppUrl(ctx) {
|
|
83
78
|
return __awaiter(this, void 0, void 0, function* () {
|
|
84
79
|
const appUrl = ctx.path.split("/")[2];
|
|
@@ -126,6 +121,19 @@ function getAppIdFromCtx(ctx) {
|
|
|
126
121
|
// look in headers
|
|
127
122
|
const options = [ctx.request.headers[constants_1.Header.APP_ID]];
|
|
128
123
|
let appId;
|
|
124
|
+
function confirmAppId(possibleAppId) {
|
|
125
|
+
if (!possibleAppId) {
|
|
126
|
+
return appId;
|
|
127
|
+
}
|
|
128
|
+
if (!possibleAppId.startsWith(APP_PREFIX)) {
|
|
129
|
+
return appId;
|
|
130
|
+
}
|
|
131
|
+
if (appId && (0, db_1.getDevAppID)(appId) !== (0, db_1.getDevAppID)(possibleAppId)) {
|
|
132
|
+
// TODO: check dev/prod conflicts
|
|
133
|
+
ctx.throw("App id conflict", 403);
|
|
134
|
+
}
|
|
135
|
+
return appId !== null && appId !== void 0 ? appId : possibleAppId;
|
|
136
|
+
}
|
|
129
137
|
for (let option of options) {
|
|
130
138
|
appId = confirmAppId(option);
|
|
131
139
|
if (appId) {
|
|
@@ -133,16 +141,16 @@ function getAppIdFromCtx(ctx) {
|
|
|
133
141
|
}
|
|
134
142
|
}
|
|
135
143
|
// look in body
|
|
136
|
-
if (
|
|
144
|
+
if (ctx.request.body && ctx.request.body.appId) {
|
|
137
145
|
appId = confirmAppId(ctx.request.body.appId);
|
|
138
146
|
}
|
|
139
147
|
// look in the path
|
|
140
148
|
const pathId = parseAppIdFromUrlPath(ctx.path);
|
|
141
|
-
if (
|
|
149
|
+
if (pathId) {
|
|
142
150
|
appId = confirmAppId(pathId);
|
|
143
151
|
}
|
|
144
152
|
// look in queryParams
|
|
145
|
-
if (
|
|
153
|
+
if ((_a = ctx.query) === null || _a === void 0 ? void 0 : _a.appId) {
|
|
146
154
|
appId = confirmAppId((_b = ctx.query) === null || _b === void 0 ? void 0 : _b.appId);
|
|
147
155
|
}
|
|
148
156
|
// lookup using custom url - prod apps only
|
|
@@ -150,14 +158,14 @@ function getAppIdFromCtx(ctx) {
|
|
|
150
158
|
// to ensure we don't load all apps excessively
|
|
151
159
|
const isBuilderPreview = ctx.path.startsWith(BUILDER_PREVIEW_PATH);
|
|
152
160
|
const isViewingProdApp = ctx.path.startsWith(PROD_APP_PREFIX) && !isBuilderPreview;
|
|
153
|
-
if (
|
|
161
|
+
if (isViewingProdApp) {
|
|
154
162
|
appId = confirmAppId(yield resolveAppUrl(ctx));
|
|
155
163
|
}
|
|
156
164
|
// look in the referer - builder only
|
|
157
165
|
// make sure this is performed after prod app url resolution, in case the
|
|
158
166
|
// referer header is present from a builder redirect
|
|
159
167
|
const referer = ctx.request.headers.referer;
|
|
160
|
-
if (
|
|
168
|
+
if (referer === null || referer === void 0 ? void 0 : referer.includes(BUILDER_APP_PREFIX)) {
|
|
161
169
|
const refererId = parseAppIdFromUrlPath(ctx.request.headers.referer);
|
|
162
170
|
appId = confirmAppId(refererId);
|
|
163
171
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.newContext = void 0;
|
|
4
4
|
const jest_koa_mocks_1 = require("@shopify/jest-koa-mocks");
|
|
5
5
|
const newContext = () => {
|
|
6
|
-
const ctx = (0, jest_koa_mocks_1.createMockContext)(
|
|
6
|
+
const ctx = (0, jest_koa_mocks_1.createMockContext)({
|
|
7
|
+
throw: jest.fn().mockImplementation(() => {
|
|
8
|
+
throw new Error();
|
|
9
|
+
}),
|
|
10
|
+
});
|
|
7
11
|
return Object.assign(Object.assign({}, ctx), { path: "/", cookies: (0, jest_koa_mocks_1.createMockCookies)(), request: Object.assign(Object.assign({}, ctx.request), { headers: {}, body: {} }) });
|
|
8
12
|
};
|
|
9
13
|
exports.newContext = newContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koa.js","sourceRoot":"","sources":["../../../../../tests/core/utilities/structures/koa.ts"],"names":[],"mappings":";;;AAAA,4DAA8E;AAGvE,MAAM,UAAU,GAAG,GAAQ,EAAE;IAClC,MAAM,GAAG,GAAG,IAAA,kCAAiB,
|
|
1
|
+
{"version":3,"file":"koa.js","sourceRoot":"","sources":["../../../../../tests/core/utilities/structures/koa.ts"],"names":[],"mappings":";;;AAAA,4DAA8E;AAGvE,MAAM,UAAU,GAAG,GAAQ,EAAE;IAClC,MAAM,GAAG,GAAG,IAAA,kCAAiB,EAAC;QAC5B,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACvC,MAAM,IAAI,KAAK,EAAE,CAAA;QACnB,CAAC,CAAC;KACH,CAAQ,CAAA;IACT,uCACK,GAAG,KACN,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,IAAA,kCAAiB,GAAE,EAC5B,OAAO,kCACF,GAAG,CAAC,OAAO,KACd,OAAO,EAAE,EAAE,EACX,IAAI,EAAE,EAAE,OAEX;AACH,CAAC,CAAA;AAhBY,QAAA,UAAU,cAgBtB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/backend-core",
|
|
3
|
-
"version": "3.13.
|
|
3
|
+
"version": "3.13.22",
|
|
4
4
|
"description": "Budibase backend core libraries used in server and worker",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -118,5 +118,5 @@
|
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
},
|
|
121
|
-
"gitHead": "
|
|
121
|
+
"gitHead": "72110c606f8b12bbf037346388c63d682c1aa9c0"
|
|
122
122
|
}
|