@ieeesa-npm/groups 0.11.9 → 0.12.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/esm2022/lib/components/add-user-roster/add-user-roster.component.mjs +15 -25
- package/esm2022/lib/components/edit-user-roles/edit-user-roles.component.mjs +14 -24
- package/esm2022/lib/components/view-roster/view-roster.component.mjs +11 -20
- package/esm2022/lib/models/add-or-edit-user-group.model.mjs +1 -1
- package/esm2022/lib/models/role-type.model.mjs +8 -0
- package/esm2022/lib/models/role.model.mjs +1 -1
- package/esm2022/lib/models/user.model.mjs +1 -1
- package/esm2022/lib/services/groups.service.mjs +44 -26
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/ieeesa-npm-groups.mjs +87 -91
- package/fesm2022/ieeesa-npm-groups.mjs.map +1 -1
- package/lib/models/add-or-edit-user-group.model.d.ts +0 -3
- package/lib/models/role-type.model.d.ts +5 -0
- package/lib/models/role.model.d.ts +2 -0
- package/lib/models/user.model.d.ts +0 -2
- package/lib/services/groups.service.d.ts +20 -14
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/esm2022/lib/models/member-type.model.mjs +0 -2
- package/lib/models/member-type.model.d.ts +0 -10
|
@@ -437,6 +437,14 @@ var PermissionType;
|
|
|
437
437
|
PermissionType["MANAGE_ALL_ROSTERS"] = "MANAGE_ALL_ROSTERS";
|
|
438
438
|
})(PermissionType || (PermissionType = {}));
|
|
439
439
|
|
|
440
|
+
/* eslint-disable no-unused-vars */
|
|
441
|
+
var RoleType;
|
|
442
|
+
(function (RoleType) {
|
|
443
|
+
RoleType["OFFICER"] = "Officer";
|
|
444
|
+
RoleType["SYSTEM"] = "System";
|
|
445
|
+
RoleType["MEMBER_LEVEL"] = "Member Level";
|
|
446
|
+
})(RoleType || (RoleType = {}));
|
|
447
|
+
|
|
440
448
|
class GroupPermissionsMapService {
|
|
441
449
|
constructor() {
|
|
442
450
|
this.groupPermissions = [
|
|
@@ -838,15 +846,22 @@ class GroupsService {
|
|
|
838
846
|
.getData(`${this.apiBaseUrl}/groups/config/rolesByGroupType/${groupTypeId}`)
|
|
839
847
|
.pipe(map((response) => {
|
|
840
848
|
const rolesOption = [];
|
|
849
|
+
const memberTypes = [];
|
|
841
850
|
response?.body?.forEach((role) => {
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
851
|
+
if (role?.roleTypeName === RoleType.MEMBER_LEVEL) {
|
|
852
|
+
memberTypes.push(role);
|
|
853
|
+
}
|
|
854
|
+
else {
|
|
855
|
+
rolesOption.push({
|
|
856
|
+
id: role.roleId,
|
|
857
|
+
name: role.roleName,
|
|
858
|
+
disabled: false,
|
|
859
|
+
checked: false,
|
|
860
|
+
});
|
|
861
|
+
}
|
|
848
862
|
});
|
|
849
863
|
this.setGroupTypeUserRoles(rolesOption);
|
|
864
|
+
this.setMemberTypes(memberTypes);
|
|
850
865
|
return rolesOption;
|
|
851
866
|
}), catchError((errorRes) => {
|
|
852
867
|
throw errorRes;
|
|
@@ -866,20 +881,6 @@ class GroupsService {
|
|
|
866
881
|
throw errorRes;
|
|
867
882
|
}));
|
|
868
883
|
}
|
|
869
|
-
/**
|
|
870
|
-
* Fetches the member types master data from configuration and returns.
|
|
871
|
-
* @return {Observable<MemberTypeResponse>}
|
|
872
|
-
* @memberof GroupsService
|
|
873
|
-
*/
|
|
874
|
-
getMemberTypes() {
|
|
875
|
-
return this.httpService
|
|
876
|
-
.getData(`${this.apiBaseUrl}/groups/roster/memberStatus`)
|
|
877
|
-
.pipe(map((response) => {
|
|
878
|
-
return response;
|
|
879
|
-
}), catchError((errorRes) => {
|
|
880
|
-
throw errorRes;
|
|
881
|
-
}));
|
|
882
|
-
}
|
|
883
884
|
/**
|
|
884
885
|
* Returns the true if logged in user is admin.
|
|
885
886
|
* @return {boolean}
|
|
@@ -897,24 +898,32 @@ class GroupsService {
|
|
|
897
898
|
transformUserRolesNameAsString(response) {
|
|
898
899
|
const users = [];
|
|
899
900
|
response?.body?.forEach((item) => {
|
|
900
|
-
const roles = [];
|
|
901
901
|
const classificationDesc = item.classification?.classificationName +
|
|
902
902
|
' (' +
|
|
903
903
|
item.classification?.classificationDesc +
|
|
904
904
|
')';
|
|
905
|
-
item?.rolesList?.
|
|
905
|
+
const rolesList = item?.rolesList?.reduce(
|
|
906
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
907
|
+
(roleList, role) => {
|
|
908
|
+
roleList[role.roleTypeName === RoleType.MEMBER_LEVEL ? 'memberType' : 'roles'].push(role?.roleName);
|
|
909
|
+
return roleList;
|
|
910
|
+
}, { memberType: [], roles: [] });
|
|
906
911
|
users.push({
|
|
907
912
|
userId: item.userId,
|
|
908
913
|
name: item.name,
|
|
909
914
|
email: item.email,
|
|
910
|
-
role: roles
|
|
915
|
+
role: rolesList?.roles?.length ? rolesList?.roles?.join(', ') : null,
|
|
911
916
|
classification: item.classification?.classificationId
|
|
912
917
|
? classificationDesc
|
|
913
918
|
: null,
|
|
914
|
-
memberStatus:
|
|
919
|
+
memberStatus: rolesList?.memberType?.length
|
|
920
|
+
? rolesList?.memberType[0]
|
|
921
|
+
: null,
|
|
915
922
|
organization: item.organization?.orgName ?? null,
|
|
916
923
|
employer: item.employer?.orgName ?? null,
|
|
917
|
-
canDelete: !(item?.userId === this.userInfo?.userId &&
|
|
924
|
+
canDelete: !(item?.userId === this.userInfo?.userId &&
|
|
925
|
+
this.isAdminUser() &&
|
|
926
|
+
this.getBusinessRuleOfSelectedGroup()?.isAdmin),
|
|
918
927
|
});
|
|
919
928
|
});
|
|
920
929
|
return users;
|
|
@@ -1173,6 +1182,22 @@ class GroupsService {
|
|
|
1173
1182
|
getParentGroupChangeStatus() {
|
|
1174
1183
|
return this.isParentGroupChanged;
|
|
1175
1184
|
}
|
|
1185
|
+
/**
|
|
1186
|
+
* Sets the member types.
|
|
1187
|
+
* @param {Role[]} memberTypes
|
|
1188
|
+
* @memberof GroupsService
|
|
1189
|
+
*/
|
|
1190
|
+
setMemberTypes(memberTypes) {
|
|
1191
|
+
this.memberTypes = memberTypes;
|
|
1192
|
+
}
|
|
1193
|
+
/**
|
|
1194
|
+
* Returns the member types.
|
|
1195
|
+
* @return {Role[]}
|
|
1196
|
+
* @memberof GroupsService
|
|
1197
|
+
*/
|
|
1198
|
+
getMemberTypes() {
|
|
1199
|
+
return this.memberTypes;
|
|
1200
|
+
}
|
|
1176
1201
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GroupsService, deps: [{ token: i2.HttpService }, { token: UserPermissionsService }, { token: GroupPermissionsMapService }, { token: i2.AlertsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1177
1202
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GroupsService, providedIn: 'root' }); }
|
|
1178
1203
|
}
|
|
@@ -2648,11 +2673,6 @@ class EditUserRolesComponent {
|
|
|
2648
2673
|
email: this.selectedUserInfo?.email,
|
|
2649
2674
|
roles: this.selectedUserRoleIds,
|
|
2650
2675
|
groupId: this.groupsService.selectedGroupInfo?.groupId,
|
|
2651
|
-
memberStatus: {
|
|
2652
|
-
memberStatusId: formData?.memberType
|
|
2653
|
-
? formData?.memberType?.id
|
|
2654
|
-
: '',
|
|
2655
|
-
},
|
|
2656
2676
|
organization: {
|
|
2657
2677
|
orgId: formData?.representingOrg?.id ?? '',
|
|
2658
2678
|
orgName: formData?.representingOrg?.name ?? formData?.representingOrg,
|
|
@@ -2665,6 +2685,9 @@ class EditUserRolesComponent {
|
|
|
2665
2685
|
? formData?.classification?.id
|
|
2666
2686
|
: '',
|
|
2667
2687
|
};
|
|
2688
|
+
if (formData?.memberType &&
|
|
2689
|
+
!payload.payload.roles?.includes(formData?.memberType?.id))
|
|
2690
|
+
payload.payload.roles?.push(formData?.memberType?.id);
|
|
2668
2691
|
}
|
|
2669
2692
|
else
|
|
2670
2693
|
payload = {
|
|
@@ -2735,24 +2758,14 @@ class EditUserRolesComponent {
|
|
|
2735
2758
|
* @memberof EditUserRolesComponent
|
|
2736
2759
|
*/
|
|
2737
2760
|
getMemberTypes() {
|
|
2738
|
-
this.groupsService
|
|
2739
|
-
|
|
2740
|
-
.
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
this.memberTypes?.push({
|
|
2745
|
-
id: option.memberStatusId,
|
|
2746
|
-
name: option.memberStatusDesc,
|
|
2747
|
-
});
|
|
2748
|
-
});
|
|
2749
|
-
this.updateFormControlOptions('memberType', 'dropdownOptions', this.memberTypes, this.selectedUserInfo?.memberStatus);
|
|
2750
|
-
},
|
|
2751
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2752
|
-
error: (error) => {
|
|
2753
|
-
this.handleErrors(error);
|
|
2754
|
-
},
|
|
2761
|
+
const memberTypes = this.groupsService.getMemberTypes();
|
|
2762
|
+
memberTypes?.forEach((option) => {
|
|
2763
|
+
this.memberTypes?.push({
|
|
2764
|
+
id: option.roleId,
|
|
2765
|
+
name: option.roleName,
|
|
2766
|
+
});
|
|
2755
2767
|
});
|
|
2768
|
+
this.updateFormControlOptions('memberType', 'dropdownOptions', this.memberTypes, this.selectedUserInfo?.memberStatus);
|
|
2756
2769
|
}
|
|
2757
2770
|
/**
|
|
2758
2771
|
* Gets the representing Organizations.
|
|
@@ -2766,7 +2779,9 @@ class EditUserRolesComponent {
|
|
|
2766
2779
|
this.updateFormControlOptions('representingOrg', 'autoCompleteOptions', []);
|
|
2767
2780
|
if (!orgName)
|
|
2768
2781
|
return;
|
|
2769
|
-
const orgRequestPayload = {
|
|
2782
|
+
const orgRequestPayload = {
|
|
2783
|
+
payload: { orgName: orgName },
|
|
2784
|
+
};
|
|
2770
2785
|
this.groupsService
|
|
2771
2786
|
.getOrganizations(orgRequestPayload)
|
|
2772
2787
|
.pipe(takeUntil(this.destroy$))
|
|
@@ -3390,24 +3405,14 @@ class AddUserRosterComponent {
|
|
|
3390
3405
|
* @memberof AddUserRosterComponent
|
|
3391
3406
|
*/
|
|
3392
3407
|
getMemberTypes() {
|
|
3393
|
-
this.groupService
|
|
3394
|
-
|
|
3395
|
-
.
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
|
|
3399
|
-
this.memberTypes?.push({
|
|
3400
|
-
id: option.memberStatusId,
|
|
3401
|
-
name: option.memberStatusDesc,
|
|
3402
|
-
});
|
|
3403
|
-
});
|
|
3404
|
-
this.updateFormControlOptions('memberType', 'dropdownOptions', this.memberTypes);
|
|
3405
|
-
},
|
|
3406
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3407
|
-
error: (error) => {
|
|
3408
|
-
this.handleErrors(error);
|
|
3409
|
-
},
|
|
3408
|
+
const memberTypes = this.groupService.getMemberTypes();
|
|
3409
|
+
memberTypes?.forEach((option) => {
|
|
3410
|
+
this.memberTypes?.push({
|
|
3411
|
+
id: option.roleId,
|
|
3412
|
+
name: option.roleName,
|
|
3413
|
+
});
|
|
3410
3414
|
});
|
|
3415
|
+
this.updateFormControlOptions('memberType', 'dropdownOptions', this.memberTypes);
|
|
3411
3416
|
}
|
|
3412
3417
|
/**
|
|
3413
3418
|
* Gets the representing Organizations.
|
|
@@ -3421,7 +3426,9 @@ class AddUserRosterComponent {
|
|
|
3421
3426
|
this.updateFormControlOptions('representingOrg', 'autoCompleteOptions', []);
|
|
3422
3427
|
if (!orgName)
|
|
3423
3428
|
return;
|
|
3424
|
-
const orgRequestPayload = {
|
|
3429
|
+
const orgRequestPayload = {
|
|
3430
|
+
payload: { orgName: orgName },
|
|
3431
|
+
};
|
|
3425
3432
|
this.groupService
|
|
3426
3433
|
.getOrganizations(orgRequestPayload)
|
|
3427
3434
|
.pipe(takeUntil$1(this.destroy$))
|
|
@@ -3503,11 +3510,6 @@ class AddUserRosterComponent {
|
|
|
3503
3510
|
: formData?.emailSearch,
|
|
3504
3511
|
roles: this.selectedUserRoles,
|
|
3505
3512
|
groupId: this.groupService.selectedGroupInfo?.groupId,
|
|
3506
|
-
memberStatus: {
|
|
3507
|
-
memberStatusId: formData?.memberType
|
|
3508
|
-
? formData?.memberType?.id
|
|
3509
|
-
: '',
|
|
3510
|
-
},
|
|
3511
3513
|
organization: {
|
|
3512
3514
|
orgId: formData?.representingOrg?.id ?? '',
|
|
3513
3515
|
orgName: formData?.representingOrg?.name ?? formData?.representingOrg,
|
|
@@ -3520,6 +3522,9 @@ class AddUserRosterComponent {
|
|
|
3520
3522
|
? formData?.classification?.id
|
|
3521
3523
|
: '',
|
|
3522
3524
|
};
|
|
3525
|
+
if (formData?.memberType &&
|
|
3526
|
+
!payload.payload.roles?.includes(formData?.memberType?.id))
|
|
3527
|
+
payload.payload.roles?.push(formData?.memberType?.id);
|
|
3523
3528
|
}
|
|
3524
3529
|
else
|
|
3525
3530
|
payload = {
|
|
@@ -3962,24 +3967,14 @@ class ViewRosterComponent {
|
|
|
3962
3967
|
* @memberof ViewUserRosterComponent
|
|
3963
3968
|
*/
|
|
3964
3969
|
getMemberTypes() {
|
|
3965
|
-
this.groupService
|
|
3966
|
-
|
|
3967
|
-
.
|
|
3968
|
-
|
|
3969
|
-
|
|
3970
|
-
|
|
3971
|
-
|
|
3972
|
-
|
|
3973
|
-
name: option.memberStatusDesc,
|
|
3974
|
-
checked: false,
|
|
3975
|
-
disabled: false,
|
|
3976
|
-
});
|
|
3977
|
-
});
|
|
3978
|
-
},
|
|
3979
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3980
|
-
error: (error) => {
|
|
3981
|
-
this.handleErrors(error);
|
|
3982
|
-
},
|
|
3970
|
+
const memberTypes = this.groupService.getMemberTypes();
|
|
3971
|
+
memberTypes?.forEach((option) => {
|
|
3972
|
+
this.memberTypes?.push({
|
|
3973
|
+
id: option.roleId,
|
|
3974
|
+
name: option.roleName,
|
|
3975
|
+
checked: false,
|
|
3976
|
+
disabled: false,
|
|
3977
|
+
});
|
|
3983
3978
|
});
|
|
3984
3979
|
}
|
|
3985
3980
|
/**
|
|
@@ -4222,7 +4217,8 @@ class ViewRosterComponent {
|
|
|
4222
4217
|
openUserDeleteConfirmationModal(selectedUsers) {
|
|
4223
4218
|
const userIds = selectedUsers.map((user) => user?.userId);
|
|
4224
4219
|
if (userIds.includes(this.userInfo?.userId) &&
|
|
4225
|
-
this.groupService.isAdminUser() &&
|
|
4220
|
+
this.groupService.isAdminUser() &&
|
|
4221
|
+
this.groupService?.getBusinessRuleOfSelectedGroup()?.isAdmin) {
|
|
4226
4222
|
this.showAlertMessage(`${errors?.[1039]}`, AlertType.ERROR);
|
|
4227
4223
|
}
|
|
4228
4224
|
else {
|
|
@@ -4963,5 +4959,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4963
4959
|
* Generated bundle index. Do not edit.
|
|
4964
4960
|
*/
|
|
4965
4961
|
|
|
4966
|
-
export { CreateGroupComponent, EditUserRolesComponent, FilterType, FormStatus, GroupAction, GroupFunctionType, GroupNode, GroupRosterType, Groups, GroupsComponent, GroupsDataSource, GroupsModule, GroupsService, GroupsValidationPatterns, RosterFunctionType, TableColumnSchemaUserGroup, TreeViewComponent };
|
|
4962
|
+
export { CreateGroupComponent, EditUserRolesComponent, FilterType, FormStatus, GroupAction, GroupFunctionType, GroupNode, GroupRosterType, Groups, GroupsComponent, GroupsDataSource, GroupsModule, GroupsService, GroupsValidationPatterns, RoleType, RosterFunctionType, TableColumnSchemaUserGroup, TreeViewComponent };
|
|
4967
4963
|
//# sourceMappingURL=ieeesa-npm-groups.mjs.map
|