@intuitionrobotics/permissions 0.46.0 → 0.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app-backend/api/v1/permissions/_imports.d.ts +2 -0
- package/app-backend/api/v1/permissions/_imports.js +36 -0
- package/app-backend/api/v1/permissions/_imports.js.map +1 -0
- package/app-backend/api/v1/permissions/_permissions.js +19 -2
- package/app-backend/api/v1/permissions/_permissions.js.map +1 -1
- package/app-backend/api/v1/permissions/assert.js +23 -6
- package/app-backend/api/v1/permissions/assert.js.map +1 -1
- package/app-backend/api/v1/permissions/assign/apis.js +22 -2
- package/app-backend/api/v1/permissions/assign/apis.js.map +1 -1
- package/app-backend/api/v1/permissions/assign/app-permissions.js +23 -6
- package/app-backend/api/v1/permissions/assign/app-permissions.js.map +1 -1
- package/app-backend/api/v1/permissions/manage/apis.js +25 -7
- package/app-backend/api/v1/permissions/manage/apis.js.map +1 -1
- package/app-backend/api/v1/permissions/tags/apis.js +20 -2
- package/app-backend/api/v1/permissions/tags/apis.js.map +1 -1
- package/app-backend/api/v1/permissions/user-urls-permissions.js +23 -6
- package/app-backend/api/v1/permissions/user-urls-permissions.js.map +1 -1
- package/app-backend/api/v1/register/_register-project.js +19 -2
- package/app-backend/api/v1/register/_register-project.js.map +1 -1
- package/app-backend/api/v1/register/register-external-project.d.ts +2 -3
- package/app-backend/api/v1/register/register-external-project.js +22 -6
- package/app-backend/api/v1/register/register-external-project.js.map +1 -1
- package/app-backend/api/v1/register/register-project.d.ts +2 -3
- package/app-backend/api/v1/register/register-project.js +23 -6
- package/app-backend/api/v1/register/register-project.js.map +1 -1
- package/app-backend/api/v1/test/_imports.d.ts +1 -0
- package/app-backend/api/v1/test/_imports.js +23 -0
- package/app-backend/api/v1/test/_imports.js.map +1 -0
- package/app-backend/api/v1/test/_test-permissions.js +19 -2
- package/app-backend/api/v1/test/_test-permissions.js.map +1 -1
- package/app-backend/api/v1/test/test-permissions.js +23 -6
- package/app-backend/api/v1/test/test-permissions.js.map +1 -1
- package/app-backend/api/v1/user-custom-fields/_user-custom-fields.js +19 -2
- 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.d.ts +3 -4
- package/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.js +24 -6
- 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.d.ts +3 -4
- package/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.js +25 -8
- 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 +26 -15
- package/app-backend/benchmark/permission-user-assert-benchmark.js.map +1 -1
- package/app-backend/core/module-pack.d.ts +6 -1
- package/app-backend/core/module-pack.js +36 -0
- package/app-backend/core/module-pack.js.map +1 -1
- package/app-backend/modules/PermissionsModule.d.ts +5 -6
- package/app-backend/modules/PermissionsModule.js +56 -23
- package/app-backend/modules/PermissionsModule.js.map +1 -1
- package/app-backend/modules/TagsModule.d.ts +5 -6
- package/app-backend/modules/TagsModule.js +9 -10
- package/app-backend/modules/TagsModule.js.map +1 -1
- package/app-backend/modules/{consts.d.ts → _imports.d.ts} +3 -0
- package/app-backend/modules/_imports.js +44 -0
- package/app-backend/modules/_imports.js.map +1 -0
- package/app-backend/modules/db-types/assign.d.ts +9 -10
- package/app-backend/modules/db-types/assign.js +67 -61
- package/app-backend/modules/db-types/assign.js.map +1 -1
- package/app-backend/modules/db-types/managment.d.ts +8 -10
- package/app-backend/modules/db-types/managment.js +54 -40
- package/app-backend/modules/db-types/managment.js.map +1 -1
- package/app-backend/modules/permissions-assert.d.ts +7 -9
- package/app-backend/modules/permissions-assert.js +43 -40
- package/app-backend/modules/permissions-assert.js.map +1 -1
- package/app-backend/modules/permissions-share.d.ts +2 -2
- package/app-backend/modules/permissions-share.js +2 -2
- package/app-backend/modules/permissions-share.js.map +1 -1
- package/app-frontend/core/module-pack.d.ts +7 -0
- package/app-frontend/core/module-pack.js +38 -0
- package/app-frontend/core/module-pack.js.map +1 -1
- package/app-frontend/modules/PermissionsComponent.d.ts +2 -2
- package/app-frontend/modules/PermissionsComponent.js +2 -2
- package/app-frontend/modules/PermissionsComponent.js.map +1 -1
- package/app-frontend/modules/PermissionsModuleFE.d.ts +2 -2
- package/app-frontend/modules/PermissionsModuleFE.js +10 -12
- package/app-frontend/modules/PermissionsModuleFE.js.map +1 -1
- package/app-frontend/modules/assign/ApiCaller_PermissionsGroup.d.ts +2 -2
- package/app-frontend/modules/assign/ApiCaller_PermissionsGroup.js +5 -5
- package/app-frontend/modules/assign/ApiCaller_PermissionsGroup.js.map +1 -1
- package/app-frontend/modules/assign/ApiCaller_PermissionsUser.d.ts +2 -2
- package/app-frontend/modules/assign/ApiCaller_PermissionsUser.js +22 -5
- package/app-frontend/modules/assign/ApiCaller_PermissionsUser.js.map +1 -1
- package/app-frontend/modules/manage/ApiCaller_PermissionsApi.d.ts +2 -2
- package/app-frontend/modules/manage/ApiCaller_PermissionsApi.js +22 -5
- package/app-frontend/modules/manage/ApiCaller_PermissionsApi.js.map +1 -1
- package/app-frontend/modules/manage/ApiCaller_PermissionsDomain.d.ts +2 -2
- package/app-frontend/modules/manage/ApiCaller_PermissionsDomain.js +22 -5
- package/app-frontend/modules/manage/ApiCaller_PermissionsDomain.js.map +1 -1
- package/app-frontend/modules/manage/ApiCaller_PermissionsLevel.d.ts +2 -2
- package/app-frontend/modules/manage/ApiCaller_PermissionsLevel.js +22 -5
- package/app-frontend/modules/manage/ApiCaller_PermissionsLevel.js.map +1 -1
- package/app-frontend/modules/manage/ApiCaller_PermissionsProject.d.ts +2 -2
- package/app-frontend/modules/manage/ApiCaller_PermissionsProject.js +22 -5
- package/app-frontend/modules/manage/ApiCaller_PermissionsProject.js.map +1 -1
- package/app-frontend/modules/tags/ApiCaller_PermissionsTags.d.ts +2 -2
- package/app-frontend/modules/tags/ApiCaller_PermissionsTags.js +5 -5
- package/app-frontend/modules/tags/ApiCaller_PermissionsTags.js.map +1 -1
- package/backend.d.ts +1 -0
- package/backend.js +35 -0
- package/backend.js.map +1 -0
- package/frontend.d.ts +3 -0
- package/frontend.js +37 -0
- package/frontend.js.map +1 -0
- package/index.d.ts +3 -0
- package/index.js +35 -0
- package/index.js.map +1 -1
- package/package.json +9 -9
- package/shared/apis.d.ts +25 -25
- package/shared/apis.js +17 -0
- package/shared/apis.js.map +1 -1
- package/shared/assign-types.d.ts +9 -8
- package/shared/assign-types.js +17 -0
- package/shared/assign-types.js.map +1 -1
- package/shared/manager-types.d.ts +10 -10
- package/shared/manager-types.js +17 -0
- package/shared/manager-types.js.map +1 -1
- package/app-backend/modules/consts.js +0 -10
- package/app-backend/modules/consts.js.map +0 -1
|
@@ -1,4 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* ts-common is the basic building blocks of our typescript projects
|
|
4
|
+
*
|
|
5
|
+
* Copyright (C) 2020 Intuition Robotics
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
2
19
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
20
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
21
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -10,35 +27,32 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
27
|
};
|
|
11
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
29
|
exports.ApiPermissionsDB = exports.AccessLevelPermissionsDB = exports.DomainPermissionsDB = exports.ProjectPermissionsDB = exports.ApiDB_Class = exports.LevelDB_Class = exports.DomainDB_Class = exports.ProjectDB_Class = exports.validateStringWithDashesAndSlash = exports.validateProjectName = void 0;
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
30
|
+
const backend_1 = require("@intuitionrobotics/db-api-generator/backend");
|
|
31
|
+
const _imports_1 = require("../_imports");
|
|
32
|
+
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
33
|
+
const assign_1 = require("./assign");
|
|
16
34
|
const exceptions_1 = require("@intuitionrobotics/thunderstorm/app-backend/exceptions");
|
|
17
|
-
const BaseDB_ApiGenerator_1 = require("@intuitionrobotics/db-api-generator/app-backend/BaseDB_ApiGenerator");
|
|
18
|
-
const consts_1 = require("../consts");
|
|
19
35
|
const AccountModule_1 = require("@intuitionrobotics/user-account/app-backend/modules/AccountModule");
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
exports.validateProjectName = validator_1.validateRegexp(/^[A-Za-z- ]{3,20}$/);
|
|
25
|
-
exports.validateStringWithDashesAndSlash = validator_1.validateRegexp(/^[0-9A-Za-z-:/]+$/);
|
|
26
|
-
class ProjectDB_Class extends BaseDB_ApiGenerator_1.BaseDB_ApiGenerator {
|
|
36
|
+
const validateProjectId = (0, ts_common_1.validateRegexp)(/^[a-z-]{3,20}$/);
|
|
37
|
+
exports.validateProjectName = (0, ts_common_1.validateRegexp)(/^[A-Za-z- ]{3,20}$/);
|
|
38
|
+
exports.validateStringWithDashesAndSlash = (0, ts_common_1.validateRegexp)(/^[0-9A-Za-z-:/]+$/);
|
|
39
|
+
class ProjectDB_Class extends backend_1.BaseDB_ApiGenerator {
|
|
27
40
|
constructor() {
|
|
28
|
-
super(
|
|
41
|
+
super(_imports_1.CollectionName_Projects, ProjectDB_Class._validator, "project", "ProjectDB");
|
|
29
42
|
}
|
|
30
43
|
preUpsertProcessing(transaction, dbInstance, request) {
|
|
31
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
32
45
|
if (request) {
|
|
33
46
|
const account = yield AccountModule_1.AccountModule.validateSession(request, []);
|
|
34
|
-
dbInstance._audit =
|
|
47
|
+
dbInstance._audit = (0, ts_common_1.auditBy)(account.email);
|
|
35
48
|
}
|
|
36
49
|
});
|
|
37
50
|
}
|
|
38
51
|
apis(pathPart) {
|
|
39
52
|
return [
|
|
40
|
-
new
|
|
41
|
-
new
|
|
53
|
+
// new ServerApi_Delete(this, pathPart),
|
|
54
|
+
new backend_1.ServerApi_Query(this, pathPart),
|
|
55
|
+
new backend_1.ServerApi_Unique(this, pathPart),
|
|
42
56
|
];
|
|
43
57
|
}
|
|
44
58
|
}
|
|
@@ -49,9 +63,9 @@ ProjectDB_Class._validator = {
|
|
|
49
63
|
customKeys: undefined,
|
|
50
64
|
_audit: undefined
|
|
51
65
|
};
|
|
52
|
-
class DomainDB_Class extends
|
|
66
|
+
class DomainDB_Class extends backend_1.BaseDB_ApiGenerator {
|
|
53
67
|
constructor() {
|
|
54
|
-
super(
|
|
68
|
+
super(_imports_1.CollectionName_Domain, DomainDB_Class._validator, "domain", "DomainDB");
|
|
55
69
|
this.setLockKeys(['projectId']);
|
|
56
70
|
}
|
|
57
71
|
assertDeletion(transaction, dbInstance) {
|
|
@@ -67,21 +81,21 @@ class DomainDB_Class extends BaseDB_ApiGenerator_1.BaseDB_ApiGenerator {
|
|
|
67
81
|
yield exports.ProjectPermissionsDB.queryUnique({ _id: dbInstance.projectId });
|
|
68
82
|
if (request) {
|
|
69
83
|
const account = yield AccountModule_1.AccountModule.validateSession(request, []);
|
|
70
|
-
dbInstance._audit =
|
|
84
|
+
dbInstance._audit = (0, ts_common_1.auditBy)(account.email);
|
|
71
85
|
}
|
|
72
86
|
});
|
|
73
87
|
}
|
|
74
88
|
}
|
|
75
89
|
exports.DomainDB_Class = DomainDB_Class;
|
|
76
90
|
DomainDB_Class._validator = {
|
|
77
|
-
_id:
|
|
91
|
+
_id: backend_1.validateOptionalId,
|
|
78
92
|
projectId: validateProjectId,
|
|
79
|
-
namespace:
|
|
93
|
+
namespace: backend_1.validateNameWithDashesAndDots,
|
|
80
94
|
_audit: undefined
|
|
81
95
|
};
|
|
82
|
-
class LevelDB_Class extends
|
|
96
|
+
class LevelDB_Class extends backend_1.BaseDB_ApiGenerator {
|
|
83
97
|
constructor() {
|
|
84
|
-
super(
|
|
98
|
+
super(_imports_1.CollectionName_Level, LevelDB_Class._validator, "level", "LevelDB");
|
|
85
99
|
this.setLockKeys(['domainId']);
|
|
86
100
|
}
|
|
87
101
|
internalFilter(item) {
|
|
@@ -93,7 +107,7 @@ class LevelDB_Class extends BaseDB_ApiGenerator_1.BaseDB_ApiGenerator {
|
|
|
93
107
|
yield exports.DomainPermissionsDB.queryUnique({ _id: dbInstance.domainId });
|
|
94
108
|
if (request) {
|
|
95
109
|
const account = yield AccountModule_1.AccountModule.validateSession(request, []);
|
|
96
|
-
dbInstance._audit =
|
|
110
|
+
dbInstance._audit = (0, ts_common_1.auditBy)(account.email);
|
|
97
111
|
}
|
|
98
112
|
});
|
|
99
113
|
}
|
|
@@ -110,10 +124,10 @@ class LevelDB_Class extends BaseDB_ApiGenerator_1.BaseDB_ApiGenerator {
|
|
|
110
124
|
var _a, _b;
|
|
111
125
|
const index = (_a = group.accessLevelIds) === null || _a === void 0 ? void 0 : _a.indexOf(dbInstance._id);
|
|
112
126
|
if (index === undefined)
|
|
113
|
-
throw new
|
|
127
|
+
throw new ts_common_1.MUSTNeverHappenException("Query said it does exists!!");
|
|
114
128
|
const accessLevel = (_b = group.__accessLevels) === null || _b === void 0 ? void 0 : _b[index];
|
|
115
129
|
if (accessLevel === undefined)
|
|
116
|
-
throw new
|
|
130
|
+
throw new ts_common_1.MUSTNeverHappenException("Query said it does exists!!");
|
|
117
131
|
accessLevel.value = dbInstance.value;
|
|
118
132
|
};
|
|
119
133
|
const asyncs = [];
|
|
@@ -158,15 +172,15 @@ class LevelDB_Class extends BaseDB_ApiGenerator_1.BaseDB_ApiGenerator {
|
|
|
158
172
|
}
|
|
159
173
|
exports.LevelDB_Class = LevelDB_Class;
|
|
160
174
|
LevelDB_Class._validator = {
|
|
161
|
-
_id:
|
|
162
|
-
domainId:
|
|
163
|
-
name:
|
|
164
|
-
value:
|
|
175
|
+
_id: backend_1.validateOptionalId,
|
|
176
|
+
domainId: backend_1.validateUniqueId,
|
|
177
|
+
name: backend_1.validateStringWithDashes,
|
|
178
|
+
value: (0, ts_common_1.validateRange)([[0, 1000]]),
|
|
165
179
|
_audit: undefined
|
|
166
180
|
};
|
|
167
|
-
class ApiDB_Class extends
|
|
181
|
+
class ApiDB_Class extends backend_1.BaseDB_ApiGenerator {
|
|
168
182
|
constructor() {
|
|
169
|
-
super(
|
|
183
|
+
super(_imports_1.CollectionName_Api, ApiDB_Class._validator, "api", "ApiDB");
|
|
170
184
|
this.setLockKeys(['projectId', "path"]);
|
|
171
185
|
}
|
|
172
186
|
externalFilter(item) {
|
|
@@ -181,14 +195,14 @@ class ApiDB_Class extends BaseDB_ApiGenerator_1.BaseDB_ApiGenerator {
|
|
|
181
195
|
return __awaiter(this, void 0, void 0, function* () {
|
|
182
196
|
if (request) {
|
|
183
197
|
const account = yield AccountModule_1.AccountModule.validateSession(request, []);
|
|
184
|
-
dbInstance._audit =
|
|
198
|
+
dbInstance._audit = (0, ts_common_1.auditBy)(account.email);
|
|
185
199
|
}
|
|
186
200
|
yield exports.ProjectPermissionsDB.queryUnique({ _id: dbInstance.projectId });
|
|
187
201
|
// need to assert that all the permissions levels exists in the db
|
|
188
202
|
const _permissionsIds = dbInstance.accessLevelIds;
|
|
189
203
|
if (!_permissionsIds || _permissionsIds.length <= 0)
|
|
190
204
|
return;
|
|
191
|
-
const permissionsIds =
|
|
205
|
+
const permissionsIds = (0, ts_common_1.filterDuplicates)(_permissionsIds);
|
|
192
206
|
yield Promise.all(permissionsIds.map(id => exports.AccessLevelPermissionsDB.queryUnique({ _id: id })));
|
|
193
207
|
dbInstance.accessLevelIds = permissionsIds;
|
|
194
208
|
});
|
|
@@ -204,19 +218,19 @@ class ApiDB_Class extends BaseDB_ApiGenerator_1.BaseDB_ApiGenerator {
|
|
|
204
218
|
}
|
|
205
219
|
apis(pathPart) {
|
|
206
220
|
return [
|
|
207
|
-
new
|
|
208
|
-
new
|
|
209
|
-
new
|
|
210
|
-
new
|
|
221
|
+
new backend_1.ServerApi_Delete(this, pathPart),
|
|
222
|
+
new backend_1.ServerApi_Query(this, pathPart),
|
|
223
|
+
new backend_1.ServerApi_Unique(this, pathPart),
|
|
224
|
+
new backend_1.ServerApi_Update(this, pathPart),
|
|
211
225
|
];
|
|
212
226
|
}
|
|
213
227
|
}
|
|
214
228
|
exports.ApiDB_Class = ApiDB_Class;
|
|
215
229
|
ApiDB_Class._validator = {
|
|
216
|
-
_id:
|
|
230
|
+
_id: backend_1.validateOptionalId,
|
|
217
231
|
projectId: validateProjectId,
|
|
218
232
|
path: exports.validateStringWithDashesAndSlash,
|
|
219
|
-
accessLevelIds:
|
|
233
|
+
accessLevelIds: (0, ts_common_1.validateArray)(backend_1.validateUniqueId, false),
|
|
220
234
|
_audit: undefined,
|
|
221
235
|
deprecated: undefined,
|
|
222
236
|
onlyForApplication: undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managment.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/db-types/managment.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"managment.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/db-types/managment.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
import { ServerApi_Middleware } from "@intuitionrobotics/thunderstorm/app-backend/modules/server/HttpServer";
|
|
6
|
-
export declare type UserCalculatedAccessLevel = {
|
|
1
|
+
import { Module, StringMap } from "@intuitionrobotics/ts-common";
|
|
2
|
+
import { ServerApi_Middleware } from "@intuitionrobotics/thunderstorm/backend";
|
|
3
|
+
import { Base_AccessLevels, DB_PermissionAccessLevel, DB_PermissionApi, DB_PermissionsGroup, DB_PermissionsUser, User_Group } from "../..";
|
|
4
|
+
export type UserCalculatedAccessLevel = {
|
|
7
5
|
[domainId: string]: number;
|
|
8
6
|
};
|
|
9
|
-
export
|
|
7
|
+
export type GroupPairWithBaseLevelsObj = {
|
|
10
8
|
accessLevels: Base_AccessLevels[];
|
|
11
9
|
customFields: StringMap[];
|
|
12
10
|
};
|
|
13
|
-
export
|
|
11
|
+
export type RequestPairWithLevelsObj = {
|
|
14
12
|
accessLevels: DB_PermissionAccessLevel[];
|
|
15
13
|
customFields: StringMap[];
|
|
16
14
|
};
|
|
17
|
-
|
|
15
|
+
type Config = {
|
|
18
16
|
strictMode?: boolean;
|
|
19
17
|
};
|
|
20
18
|
export declare class PermissionsAssert_Class extends Module<Config> {
|
|
@@ -1,4 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* ts-common is the basic building blocks of our typescript projects
|
|
4
|
+
*
|
|
5
|
+
* Copyright (C) 2020 Intuition Robotics
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
2
19
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
20
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
21
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -10,23 +27,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
27
|
};
|
|
11
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
29
|
exports.PermissionsAssert = exports.PermissionsAssert_Class = void 0;
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const AccountModule_1 = require("@intuitionrobotics/user-account/app-backend/modules/AccountModule");
|
|
16
|
-
const PermissionsModule_1 = require("./PermissionsModule");
|
|
17
|
-
const module_1 = require("@intuitionrobotics/ts-common/core/module");
|
|
18
|
-
const types_1 = require("@intuitionrobotics/thunderstorm/shared/types");
|
|
19
|
-
const exceptions_2 = require("@intuitionrobotics/ts-common/core/exceptions");
|
|
20
|
-
const object_tools_1 = require("@intuitionrobotics/ts-common/utils/object-tools");
|
|
21
|
-
const assign_1 = require("./db-types/assign");
|
|
30
|
+
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
31
|
+
const backend_1 = require("@intuitionrobotics/thunderstorm/backend");
|
|
22
32
|
const managment_1 = require("./db-types/managment");
|
|
23
|
-
|
|
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 {
|
|
24
38
|
constructor() {
|
|
25
39
|
super("PermissionsAssert");
|
|
26
40
|
this.Middleware = (keys) => (req, data, response, scopes) => __awaiter(this, void 0, void 0, function* () {
|
|
27
41
|
let account;
|
|
28
42
|
yield this.CustomMiddleware(keys, (projectId, customFields) => __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
account = yield
|
|
43
|
+
account = yield backend_2.AccountModule.validateSession(req, scopes, response);
|
|
30
44
|
yield this.assertUserPermissions(projectId, data.url, account._id, customFields);
|
|
31
45
|
}))(req, data, response, scopes);
|
|
32
46
|
return { account };
|
|
@@ -35,19 +49,19 @@ class PermissionsAssert_Class extends module_1.Module {
|
|
|
35
49
|
const customFields = {};
|
|
36
50
|
let object;
|
|
37
51
|
switch (data.method) {
|
|
38
|
-
case
|
|
39
|
-
case
|
|
40
|
-
case
|
|
52
|
+
case thunderstorm_1.HttpMethod.POST:
|
|
53
|
+
case thunderstorm_1.HttpMethod.PATCH:
|
|
54
|
+
case thunderstorm_1.HttpMethod.PUT:
|
|
41
55
|
object = data.body;
|
|
42
56
|
break;
|
|
43
|
-
case
|
|
44
|
-
case
|
|
57
|
+
case thunderstorm_1.HttpMethod.GET:
|
|
58
|
+
case thunderstorm_1.HttpMethod.DELETE:
|
|
45
59
|
object = data.query;
|
|
46
60
|
break;
|
|
47
61
|
default:
|
|
48
|
-
throw new
|
|
62
|
+
throw new ts_common_1.BadImplementationException(`Generic custom fields cannot be extracted on api with method: ${data.method}`);
|
|
49
63
|
}
|
|
50
|
-
|
|
64
|
+
(0, ts_common_1._keys)(object).filter(key => keys.includes(key)).forEach(key => {
|
|
51
65
|
const oElement = object[key];
|
|
52
66
|
if (oElement === undefined || oElement === null)
|
|
53
67
|
return;
|
|
@@ -72,7 +86,7 @@ class PermissionsAssert_Class extends module_1.Module {
|
|
|
72
86
|
if (!apiDetails.apiDb.accessLevelIds) {
|
|
73
87
|
if (!this.config.strictMode)
|
|
74
88
|
return;
|
|
75
|
-
throw new
|
|
89
|
+
throw new backend_1.ApiException(403, `No permissions configuration specified for api: ${projectId}--${apiDetails.apiDb.path}`);
|
|
76
90
|
}
|
|
77
91
|
this.assertUserPermissionsImpl(userDetails.userGroups, apiDetails.requestPermissions, [requestCustomField]);
|
|
78
92
|
}
|
|
@@ -88,16 +102,10 @@ class PermissionsAssert_Class extends module_1.Module {
|
|
|
88
102
|
assertUserPermissionsImpl(userGroups, requestPermissions, requestCustomFields) {
|
|
89
103
|
if (!requestPermissions.length)
|
|
90
104
|
return;
|
|
91
|
-
const requestPairWithLevelsObj = {
|
|
92
|
-
accessLevels: requestPermissions,
|
|
93
|
-
customFields: requestCustomFields
|
|
94
|
-
};
|
|
105
|
+
const requestPairWithLevelsObj = { accessLevels: requestPermissions, customFields: requestCustomFields };
|
|
95
106
|
let groupMatch = false;
|
|
96
107
|
const groupsMatchArray = userGroups.map(group => {
|
|
97
|
-
const groupPairWithLevelsObj = {
|
|
98
|
-
accessLevels: group.__accessLevels || [],
|
|
99
|
-
customFields: group.customFields || []
|
|
100
|
-
};
|
|
108
|
+
const groupPairWithLevelsObj = { accessLevels: group.__accessLevels || [], customFields: group.customFields || [] };
|
|
101
109
|
return this.isMatchWithLevelsObj(groupPairWithLevelsObj, requestPairWithLevelsObj);
|
|
102
110
|
});
|
|
103
111
|
for (const match of groupsMatchArray) {
|
|
@@ -105,14 +113,14 @@ class PermissionsAssert_Class extends module_1.Module {
|
|
|
105
113
|
groupMatch = true;
|
|
106
114
|
}
|
|
107
115
|
if (!groupMatch) {
|
|
108
|
-
throw new
|
|
116
|
+
throw new backend_1.ApiException(403, "Action Forbidden");
|
|
109
117
|
}
|
|
110
118
|
}
|
|
111
119
|
getUserDetails(uuid) {
|
|
112
120
|
return __awaiter(this, void 0, void 0, function* () {
|
|
113
121
|
const user = yield assign_1.UserPermissionsDB.queryUnique({ accountId: uuid });
|
|
114
|
-
const userGroups =
|
|
115
|
-
const groups = yield
|
|
122
|
+
const userGroups = (0, ts_common_1.filterDuplicates)(user.groups || []);
|
|
123
|
+
const groups = yield (0, ts_common_1.batchActionParallel)(userGroups.map(userGroup => userGroup.groupId), 10, subGroupIds => assign_1.GroupPermissionsDB.query({ where: { _id: { $in: subGroupIds } } }));
|
|
116
124
|
return {
|
|
117
125
|
user,
|
|
118
126
|
userGroups: this.getCombineUserGroups(userGroups, groups)
|
|
@@ -134,7 +142,7 @@ class PermissionsAssert_Class extends module_1.Module {
|
|
|
134
142
|
groups.forEach(group => {
|
|
135
143
|
const existUserGroupItem = userGroups.find(groupItem => groupItem.groupId === group._id);
|
|
136
144
|
if (!existUserGroupItem)
|
|
137
|
-
throw new
|
|
145
|
+
throw new ts_common_1.BadImplementationException("You are missing group in your code implementation");
|
|
138
146
|
userGroups.forEach((userGroup) => {
|
|
139
147
|
if (userGroup.groupId === group._id) {
|
|
140
148
|
combinedGroups.push(Object.assign(Object.assign({}, group), { customFields: this.getCombineUserGroupCF(userGroup, group) }));
|
|
@@ -157,12 +165,7 @@ class PermissionsAssert_Class extends module_1.Module {
|
|
|
157
165
|
getApisDetails(urls, projectId) {
|
|
158
166
|
return __awaiter(this, void 0, void 0, function* () {
|
|
159
167
|
const paths = urls.map(_path => _path.substring(0, (_path + '?').indexOf('?')));
|
|
160
|
-
const apiDbs = yield
|
|
161
|
-
where: {
|
|
162
|
-
projectId,
|
|
163
|
-
path: { $in: elements }
|
|
164
|
-
}
|
|
165
|
-
}));
|
|
168
|
+
const apiDbs = yield (0, ts_common_1.batchActionParallel)(paths, 10, elements => managment_1.ApiPermissionsDB.query({ where: { projectId, path: { $in: elements } } }));
|
|
166
169
|
return Promise.all(paths.map((path) => __awaiter(this, void 0, void 0, function* () {
|
|
167
170
|
const apiDb = apiDbs.find(_apiDb => _apiDb.path === path);
|
|
168
171
|
if (!apiDb)
|
|
@@ -182,11 +185,11 @@ class PermissionsAssert_Class extends module_1.Module {
|
|
|
182
185
|
}
|
|
183
186
|
getAccessLevels(_accessLevelIds) {
|
|
184
187
|
return __awaiter(this, void 0, void 0, function* () {
|
|
185
|
-
const accessLevelIds =
|
|
186
|
-
const requestPermissions = yield
|
|
188
|
+
const accessLevelIds = (0, ts_common_1.filterDuplicates)(_accessLevelIds || []);
|
|
189
|
+
const requestPermissions = yield (0, ts_common_1.batchActionParallel)(accessLevelIds, 10, elements => managment_1.AccessLevelPermissionsDB.query({ where: { _id: { $in: elements } } }));
|
|
187
190
|
const idNotFound = accessLevelIds.find(lId => !requestPermissions.find(r => r._id === lId));
|
|
188
191
|
if (idNotFound)
|
|
189
|
-
throw new
|
|
192
|
+
throw new backend_1.ApiException(404, `Could not find api level with _id: ${idNotFound}`);
|
|
190
193
|
return requestPermissions;
|
|
191
194
|
});
|
|
192
195
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions-assert.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/permissions-assert.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"permissions-assert.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/permissions-assert.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Module } from "@intuitionrobotics/ts-common
|
|
2
|
-
import { User_Group } from "
|
|
1
|
+
import { Module } from "@intuitionrobotics/ts-common";
|
|
2
|
+
import { User_Group } from "../..";
|
|
3
3
|
export declare class PermissionsShare_Class extends Module {
|
|
4
4
|
constructor();
|
|
5
5
|
verifyPermissionGrantingAllowed(granterUserId: string, shareGroup: User_Group): Promise<void>;
|
|
@@ -10,9 +10,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.PermissionsShare = exports.PermissionsShare_Class = void 0;
|
|
13
|
-
const
|
|
13
|
+
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
14
14
|
const permissions_assert_1 = require("./permissions-assert");
|
|
15
|
-
class PermissionsShare_Class extends
|
|
15
|
+
class PermissionsShare_Class extends ts_common_1.Module {
|
|
16
16
|
constructor() {
|
|
17
17
|
super("PermissionsShare");
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions-share.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/permissions-share.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"permissions-share.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/permissions-share.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAAoD;AAIpD,6DAE8B;AAG9B,MAAa,sBACZ,SAAQ,kBAAM;IAEd;QACC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC3B,CAAC;IAEK,+BAA+B,CAAC,aAAqB,EAAE,UAAsB;;YAClF,MAAM,sCAAiB,CAAC,sBAAsB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC3E,CAAC;KAAA;CAED;AAXD,wDAWC;AAEY,QAAA,gBAAgB,GAAG,IAAI,sBAAsB,EAAE,CAAC"}
|
|
@@ -1 +1,8 @@
|
|
|
1
1
|
export declare const Frontend_ModulePack_Permissions: (import("../modules/assign/ApiCaller_PermissionsUser").PermissionsUserModule_Class | import("../modules/assign/ApiCaller_PermissionsGroup").PermissionsGroupModule_Class | import("../modules/manage/ApiCaller_PermissionsProject").PermissionsProjectModule_Class | import("../modules/manage/ApiCaller_PermissionsDomain").PermissionsDomainModule_Class | import("../modules/manage/ApiCaller_PermissionsLevel").PermissionsAccessLevelModule_Class | import("../modules/manage/ApiCaller_PermissionsApi").PermissionsApiModule_Class | import("../modules/tags/ApiCaller_PermissionsTags").PermissionsTagsModule_Class)[];
|
|
2
|
+
export * from "../modules/assign/ApiCaller_PermissionsUser";
|
|
3
|
+
export * from "../modules/assign/ApiCaller_PermissionsGroup";
|
|
4
|
+
export * from "../modules/manage/ApiCaller_PermissionsProject";
|
|
5
|
+
export * from "../modules/manage/ApiCaller_PermissionsDomain";
|
|
6
|
+
export * from "../modules/manage/ApiCaller_PermissionsLevel";
|
|
7
|
+
export * from "../modules/manage/ApiCaller_PermissionsApi";
|
|
8
|
+
export * from "../modules/tags/ApiCaller_PermissionsTags";
|
|
@@ -1,4 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* ts-common is the basic building blocks of our typescript projects
|
|
4
|
+
*
|
|
5
|
+
* Copyright (C) 2020 Intuition Robotics
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
20
|
+
if (k2 === undefined) k2 = k;
|
|
21
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
22
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
23
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
24
|
+
}
|
|
25
|
+
Object.defineProperty(o, k2, desc);
|
|
26
|
+
}) : (function(o, m, k, k2) {
|
|
27
|
+
if (k2 === undefined) k2 = k;
|
|
28
|
+
o[k2] = m[k];
|
|
29
|
+
}));
|
|
30
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
31
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
32
|
+
};
|
|
2
33
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
34
|
exports.Frontend_ModulePack_Permissions = void 0;
|
|
4
35
|
const ApiCaller_PermissionsUser_1 = require("../modules/assign/ApiCaller_PermissionsUser");
|
|
@@ -17,4 +48,11 @@ exports.Frontend_ModulePack_Permissions = [
|
|
|
17
48
|
ApiCaller_PermissionsApi_1.ApiCaller_PermissionsApi,
|
|
18
49
|
ApiCaller_PermissionsTags_1.ApiCaller_PermissionsTags
|
|
19
50
|
];
|
|
51
|
+
__exportStar(require("../modules/assign/ApiCaller_PermissionsUser"), exports);
|
|
52
|
+
__exportStar(require("../modules/assign/ApiCaller_PermissionsGroup"), exports);
|
|
53
|
+
__exportStar(require("../modules/manage/ApiCaller_PermissionsProject"), exports);
|
|
54
|
+
__exportStar(require("../modules/manage/ApiCaller_PermissionsDomain"), exports);
|
|
55
|
+
__exportStar(require("../modules/manage/ApiCaller_PermissionsLevel"), exports);
|
|
56
|
+
__exportStar(require("../modules/manage/ApiCaller_PermissionsApi"), exports);
|
|
57
|
+
__exportStar(require("../modules/tags/ApiCaller_PermissionsTags"), exports);
|
|
20
58
|
//# sourceMappingURL=module-pack.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-pack.js","sourceRoot":"","sources":["../../../src/main/app-frontend/core/module-pack.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module-pack.js","sourceRoot":"","sources":["../../../src/main/app-frontend/core/module-pack.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;;;AAEH,2FAAsF;AACtF,6FAAwF;AACxF,iGAA4F;AAC5F,+FAA0F;AAC1F,6FAA8F;AAC9F,yFAAoF;AACpF,yFAAoF;AAEvE,QAAA,+BAA+B,GAAG;IAC9C,qDAAyB;IACzB,uDAA0B;IAC1B,2DAA4B;IAC5B,yDAA2B;IAC3B,6DAAgC;IAChC,mDAAwB;IACxB,qDAAyB;CACzB,CAAC;AAEF,8EAA2D;AAC3D,+EAA4D;AAC5D,iFAA8D;AAC9D,gFAA6D;AAC7D,+EAA4D;AAC5D,6EAA0D;AAC1D,4EAAyD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { BaseComponent } from "@intuitionrobotics/thunderstorm/
|
|
2
|
+
import { BaseComponent } from "@intuitionrobotics/thunderstorm/frontend";
|
|
3
3
|
import { OnPermissionsChanged } from "./PermissionsModuleFE";
|
|
4
|
-
|
|
4
|
+
type Props = {
|
|
5
5
|
url: string;
|
|
6
6
|
loadingComponent?: React.ComponentType;
|
|
7
7
|
fallback?: React.ComponentType;
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PermissionsComponent = void 0;
|
|
4
4
|
const React = require("react");
|
|
5
|
-
const
|
|
5
|
+
const frontend_1 = require("@intuitionrobotics/thunderstorm/frontend");
|
|
6
6
|
const PermissionsModuleFE_1 = require("./PermissionsModuleFE");
|
|
7
|
-
class PermissionsComponent extends
|
|
7
|
+
class PermissionsComponent extends frontend_1.BaseComponent {
|
|
8
8
|
__onPermissionsChanged() {
|
|
9
9
|
this.forceUpdate();
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionsComponent.js","sourceRoot":"","sources":["../../../src/main/app-frontend/modules/PermissionsComponent.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"PermissionsComponent.js","sourceRoot":"","sources":["../../../src/main/app-frontend/modules/PermissionsComponent.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,uEAAuE;AACvE,+DAG+B;AAQ/B,MAAa,oBACZ,SAAQ,wBAAoB;IAG5B,sBAAsB;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC;IAED,MAAM;QACL,MAAM,SAAS,GAAG,mCAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxE,IAAI,SAAS,KAAK,SAAS;YAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,OAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAE5E,IAAI,SAAS;YACZ,OAAO,0CAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAI,CAAC;QAEnC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YACtB,OAAO,oBAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,OAAE,CAAC;QAE/B,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AArBD,oDAqBC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Module } from "@intuitionrobotics/ts-common
|
|
2
|
-
export
|
|
1
|
+
import { Module } from "@intuitionrobotics/ts-common";
|
|
2
|
+
export type PermissionsModuleFEConfig = {
|
|
3
3
|
projectId: string;
|
|
4
4
|
};
|
|
5
5
|
export interface OnPermissionsChanged {
|