@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.
@@ -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
- rolesOption.push({
843
- id: role.roleId,
844
- name: role.roleName,
845
- disabled: false,
846
- checked: false,
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?.forEach((role) => roles.push(role?.roleName));
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.length ? roles.join(', ') : null,
915
+ role: rolesList?.roles?.length ? rolesList?.roles?.join(', ') : null,
911
916
  classification: item.classification?.classificationId
912
917
  ? classificationDesc
913
918
  : null,
914
- memberStatus: item.memberStatus?.memberStatusDesc ?? null,
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 && this.isAdminUser() && this.getBusinessRuleOfSelectedGroup()?.isAdmin),
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
- .getMemberTypes()
2740
- .pipe(takeUntil(this.destroy$))
2741
- .subscribe({
2742
- next: (response) => {
2743
- response?.body?.forEach((option) => {
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 = { payload: { orgName: orgName } };
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
- .getMemberTypes()
3395
- .pipe(takeUntil$1(this.destroy$))
3396
- .subscribe({
3397
- next: (response) => {
3398
- response?.body?.forEach((option) => {
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 = { payload: { orgName: orgName } };
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
- .getMemberTypes()
3967
- .pipe(takeUntil(this.destroy$))
3968
- .subscribe({
3969
- next: (response) => {
3970
- response?.body?.forEach((option) => {
3971
- this.memberTypes?.push({
3972
- id: option.memberStatusId,
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() && this.groupService?.getBusinessRuleOfSelectedGroup()?.isAdmin) {
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