Role.java
package no.nav.data.team.team.domain;
import java.util.Arrays;
import java.util.List;
public enum Role {
LEAD,
DEVELOPER,
TESTER,
TECH_DOMAIN_SPECIALIST,
TECH_LEAD,
TEST_LEAD,
PRODUCT_LEAD,
STRATEGIC_PRODUCT_LEAD,
SECURITY_ARCHITECT,
SOLUTION_ARCHITECT,
BUSINESS_ANALYST,
DOMAIN_EXPERT,
DOMAIN_RESPONSIBLE,
DOMAIN_RESOURCE,
ARCHITECT,
AGILE_COACH,
DATA_MANAGER,
DATA_SCIENTIST,
MAINTENANCE_MANAGER,
DESIGNER,
DESIGN_LEAD,
OPERATIONS,
FUNCTIONAL_ADVISER,
TECHNICAL_ADVISER,
TECHNICAL_TESTER,
TECHNOLOGY_LEAD,
COMMUNICATION_ADVISER,
AREA_LEAD,
LEGAL_ADVISER,
SECURITY_CHAMPION,
UU_CHAMPION,
FRONTEND,
PROFIT_COACH,
CONTROLLER,
STAFFING_MANAGER,
DESIGN_RESEARCHER,
HEAD_OF_LEGAL,
PRINCIPAL,
PLATFORM_SYSTEM_TECHNICIAN,
TEAMCOACH,
WEB_ANALYST,
UU_SPECIALIST,
VISUAL_ANALYTICS_ENGINEER,
DATA_ENGINEER,
SUBJECT_MATTER_EXPERT,
OTHER,
// LEDERGRUPPE ROLLER
LEADER, // LEDER
DISCIPLINE_DIRECTOR, // FAGDIREKTOER,
PERSONELLROSTER_RESPONSIBLE, // PERSONALOGBEMANNINGSANSVARLIG,
DISCIPLINE_AND_DELIVERY_MANAGER; // FAGOGLEVERANSELEDER
public static List<Role> getLeadergroupRoles(){
return List.of(DISCIPLINE_DIRECTOR, PERSONELLROSTER_RESPONSIBLE, DISCIPLINE_AND_DELIVERY_MANAGER, LEADER);
}
public static List<Role> getNonLeadergroupRoles(){
return Arrays.stream(Role.values()).filter(role -> !role.isLeaderGroupRole()).toList();
}
public boolean isLeaderGroupRole() {
return Role.getLeadergroupRoles().contains(this);
}
}