@intuitionrobotics/permissions 0.41.69 → 0.41.70
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/app-backend/api/v1/permissions/_permissions.js +1 -1
- package/app-backend/api/v1/permissions/_permissions.js.map +1 -1
- package/app-backend/api/v1/permissions/assert.js +15 -67
- package/app-backend/api/v1/permissions/assert.js.map +1 -1
- package/app-backend/api/v1/permissions/assign/apis.js +3 -3
- package/app-backend/api/v1/permissions/assign/apis.js.map +1 -1
- package/app-backend/api/v1/permissions/assign/app-permissions.js +23 -84
- package/app-backend/api/v1/permissions/assign/app-permissions.js.map +1 -1
- package/app-backend/api/v1/permissions/manage/apis.js +3 -3
- package/app-backend/api/v1/permissions/manage/apis.js.map +1 -1
- package/app-backend/api/v1/permissions/tags/apis.js +1 -1
- package/app-backend/api/v1/permissions/tags/apis.js.map +1 -1
- package/app-backend/api/v1/permissions/user-urls-permissions.js +14 -64
- package/app-backend/api/v1/permissions/user-urls-permissions.js.map +1 -1
- package/app-backend/api/v1/register/_register-project.js +1 -1
- package/app-backend/api/v1/register/_register-project.js.map +1 -1
- package/app-backend/api/v1/register/register-project.js +21 -82
- package/app-backend/api/v1/register/register-project.js.map +1 -1
- package/app-backend/api/v1/test/_test-permissions.js +1 -1
- package/app-backend/api/v1/test/_test-permissions.js.map +1 -1
- package/app-backend/api/v1/test/test-permissions.js +13 -63
- package/app-backend/api/v1/test/test-permissions.js.map +1 -1
- package/app-backend/api/v1/user-custom-fields/_user-custom-fields.js +1 -1
- package/app-backend/api/v1/user-custom-fields/_user-custom-fields.js.map +1 -1
- package/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.js +14 -64
- package/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.js.map +1 -1
- package/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.js +14 -63
- package/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.js.map +1 -1
- package/app-backend/benchmark/permission-user-assert-benchmark.js +67 -150
- package/app-backend/benchmark/permission-user-assert-benchmark.js.map +1 -1
- package/app-backend/core/module-pack.js +5 -5
- package/app-backend/core/module-pack.js.map +1 -1
- package/app-backend/modules/PermissionsModule.js +102 -210
- package/app-backend/modules/PermissionsModule.js.map +1 -1
- package/app-backend/modules/TagsModule.js +26 -78
- package/app-backend/modules/TagsModule.js.map +1 -1
- package/app-backend/modules/db-types/assign.js +205 -374
- package/app-backend/modules/db-types/assign.js.map +1 -1
- package/app-backend/modules/db-types/managment.js +168 -311
- package/app-backend/modules/db-types/managment.js.map +1 -1
- package/app-backend/modules/permissions-assert.js +154 -302
- package/app-backend/modules/permissions-assert.js.map +1 -1
- package/app-backend/modules/permissions-share.js +8 -60
- package/app-backend/modules/permissions-share.js.map +1 -1
- package/app-frontend/core/module-pack.js +7 -7
- package/app-frontend/core/module-pack.js.map +1 -1
- package/app-frontend/modules/PermissionsComponent.js +11 -29
- package/app-frontend/modules/PermissionsComponent.js.map +1 -1
- package/app-frontend/modules/PermissionsModuleFE.js +49 -97
- package/app-frontend/modules/PermissionsModuleFE.js.map +1 -1
- package/app-frontend/modules/assign/ApiCaller_PermissionsGroup.js +33 -91
- package/app-frontend/modules/assign/ApiCaller_PermissionsGroup.js.map +1 -1
- package/app-frontend/modules/assign/ApiCaller_PermissionsUser.js +33 -91
- package/app-frontend/modules/assign/ApiCaller_PermissionsUser.js.map +1 -1
- package/app-frontend/modules/manage/ApiCaller_PermissionsApi.js +36 -95
- package/app-frontend/modules/manage/ApiCaller_PermissionsApi.js.map +1 -1
- package/app-frontend/modules/manage/ApiCaller_PermissionsDomain.js +40 -100
- package/app-frontend/modules/manage/ApiCaller_PermissionsDomain.js.map +1 -1
- package/app-frontend/modules/manage/ApiCaller_PermissionsLevel.js +40 -100
- package/app-frontend/modules/manage/ApiCaller_PermissionsLevel.js.map +1 -1
- package/app-frontend/modules/manage/ApiCaller_PermissionsProject.js +40 -98
- package/app-frontend/modules/manage/ApiCaller_PermissionsProject.js.map +1 -1
- package/app-frontend/modules/tags/ApiCaller_PermissionsTags.js +32 -90
- package/app-frontend/modules/tags/ApiCaller_PermissionsTags.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managment.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/db-types/managment.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG
|
|
1
|
+
{"version":3,"file":"managment.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/db-types/managment.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,30 +16,6 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
-
var __extends = (this && this.__extends) || (function () {
|
|
20
|
-
var extendStatics = function (d, b) {
|
|
21
|
-
extendStatics = Object.setPrototypeOf ||
|
|
22
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
23
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
24
|
-
return extendStatics(d, b);
|
|
25
|
-
};
|
|
26
|
-
return function (d, b) {
|
|
27
|
-
extendStatics(d, b);
|
|
28
|
-
function __() { this.constructor = d; }
|
|
29
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
30
|
-
};
|
|
31
|
-
})();
|
|
32
|
-
var __assign = (this && this.__assign) || function () {
|
|
33
|
-
__assign = Object.assign || function(t) {
|
|
34
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
35
|
-
s = arguments[i];
|
|
36
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
37
|
-
t[p] = s[p];
|
|
38
|
-
}
|
|
39
|
-
return t;
|
|
40
|
-
};
|
|
41
|
-
return __assign.apply(this, arguments);
|
|
42
|
-
};
|
|
43
19
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
44
20
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
45
21
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -49,348 +25,224 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
49
25
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
50
26
|
});
|
|
51
27
|
};
|
|
52
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
53
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
54
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
55
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
56
|
-
function step(op) {
|
|
57
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
58
|
-
while (_) try {
|
|
59
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
60
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
61
|
-
switch (op[0]) {
|
|
62
|
-
case 0: case 1: t = op; break;
|
|
63
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
64
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
65
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
66
|
-
default:
|
|
67
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
68
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
69
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
70
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
71
|
-
if (t[2]) _.ops.pop();
|
|
72
|
-
_.trys.pop(); continue;
|
|
73
|
-
}
|
|
74
|
-
op = body.call(thisArg, _);
|
|
75
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
76
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
80
29
|
exports.PermissionsAssert = exports.PermissionsAssert_Class = void 0;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
case thunderstorm_1.HttpMethod.POST:
|
|
121
|
-
case thunderstorm_1.HttpMethod.PATCH:
|
|
122
|
-
case thunderstorm_1.HttpMethod.PUT:
|
|
123
|
-
object = data.body;
|
|
124
|
-
break;
|
|
125
|
-
case thunderstorm_1.HttpMethod.GET:
|
|
126
|
-
case thunderstorm_1.HttpMethod.DELETE:
|
|
127
|
-
object = data.query;
|
|
128
|
-
break;
|
|
129
|
-
default:
|
|
130
|
-
throw new ts_common_1.BadImplementationException("Generic custom fields cannot be extracted on api with method: " + data.method);
|
|
131
|
-
}
|
|
132
|
-
ts_common_1._keys(object).filter(function (key) { return keys.includes(key); }).forEach(function (key) {
|
|
133
|
-
var oElement = object[key];
|
|
134
|
-
if (oElement === undefined || oElement === null)
|
|
135
|
-
return;
|
|
136
|
-
if (typeof oElement !== "string")
|
|
137
|
-
return;
|
|
138
|
-
customFields[key] = oElement;
|
|
139
|
-
});
|
|
140
|
-
projectId = PermissionsModule_1.PermissionsModule.getProjectIdentity()._id;
|
|
141
|
-
return [4 /*yield*/, action(projectId, customFields)];
|
|
142
|
-
case 1:
|
|
143
|
-
_a.sent();
|
|
144
|
-
return [2 /*return*/];
|
|
145
|
-
}
|
|
30
|
+
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
31
|
+
const backend_1 = require("@intuitionrobotics/thunderstorm/backend");
|
|
32
|
+
const managment_1 = require("./db-types/managment");
|
|
33
|
+
const assign_1 = require("./db-types/assign");
|
|
34
|
+
const thunderstorm_1 = require("@intuitionrobotics/thunderstorm");
|
|
35
|
+
const backend_2 = require("@intuitionrobotics/user-account/backend");
|
|
36
|
+
const PermissionsModule_1 = require("./PermissionsModule");
|
|
37
|
+
class PermissionsAssert_Class extends ts_common_1.Module {
|
|
38
|
+
constructor() {
|
|
39
|
+
super(...arguments);
|
|
40
|
+
this.Middleware = (keys) => (req, data) => __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
yield this.CustomMiddleware(keys, (projectId, customFields) => __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
const account = yield backend_2.AccountModule.validateSession(req);
|
|
43
|
+
return this.assertUserPermissions(projectId, data.url, account._id, customFields);
|
|
44
|
+
}))(req, data);
|
|
45
|
+
});
|
|
46
|
+
this.CustomMiddleware = (keys, action) => (req, data) => __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
const customFields = {};
|
|
48
|
+
let object;
|
|
49
|
+
switch (data.method) {
|
|
50
|
+
case thunderstorm_1.HttpMethod.POST:
|
|
51
|
+
case thunderstorm_1.HttpMethod.PATCH:
|
|
52
|
+
case thunderstorm_1.HttpMethod.PUT:
|
|
53
|
+
object = data.body;
|
|
54
|
+
break;
|
|
55
|
+
case thunderstorm_1.HttpMethod.GET:
|
|
56
|
+
case thunderstorm_1.HttpMethod.DELETE:
|
|
57
|
+
object = data.query;
|
|
58
|
+
break;
|
|
59
|
+
default:
|
|
60
|
+
throw new ts_common_1.BadImplementationException(`Generic custom fields cannot be extracted on api with method: ${data.method}`);
|
|
61
|
+
}
|
|
62
|
+
ts_common_1._keys(object).filter(key => keys.includes(key)).forEach(key => {
|
|
63
|
+
const oElement = object[key];
|
|
64
|
+
if (oElement === undefined || oElement === null)
|
|
65
|
+
return;
|
|
66
|
+
if (typeof oElement !== "string")
|
|
67
|
+
return;
|
|
68
|
+
customFields[key] = oElement;
|
|
146
69
|
});
|
|
147
|
-
|
|
148
|
-
|
|
70
|
+
const projectId = PermissionsModule_1.PermissionsModule.getProjectIdentity()._id;
|
|
71
|
+
yield action(projectId, customFields);
|
|
72
|
+
});
|
|
149
73
|
}
|
|
150
|
-
|
|
151
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
this.getUserDetails(userId)
|
|
158
|
-
])];
|
|
159
|
-
case 1:
|
|
160
|
-
_a = _b.sent(), apiDetails = _a[0], userDetails = _a[1];
|
|
161
|
-
this._assertUserPermissionsImpl(apiDetails, projectId, userDetails, requestCustomField);
|
|
162
|
-
return [2 /*return*/];
|
|
163
|
-
}
|
|
164
|
-
});
|
|
74
|
+
assertUserPermissions(projectId, path, userId, requestCustomField) {
|
|
75
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
const [apiDetails, userDetails] = yield Promise.all([
|
|
77
|
+
this.getApiDetails(path, projectId),
|
|
78
|
+
this.getUserDetails(userId)
|
|
79
|
+
]);
|
|
80
|
+
this._assertUserPermissionsImpl(apiDetails, projectId, userDetails, requestCustomField);
|
|
165
81
|
});
|
|
166
|
-
}
|
|
167
|
-
|
|
82
|
+
}
|
|
83
|
+
_assertUserPermissionsImpl(apiDetails, projectId, userDetails, requestCustomField) {
|
|
168
84
|
if (!apiDetails.apiDb.accessLevelIds) {
|
|
169
85
|
if (!this.config.strictMode)
|
|
170
86
|
return;
|
|
171
|
-
throw new backend_1.ApiException(403,
|
|
87
|
+
throw new backend_1.ApiException(403, `No permissions configuration specified for api: ${projectId}--${apiDetails.apiDb.path}`);
|
|
172
88
|
}
|
|
173
89
|
this.assertUserPermissionsImpl(userDetails.userGroups, apiDetails.requestPermissions, [requestCustomField]);
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
_a = _b.sent(), granterUser = _a[0], groupToShare = _a[1];
|
|
183
|
-
groupToShare.customFields = this.getCombineUserGroupCF(userGroup, groupToShare);
|
|
184
|
-
return [4 /*yield*/, this.getAccessLevels(groupToShare.accessLevelIds || [])];
|
|
185
|
-
case 2:
|
|
186
|
-
requestPermissions = _b.sent();
|
|
187
|
-
requestCustomFields = groupToShare.customFields;
|
|
188
|
-
this.assertUserPermissionsImpl(granterUser.userGroups, requestPermissions, requestCustomFields);
|
|
189
|
-
return [2 /*return*/];
|
|
190
|
-
}
|
|
191
|
-
});
|
|
90
|
+
}
|
|
91
|
+
assertUserSharingGroup(granterUserId, userGroup) {
|
|
92
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
+
const [granterUser, groupToShare] = yield Promise.all([this.getUserDetails(granterUserId), assign_1.GroupPermissionsDB.queryUnique({ _id: userGroup.groupId })]);
|
|
94
|
+
groupToShare.customFields = this.getCombineUserGroupCF(userGroup, groupToShare);
|
|
95
|
+
const requestPermissions = yield this.getAccessLevels(groupToShare.accessLevelIds || []);
|
|
96
|
+
const requestCustomFields = groupToShare.customFields;
|
|
97
|
+
this.assertUserPermissionsImpl(granterUser.userGroups, requestPermissions, requestCustomFields);
|
|
192
98
|
});
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
var _this = this;
|
|
99
|
+
}
|
|
100
|
+
assertUserPermissionsImpl(userGroups, requestPermissions, requestCustomFields) {
|
|
196
101
|
if (!requestPermissions.length)
|
|
197
102
|
return;
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
return
|
|
103
|
+
const requestPairWithLevelsObj = { accessLevels: requestPermissions, customFields: requestCustomFields };
|
|
104
|
+
let groupMatch = false;
|
|
105
|
+
const groupsMatchArray = userGroups.map(group => {
|
|
106
|
+
const groupPairWithLevelsObj = { accessLevels: group.__accessLevels || [], customFields: group.customFields || [] };
|
|
107
|
+
return this.isMatchWithLevelsObj(groupPairWithLevelsObj, requestPairWithLevelsObj);
|
|
203
108
|
});
|
|
204
|
-
for (
|
|
205
|
-
var match = groupsMatchArray_1[_i];
|
|
109
|
+
for (const match of groupsMatchArray) {
|
|
206
110
|
if (match)
|
|
207
111
|
groupMatch = true;
|
|
208
112
|
}
|
|
209
113
|
if (!groupMatch) {
|
|
210
114
|
throw new backend_1.ApiException(403, "Action Forbidden");
|
|
211
115
|
}
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
return [4 /*yield*/, ts_common_1.batchActionParallel(userGroups.map(function (userGroup) { return userGroup.groupId; }), 10, function (subGroupIds) { return assign_1.GroupPermissionsDB.query({ where: { _id: { $in: subGroupIds } } }); })];
|
|
223
|
-
case 2:
|
|
224
|
-
groups = _a.sent();
|
|
225
|
-
return [2 /*return*/, {
|
|
226
|
-
user: user,
|
|
227
|
-
userGroups: this.getCombineUserGroups(userGroups, groups)
|
|
228
|
-
}];
|
|
229
|
-
}
|
|
230
|
-
});
|
|
116
|
+
}
|
|
117
|
+
getUserDetails(uuid) {
|
|
118
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
119
|
+
const user = yield assign_1.UserPermissionsDB.queryUnique({ accountId: uuid });
|
|
120
|
+
const userGroups = user.groups || [];
|
|
121
|
+
const groups = yield ts_common_1.batchActionParallel(userGroups.map(userGroup => userGroup.groupId), 10, subGroupIds => assign_1.GroupPermissionsDB.query({ where: { _id: { $in: subGroupIds } } }));
|
|
122
|
+
return {
|
|
123
|
+
user,
|
|
124
|
+
userGroups: this.getCombineUserGroups(userGroups, groups)
|
|
125
|
+
};
|
|
231
126
|
});
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
|
|
127
|
+
}
|
|
128
|
+
getCombineUserGroupCF(userGroup, group) {
|
|
129
|
+
const cfArray = [];
|
|
235
130
|
if (group.customFields) {
|
|
236
|
-
cfArray.push
|
|
131
|
+
cfArray.push(...group.customFields);
|
|
237
132
|
}
|
|
238
133
|
if (userGroup.customField) {
|
|
239
134
|
cfArray.push(userGroup.customField);
|
|
240
135
|
}
|
|
241
136
|
return cfArray;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
var existUserGroupItem = userGroups.find(function (groupItem) { return groupItem.groupId === group._id; });
|
|
137
|
+
}
|
|
138
|
+
getCombineUserGroups(userGroups, groups) {
|
|
139
|
+
const combinedGroups = [];
|
|
140
|
+
groups.forEach(group => {
|
|
141
|
+
const existUserGroupItem = userGroups.find(groupItem => groupItem.groupId === group._id);
|
|
248
142
|
if (!existUserGroupItem)
|
|
249
143
|
throw new ts_common_1.BadImplementationException("You are missing group in your code implementation");
|
|
250
|
-
userGroups.forEach(
|
|
144
|
+
userGroups.forEach((userGroup) => {
|
|
251
145
|
if (userGroup.groupId === group._id) {
|
|
252
|
-
combinedGroups.push(
|
|
146
|
+
combinedGroups.push(Object.assign(Object.assign({}, group), { customFields: this.getCombineUserGroupCF(userGroup, group) }));
|
|
253
147
|
}
|
|
254
148
|
});
|
|
255
149
|
});
|
|
256
150
|
return combinedGroups;
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
apiDb = _a.sent();
|
|
268
|
-
return [4 /*yield*/, this.getAccessLevels(apiDb.accessLevelIds || [])];
|
|
269
|
-
case 2:
|
|
270
|
-
requestPermissions = _a.sent();
|
|
271
|
-
return [2 /*return*/, {
|
|
272
|
-
apiDb: apiDb,
|
|
273
|
-
requestPermissions: requestPermissions
|
|
274
|
-
}];
|
|
275
|
-
}
|
|
276
|
-
});
|
|
151
|
+
}
|
|
152
|
+
getApiDetails(_path, projectId) {
|
|
153
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
+
const path = _path.substring(0, (_path + '?').indexOf('?'));
|
|
155
|
+
const apiDb = yield managment_1.ApiPermissionsDB.queryUnique({ path, projectId });
|
|
156
|
+
const requestPermissions = yield this.getAccessLevels(apiDb.accessLevelIds || []);
|
|
157
|
+
return {
|
|
158
|
+
apiDb,
|
|
159
|
+
requestPermissions
|
|
160
|
+
};
|
|
277
161
|
});
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
return
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
switch (_a.label) {
|
|
294
|
-
case 0:
|
|
295
|
-
apiDb = apiDbs.find(function (_apiDb) { return _apiDb.path === path; });
|
|
296
|
-
if (!apiDb)
|
|
297
|
-
return [2 /*return*/];
|
|
298
|
-
_a.label = 1;
|
|
299
|
-
case 1:
|
|
300
|
-
_a.trys.push([1, 3, , 4]);
|
|
301
|
-
return [4 /*yield*/, this.getAccessLevels(apiDb.accessLevelIds)];
|
|
302
|
-
case 2:
|
|
303
|
-
requestPermissions = _a.sent();
|
|
304
|
-
return [2 /*return*/, ({
|
|
305
|
-
apiDb: apiDb,
|
|
306
|
-
requestPermissions: requestPermissions
|
|
307
|
-
})];
|
|
308
|
-
case 3:
|
|
309
|
-
e_1 = _a.sent();
|
|
310
|
-
return [2 /*return*/];
|
|
311
|
-
case 4: return [2 /*return*/];
|
|
312
|
-
}
|
|
313
|
-
});
|
|
314
|
-
}); }))];
|
|
162
|
+
}
|
|
163
|
+
getApisDetails(urls, projectId) {
|
|
164
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
165
|
+
const paths = urls.map(_path => _path.substring(0, (_path + '?').indexOf('?')));
|
|
166
|
+
const apiDbs = yield ts_common_1.batchActionParallel(paths, 10, elements => managment_1.ApiPermissionsDB.query({ where: { projectId, path: { $in: elements } } }));
|
|
167
|
+
return Promise.all(paths.map((path) => __awaiter(this, void 0, void 0, function* () {
|
|
168
|
+
const apiDb = apiDbs.find(_apiDb => _apiDb.path === path);
|
|
169
|
+
if (!apiDb)
|
|
170
|
+
return;
|
|
171
|
+
try {
|
|
172
|
+
const requestPermissions = yield this.getAccessLevels(apiDb.accessLevelIds);
|
|
173
|
+
return ({
|
|
174
|
+
apiDb,
|
|
175
|
+
requestPermissions
|
|
176
|
+
});
|
|
315
177
|
}
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
};
|
|
319
|
-
PermissionsAssert_Class.prototype.getAccessLevels = function (_accessLevelIds) {
|
|
320
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
321
|
-
var accessLevelIds, requestPermissions, idNotFound;
|
|
322
|
-
return __generator(this, function (_a) {
|
|
323
|
-
switch (_a.label) {
|
|
324
|
-
case 0:
|
|
325
|
-
accessLevelIds = ts_common_1.filterDuplicates(_accessLevelIds || []);
|
|
326
|
-
return [4 /*yield*/, ts_common_1.batchActionParallel(accessLevelIds, 10, function (elements) { return managment_1.AccessLevelPermissionsDB.query({ where: { _id: { $in: elements } } }); })];
|
|
327
|
-
case 1:
|
|
328
|
-
requestPermissions = _a.sent();
|
|
329
|
-
idNotFound = accessLevelIds.find(function (lId) { return !requestPermissions.find(function (r) { return r._id === lId; }); });
|
|
330
|
-
if (idNotFound)
|
|
331
|
-
throw new backend_1.ApiException(404, "Could not find api level with _id: " + idNotFound);
|
|
332
|
-
return [2 /*return*/, requestPermissions];
|
|
178
|
+
catch (e) {
|
|
179
|
+
return;
|
|
333
180
|
}
|
|
334
|
-
});
|
|
181
|
+
})));
|
|
335
182
|
});
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
183
|
+
}
|
|
184
|
+
getAccessLevels(_accessLevelIds) {
|
|
185
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
186
|
+
const accessLevelIds = ts_common_1.filterDuplicates(_accessLevelIds || []);
|
|
187
|
+
const requestPermissions = yield ts_common_1.batchActionParallel(accessLevelIds, 10, elements => managment_1.AccessLevelPermissionsDB.query({ where: { _id: { $in: elements } } }));
|
|
188
|
+
const idNotFound = accessLevelIds.find(lId => !requestPermissions.find(r => r._id === lId));
|
|
189
|
+
if (idNotFound)
|
|
190
|
+
throw new backend_1.ApiException(404, `Could not find api level with _id: ${idNotFound}`);
|
|
191
|
+
return requestPermissions;
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
isMatchWithLevelsObj(groupPair, requestPair) {
|
|
195
|
+
let match = true;
|
|
196
|
+
requestPair.customFields.forEach(requestCF => {
|
|
197
|
+
if (!this.doesCustomFieldsSatisfies(groupPair.customFields, requestCF))
|
|
342
198
|
match = false;
|
|
343
199
|
});
|
|
344
200
|
if (!match)
|
|
345
201
|
return false;
|
|
346
|
-
|
|
347
|
-
requestPair.accessLevels.forEach(
|
|
348
|
-
|
|
202
|
+
const groupDomainLevelMap = this.getDomainLevelMap(groupPair.accessLevels);
|
|
203
|
+
requestPair.accessLevels.forEach((requiredLevel, index) => {
|
|
204
|
+
const userAccessLevel = groupDomainLevelMap[requiredLevel.domainId];
|
|
349
205
|
if (userAccessLevel === undefined || userAccessLevel < requiredLevel.value)
|
|
350
206
|
match = false;
|
|
351
207
|
});
|
|
352
208
|
return match;
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
return accessLevels.reduce(
|
|
356
|
-
|
|
209
|
+
}
|
|
210
|
+
getDomainLevelMap(accessLevels) {
|
|
211
|
+
return accessLevels.reduce((toRet, accessLevel) => {
|
|
212
|
+
const levelForDomain = toRet[accessLevel.domainId];
|
|
357
213
|
if (!levelForDomain || levelForDomain < accessLevel.value)
|
|
358
214
|
toRet[accessLevel.domainId] = accessLevel.value;
|
|
359
215
|
return toRet;
|
|
360
216
|
}, {});
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
if (groupCustomFields === void 0) { groupCustomFields = []; }
|
|
217
|
+
}
|
|
218
|
+
doesCustomFieldsSatisfies(groupCustomFields = [], requestCustomField) {
|
|
364
219
|
if (!Object.keys(requestCustomField).length)
|
|
365
220
|
return true;
|
|
366
|
-
for (
|
|
367
|
-
var customField = groupCustomFields_1[_i];
|
|
221
|
+
for (const customField of groupCustomFields) {
|
|
368
222
|
if (this.doesCustomFieldSatisfies(customField, requestCustomField))
|
|
369
223
|
return true;
|
|
370
224
|
}
|
|
371
225
|
return false;
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
var customFieldRegEx = _this.getRegEx(groupCustomField[requestCustomFieldKey]);
|
|
226
|
+
}
|
|
227
|
+
doesCustomFieldSatisfies(groupCustomField, requestCustomField) {
|
|
228
|
+
return Object.keys(requestCustomField).reduce((doesSatisfies, requestCustomFieldKey) => {
|
|
229
|
+
const customFieldRegEx = this.getRegEx(groupCustomField[requestCustomFieldKey]);
|
|
377
230
|
return doesSatisfies && customFieldRegEx.test(requestCustomField[requestCustomFieldKey]);
|
|
378
231
|
}, true);
|
|
379
|
-
}
|
|
380
|
-
|
|
232
|
+
}
|
|
233
|
+
getRegEx(value) {
|
|
381
234
|
if (!value)
|
|
382
|
-
return new RegExp(
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
235
|
+
return new RegExp(`^${value}$`, "g");
|
|
236
|
+
let regExValue = value;
|
|
237
|
+
const startRegEx = '^';
|
|
238
|
+
const endRegEx = '$';
|
|
386
239
|
if (value[0] !== startRegEx)
|
|
387
240
|
regExValue = startRegEx + regExValue;
|
|
388
241
|
if (value[value.length - 1] !== endRegEx)
|
|
389
242
|
regExValue = regExValue + endRegEx;
|
|
390
243
|
return new RegExp(regExValue, "g");
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
}(ts_common_1.Module));
|
|
244
|
+
}
|
|
245
|
+
}
|
|
394
246
|
exports.PermissionsAssert_Class = PermissionsAssert_Class;
|
|
395
247
|
exports.PermissionsAssert = new PermissionsAssert_Class();
|
|
396
248
|
//# sourceMappingURL=permissions-assert.js.map
|