@budibase/backend-core 2.7.32 → 2.7.34-alpha.0

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.
@@ -14,5 +14,6 @@ const config = {
14
14
  collectCoverageFrom: ["src/**/*.{js,ts}"],
15
15
  coverageReporters: ["lcov", "json", "clover"],
16
16
  };
17
+ process.env.DISABLE_PINO_LOGGER = "1";
17
18
  exports.default = config;
18
19
  //# sourceMappingURL=jest.config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../jest.config.ts"],"names":[],"mappings":";;AACA,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;AAE7C,MAAM,UAAU,mCACX,MAAM,KACT,MAAM,EAAE,+BAA+B,EACvC,UAAU,EAAE,CAAC,oBAAoB,CAAC,EAClC,kBAAkB,EAAE,CAAC,sBAAsB,CAAC,EAC5C,SAAS,EAAE;QACT,YAAY,EAAE,WAAW;KAC1B,EACD,gBAAgB,EAAE;QAChB,iBAAiB,EAAE,wBAAwB;KAC5C,GACF,CAAA;AAED,MAAM,MAAM,GAA0B;IACpC,QAAQ,EAAE;wCAEH,UAAU,KACb,WAAW,EAAE,iBAAiB,EAC9B,SAAS,EAAE,CAAC,+BAA+B,CAAC,EAC5C,MAAM,EAAE,oBAAoB;wCAGzB,UAAU,KACb,SAAS,EAAE,CAAC,kCAAkC,CAAC;KAElD;IACD,mBAAmB,EAAE,CAAC,kBAAkB,CAAC;IACzC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;CAC9C,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../jest.config.ts"],"names":[],"mappings":";;AACA,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;AAE7C,MAAM,UAAU,mCACX,MAAM,KACT,MAAM,EAAE,+BAA+B,EACvC,UAAU,EAAE,CAAC,oBAAoB,CAAC,EAClC,kBAAkB,EAAE,CAAC,sBAAsB,CAAC,EAC5C,SAAS,EAAE;QACT,YAAY,EAAE,WAAW;KAC1B,EACD,gBAAgB,EAAE;QAChB,iBAAiB,EAAE,wBAAwB;KAC5C,GACF,CAAA;AAED,MAAM,MAAM,GAA0B;IACpC,QAAQ,EAAE;wCAEH,UAAU,KACb,WAAW,EAAE,iBAAiB,EAC9B,SAAS,EAAE,CAAC,+BAA+B,CAAC,EAC5C,MAAM,EAAE,oBAAoB;wCAGzB,UAAU,KACb,SAAS,EAAE,CAAC,kCAAkC,CAAC;KAElD;IACD,mBAAmB,EAAE,CAAC,kBAAkB,CAAC;IACzC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;CAC9C,CAAA;AAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,GAAG,CAAA;AAErC,kBAAe,MAAM,CAAA"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@budibase/backend-core",
3
- "version": "2.7.32",
3
+ "version": "2.7.34-alpha.0",
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",
@@ -22,12 +22,12 @@
22
22
  "dependencies": {
23
23
  "@budibase/nano": "10.1.2",
24
24
  "@budibase/pouchdb-replication-stream": "1.2.10",
25
- "@budibase/types": "2.7.32",
25
+ "@budibase/types": "2.7.34-alpha.0",
26
26
  "@shopify/jest-koa-mocks": "5.0.1",
27
27
  "@techpass/passport-openidconnect": "0.3.2",
28
28
  "aws-cloudfront-sign": "2.2.0",
29
29
  "aws-sdk": "2.1030.0",
30
- "bcrypt": "5.0.1",
30
+ "bcrypt": "5.1.0",
31
31
  "bcryptjs": "2.4.3",
32
32
  "bull": "4.10.1",
33
33
  "correlation-id": "4.0.0",
@@ -101,5 +101,5 @@
101
101
  }
102
102
  }
103
103
  },
104
- "gitHead": "10be2164ca1e850a9e230229a560ae3aab997468"
104
+ "gitHead": "cccf8af5f375f074bef7420b148dda909e97ce28"
105
105
  }
@@ -1,7 +1,7 @@
1
- import { BBContext } from "@budibase/types";
1
+ import { UserCtx } from "@budibase/types";
2
2
  declare type Passport = {
3
3
  authenticate: any;
4
4
  };
5
- export declare function preAuth(passport: Passport, ctx: BBContext, next: Function): Promise<any>;
6
- export declare function postAuth(passport: Passport, ctx: BBContext, next: Function): Promise<any>;
5
+ export declare function preAuth(passport: Passport, ctx: UserCtx, next: Function): Promise<any>;
6
+ export declare function postAuth(passport: Passport, ctx: UserCtx, next: Function): Promise<any>;
7
7
  export {};
@@ -35,9 +35,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
35
35
  exports.postAuth = exports.preAuth = void 0;
36
36
  const google = __importStar(require("../sso/google"));
37
37
  const constants_1 = require("../../../constants");
38
- const utils_1 = require("../../../utils");
39
- const db_1 = require("../../../db");
40
38
  const configs = __importStar(require("../../../configs"));
39
+ const cache = __importStar(require("../../../cache"));
40
+ const utils = __importStar(require("../../../utils"));
41
41
  const sso_1 = require("../sso/sso");
42
42
  const GoogleStrategy = require("passport-google-oauth").OAuth2Strategy;
43
43
  function fetchGoogleCreds() {
@@ -56,8 +56,8 @@ function preAuth(passport, ctx, next) {
56
56
  const platformUrl = yield configs.getPlatformUrl({ tenantAware: false });
57
57
  let callbackUrl = `${platformUrl}/api/global/auth/datasource/google/callback`;
58
58
  const strategy = yield google.strategyFactory(googleConfig, callbackUrl, sso_1.ssoSaveUserNoOp);
59
- if (!ctx.query.appId || !ctx.query.datasourceId) {
60
- ctx.throw(400, "appId and datasourceId query params not present.");
59
+ if (!ctx.query.appId) {
60
+ ctx.throw(400, "appId query param not present.");
61
61
  }
62
62
  return passport.authenticate(strategy, {
63
63
  scope: ["profile", "email", "https://www.googleapis.com/auth/spreadsheets"],
@@ -73,34 +73,21 @@ function postAuth(passport, ctx, next) {
73
73
  const config = yield fetchGoogleCreds();
74
74
  const platformUrl = yield configs.getPlatformUrl({ tenantAware: false });
75
75
  let callbackUrl = `${platformUrl}/api/global/auth/datasource/google/callback`;
76
- const authStateCookie = (0, utils_1.getCookie)(ctx, constants_1.Cookie.DatasourceAuth);
76
+ const authStateCookie = utils.getCookie(ctx, constants_1.Cookie.DatasourceAuth);
77
77
  return passport.authenticate(new GoogleStrategy({
78
78
  clientID: config.clientID,
79
79
  clientSecret: config.clientSecret,
80
80
  callbackURL: callbackUrl,
81
- }, (accessToken, refreshToken, profile, done) => {
82
- (0, utils_1.clearCookie)(ctx, constants_1.Cookie.DatasourceAuth);
81
+ }, (accessToken, refreshToken, _profile, done) => {
82
+ utils.clearCookie(ctx, constants_1.Cookie.DatasourceAuth);
83
83
  done(null, { accessToken, refreshToken });
84
84
  }), { successRedirect: "/", failureRedirect: "/error" }, (err, tokens) => __awaiter(this, void 0, void 0, function* () {
85
85
  const baseUrl = `/builder/app/${authStateCookie.appId}/data`;
86
- // update the DB for the datasource with all the user info
87
- yield (0, db_1.doWithDB)(authStateCookie.appId, (db) => __awaiter(this, void 0, void 0, function* () {
88
- let datasource;
89
- try {
90
- datasource = yield db.get(authStateCookie.datasourceId);
91
- }
92
- catch (err) {
93
- if (err.status === 404) {
94
- ctx.redirect(baseUrl);
95
- }
96
- }
97
- if (!datasource.config) {
98
- datasource.config = {};
99
- }
100
- datasource.config.auth = Object.assign({ type: "google" }, tokens);
101
- yield db.put(datasource);
102
- ctx.redirect(`${baseUrl}/datasource/${authStateCookie.datasourceId}`);
103
- }));
86
+ const id = utils.newid();
87
+ yield cache.store(`datasource:creation:${authStateCookie.appId}:google:${id}`, {
88
+ tokens,
89
+ });
90
+ ctx.redirect(`${baseUrl}/new?continue_google_setup=${id}`);
104
91
  }))(ctx, next);
105
92
  });
106
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"google.js","sourceRoot":"","sources":["../../../../../src/middleware/passport/datasource/google.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google.js","sourceRoot":"","sources":["../../../../../src/middleware/passport/datasource/google.ts"],"names":[],"mappings":"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"}
@@ -5,3 +5,11 @@ export declare enum SecretOption {
5
5
  export declare function getSecret(secretOption: SecretOption): string;
6
6
  export declare function encrypt(input: string, secretOption?: SecretOption): string;
7
7
  export declare function decrypt(input: string, secretOption?: SecretOption): string;
8
+ export declare function encryptFile({ dir, filename }: {
9
+ dir: string;
10
+ filename: string;
11
+ }, secret: string): Promise<{
12
+ filename: string;
13
+ dir: string;
14
+ }>;
15
+ export declare function decryptFile(inputPath: string, outputPath: string, secret: string): Promise<void>;
@@ -1,16 +1,29 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
13
  };
5
14
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.decrypt = exports.encrypt = exports.getSecret = exports.SecretOption = void 0;
15
+ exports.decryptFile = exports.encryptFile = exports.decrypt = exports.encrypt = exports.getSecret = exports.SecretOption = void 0;
7
16
  const crypto_1 = __importDefault(require("crypto"));
17
+ const fs_1 = __importDefault(require("fs"));
18
+ const zlib_1 = __importDefault(require("zlib"));
8
19
  const environment_1 = __importDefault(require("../environment"));
20
+ const path_1 = require("path");
9
21
  const ALGO = "aes-256-ctr";
10
22
  const SEPARATOR = "-";
11
23
  const ITERATIONS = 10000;
12
- const RANDOM_BYTES = 16;
13
24
  const STRETCH_LENGTH = 32;
25
+ const SALT_LENGTH = 16;
26
+ const IV_LENGTH = 16;
14
27
  var SecretOption;
15
28
  (function (SecretOption) {
16
29
  SecretOption["API"] = "api";
@@ -35,11 +48,11 @@ function getSecret(secretOption) {
35
48
  return secret;
36
49
  }
37
50
  exports.getSecret = getSecret;
38
- function stretchString(string, salt) {
39
- return crypto_1.default.pbkdf2Sync(string, salt, ITERATIONS, STRETCH_LENGTH, "sha512");
51
+ function stretchString(secret, salt) {
52
+ return crypto_1.default.pbkdf2Sync(secret, salt, ITERATIONS, STRETCH_LENGTH, "sha512");
40
53
  }
41
54
  function encrypt(input, secretOption = SecretOption.API) {
42
- const salt = crypto_1.default.randomBytes(RANDOM_BYTES);
55
+ const salt = crypto_1.default.randomBytes(SALT_LENGTH);
43
56
  const stretched = stretchString(getSecret(secretOption), salt);
44
57
  const cipher = crypto_1.default.createCipheriv(ALGO, stretched, salt);
45
58
  const base = cipher.update(input);
@@ -58,4 +71,93 @@ function decrypt(input, secretOption = SecretOption.API) {
58
71
  return Buffer.concat([base, final]).toString();
59
72
  }
60
73
  exports.decrypt = decrypt;
74
+ function encryptFile({ dir, filename }, secret) {
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ const outputFileName = `${filename}.enc`;
77
+ const filePath = (0, path_1.join)(dir, filename);
78
+ const inputFile = fs_1.default.createReadStream(filePath);
79
+ const outputFile = fs_1.default.createWriteStream((0, path_1.join)(dir, outputFileName));
80
+ const salt = crypto_1.default.randomBytes(SALT_LENGTH);
81
+ const iv = crypto_1.default.randomBytes(IV_LENGTH);
82
+ const stretched = stretchString(secret, salt);
83
+ const cipher = crypto_1.default.createCipheriv(ALGO, stretched, iv);
84
+ outputFile.write(salt);
85
+ outputFile.write(iv);
86
+ inputFile.pipe(zlib_1.default.createGzip()).pipe(cipher).pipe(outputFile);
87
+ return new Promise(r => {
88
+ outputFile.on("finish", () => {
89
+ r({
90
+ filename: outputFileName,
91
+ dir,
92
+ });
93
+ });
94
+ });
95
+ });
96
+ }
97
+ exports.encryptFile = encryptFile;
98
+ function getSaltAndIV(path) {
99
+ return __awaiter(this, void 0, void 0, function* () {
100
+ const fileStream = fs_1.default.createReadStream(path);
101
+ const salt = yield readBytes(fileStream, SALT_LENGTH);
102
+ const iv = yield readBytes(fileStream, IV_LENGTH);
103
+ fileStream.close();
104
+ return { salt, iv };
105
+ });
106
+ }
107
+ function decryptFile(inputPath, outputPath, secret) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ const { salt, iv } = yield getSaltAndIV(inputPath);
110
+ const inputFile = fs_1.default.createReadStream(inputPath, {
111
+ start: SALT_LENGTH + IV_LENGTH,
112
+ });
113
+ const outputFile = fs_1.default.createWriteStream(outputPath);
114
+ const stretched = stretchString(secret, salt);
115
+ const decipher = crypto_1.default.createDecipheriv(ALGO, stretched, iv);
116
+ const unzip = zlib_1.default.createGunzip();
117
+ inputFile.pipe(decipher).pipe(unzip).pipe(outputFile);
118
+ return new Promise((res, rej) => {
119
+ outputFile.on("finish", () => {
120
+ outputFile.close();
121
+ res();
122
+ });
123
+ inputFile.on("error", e => {
124
+ outputFile.close();
125
+ rej(e);
126
+ });
127
+ decipher.on("error", e => {
128
+ outputFile.close();
129
+ rej(e);
130
+ });
131
+ unzip.on("error", e => {
132
+ outputFile.close();
133
+ rej(e);
134
+ });
135
+ outputFile.on("error", e => {
136
+ outputFile.close();
137
+ rej(e);
138
+ });
139
+ });
140
+ });
141
+ }
142
+ exports.decryptFile = decryptFile;
143
+ function readBytes(stream, length) {
144
+ return new Promise((resolve, reject) => {
145
+ let bytesRead = 0;
146
+ const data = [];
147
+ stream.on("readable", () => {
148
+ let chunk;
149
+ while ((chunk = stream.read(length - bytesRead)) !== null) {
150
+ data.push(chunk);
151
+ bytesRead += chunk.length;
152
+ }
153
+ resolve(Buffer.concat(data));
154
+ });
155
+ stream.on("end", () => {
156
+ reject(new Error("Insufficient data in the stream."));
157
+ });
158
+ stream.on("error", error => {
159
+ reject(error);
160
+ });
161
+ });
162
+ }
61
163
  //# sourceMappingURL=encryption.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../../src/security/encryption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../../src/security/encryption.ts"],"names":[],"mappings":"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"}
@@ -37,9 +37,12 @@ export declare function lowerBuiltinRoleID(roleId1?: string, roleId2?: string):
37
37
  * Gets the role object, this is mainly useful for two purposes, to check if the level exists and
38
38
  * to check if the role inherits any others.
39
39
  * @param {string|null} roleId The level ID to lookup.
40
+ * @param {object|null} opts options for the function, like whether to halt errors, instead return public.
40
41
  * @returns {Promise<Role|object|null>} The role object, which may contain an "inherits" property.
41
42
  */
42
- export declare function getRole(roleId?: string): Promise<RoleDoc | undefined>;
43
+ export declare function getRole(roleId?: string, opts?: {
44
+ defaultPublic?: boolean;
45
+ }): Promise<RoleDoc | undefined>;
43
46
  /**
44
47
  * Returns an ordered array of the user's inherited role IDs, this can be used
45
48
  * to determine if a user can access something that requires a specific role.
@@ -119,9 +119,10 @@ exports.lowerBuiltinRoleID = lowerBuiltinRoleID;
119
119
  * Gets the role object, this is mainly useful for two purposes, to check if the level exists and
120
120
  * to check if the role inherits any others.
121
121
  * @param {string|null} roleId The level ID to lookup.
122
+ * @param {object|null} opts options for the function, like whether to halt errors, instead return public.
122
123
  * @returns {Promise<Role|object|null>} The role object, which may contain an "inherits" property.
123
124
  */
124
- function getRole(roleId) {
125
+ function getRole(roleId, opts) {
125
126
  return __awaiter(this, void 0, void 0, function* () {
126
127
  if (!roleId) {
127
128
  return undefined;
@@ -140,6 +141,9 @@ function getRole(roleId) {
140
141
  role._id = getExternalRoleID(role._id);
141
142
  }
142
143
  catch (err) {
144
+ if (!isBuiltin(roleId) && (opts === null || opts === void 0 ? void 0 : opts.defaultPublic)) {
145
+ return cloneDeep(BUILTIN_ROLES.PUBLIC);
146
+ }
143
147
  // only throw an error if there is no role at all
144
148
  if (Object.keys(role).length === 0) {
145
149
  throw err;
@@ -1 +1 @@
1
- {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/security/roles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/security/roles.ts"],"names":[],"mappings":"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"}