@edular/permissions 7.1.1 → 7.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.
@@ -23,9 +23,15 @@ export declare enum DepartmentPermissionTarget {
23
23
  Activities = "activities",
24
24
  Tasks = "tasks",
25
25
  TasksAccessOthers = "tasks.access_others",
26
- TasksReassign = "tasks.reassign"
26
+ TasksReassign = "tasks.reassign",
27
+ Director = "director",
28
+ Chat = "chat"
27
29
  }
28
30
  export declare const DepartmentPermissionTargetTypes: {
31
+ director: PermissionType[];
32
+ chat: PermissionType[];
33
+ };
34
+ export declare const SubunitPermissionTargetTypes: {
29
35
  "documents.list_view": PermissionType[];
30
36
  "documents.detail_view": PermissionType[];
31
37
  activities: PermissionType[];
package/lib/constants.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- var _a;
2
+ var _a, _b;
3
3
  exports.__esModule = true;
4
- exports.DepartmentPermissionTargetTypes = exports.DepartmentPermissionTarget = exports.PermissionType = exports.UserProfileType = void 0;
4
+ exports.SubunitPermissionTargetTypes = exports.DepartmentPermissionTargetTypes = exports.DepartmentPermissionTarget = exports.PermissionType = exports.UserProfileType = void 0;
5
5
  var UserProfileType;
6
6
  (function (UserProfileType) {
7
7
  UserProfileType["ApiKey"] = "api_key";
@@ -25,33 +25,47 @@ var DepartmentPermissionTarget;
25
25
  DepartmentPermissionTarget["Tasks"] = "tasks";
26
26
  DepartmentPermissionTarget["TasksAccessOthers"] = "tasks.access_others";
27
27
  DepartmentPermissionTarget["TasksReassign"] = "tasks.reassign";
28
+ DepartmentPermissionTarget["Director"] = "director";
29
+ DepartmentPermissionTarget["Chat"] = "chat";
28
30
  })(DepartmentPermissionTarget = exports.DepartmentPermissionTarget || (exports.DepartmentPermissionTarget = {}));
29
31
  exports.DepartmentPermissionTargetTypes = (_a = {},
30
- _a[DepartmentPermissionTarget.DocumentsListView] = [PermissionType.View],
31
- _a[DepartmentPermissionTarget.DocumentsDetailView] = [
32
+ _a[DepartmentPermissionTarget.Director] = [
33
+ PermissionType.View,
34
+ PermissionType.Add,
35
+ PermissionType.Edit,
36
+ PermissionType.Delete
37
+ ],
38
+ _a[DepartmentPermissionTarget.Chat] = [
39
+ PermissionType.View,
40
+ PermissionType.Add
41
+ ],
42
+ _a);
43
+ exports.SubunitPermissionTargetTypes = (_b = {},
44
+ _b[DepartmentPermissionTarget.DocumentsListView] = [PermissionType.View],
45
+ _b[DepartmentPermissionTarget.DocumentsDetailView] = [
32
46
  PermissionType.View,
33
47
  PermissionType.Add,
34
48
  PermissionType.Edit,
35
49
  PermissionType.Delete,
36
50
  ],
37
- _a[DepartmentPermissionTarget.Activities] = [
51
+ _b[DepartmentPermissionTarget.Activities] = [
38
52
  PermissionType.View,
39
53
  PermissionType.Add,
40
54
  PermissionType.Edit,
41
55
  PermissionType.Delete,
42
56
  ],
43
- _a[DepartmentPermissionTarget.Tasks] = [
57
+ _b[DepartmentPermissionTarget.Tasks] = [
44
58
  PermissionType.View,
45
59
  PermissionType.Add,
46
60
  PermissionType.Edit,
47
61
  PermissionType.Delete,
48
62
  ],
49
- _a[DepartmentPermissionTarget.TasksAccessOthers] = [
63
+ _b[DepartmentPermissionTarget.TasksAccessOthers] = [
50
64
  PermissionType.View,
51
65
  PermissionType.Edit,
52
66
  PermissionType.Delete,
53
67
  ],
54
- _a[DepartmentPermissionTarget.TasksReassign] = [
68
+ _b[DepartmentPermissionTarget.TasksReassign] = [
55
69
  PermissionType.Edit,
56
70
  ],
57
- _a);
71
+ _b);
package/lib/helpers.d.ts CHANGED
@@ -2,3 +2,4 @@ import { DepartmentPermissionTarget, PermissionDetails, PermissionType, ProfileP
2
2
  export declare const checkIfProfileHasNeededPermissions: (profilePermissions: ProfilePermissionsDetails, permissionIds: number[]) => boolean;
3
3
  export declare const getEnabledPermissionsForTarget: (permissions: PermissionDetails[], target: DepartmentPermissionTarget, type: PermissionType) => PermissionDetails[];
4
4
  export declare const checkPermissionsForSubunits: (permissions: PermissionDetails[], target: DepartmentPermissionTarget, type: PermissionType, subunitIds: number[]) => boolean;
5
+ export declare const checkPermissionsForDepartments: (permissions: PermissionDetails[], target: DepartmentPermissionTarget, type: PermissionType, departmentIds: number[]) => boolean;
package/lib/helpers.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  exports.__esModule = true;
3
- exports.checkPermissionsForSubunits = exports.getEnabledPermissionsForTarget = exports.checkIfProfileHasNeededPermissions = void 0;
3
+ exports.checkPermissionsForDepartments = exports.checkPermissionsForSubunits = exports.getEnabledPermissionsForTarget = exports.checkIfProfileHasNeededPermissions = void 0;
4
4
  var constants_1 = require("./constants");
5
5
  var checkIfProfileHasNeededPermissions = function (profilePermissions, permissionIds) {
6
6
  if (permissionIds.length === 0) {
@@ -28,3 +28,10 @@ var checkPermissionsForSubunits = function (permissions, target, type, subunitId
28
28
  });
29
29
  };
30
30
  exports.checkPermissionsForSubunits = checkPermissionsForSubunits;
31
+ var checkPermissionsForDepartments = function (permissions, target, type, departmentIds) {
32
+ var enabledPermissions = (0, exports.getEnabledPermissionsForTarget)(permissions, target, type);
33
+ return departmentIds.every(function (departmentId) {
34
+ return enabledPermissions.find(function (permission) { return permission.departmentId === departmentId; });
35
+ });
36
+ };
37
+ exports.checkPermissionsForDepartments = checkPermissionsForDepartments;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edular/permissions",
3
- "version": "7.1.1",
3
+ "version": "7.2.0",
4
4
  "author": "Edular",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",