Skip to content

Commit 0d671e8

Browse files
committed
Refactor tilgang handling to return Mono<TilgangDTO> and improve data structure for user access #deploy-test-bruker-service #deploy-bruker-service
1 parent 63d001e commit 0d671e8

File tree

4 files changed

+26
-14
lines changed

4 files changed

+26
-14
lines changed

apps/bruker-service/src/main/java/no/nav/testnav/apps/brukerservice/controller/TilgangController.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package no.nav.testnav.apps.brukerservice.controller;
22

33
import lombok.RequiredArgsConstructor;
4+
import no.nav.testnav.apps.brukerservice.dto.TilgangDTO;
45
import no.nav.testnav.apps.brukerservice.service.TilgangService;
56
import org.springframework.web.bind.annotation.GetMapping;
67
import org.springframework.web.bind.annotation.RequestMapping;
78
import org.springframework.web.bind.annotation.RestController;
8-
import reactor.core.publisher.Flux;
9+
import reactor.core.publisher.Mono;
910

1011
@RestController
1112
@RequestMapping("/api/v1/tilgang")
@@ -15,7 +16,7 @@ public class TilgangController {
1516
private final TilgangService tilgangService;
1617

1718
@GetMapping
18-
public Flux<String> getBrukereISammeOrganisasjon(String brukerId) {
19+
public Mono<TilgangDTO> getBrukereISammeOrganisasjon(String brukerId) {
1920

2021
return tilgangService.getBrukereISammeOrganisasjon(brukerId);
2122
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package no.nav.testnav.apps.brukerservice.dto;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
8+
import java.util.List;
9+
10+
@Data
11+
@Builder
12+
@NoArgsConstructor
13+
@AllArgsConstructor
14+
public class TilgangDTO {
15+
16+
private List<String> brukere;
17+
}
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
package no.nav.testnav.apps.brukerservice.service;
22

33
import lombok.RequiredArgsConstructor;
4+
import no.nav.testnav.apps.brukerservice.dto.TilgangDTO;
45
import no.nav.testnav.apps.brukerservice.repository.UserEntity;
56
import no.nav.testnav.apps.brukerservice.repository.UserRepository;
67
import org.springframework.stereotype.Service;
7-
import reactor.core.publisher.Flux;
8+
import reactor.core.publisher.Mono;
89

910
@Service
1011
@RequiredArgsConstructor
1112
public class TilgangService {
1213

1314
private final UserRepository userRepository;
1415

15-
public Flux<String> getBrukereISammeOrganisasjon(String brukerId) {
16+
public Mono<TilgangDTO> getBrukereISammeOrganisasjon(String brukerId) {
1617

1718
return userRepository.findBrukereISammeOrganisasjoner(brukerId)
18-
.mapNotNull(UserEntity::getId);
19+
.mapNotNull(UserEntity::getId)
20+
.collectList()
21+
.map(TilgangDTO::new);
1922
}
2023
}

apps/dolly-backend/src/main/java/no/nav/dolly/service/TestgruppeService.java

-9
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,7 @@ private void sjekkTilgang(Long gruppeId, Integer pageNo, Integer pageSize) {
105105

106106
var bruker = brukerService.fetchOrCreateBruker();
107107
if (bruker.getBrukertype() == BANKID) {
108-
log.info("Sjekker tilgang for bruker: {}, brukertype: {}", bruker.getBrukerId(), bruker.getBrukertype());
109108
brukerServiceConsumer.getKollegaerIOrganisasjon(bruker.getBrukerId())
110-
.doOnNext(brukere -> log.info("BrukerServiceConsumer hentet {} kollegaer for bruker: {}",
111-
String.join(",", brukere), bruker.getBrukerId()))
112109
.map(testgruppeRepository::findAllByOpprettetAv_BrukerIdIn)
113110
.filter(page -> page.stream().anyMatch(gruppe -> gruppe.equals(gruppeId)))
114111
.switchIfEmpty(Mono.error(new NotFoundException(format("Gruppe med id %s ble ikke funnet.", gruppeId))))
@@ -124,11 +121,8 @@ public Testgruppe fetchTestgruppeById(Long gruppeId) {
124121
public Mono<Page<Testgruppe>> getAllTestgrupper(Integer pageNo, Integer pageSize) {
125122

126123
var bruker = brukerService.fetchOrCreateBruker();
127-
log.info("Henter testgrupper for bruker: {}, brukertype: {}", bruker.getBrukerId(), bruker.getBrukertype());
128124
if (bruker.getBrukertype() == BANKID) {
129125
return brukerServiceConsumer.getKollegaerIOrganisasjon(bruker.getBrukerId())
130-
.doOnNext(brukere -> log.info("BrukerServiceConsumer hentet {} kollegaer for bruker: {}",
131-
String.join(",", brukere), bruker.getBrukerId()))
132126
.map(brukere -> testgruppeRepository.findAllByOpprettetAv_BrukerIdIn(brukere,
133127
PageRequest.of(pageNo, pageSize, Sort.by("id").descending())));
134128
} else {
@@ -205,14 +199,11 @@ public Testgruppe oppdaterTestgruppe(Long gruppeId, RsOpprettEndreTestgruppe end
205199
public RsTestgruppePage getTestgruppeByBrukerId(Integer pageNo, Integer pageSize, String brukerId) {
206200

207201
var bruker = brukerService.fetchOrCreateBruker(brukerId);
208-
log.info("Henter testgrupper for bruker: {}, brukertype: {}", bruker.getBrukerId(), bruker.getBrukertype());
209202

210203
Page<Testgruppe> paginertGruppe;
211204

212205
if (bruker.getBrukertype() == BANKID) {
213206
paginertGruppe = brukerServiceConsumer.getKollegaerIOrganisasjon(bruker.getBrukerId())
214-
.doOnNext(brukere -> log.info("BrukerServiceConsumer hentet {} kollegaer for bruker: {}",
215-
String.join(",", brukere), bruker.getBrukerId()))
216207
.map(brukere -> testgruppeRepository.findAllByOpprettetAv_BrukerIdIn(brukere,
217208
PageRequest.of(pageNo, pageSize, Sort.by("id").descending())))
218209
.block();

0 commit comments

Comments
 (0)