@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.
Files changed (65) hide show
  1. package/app-backend/api/v1/permissions/_permissions.js +1 -1
  2. package/app-backend/api/v1/permissions/_permissions.js.map +1 -1
  3. package/app-backend/api/v1/permissions/assert.js +15 -67
  4. package/app-backend/api/v1/permissions/assert.js.map +1 -1
  5. package/app-backend/api/v1/permissions/assign/apis.js +3 -3
  6. package/app-backend/api/v1/permissions/assign/apis.js.map +1 -1
  7. package/app-backend/api/v1/permissions/assign/app-permissions.js +23 -84
  8. package/app-backend/api/v1/permissions/assign/app-permissions.js.map +1 -1
  9. package/app-backend/api/v1/permissions/manage/apis.js +3 -3
  10. package/app-backend/api/v1/permissions/manage/apis.js.map +1 -1
  11. package/app-backend/api/v1/permissions/tags/apis.js +1 -1
  12. package/app-backend/api/v1/permissions/tags/apis.js.map +1 -1
  13. package/app-backend/api/v1/permissions/user-urls-permissions.js +14 -64
  14. package/app-backend/api/v1/permissions/user-urls-permissions.js.map +1 -1
  15. package/app-backend/api/v1/register/_register-project.js +1 -1
  16. package/app-backend/api/v1/register/_register-project.js.map +1 -1
  17. package/app-backend/api/v1/register/register-project.js +21 -82
  18. package/app-backend/api/v1/register/register-project.js.map +1 -1
  19. package/app-backend/api/v1/test/_test-permissions.js +1 -1
  20. package/app-backend/api/v1/test/_test-permissions.js.map +1 -1
  21. package/app-backend/api/v1/test/test-permissions.js +13 -63
  22. package/app-backend/api/v1/test/test-permissions.js.map +1 -1
  23. package/app-backend/api/v1/user-custom-fields/_user-custom-fields.js +1 -1
  24. package/app-backend/api/v1/user-custom-fields/_user-custom-fields.js.map +1 -1
  25. package/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.js +14 -64
  26. package/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.js.map +1 -1
  27. package/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.js +14 -63
  28. package/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.js.map +1 -1
  29. package/app-backend/benchmark/permission-user-assert-benchmark.js +67 -150
  30. package/app-backend/benchmark/permission-user-assert-benchmark.js.map +1 -1
  31. package/app-backend/core/module-pack.js +5 -5
  32. package/app-backend/core/module-pack.js.map +1 -1
  33. package/app-backend/modules/PermissionsModule.js +102 -210
  34. package/app-backend/modules/PermissionsModule.js.map +1 -1
  35. package/app-backend/modules/TagsModule.js +26 -78
  36. package/app-backend/modules/TagsModule.js.map +1 -1
  37. package/app-backend/modules/db-types/assign.js +205 -374
  38. package/app-backend/modules/db-types/assign.js.map +1 -1
  39. package/app-backend/modules/db-types/managment.js +168 -311
  40. package/app-backend/modules/db-types/managment.js.map +1 -1
  41. package/app-backend/modules/permissions-assert.js +154 -302
  42. package/app-backend/modules/permissions-assert.js.map +1 -1
  43. package/app-backend/modules/permissions-share.js +8 -60
  44. package/app-backend/modules/permissions-share.js.map +1 -1
  45. package/app-frontend/core/module-pack.js +7 -7
  46. package/app-frontend/core/module-pack.js.map +1 -1
  47. package/app-frontend/modules/PermissionsComponent.js +11 -29
  48. package/app-frontend/modules/PermissionsComponent.js.map +1 -1
  49. package/app-frontend/modules/PermissionsModuleFE.js +49 -97
  50. package/app-frontend/modules/PermissionsModuleFE.js.map +1 -1
  51. package/app-frontend/modules/assign/ApiCaller_PermissionsGroup.js +33 -91
  52. package/app-frontend/modules/assign/ApiCaller_PermissionsGroup.js.map +1 -1
  53. package/app-frontend/modules/assign/ApiCaller_PermissionsUser.js +33 -91
  54. package/app-frontend/modules/assign/ApiCaller_PermissionsUser.js.map +1 -1
  55. package/app-frontend/modules/manage/ApiCaller_PermissionsApi.js +36 -95
  56. package/app-frontend/modules/manage/ApiCaller_PermissionsApi.js.map +1 -1
  57. package/app-frontend/modules/manage/ApiCaller_PermissionsDomain.js +40 -100
  58. package/app-frontend/modules/manage/ApiCaller_PermissionsDomain.js.map +1 -1
  59. package/app-frontend/modules/manage/ApiCaller_PermissionsLevel.js +40 -100
  60. package/app-frontend/modules/manage/ApiCaller_PermissionsLevel.js.map +1 -1
  61. package/app-frontend/modules/manage/ApiCaller_PermissionsProject.js +40 -98
  62. package/app-frontend/modules/manage/ApiCaller_PermissionsProject.js.map +1 -1
  63. package/app-frontend/modules/tags/ApiCaller_PermissionsTags.js +32 -90
  64. package/app-frontend/modules/tags/ApiCaller_PermissionsTags.js.map +1 -1
  65. 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":"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"}
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
- var ts_common_1 = require("@intuitionrobotics/ts-common");
82
- var backend_1 = require("@intuitionrobotics/thunderstorm/backend");
83
- var managment_1 = require("./db-types/managment");
84
- var assign_1 = require("./db-types/assign");
85
- var thunderstorm_1 = require("@intuitionrobotics/thunderstorm");
86
- var backend_2 = require("@intuitionrobotics/user-account/backend");
87
- var PermissionsModule_1 = require("./PermissionsModule");
88
- var PermissionsAssert_Class = /** @class */ (function (_super) {
89
- __extends(PermissionsAssert_Class, _super);
90
- function PermissionsAssert_Class() {
91
- var _this = _super !== null && _super.apply(this, arguments) || this;
92
- _this.Middleware = function (keys) { return function (req, data) { return __awaiter(_this, void 0, void 0, function () {
93
- var _this = this;
94
- return __generator(this, function (_a) {
95
- switch (_a.label) {
96
- case 0: return [4 /*yield*/, this.CustomMiddleware(keys, function (projectId, customFields) { return __awaiter(_this, void 0, void 0, function () {
97
- var account;
98
- return __generator(this, function (_a) {
99
- switch (_a.label) {
100
- case 0: return [4 /*yield*/, backend_2.AccountModule.validateSession(req)];
101
- case 1:
102
- account = _a.sent();
103
- return [2 /*return*/, this.assertUserPermissions(projectId, data.url, account._id, customFields)];
104
- }
105
- });
106
- }); })(req, data)];
107
- case 1:
108
- _a.sent();
109
- return [2 /*return*/];
110
- }
111
- });
112
- }); }; };
113
- _this.CustomMiddleware = function (keys, action) { return function (req, data) { return __awaiter(_this, void 0, void 0, function () {
114
- var customFields, object, projectId;
115
- return __generator(this, function (_a) {
116
- switch (_a.label) {
117
- case 0:
118
- customFields = {};
119
- switch (data.method) {
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
- return _this;
70
+ const projectId = PermissionsModule_1.PermissionsModule.getProjectIdentity()._id;
71
+ yield action(projectId, customFields);
72
+ });
149
73
  }
150
- PermissionsAssert_Class.prototype.assertUserPermissions = function (projectId, path, userId, requestCustomField) {
151
- return __awaiter(this, void 0, void 0, function () {
152
- var _a, apiDetails, userDetails;
153
- return __generator(this, function (_b) {
154
- switch (_b.label) {
155
- case 0: return [4 /*yield*/, Promise.all([
156
- this.getApiDetails(path, projectId),
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
- PermissionsAssert_Class.prototype._assertUserPermissionsImpl = function (apiDetails, projectId, userDetails, requestCustomField) {
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, "No permissions configuration specified for api: " + projectId + "--" + apiDetails.apiDb.path);
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
- PermissionsAssert_Class.prototype.assertUserSharingGroup = function (granterUserId, userGroup) {
176
- return __awaiter(this, void 0, void 0, function () {
177
- var _a, granterUser, groupToShare, requestPermissions, requestCustomFields;
178
- return __generator(this, function (_b) {
179
- switch (_b.label) {
180
- case 0: return [4 /*yield*/, Promise.all([this.getUserDetails(granterUserId), assign_1.GroupPermissionsDB.queryUnique({ _id: userGroup.groupId })])];
181
- case 1:
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
- PermissionsAssert_Class.prototype.assertUserPermissionsImpl = function (userGroups, requestPermissions, requestCustomFields) {
195
- var _this = this;
99
+ }
100
+ assertUserPermissionsImpl(userGroups, requestPermissions, requestCustomFields) {
196
101
  if (!requestPermissions.length)
197
102
  return;
198
- var requestPairWithLevelsObj = { accessLevels: requestPermissions, customFields: requestCustomFields };
199
- var groupMatch = false;
200
- var groupsMatchArray = userGroups.map(function (group) {
201
- var groupPairWithLevelsObj = { accessLevels: group.__accessLevels || [], customFields: group.customFields || [] };
202
- return _this.isMatchWithLevelsObj(groupPairWithLevelsObj, requestPairWithLevelsObj);
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 (var _i = 0, groupsMatchArray_1 = groupsMatchArray; _i < groupsMatchArray_1.length; _i++) {
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
- PermissionsAssert_Class.prototype.getUserDetails = function (uuid) {
214
- return __awaiter(this, void 0, void 0, function () {
215
- var user, userGroups, groups;
216
- return __generator(this, function (_a) {
217
- switch (_a.label) {
218
- case 0: return [4 /*yield*/, assign_1.UserPermissionsDB.queryUnique({ accountId: uuid })];
219
- case 1:
220
- user = _a.sent();
221
- userGroups = user.groups || [];
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
- PermissionsAssert_Class.prototype.getCombineUserGroupCF = function (userGroup, group) {
234
- var cfArray = [];
127
+ }
128
+ getCombineUserGroupCF(userGroup, group) {
129
+ const cfArray = [];
235
130
  if (group.customFields) {
236
- cfArray.push.apply(cfArray, group.customFields);
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
- PermissionsAssert_Class.prototype.getCombineUserGroups = function (userGroups, groups) {
244
- var _this = this;
245
- var combinedGroups = [];
246
- groups.forEach(function (group) {
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(function (userGroup) {
144
+ userGroups.forEach((userGroup) => {
251
145
  if (userGroup.groupId === group._id) {
252
- combinedGroups.push(__assign(__assign({}, group), { customFields: _this.getCombineUserGroupCF(userGroup, group) }));
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
- PermissionsAssert_Class.prototype.getApiDetails = function (_path, projectId) {
259
- return __awaiter(this, void 0, void 0, function () {
260
- var path, apiDb, requestPermissions;
261
- return __generator(this, function (_a) {
262
- switch (_a.label) {
263
- case 0:
264
- path = _path.substring(0, (_path + '?').indexOf('?'));
265
- return [4 /*yield*/, managment_1.ApiPermissionsDB.queryUnique({ path: path, projectId: projectId })];
266
- case 1:
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
- PermissionsAssert_Class.prototype.getApisDetails = function (urls, projectId) {
280
- return __awaiter(this, void 0, void 0, function () {
281
- var paths, apiDbs;
282
- var _this = this;
283
- return __generator(this, function (_a) {
284
- switch (_a.label) {
285
- case 0:
286
- paths = urls.map(function (_path) { return _path.substring(0, (_path + '?').indexOf('?')); });
287
- return [4 /*yield*/, ts_common_1.batchActionParallel(paths, 10, function (elements) { return managment_1.ApiPermissionsDB.query({ where: { projectId: projectId, path: { $in: elements } } }); })];
288
- case 1:
289
- apiDbs = _a.sent();
290
- return [2 /*return*/, Promise.all(paths.map(function (path) { return __awaiter(_this, void 0, void 0, function () {
291
- var apiDb, requestPermissions, e_1;
292
- return __generator(this, function (_a) {
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
- PermissionsAssert_Class.prototype.isMatchWithLevelsObj = function (groupPair, requestPair) {
338
- var _this = this;
339
- var match = true;
340
- requestPair.customFields.forEach(function (requestCF) {
341
- if (!_this.doesCustomFieldsSatisfies(groupPair.customFields, requestCF))
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
- var groupDomainLevelMap = this.getDomainLevelMap(groupPair.accessLevels);
347
- requestPair.accessLevels.forEach(function (requiredLevel, index) {
348
- var userAccessLevel = groupDomainLevelMap[requiredLevel.domainId];
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
- PermissionsAssert_Class.prototype.getDomainLevelMap = function (accessLevels) {
355
- return accessLevels.reduce(function (toRet, accessLevel) {
356
- var levelForDomain = toRet[accessLevel.domainId];
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
- PermissionsAssert_Class.prototype.doesCustomFieldsSatisfies = function (groupCustomFields, requestCustomField) {
363
- if (groupCustomFields === void 0) { groupCustomFields = []; }
217
+ }
218
+ doesCustomFieldsSatisfies(groupCustomFields = [], requestCustomField) {
364
219
  if (!Object.keys(requestCustomField).length)
365
220
  return true;
366
- for (var _i = 0, groupCustomFields_1 = groupCustomFields; _i < groupCustomFields_1.length; _i++) {
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
- PermissionsAssert_Class.prototype.doesCustomFieldSatisfies = function (groupCustomField, requestCustomField) {
374
- var _this = this;
375
- return Object.keys(requestCustomField).reduce(function (doesSatisfies, requestCustomFieldKey) {
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
- PermissionsAssert_Class.prototype.getRegEx = function (value) {
232
+ }
233
+ getRegEx(value) {
381
234
  if (!value)
382
- return new RegExp("^" + value + "$", "g");
383
- var regExValue = value;
384
- var startRegEx = '^';
385
- var endRegEx = '$';
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
- return PermissionsAssert_Class;
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