@budibase/backend-core 2.33.2 → 2.33.3
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 +531 -265
- package/dist/index.js.map +4 -4
- package/dist/index.js.meta.json +1 -1
- package/dist/package.json +4 -4
- package/dist/plugins.js.map +1 -1
- package/dist/plugins.js.meta.json +1 -1
- package/dist/src/context/identity.js +1 -1
- package/dist/src/context/identity.js.map +1 -1
- package/dist/src/db/couch/DatabaseImpl.js +1 -1
- package/dist/src/db/couch/DatabaseImpl.js.map +1 -1
- package/dist/src/environment.js +28 -14
- package/dist/src/environment.js.map +1 -1
- package/dist/src/features/features.d.ts +1 -0
- package/dist/src/features/features.js +4 -3
- package/dist/src/features/features.js.map +1 -1
- package/dist/src/middleware/authenticated.js +16 -8
- package/dist/src/middleware/authenticated.js.map +1 -1
- package/dist/src/security/roles.d.ts +24 -3
- package/dist/src/security/roles.js +210 -51
- package/dist/src/security/roles.js.map +1 -1
- package/dist/src/sql/sql.js +243 -160
- package/dist/src/sql/sql.js.map +1 -1
- package/dist/src/sql/sqlTable.js +4 -1
- package/dist/src/sql/sqlTable.js.map +1 -1
- package/package.json +4 -4
- package/src/context/identity.ts +1 -1
- package/src/db/couch/DatabaseImpl.ts +2 -1
- package/src/environment.ts +33 -17
- package/src/features/features.ts +4 -3
- package/src/middleware/authenticated.ts +33 -17
- package/src/security/roles.ts +238 -56
- package/src/sql/sql.ts +290 -206
- package/src/sql/sqlTable.ts +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/features/features.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/features/features.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,7 @@ const context_1 = require("../context");
|
|
|
46
46
|
const encryption_1 = require("../security/encryption");
|
|
47
47
|
const identity = __importStar(require("../context/identity"));
|
|
48
48
|
const environment_1 = __importDefault(require("../environment"));
|
|
49
|
+
const types_1 = require("@budibase/types");
|
|
49
50
|
const errors_1 = require("../errors");
|
|
50
51
|
const dd_trace_1 = __importDefault(require("dd-trace"));
|
|
51
52
|
const ONE_MINUTE = environment_1.default.SESSION_UPDATE_PERIOD
|
|
@@ -57,6 +58,7 @@ function timeMinusOneMinute() {
|
|
|
57
58
|
function finalise(ctx, opts = {}) {
|
|
58
59
|
ctx.publicEndpoint = opts.publicEndpoint || false;
|
|
59
60
|
ctx.isAuthenticated = opts.authenticated || false;
|
|
61
|
+
ctx.loginMethod = opts.loginMethod;
|
|
60
62
|
ctx.user = opts.user;
|
|
61
63
|
ctx.internal = opts.internal || false;
|
|
62
64
|
ctx.version = opts.version;
|
|
@@ -125,7 +127,7 @@ function default_1(noAuthPatterns = [], opts = {
|
|
|
125
127
|
apiKey = ctx.request.headers[constants_1.Header.AUTHORIZATION].split(" ")[1];
|
|
126
128
|
}
|
|
127
129
|
const tenantId = ctx.request.headers[constants_1.Header.TENANT_ID];
|
|
128
|
-
let authenticated = false, user =
|
|
130
|
+
let authenticated = false, user = undefined, internal = false, loginMethod = undefined;
|
|
129
131
|
if (authCookie && !apiKey) {
|
|
130
132
|
const sessionId = authCookie.sessionId;
|
|
131
133
|
const userId = authCookie.userId;
|
|
@@ -150,6 +152,7 @@ function default_1(noAuthPatterns = [], opts = {
|
|
|
150
152
|
}
|
|
151
153
|
// @ts-ignore
|
|
152
154
|
user.csrfToken = session.csrfToken;
|
|
155
|
+
loginMethod = types_1.LoginMethod.COOKIE;
|
|
153
156
|
if ((session === null || session === void 0 ? void 0 : session.lastAccessedAt) < timeMinusOneMinute()) {
|
|
154
157
|
// make sure we denote that the session is still in use
|
|
155
158
|
yield (0, sessions_1.updateSessionTTL)(session);
|
|
@@ -167,19 +170,17 @@ function default_1(noAuthPatterns = [], opts = {
|
|
|
167
170
|
if (!authenticated && apiKey) {
|
|
168
171
|
const populateUser = opts.populateUser ? opts.populateUser(ctx) : null;
|
|
169
172
|
const { valid, user: foundUser } = yield checkApiKey(apiKey, populateUser);
|
|
170
|
-
if (valid
|
|
173
|
+
if (valid) {
|
|
171
174
|
authenticated = true;
|
|
175
|
+
loginMethod = types_1.LoginMethod.API_KEY;
|
|
172
176
|
user = foundUser;
|
|
173
|
-
|
|
174
|
-
else if (valid) {
|
|
175
|
-
authenticated = true;
|
|
176
|
-
internal = true;
|
|
177
|
+
internal = !foundUser;
|
|
177
178
|
}
|
|
178
179
|
}
|
|
179
180
|
if (!user && tenantId) {
|
|
180
181
|
user = { tenantId };
|
|
181
182
|
}
|
|
182
|
-
else if (user) {
|
|
183
|
+
else if (user && "password" in user) {
|
|
183
184
|
delete user.password;
|
|
184
185
|
}
|
|
185
186
|
// be explicit
|
|
@@ -198,7 +199,14 @@ function default_1(noAuthPatterns = [], opts = {
|
|
|
198
199
|
});
|
|
199
200
|
}
|
|
200
201
|
// isAuthenticated is a function, so use a variable to be able to check authed state
|
|
201
|
-
finalise(ctx, {
|
|
202
|
+
finalise(ctx, {
|
|
203
|
+
authenticated,
|
|
204
|
+
user,
|
|
205
|
+
internal,
|
|
206
|
+
version,
|
|
207
|
+
publicEndpoint,
|
|
208
|
+
loginMethod,
|
|
209
|
+
});
|
|
202
210
|
if (isUser(user)) {
|
|
203
211
|
return identity.doInUserContext(user, ctx, next);
|
|
204
212
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticated.js","sourceRoot":"","sources":["../../../src/middleware/authenticated.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"authenticated.js","sourceRoot":"","sources":["../../../src/middleware/authenticated.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,17 +15,28 @@ export declare class Role implements RoleDoc {
|
|
|
15
15
|
_rev?: string;
|
|
16
16
|
name: string;
|
|
17
17
|
permissionId: string;
|
|
18
|
-
inherits?: string;
|
|
18
|
+
inherits?: string | string[];
|
|
19
19
|
version?: string;
|
|
20
20
|
permissions: Record<string, PermissionLevel[]>;
|
|
21
21
|
uiMetadata?: RoleUIMetadata;
|
|
22
22
|
constructor(id: string, name: string, permissionId: string, uiMetadata?: RoleUIMetadata);
|
|
23
|
-
addInheritance(inherits
|
|
23
|
+
addInheritance(inherits?: string | string[]): this;
|
|
24
|
+
}
|
|
25
|
+
export declare class RoleHierarchyTraversal {
|
|
26
|
+
allRoles: RoleDoc[];
|
|
27
|
+
opts?: {
|
|
28
|
+
defaultPublic?: boolean;
|
|
29
|
+
};
|
|
30
|
+
constructor(allRoles: RoleDoc[], opts?: {
|
|
31
|
+
defaultPublic?: boolean;
|
|
32
|
+
});
|
|
33
|
+
walk(role: RoleDoc): RoleDoc[];
|
|
24
34
|
}
|
|
25
35
|
export declare function getBuiltinRoles(): {
|
|
26
36
|
[key: string]: RoleDoc;
|
|
27
37
|
};
|
|
28
38
|
export declare function isBuiltin(role: string): boolean;
|
|
39
|
+
export declare function prefixRoleIDNoBuiltin(roleId: string): string;
|
|
29
40
|
export declare function getBuiltinRole(roleId: string): Role | undefined;
|
|
30
41
|
/**
|
|
31
42
|
* Works through the inheritance ranks to see how far up the builtin stack this ID is.
|
|
@@ -39,6 +50,14 @@ export declare function roleToNumber(id: string): Promise<number>;
|
|
|
39
50
|
* Returns whichever builtin roleID is lower.
|
|
40
51
|
*/
|
|
41
52
|
export declare function lowerBuiltinRoleID(roleId1?: string, roleId2?: string): string;
|
|
53
|
+
export declare function compareRoleIds(roleId1: string, roleId2: string): boolean;
|
|
54
|
+
export declare function externalRole(role: RoleDoc): RoleDoc;
|
|
55
|
+
/**
|
|
56
|
+
* Given a list of roles, this will pick the role out, accounting for built ins.
|
|
57
|
+
*/
|
|
58
|
+
export declare function findRole(roleId: string, roles: RoleDoc[], opts?: {
|
|
59
|
+
defaultPublic?: boolean;
|
|
60
|
+
}): RoleDoc | undefined;
|
|
42
61
|
/**
|
|
43
62
|
* Gets the role object, this is mainly useful for two purposes, to check if the level exists and
|
|
44
63
|
* to check if the role inherits any others.
|
|
@@ -48,7 +67,8 @@ export declare function lowerBuiltinRoleID(roleId1?: string, roleId2?: string):
|
|
|
48
67
|
*/
|
|
49
68
|
export declare function getRole(roleId: string, opts?: {
|
|
50
69
|
defaultPublic?: boolean;
|
|
51
|
-
}): Promise<RoleDoc>;
|
|
70
|
+
}): Promise<RoleDoc | undefined>;
|
|
71
|
+
export declare function saveRoles(roles: RoleDoc[]): Promise<void>;
|
|
52
72
|
export declare function getUserRoleIdHierarchy(userRoleId: string): Promise<string[]>;
|
|
53
73
|
/**
|
|
54
74
|
* Returns an ordered array of the user's inherited role IDs, this can be used
|
|
@@ -85,3 +105,4 @@ export declare function getDBRoleID(roleName: string): string;
|
|
|
85
105
|
* Remove the "role_" from builtin role IDs that have been written to the DB (for permissions).
|
|
86
106
|
*/
|
|
87
107
|
export declare function getExternalRoleID(roleId: string, version?: string): string;
|
|
108
|
+
export declare function getExternalRoleIDs(roleIds: string | string[] | undefined, version?: string): string | string[] | undefined;
|
|
@@ -12,14 +12,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.AccessController = exports.Role = exports.RoleIDVersion = exports.BUILTIN_ROLE_IDS = void 0;
|
|
15
|
+
exports.AccessController = exports.RoleHierarchyTraversal = exports.Role = exports.RoleIDVersion = exports.BUILTIN_ROLE_IDS = void 0;
|
|
16
16
|
exports.getBuiltinRoles = getBuiltinRoles;
|
|
17
17
|
exports.isBuiltin = isBuiltin;
|
|
18
|
+
exports.prefixRoleIDNoBuiltin = prefixRoleIDNoBuiltin;
|
|
18
19
|
exports.getBuiltinRole = getBuiltinRole;
|
|
19
20
|
exports.builtinRoleToNumber = builtinRoleToNumber;
|
|
20
21
|
exports.roleToNumber = roleToNumber;
|
|
21
22
|
exports.lowerBuiltinRoleID = lowerBuiltinRoleID;
|
|
23
|
+
exports.compareRoleIds = compareRoleIds;
|
|
24
|
+
exports.externalRole = externalRole;
|
|
25
|
+
exports.findRole = findRole;
|
|
22
26
|
exports.getRole = getRole;
|
|
27
|
+
exports.saveRoles = saveRoles;
|
|
23
28
|
exports.getUserRoleIdHierarchy = getUserRoleIdHierarchy;
|
|
24
29
|
exports.getUserRoleHierarchy = getUserRoleHierarchy;
|
|
25
30
|
exports.checkForRoleResourceArray = checkForRoleResourceArray;
|
|
@@ -27,11 +32,14 @@ exports.getAllRoleIds = getAllRoleIds;
|
|
|
27
32
|
exports.getAllRoles = getAllRoles;
|
|
28
33
|
exports.getDBRoleID = getDBRoleID;
|
|
29
34
|
exports.getExternalRoleID = getExternalRoleID;
|
|
35
|
+
exports.getExternalRoleIDs = getExternalRoleIDs;
|
|
36
|
+
const semver_1 = __importDefault(require("semver"));
|
|
30
37
|
const permissions_1 = require("./permissions");
|
|
31
38
|
const db_1 = require("../db");
|
|
32
39
|
const context_1 = require("../context");
|
|
33
40
|
const cloneDeep_1 = __importDefault(require("lodash/fp/cloneDeep"));
|
|
34
41
|
const shared_core_1 = require("@budibase/shared-core");
|
|
42
|
+
const lodash_1 = require("lodash");
|
|
35
43
|
exports.BUILTIN_ROLE_IDS = {
|
|
36
44
|
ADMIN: "ADMIN",
|
|
37
45
|
POWER: "POWER",
|
|
@@ -39,19 +47,20 @@ exports.BUILTIN_ROLE_IDS = {
|
|
|
39
47
|
PUBLIC: "PUBLIC",
|
|
40
48
|
};
|
|
41
49
|
const BUILTIN_IDS = Object.assign(Object.assign({}, exports.BUILTIN_ROLE_IDS), { BUILDER: "BUILDER" });
|
|
42
|
-
// exclude internal roles like builder
|
|
43
|
-
const EXTERNAL_BUILTIN_ROLE_IDS = [
|
|
44
|
-
BUILTIN_IDS.ADMIN,
|
|
45
|
-
BUILTIN_IDS.POWER,
|
|
46
|
-
BUILTIN_IDS.BASIC,
|
|
47
|
-
BUILTIN_IDS.PUBLIC,
|
|
48
|
-
];
|
|
49
50
|
exports.RoleIDVersion = {
|
|
50
51
|
// original version, with a UUID based ID
|
|
51
52
|
UUID: undefined,
|
|
52
53
|
// new version - with name based ID
|
|
53
54
|
NAME: "name",
|
|
54
55
|
};
|
|
56
|
+
function rolesInList(roleIds, ids) {
|
|
57
|
+
if (Array.isArray(ids)) {
|
|
58
|
+
return ids.filter(id => roleIds.includes(id)).length === ids.length;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
return roleIds.includes(ids);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
55
64
|
class Role {
|
|
56
65
|
constructor(id, name, permissionId, uiMetadata) {
|
|
57
66
|
this.permissions = {};
|
|
@@ -63,11 +72,65 @@ class Role {
|
|
|
63
72
|
this.version = exports.RoleIDVersion.NAME;
|
|
64
73
|
}
|
|
65
74
|
addInheritance(inherits) {
|
|
75
|
+
// make sure IDs are correct format
|
|
76
|
+
if (inherits && typeof inherits === "string") {
|
|
77
|
+
inherits = prefixRoleIDNoBuiltin(inherits);
|
|
78
|
+
}
|
|
79
|
+
else if (inherits && Array.isArray(inherits)) {
|
|
80
|
+
inherits = inherits.map(prefixRoleIDNoBuiltin);
|
|
81
|
+
}
|
|
66
82
|
this.inherits = inherits;
|
|
67
83
|
return this;
|
|
68
84
|
}
|
|
69
85
|
}
|
|
70
86
|
exports.Role = Role;
|
|
87
|
+
class RoleHierarchyTraversal {
|
|
88
|
+
constructor(allRoles, opts) {
|
|
89
|
+
this.allRoles = allRoles;
|
|
90
|
+
this.opts = opts;
|
|
91
|
+
}
|
|
92
|
+
walk(role) {
|
|
93
|
+
const opts = this.opts, allRoles = this.allRoles;
|
|
94
|
+
// this will be a full walked list of roles - which may contain duplicates
|
|
95
|
+
let roleList = [];
|
|
96
|
+
if (!role || !role._id) {
|
|
97
|
+
return roleList;
|
|
98
|
+
}
|
|
99
|
+
roleList.push(role);
|
|
100
|
+
if (Array.isArray(role.inherits)) {
|
|
101
|
+
for (let roleId of role.inherits) {
|
|
102
|
+
const foundRole = findRole(roleId, allRoles, opts);
|
|
103
|
+
if (foundRole) {
|
|
104
|
+
roleList = roleList.concat(this.walk(foundRole));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
const foundRoleIds = [];
|
|
110
|
+
let currentRole = role;
|
|
111
|
+
while (currentRole &&
|
|
112
|
+
currentRole.inherits &&
|
|
113
|
+
!rolesInList(foundRoleIds, currentRole.inherits)) {
|
|
114
|
+
if (Array.isArray(currentRole.inherits)) {
|
|
115
|
+
return roleList.concat(this.walk(currentRole));
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
foundRoleIds.push(currentRole.inherits);
|
|
119
|
+
currentRole = findRole(currentRole.inherits, allRoles, opts);
|
|
120
|
+
if (currentRole) {
|
|
121
|
+
roleList.push(currentRole);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// loop now found - stop iterating
|
|
125
|
+
if (shared_core_1.helpers.roles.checkForRoleInheritanceLoops(roleList)) {
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return (0, lodash_1.uniqBy)(roleList, role => role._id);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.RoleHierarchyTraversal = RoleHierarchyTraversal;
|
|
71
134
|
const BUILTIN_ROLES = {
|
|
72
135
|
ADMIN: new Role(BUILTIN_IDS.ADMIN, BUILTIN_IDS.ADMIN, permissions_1.BuiltinPermissionID.ADMIN, {
|
|
73
136
|
displayName: "App admin",
|
|
@@ -99,7 +162,15 @@ function getBuiltinRoles() {
|
|
|
99
162
|
return (0, cloneDeep_1.default)(BUILTIN_ROLES);
|
|
100
163
|
}
|
|
101
164
|
function isBuiltin(role) {
|
|
102
|
-
return
|
|
165
|
+
return Object.values(exports.BUILTIN_ROLE_IDS).includes(role);
|
|
166
|
+
}
|
|
167
|
+
function prefixRoleIDNoBuiltin(roleId) {
|
|
168
|
+
if (isBuiltin(roleId)) {
|
|
169
|
+
return roleId;
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
return (0, db_1.prefixRoleID)(roleId);
|
|
173
|
+
}
|
|
103
174
|
}
|
|
104
175
|
function getBuiltinRole(roleId) {
|
|
105
176
|
const role = Object.values(BUILTIN_ROLES).find(role => roleId.includes(role._id));
|
|
@@ -122,7 +193,12 @@ function builtinRoleToNumber(id) {
|
|
|
122
193
|
if (!role) {
|
|
123
194
|
break;
|
|
124
195
|
}
|
|
125
|
-
|
|
196
|
+
if (Array.isArray(role.inherits)) {
|
|
197
|
+
throw new Error("Built-in roles don't support multi-inheritance");
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
role = builtins[role.inherits];
|
|
201
|
+
}
|
|
126
202
|
count++;
|
|
127
203
|
} while (role !== null);
|
|
128
204
|
return count;
|
|
@@ -138,12 +214,32 @@ function roleToNumber(id) {
|
|
|
138
214
|
const hierarchy = (yield getUserRoleHierarchy(id, {
|
|
139
215
|
defaultPublic: true,
|
|
140
216
|
}));
|
|
141
|
-
|
|
142
|
-
if (
|
|
217
|
+
const findNumber = (role) => {
|
|
218
|
+
if (!role.inherits) {
|
|
219
|
+
return 0;
|
|
220
|
+
}
|
|
221
|
+
if (Array.isArray(role.inherits)) {
|
|
222
|
+
// find the built-in roles, get their number, sort it, then get the last one
|
|
223
|
+
const highestBuiltin = role.inherits
|
|
224
|
+
.map(roleId => {
|
|
225
|
+
const foundRole = hierarchy.find(role => role._id === roleId);
|
|
226
|
+
if (foundRole) {
|
|
227
|
+
return findNumber(foundRole) + 1;
|
|
228
|
+
}
|
|
229
|
+
})
|
|
230
|
+
.filter(number => number)
|
|
231
|
+
.sort()
|
|
232
|
+
.pop();
|
|
233
|
+
if (highestBuiltin != undefined) {
|
|
234
|
+
return highestBuiltin;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
else if (isBuiltin(role.inherits)) {
|
|
143
238
|
return builtinRoleToNumber(role.inherits) + 1;
|
|
144
239
|
}
|
|
145
|
-
|
|
146
|
-
|
|
240
|
+
return 0;
|
|
241
|
+
};
|
|
242
|
+
return Math.max(...hierarchy.map(findNumber));
|
|
147
243
|
});
|
|
148
244
|
}
|
|
149
245
|
/**
|
|
@@ -160,6 +256,40 @@ function lowerBuiltinRoleID(roleId1, roleId2) {
|
|
|
160
256
|
? roleId2
|
|
161
257
|
: roleId1;
|
|
162
258
|
}
|
|
259
|
+
function compareRoleIds(roleId1, roleId2) {
|
|
260
|
+
// make sure both role IDs are prefixed correctly
|
|
261
|
+
return (0, db_1.prefixRoleID)(roleId1) === (0, db_1.prefixRoleID)(roleId2);
|
|
262
|
+
}
|
|
263
|
+
function externalRole(role) {
|
|
264
|
+
let _id;
|
|
265
|
+
if (role._id) {
|
|
266
|
+
_id = getExternalRoleID(role._id);
|
|
267
|
+
}
|
|
268
|
+
return Object.assign(Object.assign({}, role), { _id, inherits: getExternalRoleIDs(role.inherits, role.version) });
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Given a list of roles, this will pick the role out, accounting for built ins.
|
|
272
|
+
*/
|
|
273
|
+
function findRole(roleId, roles, opts) {
|
|
274
|
+
// built in roles mostly come from the in-code implementation,
|
|
275
|
+
// but can be extended by a doc stored about them (e.g. permissions)
|
|
276
|
+
let role = getBuiltinRole(roleId);
|
|
277
|
+
if (!role) {
|
|
278
|
+
// make sure has the prefix (if it has it then it won't be added)
|
|
279
|
+
roleId = (0, db_1.prefixRoleID)(roleId);
|
|
280
|
+
}
|
|
281
|
+
const dbRole = roles.find(role => role._id && compareRoleIds(role._id, roleId));
|
|
282
|
+
if (!dbRole && !isBuiltin(roleId) && (opts === null || opts === void 0 ? void 0 : opts.defaultPublic)) {
|
|
283
|
+
return (0, cloneDeep_1.default)(BUILTIN_ROLES.PUBLIC);
|
|
284
|
+
}
|
|
285
|
+
// combine the roles
|
|
286
|
+
role = Object.assign(role || {}, dbRole);
|
|
287
|
+
// finalise the ID
|
|
288
|
+
if (role === null || role === void 0 ? void 0 : role._id) {
|
|
289
|
+
role._id = getExternalRoleID(role._id, role.version);
|
|
290
|
+
}
|
|
291
|
+
return Object.keys(role).length === 0 ? undefined : role;
|
|
292
|
+
}
|
|
163
293
|
/**
|
|
164
294
|
* Gets the role object, this is mainly useful for two purposes, to check if the level exists and
|
|
165
295
|
* to check if the role inherits any others.
|
|
@@ -169,30 +299,23 @@ function lowerBuiltinRoleID(roleId1, roleId2) {
|
|
|
169
299
|
*/
|
|
170
300
|
function getRole(roleId, opts) {
|
|
171
301
|
return __awaiter(this, void 0, void 0, function* () {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}
|
|
179
|
-
try {
|
|
180
|
-
const db = (0, context_1.getAppDB)();
|
|
181
|
-
const dbRole = yield db.get(getDBRoleID(roleId));
|
|
182
|
-
role = Object.assign(role || {}, dbRole);
|
|
183
|
-
// finalise the ID
|
|
184
|
-
role._id = getExternalRoleID(role._id, role.version);
|
|
185
|
-
}
|
|
186
|
-
catch (err) {
|
|
187
|
-
if (!isBuiltin(roleId) && (opts === null || opts === void 0 ? void 0 : opts.defaultPublic)) {
|
|
188
|
-
return (0, cloneDeep_1.default)(BUILTIN_ROLES.PUBLIC);
|
|
189
|
-
}
|
|
190
|
-
// only throw an error if there is no role at all
|
|
191
|
-
if (!role || Object.keys(role).length === 0) {
|
|
192
|
-
throw err;
|
|
302
|
+
const db = (0, context_1.getAppDB)();
|
|
303
|
+
const roleList = [];
|
|
304
|
+
if (!isBuiltin(roleId)) {
|
|
305
|
+
const role = yield db.tryGet(getDBRoleID(roleId));
|
|
306
|
+
if (role) {
|
|
307
|
+
roleList.push(role);
|
|
193
308
|
}
|
|
194
309
|
}
|
|
195
|
-
return
|
|
310
|
+
return findRole(roleId, roleList, opts);
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
function saveRoles(roles) {
|
|
314
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
315
|
+
const db = (0, context_1.getAppDB)();
|
|
316
|
+
yield db.bulkDocs(roles
|
|
317
|
+
.filter(role => role._id)
|
|
318
|
+
.map(role => (Object.assign(Object.assign({}, role), { _id: (0, db_1.prefixRoleID)(role._id) }))));
|
|
196
319
|
});
|
|
197
320
|
}
|
|
198
321
|
/**
|
|
@@ -200,22 +323,17 @@ function getRole(roleId, opts) {
|
|
|
200
323
|
*/
|
|
201
324
|
function getAllUserRoles(userRoleId, opts) {
|
|
202
325
|
return __awaiter(this, void 0, void 0, function* () {
|
|
326
|
+
const allRoles = yield getAllRoles();
|
|
203
327
|
// admins have access to all roles
|
|
204
328
|
if (userRoleId === BUILTIN_IDS.ADMIN) {
|
|
205
|
-
return
|
|
329
|
+
return allRoles;
|
|
206
330
|
}
|
|
207
|
-
let currentRole = yield getRole(userRoleId, opts);
|
|
208
|
-
let roles = currentRole ? [currentRole] : [];
|
|
209
|
-
let roleIds = [userRoleId];
|
|
210
331
|
// get all the inherited roles
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
if (currentRole) {
|
|
217
|
-
roles.push(currentRole);
|
|
218
|
-
}
|
|
332
|
+
const foundRole = findRole(userRoleId, allRoles, opts);
|
|
333
|
+
let roles = [];
|
|
334
|
+
if (foundRole) {
|
|
335
|
+
const traversal = new RoleHierarchyTraversal(allRoles, opts);
|
|
336
|
+
roles = traversal.walk(foundRole);
|
|
219
337
|
}
|
|
220
338
|
return roles;
|
|
221
339
|
});
|
|
@@ -289,8 +407,25 @@ function getAllRoles(appId) {
|
|
|
289
407
|
roles.forEach(role => (role._id = getExternalRoleID(role._id, role.version)));
|
|
290
408
|
}
|
|
291
409
|
const builtinRoles = getBuiltinRoles();
|
|
410
|
+
// exclude internal roles like builder
|
|
411
|
+
let externalBuiltinRoles = [];
|
|
412
|
+
if (!db || (yield shouldIncludePowerRole(db))) {
|
|
413
|
+
externalBuiltinRoles = [
|
|
414
|
+
BUILTIN_IDS.ADMIN,
|
|
415
|
+
BUILTIN_IDS.POWER,
|
|
416
|
+
BUILTIN_IDS.BASIC,
|
|
417
|
+
BUILTIN_IDS.PUBLIC,
|
|
418
|
+
];
|
|
419
|
+
}
|
|
420
|
+
else {
|
|
421
|
+
externalBuiltinRoles = [
|
|
422
|
+
BUILTIN_IDS.ADMIN,
|
|
423
|
+
BUILTIN_IDS.BASIC,
|
|
424
|
+
BUILTIN_IDS.PUBLIC,
|
|
425
|
+
];
|
|
426
|
+
}
|
|
292
427
|
// need to combine builtin with any DB record of them (for sake of permissions)
|
|
293
|
-
for (let builtinRoleId of
|
|
428
|
+
for (let builtinRoleId of externalBuiltinRoles) {
|
|
294
429
|
const builtinRole = builtinRoles[builtinRoleId];
|
|
295
430
|
const dbBuiltin = roles.filter(dbRole => getExternalRoleID(dbRole._id, dbRole.version) === builtinRoleId)[0];
|
|
296
431
|
if (dbBuiltin == null) {
|
|
@@ -317,6 +452,18 @@ function getAllRoles(appId) {
|
|
|
317
452
|
}
|
|
318
453
|
});
|
|
319
454
|
}
|
|
455
|
+
function shouldIncludePowerRole(db) {
|
|
456
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
457
|
+
const app = yield db.tryGet(db_1.DocumentType.APP_METADATA);
|
|
458
|
+
const creationVersion = app === null || app === void 0 ? void 0 : app.creationVersion;
|
|
459
|
+
if (!creationVersion || !semver_1.default.valid(creationVersion)) {
|
|
460
|
+
// Old apps don't have creationVersion, so we should include it for backward compatibility
|
|
461
|
+
return true;
|
|
462
|
+
}
|
|
463
|
+
const isGreaterThan3x = semver_1.default.gte(creationVersion, "3.0.0");
|
|
464
|
+
return !isGreaterThan3x;
|
|
465
|
+
});
|
|
466
|
+
}
|
|
320
467
|
class AccessController {
|
|
321
468
|
constructor() {
|
|
322
469
|
this.userHierarchies = {};
|
|
@@ -337,7 +484,8 @@ class AccessController {
|
|
|
337
484
|
roleIds = yield getUserRoleIdHierarchy(userRoleId);
|
|
338
485
|
this.userHierarchies[userRoleId] = roleIds;
|
|
339
486
|
}
|
|
340
|
-
return (roleIds === null || roleIds === void 0 ? void 0 : roleIds.
|
|
487
|
+
return ((roleIds === null || roleIds === void 0 ? void 0 : roleIds.find(roleId => compareRoleIds(roleId, tryingRoleId))) !==
|
|
488
|
+
undefined);
|
|
341
489
|
});
|
|
342
490
|
}
|
|
343
491
|
checkScreensAccess(screens, userRoleId) {
|
|
@@ -380,7 +528,7 @@ function getDBRoleID(roleName) {
|
|
|
380
528
|
*/
|
|
381
529
|
function getExternalRoleID(roleId, version) {
|
|
382
530
|
// for built-in roles we want to remove the DB role ID element (role_)
|
|
383
|
-
if (roleId.startsWith(db_1.DocumentType.ROLE) &&
|
|
531
|
+
if (roleId.startsWith(`${db_1.DocumentType.ROLE}${db_1.SEPARATOR}`) &&
|
|
384
532
|
(isBuiltin(roleId) || version === exports.RoleIDVersion.NAME)) {
|
|
385
533
|
const parts = roleId.split(db_1.SEPARATOR);
|
|
386
534
|
parts.shift();
|
|
@@ -388,4 +536,15 @@ function getExternalRoleID(roleId, version) {
|
|
|
388
536
|
}
|
|
389
537
|
return roleId;
|
|
390
538
|
}
|
|
539
|
+
function getExternalRoleIDs(roleIds, version) {
|
|
540
|
+
if (!roleIds) {
|
|
541
|
+
return roleIds;
|
|
542
|
+
}
|
|
543
|
+
else if (typeof roleIds === "string") {
|
|
544
|
+
return getExternalRoleID(roleIds, version);
|
|
545
|
+
}
|
|
546
|
+
else {
|
|
547
|
+
return roleIds.map(roleId => getExternalRoleID(roleId, version));
|
|
548
|
+
}
|
|
549
|
+
}
|
|
391
550
|
//# sourceMappingURL=roles.js.map
|
|
@@ -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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"}
|