@ieeesa-npm/groups 0.7.1 → 0.7.3
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/esm2022/lib/assets/constants.json +54 -11
- package/esm2022/lib/assets/form-validations.mjs +4 -1
- package/esm2022/lib/components/add-user-roster/add-user-roster.component.mjs +259 -22
- package/esm2022/lib/components/create-group/create-group.component.mjs +3 -3
- package/esm2022/lib/components/edit-user-roles/edit-user-roles.component.mjs +267 -33
- package/esm2022/lib/components/tree-view/tree-view.component.mjs +20 -5
- package/esm2022/lib/components/view-roster/view-roster.component.mjs +458 -98
- package/esm2022/lib/groups.component.mjs +39 -19
- package/esm2022/lib/models/add-or-edit-user-group.model.mjs +1 -1
- package/esm2022/lib/models/classification.model.mjs +2 -0
- package/esm2022/lib/models/filter-type.model.mjs +8 -0
- package/esm2022/lib/models/group-permissions.model.mjs +2 -0
- package/esm2022/lib/models/group-types.model.mjs +1 -1
- package/esm2022/lib/models/group-user-info.model.mjs +1 -1
- package/esm2022/lib/models/member-type.model.mjs +2 -0
- package/esm2022/lib/models/organization.model.mjs +2 -0
- package/esm2022/lib/models/permission-type.model.mjs +15 -0
- package/esm2022/lib/models/roster-type.model.mjs +7 -0
- package/esm2022/lib/models/table-column-schema-user-group.model.mjs +12 -0
- package/esm2022/lib/models/user.model.mjs +1 -1
- package/esm2022/lib/services/group-permissions-map-service.mjs +71 -0
- package/esm2022/lib/services/groups.service.mjs +139 -16
- package/esm2022/lib/services/user-permissions.service.mjs +43 -0
- package/esm2022/public-api.mjs +7 -1
- package/fesm2022/ieeesa-npm-groups.mjs +1367 -195
- package/fesm2022/ieeesa-npm-groups.mjs.map +1 -1
- package/lib/assets/form-validations.d.ts +2 -0
- package/lib/components/add-user-roster/add-user-roster.component.d.ts +58 -1
- package/lib/components/edit-user-roles/edit-user-roles.component.d.ts +64 -11
- package/lib/components/tree-view/tree-view.component.d.ts +5 -1
- package/lib/components/view-roster/view-roster.component.d.ts +67 -8
- package/lib/groups.component.d.ts +17 -3
- package/lib/models/add-or-edit-user-group.model.d.ts +24 -8
- package/lib/models/classification.model.d.ts +10 -0
- package/lib/models/filter-type.model.d.ts +5 -0
- package/lib/models/group-permissions.model.d.ts +9 -0
- package/lib/models/group-types.model.d.ts +1 -0
- package/lib/models/group-user-info.model.d.ts +3 -0
- package/lib/models/member-type.model.d.ts +10 -0
- package/lib/models/organization.model.d.ts +9 -0
- package/lib/models/permission-type.model.d.ts +12 -0
- package/lib/models/roster-type.model.d.ts +4 -0
- package/lib/models/table-column-schema-user-group.model.d.ts +9 -0
- package/lib/models/user.model.d.ts +20 -5
- package/lib/services/group-permissions-map-service.d.ts +8 -0
- package/lib/services/groups.service.d.ts +109 -18
- package/lib/services/user-permissions.service.d.ts +25 -0
- package/package.json +4 -4
- package/public-api.d.ts +6 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./group-permissions-map-service";
|
|
4
|
+
export class UserPermissionsService {
|
|
5
|
+
// eslint-disable-next-line no-unused-vars, no-empty-function
|
|
6
|
+
constructor(groupPermissionsService) {
|
|
7
|
+
this.groupPermissionsService = groupPermissionsService;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Returns access provision for the passed action/feature based on whether the signed in user has appropriate permission.
|
|
11
|
+
* @param {PermissionType} permission
|
|
12
|
+
* @param {GroupPermission[]} userGroupPermissions
|
|
13
|
+
* @return {boolean}
|
|
14
|
+
* @memberof UserPermissionsService
|
|
15
|
+
*/
|
|
16
|
+
validateAccessPermission(permission, userGroupPermissions) {
|
|
17
|
+
const isPermitted = userGroupPermissions
|
|
18
|
+
? userGroupPermissions?.some(({ permissionType }) => permissionType === permission)
|
|
19
|
+
: false;
|
|
20
|
+
return isPermitted;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Filters signed in user group permissions from entire group permissions.
|
|
24
|
+
* @param {UserPermissions[]} userPermissions
|
|
25
|
+
* @return {GroupPermissions[]}
|
|
26
|
+
* @memberof UserPermissionsService
|
|
27
|
+
*/
|
|
28
|
+
filterUserGroupPermissions(userPermissions) {
|
|
29
|
+
const userGroupPermissions = this.groupPermissionsService
|
|
30
|
+
?.getGroupPermissions()
|
|
31
|
+
?.filter((permission) => userPermissions?.find(({ permissionId }) => permission?.permissionId === permissionId));
|
|
32
|
+
return userGroupPermissions;
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserPermissionsService, deps: [{ token: i1.GroupPermissionsMapService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserPermissionsService, providedIn: 'root' }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserPermissionsService, decorators: [{
|
|
38
|
+
type: Injectable,
|
|
39
|
+
args: [{
|
|
40
|
+
providedIn: 'root',
|
|
41
|
+
}]
|
|
42
|
+
}], ctorParameters: function () { return [{ type: i1.GroupPermissionsMapService }]; } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wZXJtaXNzaW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3JvdXBzL3NyYy9saWIvc2VydmljZXMvdXNlci1wZXJtaXNzaW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVczQyxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLDZEQUE2RDtJQUM3RCxZQUFvQix1QkFBbUQ7UUFBbkQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUE0QjtJQUFHLENBQUM7SUFFM0U7Ozs7OztPQU1HO0lBQ0gsd0JBQXdCLENBQ3RCLFVBQTBCLEVBQzFCLG9CQUF1QztRQUV2QyxNQUFNLFdBQVcsR0FBRyxvQkFBb0I7WUFDdEMsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FDeEIsQ0FBQyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxjQUFjLEtBQUssVUFBVSxDQUN0RDtZQUNILENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDVixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCwwQkFBMEIsQ0FBQyxlQUFpQztRQUMxRCxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyx1QkFBdUI7WUFDdkQsRUFBRSxtQkFBbUIsRUFBRTtZQUN2QixFQUFFLE1BQU0sQ0FBQyxDQUFDLFVBQTJCLEVBQUUsRUFBRSxDQUN2QyxlQUFlLEVBQUUsSUFBSSxDQUNuQixDQUFDLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsRUFBRSxZQUFZLEtBQUssWUFBWSxDQUNoRSxDQUNGLENBQUM7UUFDSixPQUFPLG9CQUFvQixDQUFDO0lBQzlCLENBQUM7K0dBdENVLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07OzRGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBlcm1pc3Npb25UeXBlIH0gZnJvbSAnLi4vbW9kZWxzL3Blcm1pc3Npb24tdHlwZS5tb2RlbCc7XHJcbmltcG9ydCB7IEdyb3VwUGVybWlzc2lvbnNNYXBTZXJ2aWNlIH0gZnJvbSAnLi9ncm91cC1wZXJtaXNzaW9ucy1tYXAtc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgR3JvdXBQZXJtaXNzaW9uLFxyXG4gIFVzZXJQZXJtaXNzaW9uLFxyXG59IGZyb20gJy4uL21vZGVscy9ncm91cC1wZXJtaXNzaW9ucy5tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlclBlcm1pc3Npb25zU2VydmljZSB7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzLCBuby1lbXB0eS1mdW5jdGlvblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZ3JvdXBQZXJtaXNzaW9uc1NlcnZpY2U6IEdyb3VwUGVybWlzc2lvbnNNYXBTZXJ2aWNlKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGFjY2VzcyBwcm92aXNpb24gZm9yIHRoZSBwYXNzZWQgYWN0aW9uL2ZlYXR1cmUgYmFzZWQgb24gd2hldGhlciB0aGUgc2lnbmVkIGluIHVzZXIgaGFzIGFwcHJvcHJpYXRlIHBlcm1pc3Npb24uXHJcbiAgICogQHBhcmFtIHtQZXJtaXNzaW9uVHlwZX0gcGVybWlzc2lvblxyXG4gICAqIEBwYXJhbSB7R3JvdXBQZXJtaXNzaW9uW119IHVzZXJHcm91cFBlcm1pc3Npb25zXHJcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cclxuICAgKiBAbWVtYmVyb2YgVXNlclBlcm1pc3Npb25zU2VydmljZVxyXG4gICAqL1xyXG4gIHZhbGlkYXRlQWNjZXNzUGVybWlzc2lvbihcclxuICAgIHBlcm1pc3Npb246IFBlcm1pc3Npb25UeXBlLFxyXG4gICAgdXNlckdyb3VwUGVybWlzc2lvbnM6IEdyb3VwUGVybWlzc2lvbltdXHJcbiAgKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBpc1Blcm1pdHRlZCA9IHVzZXJHcm91cFBlcm1pc3Npb25zXHJcbiAgICAgID8gdXNlckdyb3VwUGVybWlzc2lvbnM/LnNvbWUoXHJcbiAgICAgICAgICAoeyBwZXJtaXNzaW9uVHlwZSB9KSA9PiBwZXJtaXNzaW9uVHlwZSA9PT0gcGVybWlzc2lvblxyXG4gICAgICAgIClcclxuICAgICAgOiBmYWxzZTtcclxuICAgIHJldHVybiBpc1Blcm1pdHRlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbHRlcnMgc2lnbmVkIGluIHVzZXIgZ3JvdXAgcGVybWlzc2lvbnMgZnJvbSBlbnRpcmUgZ3JvdXAgcGVybWlzc2lvbnMuXHJcbiAgICogQHBhcmFtIHtVc2VyUGVybWlzc2lvbnNbXX0gdXNlclBlcm1pc3Npb25zXHJcbiAgICogQHJldHVybiB7R3JvdXBQZXJtaXNzaW9uc1tdfVxyXG4gICAqIEBtZW1iZXJvZiBVc2VyUGVybWlzc2lvbnNTZXJ2aWNlXHJcbiAgICovXHJcbiAgZmlsdGVyVXNlckdyb3VwUGVybWlzc2lvbnModXNlclBlcm1pc3Npb25zOiBVc2VyUGVybWlzc2lvbltdKTogR3JvdXBQZXJtaXNzaW9uW10ge1xyXG4gICAgY29uc3QgdXNlckdyb3VwUGVybWlzc2lvbnMgPSB0aGlzLmdyb3VwUGVybWlzc2lvbnNTZXJ2aWNlXHJcbiAgICAgID8uZ2V0R3JvdXBQZXJtaXNzaW9ucygpXHJcbiAgICAgID8uZmlsdGVyKChwZXJtaXNzaW9uOiBHcm91cFBlcm1pc3Npb24pID0+XHJcbiAgICAgICAgdXNlclBlcm1pc3Npb25zPy5maW5kKFxyXG4gICAgICAgICAgKHsgcGVybWlzc2lvbklkIH0pID0+IHBlcm1pc3Npb24/LnBlcm1pc3Npb25JZCA9PT0gcGVybWlzc2lvbklkXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgcmV0dXJuIHVzZXJHcm91cFBlcm1pc3Npb25zO1xyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -17,7 +17,13 @@ export * from './lib/models/delete-group.model';
|
|
|
17
17
|
export * from './lib/models/group-user-info.model';
|
|
18
18
|
export * from './lib/models/add-or-edit-user-group.model';
|
|
19
19
|
export * from './lib/models/roster-function-type.model';
|
|
20
|
+
export * from './lib/models/classification.model';
|
|
21
|
+
export * from './lib/models/filter-type.model';
|
|
22
|
+
export * from './lib/models/organization.model';
|
|
23
|
+
export * from './lib/models/member-type.model';
|
|
24
|
+
export * from './lib/models/roster-type.model';
|
|
25
|
+
export * from './lib/models/table-column-schema-user-group.model';
|
|
20
26
|
export * from './lib/services/groups.service';
|
|
21
27
|
export * from './lib/assets/form-validations';
|
|
22
28
|
export * from './lib/groups.module';
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2dyb3Vwcy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsbURBQW1ELENBQUM7QUFFbEUsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZ3JvdXBzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NyZWF0ZS1ncm91cC9jcmVhdGUtZ3JvdXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90cmVlLXZpZXcvdHJlZS12aWV3LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZWRpdC11c2VyLXJvbGVzL2VkaXQtdXNlci1yb2xlcy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncm91cHMuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jcmVhdGUtZ3JvdXAubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZ3JvdXAtYWN0aW9uLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2dyb3VwLWZ1bmN0aW9uLXR5cGUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZ3JvdXAtaW5mby5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9ncm91cC10eXBlcy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy92aWV3LWdyb3VwLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VkaXQtZ3JvdXAubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZm9ybS1zdGF0dXMubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVsZXRlLWdyb3VwLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2dyb3VwLXVzZXItaW5mby5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9hZGQtb3ItZWRpdC11c2VyLWdyb3VwLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Jvc3Rlci1mdW5jdGlvbi10eXBlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NsYXNzaWZpY2F0aW9uLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpbHRlci10eXBlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL29yZ2FuaXphdGlvbi5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9tZW1iZXItdHlwZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9yb3N0ZXItdHlwZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90YWJsZS1jb2x1bW4tc2NoZW1hLXVzZXItZ3JvdXAubW9kZWwnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZ3JvdXBzLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXNzZXRzL2Zvcm0tdmFsaWRhdGlvbnMnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JvdXBzLm1vZHVsZSc7XHJcbiJdfQ==
|