@edular/permissions 3.2.7 → 4.2.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/lib/constants.d.ts +48 -0
- package/lib/constants.js +53 -0
- package/lib/helpers.d.ts +4 -0
- package/lib/helpers.js +30 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +2 -0
- package/lib/permissions.d.ts +86 -0
- package/lib/permissions.js +92 -6
- package/package.json +1 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export declare enum UserProfileType {
|
|
2
|
+
ApiKey = "api_key",
|
|
3
|
+
Admin = "admin",
|
|
4
|
+
Staff = "staff",
|
|
5
|
+
Student = "student",
|
|
6
|
+
Others = "others"
|
|
7
|
+
}
|
|
8
|
+
export declare type PermissionDetails = {
|
|
9
|
+
permissionId: number;
|
|
10
|
+
name: string;
|
|
11
|
+
departmentId?: number;
|
|
12
|
+
subunitId?: number;
|
|
13
|
+
};
|
|
14
|
+
export declare enum PermissionType {
|
|
15
|
+
View = "view",
|
|
16
|
+
Add = "add",
|
|
17
|
+
Edit = "edit",
|
|
18
|
+
Delete = "delete"
|
|
19
|
+
}
|
|
20
|
+
export declare enum DepartmentPermissionTarget {
|
|
21
|
+
DocumentsListView = "documents.list_view",
|
|
22
|
+
DocumentsDetailView = "documents.detail_view",
|
|
23
|
+
Activities = "activities",
|
|
24
|
+
Tasks = "tasks",
|
|
25
|
+
TasksAccessOthers = "tasks.access_others"
|
|
26
|
+
}
|
|
27
|
+
export declare const DepartmentPermissionTargetTypes: {
|
|
28
|
+
"documents.list_view": PermissionType[];
|
|
29
|
+
"documents.detail_view": PermissionType[];
|
|
30
|
+
activities: PermissionType[];
|
|
31
|
+
tasks: PermissionType[];
|
|
32
|
+
"tasks.access_others": PermissionType[];
|
|
33
|
+
};
|
|
34
|
+
export declare type ProfilePermissionsDetails = {
|
|
35
|
+
type: UserProfileType.Staff;
|
|
36
|
+
enabledPermissionIds: number[];
|
|
37
|
+
enabledDepartmentPermissionIds: number[];
|
|
38
|
+
} | {
|
|
39
|
+
type: UserProfileType.Student;
|
|
40
|
+
enabledPermissionIds: number[];
|
|
41
|
+
} | {
|
|
42
|
+
type: UserProfileType.Admin;
|
|
43
|
+
} | {
|
|
44
|
+
type: UserProfileType.ApiKey;
|
|
45
|
+
} | {
|
|
46
|
+
type: UserProfileType.Others;
|
|
47
|
+
enabledPermissionIds: number[];
|
|
48
|
+
};
|
package/lib/constants.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.DepartmentPermissionTargetTypes = exports.DepartmentPermissionTarget = exports.PermissionType = exports.UserProfileType = void 0;
|
|
5
|
+
var UserProfileType;
|
|
6
|
+
(function (UserProfileType) {
|
|
7
|
+
UserProfileType["ApiKey"] = "api_key";
|
|
8
|
+
UserProfileType["Admin"] = "admin";
|
|
9
|
+
UserProfileType["Staff"] = "staff";
|
|
10
|
+
UserProfileType["Student"] = "student";
|
|
11
|
+
UserProfileType["Others"] = "others";
|
|
12
|
+
})(UserProfileType = exports.UserProfileType || (exports.UserProfileType = {}));
|
|
13
|
+
var PermissionType;
|
|
14
|
+
(function (PermissionType) {
|
|
15
|
+
PermissionType["View"] = "view";
|
|
16
|
+
PermissionType["Add"] = "add";
|
|
17
|
+
PermissionType["Edit"] = "edit";
|
|
18
|
+
PermissionType["Delete"] = "delete";
|
|
19
|
+
})(PermissionType = exports.PermissionType || (exports.PermissionType = {}));
|
|
20
|
+
var DepartmentPermissionTarget;
|
|
21
|
+
(function (DepartmentPermissionTarget) {
|
|
22
|
+
DepartmentPermissionTarget["DocumentsListView"] = "documents.list_view";
|
|
23
|
+
DepartmentPermissionTarget["DocumentsDetailView"] = "documents.detail_view";
|
|
24
|
+
DepartmentPermissionTarget["Activities"] = "activities";
|
|
25
|
+
DepartmentPermissionTarget["Tasks"] = "tasks";
|
|
26
|
+
DepartmentPermissionTarget["TasksAccessOthers"] = "tasks.access_others";
|
|
27
|
+
})(DepartmentPermissionTarget = exports.DepartmentPermissionTarget || (exports.DepartmentPermissionTarget = {}));
|
|
28
|
+
exports.DepartmentPermissionTargetTypes = (_a = {},
|
|
29
|
+
_a[DepartmentPermissionTarget.DocumentsListView] = [PermissionType.View],
|
|
30
|
+
_a[DepartmentPermissionTarget.DocumentsDetailView] = [
|
|
31
|
+
PermissionType.View,
|
|
32
|
+
PermissionType.Add,
|
|
33
|
+
PermissionType.Edit,
|
|
34
|
+
PermissionType.Delete,
|
|
35
|
+
],
|
|
36
|
+
_a[DepartmentPermissionTarget.Activities] = [
|
|
37
|
+
PermissionType.View,
|
|
38
|
+
PermissionType.Add,
|
|
39
|
+
PermissionType.Edit,
|
|
40
|
+
PermissionType.Delete,
|
|
41
|
+
],
|
|
42
|
+
_a[DepartmentPermissionTarget.Tasks] = [
|
|
43
|
+
PermissionType.View,
|
|
44
|
+
PermissionType.Add,
|
|
45
|
+
PermissionType.Edit,
|
|
46
|
+
PermissionType.Delete,
|
|
47
|
+
],
|
|
48
|
+
_a[DepartmentPermissionTarget.TasksAccessOthers] = [
|
|
49
|
+
PermissionType.View,
|
|
50
|
+
PermissionType.Edit,
|
|
51
|
+
PermissionType.Delete,
|
|
52
|
+
],
|
|
53
|
+
_a);
|
package/lib/helpers.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { DepartmentPermissionTarget, PermissionDetails, PermissionType, ProfilePermissionsDetails } from './constants';
|
|
2
|
+
export declare const checkIfProfileHasNeededPermissions: (profilePermissions: ProfilePermissionsDetails, permissionIds: number[]) => boolean;
|
|
3
|
+
export declare const getEnabledPermissionsForTarget: (permissions: PermissionDetails[], target: DepartmentPermissionTarget, type: PermissionType) => PermissionDetails[];
|
|
4
|
+
export declare const checkPermissionsForSubunits: (permissions: PermissionDetails[], target: DepartmentPermissionTarget, type: PermissionType, subunitIds: number[]) => boolean;
|
package/lib/helpers.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.checkPermissionsForSubunits = exports.getEnabledPermissionsForTarget = exports.checkIfProfileHasNeededPermissions = void 0;
|
|
4
|
+
var constants_1 = require("./constants");
|
|
5
|
+
var checkIfProfileHasNeededPermissions = function (profilePermissions, permissionIds) {
|
|
6
|
+
if (permissionIds.length === 0) {
|
|
7
|
+
throw new Error("Permission IDs can't be an empty array");
|
|
8
|
+
}
|
|
9
|
+
if (profilePermissions.type === constants_1.UserProfileType.Admin ||
|
|
10
|
+
profilePermissions.type === constants_1.UserProfileType.ApiKey) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
return permissionIds.every(function (permissionId) {
|
|
14
|
+
return profilePermissions.enabledPermissionIds.includes(permissionId);
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
exports.checkIfProfileHasNeededPermissions = checkIfProfileHasNeededPermissions;
|
|
18
|
+
var getEnabledPermissionsForTarget = function (permissions, target, type) {
|
|
19
|
+
return permissions.filter(function (permission) {
|
|
20
|
+
return permission.name.endsWith(target + "." + type);
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
exports.getEnabledPermissionsForTarget = getEnabledPermissionsForTarget;
|
|
24
|
+
var checkPermissionsForSubunits = function (permissions, target, type, subunitIds) {
|
|
25
|
+
var enabledPermissions = (0, exports.getEnabledPermissionsForTarget)(permissions, target, type);
|
|
26
|
+
return subunitIds.every(function (subunitId) {
|
|
27
|
+
return enabledPermissions.find(function (permission) { return permission.subunitId === subunitId; });
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
exports.checkPermissionsForSubunits = checkPermissionsForSubunits;
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
package/lib/permissions.d.ts
CHANGED
|
@@ -95,6 +95,9 @@ export declare const Permissions: {
|
|
|
95
95
|
Edit: number;
|
|
96
96
|
Delete: number;
|
|
97
97
|
};
|
|
98
|
+
UpdateAdvisor: {
|
|
99
|
+
Edit: number;
|
|
100
|
+
};
|
|
98
101
|
};
|
|
99
102
|
Attendance: {
|
|
100
103
|
View: number;
|
|
@@ -124,6 +127,9 @@ export declare const Permissions: {
|
|
|
124
127
|
Edit: number;
|
|
125
128
|
Delete: number;
|
|
126
129
|
};
|
|
130
|
+
UpdateAdvisor: {
|
|
131
|
+
Edit: number;
|
|
132
|
+
};
|
|
127
133
|
Checklist: {
|
|
128
134
|
View: number;
|
|
129
135
|
Add: number;
|
|
@@ -168,6 +174,9 @@ export declare const Permissions: {
|
|
|
168
174
|
Edit: number;
|
|
169
175
|
Delete: number;
|
|
170
176
|
};
|
|
177
|
+
UpdateAdvisor: {
|
|
178
|
+
Edit: number;
|
|
179
|
+
};
|
|
171
180
|
Checklist: {
|
|
172
181
|
View: number;
|
|
173
182
|
Add: number;
|
|
@@ -214,6 +223,9 @@ export declare const Permissions: {
|
|
|
214
223
|
Edit: number;
|
|
215
224
|
Delete: number;
|
|
216
225
|
};
|
|
226
|
+
UpdateAdvisor: {
|
|
227
|
+
Edit: number;
|
|
228
|
+
};
|
|
217
229
|
};
|
|
218
230
|
Orders: {
|
|
219
231
|
View: number;
|
|
@@ -243,6 +255,74 @@ export declare const Permissions: {
|
|
|
243
255
|
Edit: number;
|
|
244
256
|
Delete: number;
|
|
245
257
|
};
|
|
258
|
+
UpdateAdvisor: {
|
|
259
|
+
Edit: number;
|
|
260
|
+
};
|
|
261
|
+
StudentDetail: {
|
|
262
|
+
View: number;
|
|
263
|
+
Add: number;
|
|
264
|
+
Edit: number;
|
|
265
|
+
Delete: number;
|
|
266
|
+
};
|
|
267
|
+
Checklist: {
|
|
268
|
+
View: number;
|
|
269
|
+
Add: number;
|
|
270
|
+
Edit: number;
|
|
271
|
+
Delete: number;
|
|
272
|
+
};
|
|
273
|
+
};
|
|
274
|
+
};
|
|
275
|
+
AcademicAdvising: {
|
|
276
|
+
Students: {
|
|
277
|
+
View: number;
|
|
278
|
+
Add: number;
|
|
279
|
+
Edit: number;
|
|
280
|
+
Delete: number;
|
|
281
|
+
};
|
|
282
|
+
Advising: {
|
|
283
|
+
View: number;
|
|
284
|
+
Add: number;
|
|
285
|
+
Edit: number;
|
|
286
|
+
Delete: number;
|
|
287
|
+
};
|
|
288
|
+
};
|
|
289
|
+
Reports: {
|
|
290
|
+
View: number;
|
|
291
|
+
Add: number;
|
|
292
|
+
Edit: number;
|
|
293
|
+
Delete: number;
|
|
294
|
+
};
|
|
295
|
+
};
|
|
296
|
+
AcademicAffairs: {
|
|
297
|
+
StudentServices: {
|
|
298
|
+
Workspace: {
|
|
299
|
+
View: number;
|
|
300
|
+
Add: number;
|
|
301
|
+
Edit: number;
|
|
302
|
+
Delete: number;
|
|
303
|
+
};
|
|
304
|
+
Students: {
|
|
305
|
+
StudentServices: {
|
|
306
|
+
View: number;
|
|
307
|
+
Add: number;
|
|
308
|
+
Edit: number;
|
|
309
|
+
Delete: number;
|
|
310
|
+
};
|
|
311
|
+
AcademicPlanning: {
|
|
312
|
+
View: number;
|
|
313
|
+
Add: number;
|
|
314
|
+
Edit: number;
|
|
315
|
+
Delete: number;
|
|
316
|
+
};
|
|
317
|
+
DegreeAudit: {
|
|
318
|
+
View: number;
|
|
319
|
+
Add: number;
|
|
320
|
+
Edit: number;
|
|
321
|
+
Delete: number;
|
|
322
|
+
};
|
|
323
|
+
UpdateAdvisor: {
|
|
324
|
+
Edit: number;
|
|
325
|
+
};
|
|
246
326
|
StudentDetail: {
|
|
247
327
|
View: number;
|
|
248
328
|
Add: number;
|
|
@@ -449,6 +529,12 @@ export declare const Permissions: {
|
|
|
449
529
|
Edit: number;
|
|
450
530
|
Delete: number;
|
|
451
531
|
};
|
|
532
|
+
StudentServices: {
|
|
533
|
+
View: number;
|
|
534
|
+
Add: number;
|
|
535
|
+
Edit: number;
|
|
536
|
+
Delete: number;
|
|
537
|
+
};
|
|
452
538
|
};
|
|
453
539
|
SystemSettings: {
|
|
454
540
|
AppStore: {
|
package/lib/permissions.js
CHANGED
|
@@ -97,6 +97,9 @@ exports.Permissions = {
|
|
|
97
97
|
Add: 1352,
|
|
98
98
|
Edit: 1353,
|
|
99
99
|
Delete: 1354
|
|
100
|
+
},
|
|
101
|
+
UpdateAdvisor: {
|
|
102
|
+
Edit: 1373
|
|
100
103
|
}
|
|
101
104
|
},
|
|
102
105
|
Attendance: {
|
|
@@ -127,6 +130,9 @@ exports.Permissions = {
|
|
|
127
130
|
Edit: 1463,
|
|
128
131
|
Delete: 1464
|
|
129
132
|
},
|
|
133
|
+
UpdateAdvisor: {
|
|
134
|
+
Edit: 1473
|
|
135
|
+
},
|
|
130
136
|
Checklist: {
|
|
131
137
|
View: 5821,
|
|
132
138
|
Add: 5822,
|
|
@@ -171,6 +177,9 @@ exports.Permissions = {
|
|
|
171
177
|
Edit: 1623,
|
|
172
178
|
Delete: 1624
|
|
173
179
|
},
|
|
180
|
+
UpdateAdvisor: {
|
|
181
|
+
Edit: 1643
|
|
182
|
+
},
|
|
174
183
|
Checklist: {
|
|
175
184
|
View: 5811,
|
|
176
185
|
Add: 5812,
|
|
@@ -216,6 +225,9 @@ exports.Permissions = {
|
|
|
216
225
|
Add: 1752,
|
|
217
226
|
Edit: 1753,
|
|
218
227
|
Delete: 1754
|
|
228
|
+
},
|
|
229
|
+
UpdateAdvisor: {
|
|
230
|
+
Edit: 1773
|
|
219
231
|
}
|
|
220
232
|
},
|
|
221
233
|
Orders: {
|
|
@@ -246,6 +258,9 @@ exports.Permissions = {
|
|
|
246
258
|
Edit: 1843,
|
|
247
259
|
Delete: 1844
|
|
248
260
|
},
|
|
261
|
+
UpdateAdvisor: {
|
|
262
|
+
Edit: 1893
|
|
263
|
+
},
|
|
249
264
|
StudentDetail: {
|
|
250
265
|
View: 5851,
|
|
251
266
|
Add: 5852,
|
|
@@ -258,12 +273,6 @@ exports.Permissions = {
|
|
|
258
273
|
Edit: 5863,
|
|
259
274
|
Delete: 5864
|
|
260
275
|
}
|
|
261
|
-
},
|
|
262
|
-
Attendance: {
|
|
263
|
-
View: 1851,
|
|
264
|
-
Add: 1852,
|
|
265
|
-
Edit: 1853,
|
|
266
|
-
Delete: 1854
|
|
267
276
|
}
|
|
268
277
|
},
|
|
269
278
|
AcademicAdvising: {
|
|
@@ -287,6 +296,77 @@ exports.Permissions = {
|
|
|
287
296
|
Delete: 1884
|
|
288
297
|
}
|
|
289
298
|
},
|
|
299
|
+
AcademicAffairs: {
|
|
300
|
+
StudentServices: {
|
|
301
|
+
Workspace: {
|
|
302
|
+
View: 1911,
|
|
303
|
+
Add: 1912,
|
|
304
|
+
Edit: 1913,
|
|
305
|
+
Delete: 1914
|
|
306
|
+
},
|
|
307
|
+
Students: {
|
|
308
|
+
StudentServices: {
|
|
309
|
+
View: 1921,
|
|
310
|
+
Add: 1922,
|
|
311
|
+
Edit: 1923,
|
|
312
|
+
Delete: 1924
|
|
313
|
+
},
|
|
314
|
+
AcademicPlanning: {
|
|
315
|
+
View: 1931,
|
|
316
|
+
Add: 1932,
|
|
317
|
+
Edit: 1933,
|
|
318
|
+
Delete: 1934
|
|
319
|
+
},
|
|
320
|
+
DegreeAudit: {
|
|
321
|
+
View: 1941,
|
|
322
|
+
Add: 1942,
|
|
323
|
+
Edit: 1943,
|
|
324
|
+
Delete: 1944
|
|
325
|
+
},
|
|
326
|
+
UpdateAdvisor: {
|
|
327
|
+
Edit: 1993
|
|
328
|
+
},
|
|
329
|
+
StudentDetail: {
|
|
330
|
+
View: 6011,
|
|
331
|
+
Add: 6012,
|
|
332
|
+
Edit: 6013,
|
|
333
|
+
Delete: 6014
|
|
334
|
+
},
|
|
335
|
+
Checklist: {
|
|
336
|
+
View: 6021,
|
|
337
|
+
Add: 6022,
|
|
338
|
+
Edit: 6023,
|
|
339
|
+
Delete: 6024
|
|
340
|
+
}
|
|
341
|
+
},
|
|
342
|
+
Attendance: {
|
|
343
|
+
View: 1951,
|
|
344
|
+
Add: 1952,
|
|
345
|
+
Edit: 1953,
|
|
346
|
+
Delete: 1954
|
|
347
|
+
}
|
|
348
|
+
},
|
|
349
|
+
AcademicAdvising: {
|
|
350
|
+
Students: {
|
|
351
|
+
View: 1961,
|
|
352
|
+
Add: 1962,
|
|
353
|
+
Edit: 1963,
|
|
354
|
+
Delete: 1964
|
|
355
|
+
},
|
|
356
|
+
Advising: {
|
|
357
|
+
View: 1971,
|
|
358
|
+
Add: 1972,
|
|
359
|
+
Edit: 1973,
|
|
360
|
+
Delete: 1974
|
|
361
|
+
}
|
|
362
|
+
},
|
|
363
|
+
Reports: {
|
|
364
|
+
View: 1981,
|
|
365
|
+
Add: 1982,
|
|
366
|
+
Edit: 1983,
|
|
367
|
+
Delete: 1984
|
|
368
|
+
}
|
|
369
|
+
},
|
|
290
370
|
Settings: {
|
|
291
371
|
General: {
|
|
292
372
|
Calendar: {
|
|
@@ -451,6 +531,12 @@ exports.Permissions = {
|
|
|
451
531
|
Add: 2292,
|
|
452
532
|
Edit: 2293,
|
|
453
533
|
Delete: 2294
|
|
534
|
+
},
|
|
535
|
+
StudentServices: {
|
|
536
|
+
View: 6031,
|
|
537
|
+
Add: 6032,
|
|
538
|
+
Edit: 6033,
|
|
539
|
+
Delete: 6034
|
|
454
540
|
}
|
|
455
541
|
},
|
|
456
542
|
SystemSettings: {
|