14
14
import no .nav .data .common .utils .StreamUtils ;
15
15
import no .nav .data .team .integration .process .GraphQLRequest ;
16
16
import no .nav .data .team .org .OrgUrlId ;
17
+ import no .nav .data .team .resource .domain .Resource ;
17
18
import no .nav .data .team .resource .dto .NomGraphQlResponse .MultiRessurs ;
18
19
import no .nav .data .team .resource .dto .NomGraphQlResponse .SingleOrg ;
19
20
import no .nav .data .team .resource .dto .NomGraphQlResponse .SingleRessurs ;
@@ -102,7 +103,7 @@ public Optional<OrgEnhetDto> getOrgEnhet(String orgUrl) {
102
103
103
104
public Optional <ResourceUnitsResponse > getUnits (String navIdent ) {
104
105
return getRessurs (navIdent )
105
- .map (r -> ResourceUnitsResponse .from (r , getLeaderMembers (navIdent ), this ::getOrgEnhet ));
106
+ .map (r -> ResourceUnitsResponse .from (r , getLeaderMembersActiveOnly (navIdent ), this ::getOrgEnhet ));
106
107
}
107
108
108
109
private Map <String , RessursDto > getRessurser (List <String > navIdents ) {
@@ -114,6 +115,14 @@ private Map<String, RessursDto> getRessurser(List<String> navIdents) {
114
115
});
115
116
}
116
117
118
+ public List <String > getLeaderMembersActiveOnly (String navIdent ) {
119
+ var nomClient = NomClient .getInstance ();
120
+ return getLeaderMembers (navIdent ).stream ()
121
+ .map (nomClient ::getByNavIdent )
122
+ .filter (Optional ::isPresent ).map (Optional ::get )
123
+ .filter (it -> !it .isInactive ()).map (Resource ::getNavIdent ).toList ();
124
+ }
125
+
117
126
public List <String > getLeaderMembers (String navIdent ) {
118
127
return leaderCache .get (navIdent , ident -> {
119
128
var req = new GraphQLRequest (getLeaderMemberQuery , Map .of ("navident" , navIdent ));
0 commit comments