|
17 | 17 | import no.nav.dolly.exceptions.ConstraintViolationException;
|
18 | 18 | import no.nav.dolly.exceptions.DollyFunctionalException;
|
19 | 19 | import no.nav.dolly.exceptions.NotFoundException;
|
20 |
| -import no.nav.dolly.repository.BrukerRepository; |
21 | 20 | import no.nav.dolly.repository.TestgruppeRepository;
|
22 | 21 | import no.nav.dolly.repository.TransaksjonMappingRepository;
|
23 | 22 | import no.nav.testnav.libs.servletsecurity.action.GetUserInfo;
|
|
35 | 34 | import java.util.List;
|
36 | 35 |
|
37 | 36 | import static java.lang.String.format;
|
38 |
| -import static java.util.Collections.emptyList; |
39 |
| -import static java.util.Objects.nonNull; |
40 | 37 | import static no.nav.dolly.domain.jpa.Bruker.Brukertype.BANKID;
|
41 | 38 | import static no.nav.dolly.util.CurrentAuthentication.getUserId;
|
42 | 39 | import static org.apache.commons.lang3.BooleanUtils.isTrue;
|
@@ -207,18 +204,33 @@ public Testgruppe oppdaterTestgruppe(Long gruppeId, RsOpprettEndreTestgruppe end
|
207 | 204 |
|
208 | 205 | public RsTestgruppePage getTestgruppeByBrukerId(Integer pageNo, Integer pageSize, String brukerId) {
|
209 | 206 |
|
210 |
| - var bruker = isBlank(brukerId) ? null : brukerService.fetchBruker(brukerId); |
211 |
| - var paginertGruppe = isBlank(brukerId) |
212 |
| - ? testgruppeRepository.findAllByOrderByIdDesc(PageRequest.of(pageNo, pageSize)) |
213 |
| - : fetchTestgrupperByBrukerId(pageNo, pageSize, brukerId); |
| 207 | + var bruker = brukerService.fetchOrCreateBruker(brukerId); |
| 208 | + log.info("Henter testgrupper for bruker: {}, brukertype: {}", bruker.getBrukerId(), bruker.getBrukertype()); |
| 209 | + |
| 210 | + Page<Testgruppe> paginertGruppe; |
| 211 | + |
| 212 | + if (bruker.getBrukertype() == BANKID) { |
| 213 | + paginertGruppe = brukerServiceConsumer.getKollegaerIOrganisasjon(bruker.getBrukerId()) |
| 214 | + .doOnNext(brukere -> log.info("BrukerServiceConsumer hentet {} kollegaer for bruker: {}", |
| 215 | + String.join(",", brukere), bruker.getBrukerId())) |
| 216 | + .map(brukere -> testgruppeRepository.findAllByOpprettetAv_BrukerIdIn(brukere, |
| 217 | + PageRequest.of(pageNo, pageSize, Sort.by("id").descending()))) |
| 218 | + .block(); |
| 219 | + |
| 220 | + } else if (isBlank(brukerId)) { |
| 221 | + paginertGruppe = testgruppeRepository.findAllByOrderByIdDesc(PageRequest.of(pageNo, pageSize)); |
| 222 | + |
| 223 | + } else { |
| 224 | + paginertGruppe = fetchTestgrupperByBrukerId(pageNo, pageSize, brukerId); |
| 225 | + } |
214 | 226 |
|
215 | 227 | return RsTestgruppePage.builder()
|
216 | 228 | .pageNo(paginertGruppe.getNumber())
|
217 | 229 | .antallPages(paginertGruppe.getTotalPages())
|
218 | 230 | .pageSize(paginertGruppe.getSize())
|
219 | 231 | .antallElementer(paginertGruppe.getTotalElements())
|
220 | 232 | .contents(mapperFacade.mapAsList(paginertGruppe.getContent(), RsTestgruppe.class))
|
221 |
| - .favoritter(nonNull(bruker) ? mapperFacade.mapAsList(bruker.getFavoritter(), RsTestgruppe.class) : emptyList()) |
| 233 | + .favoritter(mapperFacade.mapAsList(bruker.getFavoritter(), RsTestgruppe.class)) |
222 | 234 | .build();
|
223 | 235 | }
|
224 | 236 |
|
|
0 commit comments