@budibase/backend-core 2.7.7-alpha.7 → 2.7.7-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/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@budibase/backend-core",
3
- "version": "2.7.7-alpha.7",
3
+ "version": "2.7.7-alpha.9",
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,7 +22,7 @@
22
22
  "dependencies": {
23
23
  "@budibase/nano": "10.1.2",
24
24
  "@budibase/pouchdb-replication-stream": "1.2.10",
25
- "@budibase/types": "2.7.7-alpha.7",
25
+ "@budibase/types": "2.7.7-alpha.9",
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",
@@ -101,5 +101,5 @@
101
101
  }
102
102
  }
103
103
  },
104
- "gitHead": "9d9022ad8b10316acdce141458bfb434140cdde6"
104
+ "gitHead": "31aefecfb14cd5995975c076fa4cbb6be09db535"
105
105
  }
@@ -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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"}