@budibase/backend-core 2.6.7 → 2.6.8-alpha.10

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@budibase/backend-core",
3
- "version": "2.6.7",
3
+ "version": "2.6.8-alpha.10",
4
4
  "description": "Budibase backend core libraries used in server and worker",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -15,8 +15,6 @@
15
15
  "prebuild": "rimraf dist/",
16
16
  "prepack": "cp package.json dist",
17
17
  "build": "tsc -p tsconfig.build.json",
18
- "build:pro": "../../scripts/pro/build.sh",
19
- "postbuild": "yarn run build:pro",
20
18
  "build:dev": "yarn prebuild && tsc --build --watch --preserveWatchOutput",
21
19
  "test": "bash scripts/test.sh",
22
20
  "test:watch": "jest --watchAll"
@@ -24,7 +22,7 @@
24
22
  "dependencies": {
25
23
  "@budibase/nano": "10.1.2",
26
24
  "@budibase/pouchdb-replication-stream": "1.2.10",
27
- "@budibase/types": "^2.6.7",
25
+ "@budibase/types": "2.6.8-alpha.10",
28
26
  "@shopify/jest-koa-mocks": "5.0.1",
29
27
  "@techpass/passport-openidconnect": "0.3.2",
30
28
  "aws-cloudfront-sign": "2.2.0",
@@ -90,5 +88,5 @@
90
88
  "tsconfig-paths": "4.0.0",
91
89
  "typescript": "4.7.3"
92
90
  },
93
- "gitHead": "f2b00548a90723b80c13593dfde898756313663f"
91
+ "gitHead": "bcc68ebca7f6a471883eca92678c9ab4ab34dc2a"
94
92
  }
@@ -1,6 +1,9 @@
1
1
  import { Ctx, Event } from "@budibase/types";
2
2
  export declare function resolveAppUrl(ctx: Ctx): Promise<string | undefined>;
3
3
  export declare function isServingApp(ctx: Ctx): boolean;
4
+ export declare function isServingBuilder(ctx: Ctx): boolean;
5
+ export declare function isServingBuilderPreview(ctx: Ctx): boolean;
6
+ export declare function isPublicApiRequest(ctx: Ctx): boolean;
4
7
  /**
5
8
  * Given a request tries to find the appId, which can be located in various places
6
9
  * @param {object} ctx The main request body to look through.
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
35
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.isAudited = exports.timeout = exports.isClient = exports.clearCookie = exports.setCookie = exports.getCookie = exports.isValidInternalAPIKey = exports.openJwt = exports.getAppIdFromCtx = exports.isServingApp = exports.resolveAppUrl = void 0;
38
+ exports.isAudited = exports.timeout = exports.isClient = exports.clearCookie = exports.setCookie = exports.getCookie = exports.isValidInternalAPIKey = exports.openJwt = exports.getAppIdFromCtx = exports.isPublicApiRequest = exports.isServingBuilderPreview = exports.isServingBuilder = exports.isServingApp = exports.resolveAppUrl = void 0;
39
39
  const db_1 = require("../db");
40
40
  const constants_1 = require("../constants");
41
41
  const environment_1 = __importDefault(require("../environment"));
@@ -46,7 +46,9 @@ const jwt = require("jsonwebtoken");
46
46
  const APP_PREFIX = constants_1.DocumentType.APP + constants_1.SEPARATOR;
47
47
  const PROD_APP_PREFIX = "/app/";
48
48
  const BUILDER_PREVIEW_PATH = "/app/preview";
49
- const BUILDER_REFERER_PREFIX = "/builder/app/";
49
+ const BUILDER_PREFIX = "/builder";
50
+ const BUILDER_APP_PREFIX = `${BUILDER_PREFIX}/app/`;
51
+ const PUBLIC_API_PREFIX = "/api/public/v";
50
52
  function confirmAppId(possibleAppId) {
51
53
  return possibleAppId && possibleAppId.startsWith(APP_PREFIX)
52
54
  ? possibleAppId
@@ -84,6 +86,18 @@ function isServingApp(ctx) {
84
86
  return false;
85
87
  }
86
88
  exports.isServingApp = isServingApp;
89
+ function isServingBuilder(ctx) {
90
+ return ctx.path.startsWith(BUILDER_APP_PREFIX);
91
+ }
92
+ exports.isServingBuilder = isServingBuilder;
93
+ function isServingBuilderPreview(ctx) {
94
+ return ctx.path.startsWith(BUILDER_PREVIEW_PATH);
95
+ }
96
+ exports.isServingBuilderPreview = isServingBuilderPreview;
97
+ function isPublicApiRequest(ctx) {
98
+ return ctx.path.startsWith(PUBLIC_API_PREFIX);
99
+ }
100
+ exports.isPublicApiRequest = isPublicApiRequest;
87
101
  /**
88
102
  * Given a request tries to find the appId, which can be located in various places
89
103
  * @param {object} ctx The main request body to look through.
@@ -121,7 +135,7 @@ function getAppIdFromCtx(ctx) {
121
135
  // make sure this is performed after prod app url resolution, in case the
122
136
  // referer header is present from a builder redirect
123
137
  const referer = ctx.request.headers.referer;
124
- if (!appId && (referer === null || referer === void 0 ? void 0 : referer.includes(BUILDER_REFERER_PREFIX))) {
138
+ if (!appId && (referer === null || referer === void 0 ? void 0 : referer.includes(BUILDER_APP_PREFIX))) {
125
139
  const refererId = parseAppIdFromUrl(ctx.request.headers.referer);
126
140
  appId = confirmAppId(refererId);
127
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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"}