• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

DataBiosphere / consent / #5834

02 May 2025 06:55PM UTC coverage: 78.772% (+0.04%) from 78.733%
#5834

push

web-flow
[DT-1601] Add a check that all datasets in a progress report must be approved (#2510)

5 of 5 new or added lines in 1 file covered. (100.0%)

54 existing lines in 6 files now uncovered.

10075 of 12790 relevant lines covered (78.77%)

0.79 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

97.78
/src/main/java/org/broadinstitute/consent/http/enumeration/UserRoles.java
1
package org.broadinstitute.consent.http.enumeration;
2

3
import java.util.EnumSet;
4
import java.util.Objects;
5
import java.util.Set;
6
import org.broadinstitute.consent.http.models.UserRole;
7
import org.broadinstitute.consent.http.resources.Resource;
8

9
public enum UserRoles {
1✔
10

11
  MEMBER(Resource.MEMBER, 1),
1✔
12
  CHAIRPERSON(Resource.CHAIRPERSON, 2),
1✔
13
  ALUMNI(Resource.ALUMNI, 3),
1✔
14
  ADMIN(Resource.ADMIN, 4),
1✔
15
  RESEARCHER(Resource.RESEARCHER, 5),
1✔
16
  SIGNINGOFFICIAL(Resource.SIGNINGOFFICIAL, 7),
1✔
17
  DATASUBMITTER(Resource.DATASUBMITTER, 8),
1✔
18
  ITDIRECTOR(Resource.ITDIRECTOR, 9),
1✔
19
  SERVICE_ACCOUNT(Resource.SERVICE_ACCOUNT, 10);
1✔
20

21
  private static final Set<UserRoles> NON_DAC_ROLES =
1✔
22
      Set.of(ALUMNI, ADMIN, RESEARCHER, SIGNINGOFFICIAL, DATASUBMITTER, ITDIRECTOR,
1✔
23
          SERVICE_ACCOUNT);
24
  private static final Set<UserRoles> SO_AUTHORIZED_ROLES_TO_ADJUST =
1✔
25
      Set.of(ITDIRECTOR, SIGNINGOFFICIAL, DATASUBMITTER);
1✔
26
  private final String roleName;
27
  private final Integer roleId;
28

29
  UserRoles(String roleName, Integer roleId) {
1✔
30
    this.roleName = roleName;
1✔
31
    this.roleId = roleId;
1✔
32
  }
1✔
33

34
  public static UserRole Admin() {
35
    return new UserRole(ADMIN.getRoleId(), ADMIN.getRoleName());
1✔
36
  }
37

38
  public static UserRole Alumni() {
39
    return new UserRole(ALUMNI.getRoleId(), ALUMNI.getRoleName());
1✔
40
  }
41

42
  public static UserRole Chairperson() {
43
    return new UserRole(CHAIRPERSON.getRoleId(), CHAIRPERSON.getRoleName());
1✔
44
  }
45

46
  public static UserRole DataSubmitter() {
47
    return new UserRole(DATASUBMITTER.getRoleId(), DATASUBMITTER.getRoleName());
1✔
48
  }
49

50
  public static UserRole ITDirector() {
51
    return new UserRole(ITDIRECTOR.getRoleId(), ITDIRECTOR.getRoleName());
1✔
52
  }
53

54
  public static UserRole Member() {
55
    return new UserRole(MEMBER.getRoleId(), MEMBER.getRoleName());
1✔
56
  }
57

58
  public static UserRole Researcher() {
59
    return new UserRole(RESEARCHER.getRoleId(), RESEARCHER.getRoleName());
1✔
60
  }
61

62
  public static UserRole SigningOfficial() {
63
    return new UserRole(SIGNINGOFFICIAL.getRoleId(), SIGNINGOFFICIAL.getRoleName());
1✔
64
  }
65

66
  public static UserRole ServiceAccount() {
67
    return new UserRole(SERVICE_ACCOUNT.getRoleId(), SERVICE_ACCOUNT.getRoleName());
1✔
68
  }
69

70
  public static UserRoles getUserRoleFromName(String value) {
71
    for (UserRoles e : UserRoles.values()) {
1✔
72
      if (e.getRoleName().equalsIgnoreCase(value)) {
1✔
73
        return e;
1✔
74
      }
75
    }
76
    return null;
1✔
77
  }
78

79
  public static UserRoles getUserRoleFromId(Integer roleId) {
80
    for (UserRoles e : UserRoles.values()) {
1✔
81
      if (e.getRoleId().equals(roleId)) {
1✔
82
        return e;
1✔
83
      }
84
    }
85
    return null;
1✔
86
  }
87

88
  public static boolean isValidRole(String roleName) {
89
    if (Objects.isNull(roleName)) {
1✔
UNCOV
90
      return false;
×
91
    }
92
    return EnumSet.allOf(UserRoles.class)
1✔
93
        .stream()
1✔
94
        .map(UserRoles::getRoleName)
1✔
95
        .anyMatch(roleName::equalsIgnoreCase);
1✔
96
  }
97

98
  public static boolean isValidNonDACRoleId(UserRoles role) {
99
    return NON_DAC_ROLES.contains(role);
1✔
100
  }
101

102
  public static boolean isValidSoAdjustableRoleId(UserRoles role) {
103
    return SO_AUTHORIZED_ROLES_TO_ADJUST.contains(role);
1✔
104
  }
105

106
  public String getRoleName() {
107
    return roleName;
1✔
108
  }
109

110
  public Integer getRoleId() {
111
    return roleId;
1✔
112
  }
113

114
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc