@ieeesa-npm/groups 0.11.9 → 0.12.1
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 +14 -21
- 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 +90 -92
- 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 = {
|
|
@@ -3725,7 +3730,6 @@ class ViewRosterComponent {
|
|
|
3725
3730
|
chipType: ChipsType.TOGGLE,
|
|
3726
3731
|
},
|
|
3727
3732
|
];
|
|
3728
|
-
this.getMemberTypes();
|
|
3729
3733
|
this.columnSchema = [
|
|
3730
3734
|
{
|
|
3731
3735
|
id: 1,
|
|
@@ -3925,6 +3929,9 @@ class ViewRosterComponent {
|
|
|
3925
3929
|
.subscribe({
|
|
3926
3930
|
next: (response) => {
|
|
3927
3931
|
this.roles = response;
|
|
3932
|
+
if (this.groupRosterType === GroupRosterType.INDIVIDUAL) {
|
|
3933
|
+
this.getMemberTypes();
|
|
3934
|
+
}
|
|
3928
3935
|
},
|
|
3929
3936
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3930
3937
|
error: (error) => {
|
|
@@ -3962,24 +3969,14 @@ class ViewRosterComponent {
|
|
|
3962
3969
|
* @memberof ViewUserRosterComponent
|
|
3963
3970
|
*/
|
|
3964
3971
|
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
|
-
},
|
|
3972
|
+
const memberTypes = this.groupService.getMemberTypes();
|
|
3973
|
+
memberTypes?.forEach((option) => {
|
|
3974
|
+
this.memberTypes?.push({
|
|
3975
|
+
id: option.roleId,
|
|
3976
|
+
name: option.roleName,
|
|
3977
|
+
checked: false,
|
|
3978
|
+
disabled: false,
|
|
3979
|
+
});
|
|
3983
3980
|
});
|
|
3984
3981
|
}
|
|
3985
3982
|
/**
|
|
@@ -4222,7 +4219,8 @@ class ViewRosterComponent {
|
|
|
4222
4219
|
openUserDeleteConfirmationModal(selectedUsers) {
|
|
4223
4220
|
const userIds = selectedUsers.map((user) => user?.userId);
|
|
4224
4221
|
if (userIds.includes(this.userInfo?.userId) &&
|
|
4225
|
-
this.groupService.isAdminUser() &&
|
|
4222
|
+
this.groupService.isAdminUser() &&
|
|
4223
|
+
this.groupService?.getBusinessRuleOfSelectedGroup()?.isAdmin) {
|
|
4226
4224
|
this.showAlertMessage(`${errors?.[1039]}`, AlertType.ERROR);
|
|
4227
4225
|
}
|
|
4228
4226
|
else {
|
|
@@ -4963,5 +4961,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4963
4961
|
* Generated bundle index. Do not edit.
|
|
4964
4962
|
*/
|
|
4965
4963
|
|
|
4966
|
-
export { CreateGroupComponent, EditUserRolesComponent, FilterType, FormStatus, GroupAction, GroupFunctionType, GroupNode, GroupRosterType, Groups, GroupsComponent, GroupsDataSource, GroupsModule, GroupsService, GroupsValidationPatterns, RosterFunctionType, TableColumnSchemaUserGroup, TreeViewComponent };
|
|
4964
|
+
export { CreateGroupComponent, EditUserRolesComponent, FilterType, FormStatus, GroupAction, GroupFunctionType, GroupNode, GroupRosterType, Groups, GroupsComponent, GroupsDataSource, GroupsModule, GroupsService, GroupsValidationPatterns, RoleType, RosterFunctionType, TableColumnSchemaUserGroup, TreeViewComponent };
|
|
4967
4965
|
//# sourceMappingURL=ieeesa-npm-groups.mjs.map
|