diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/provider/api/BrukerController.java b/apps/dolly-backend/src/main/java/no/nav/dolly/provider/api/BrukerController.java index a3cd658a1a2..6039d8415fc 100644 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/provider/api/BrukerController.java +++ b/apps/dolly-backend/src/main/java/no/nav/dolly/provider/api/BrukerController.java @@ -60,7 +60,7 @@ public List getAllBrukere() { } @Transactional - @CacheEvict(value = {CACHE_BRUKER, CACHE_GRUPPE}, allEntries = true) + @CacheEvict(value = { CACHE_BRUKER, CACHE_GRUPPE }, allEntries = true) @PutMapping("/leggTilFavoritt") @Operation(description = "Legg til Favoritt-testgruppe til pålogget Bruker") public RsBruker leggTilFavoritt(@RequestBody RsBrukerUpdateFavoritterReq request) { @@ -68,7 +68,7 @@ public RsBruker leggTilFavoritt(@RequestBody RsBrukerUpdateFavoritterReq request } @Transactional - @CacheEvict(value = {CACHE_BRUKER, CACHE_GRUPPE}, allEntries = true) + @CacheEvict(value = { CACHE_BRUKER, CACHE_GRUPPE }, allEntries = true) @PutMapping("/fjernFavoritt") @Operation(description = "Fjern Favoritt-testgruppe fra pålogget Bruker") public RsBruker fjernFavoritt(@RequestBody RsBrukerUpdateFavoritterReq request) { diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/service/BrukerService.java b/apps/dolly-backend/src/main/java/no/nav/dolly/service/BrukerService.java index c990e9514c5..05ab60a6ded 100644 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/service/BrukerService.java +++ b/apps/dolly-backend/src/main/java/no/nav/dolly/service/BrukerService.java @@ -10,6 +10,7 @@ import no.nav.dolly.repository.BrukerRepository; import no.nav.dolly.repository.TestgruppeRepository; import no.nav.testnav.libs.servletsecurity.action.GetUserInfo; +import org.springframework.cache.annotation.CacheEvict; import org.springframework.dao.DataIntegrityViolationException; import org.springframework.dao.NonTransientDataAccessException; import org.springframework.stereotype.Service; @@ -21,6 +22,7 @@ import static java.util.Objects.isNull; import static java.util.Objects.nonNull; +import static no.nav.dolly.config.CachingConfig.CACHE_BRUKER; import static no.nav.dolly.util.CurrentAuthentication.getAuthUser; import static no.nav.dolly.util.CurrentAuthentication.getUserId; @@ -53,10 +55,15 @@ public Bruker fetchOrCreateBruker(String brukerId) { return bruker; } catch (NotFoundException e) { - return brukerRepository.save(getAuthUser(getUserInfo)); + return createBruker(); } } + @CacheEvict(value = { CACHE_BRUKER }, allEntries = true) + public Bruker createBruker() { + return brukerRepository.save(getAuthUser(getUserInfo)); + } + @Transactional public Bruker leggTilFavoritt(Long gruppeId) { @@ -112,14 +119,14 @@ public List fetchBrukere() { .toList(); } - public int sletteBrukerFavoritterByGroupId(Long groupId) { - return brukerRepository.deleteBrukerFavoritterByGroupId(groupId); + public void sletteBrukerFavoritterByGroupId(Long groupId) { + brukerRepository.deleteBrukerFavoritterByGroupId(groupId); } - public Bruker saveBrukerTilDB(Bruker b) { + public void saveBrukerTilDB(Bruker b) { try { - return brukerRepository.save(b); + brukerRepository.save(b); } catch (DataIntegrityViolationException e) { throw new ConstraintViolationException("En Bruker DB constraint er brutt! Kan ikke lagre bruker. Error: " + e.getMessage(), e); } catch (NonTransientDataAccessException e) { @@ -144,10 +151,10 @@ private Testgruppe fetchTestgruppe(Long gruppeId) { return testgruppeRepository.findById(gruppeId).orElseThrow(() -> new NotFoundException("Finner ikke gruppe basert på gruppeID: " + gruppeId)); } - private Testgruppe saveGruppe(Testgruppe testgruppe) { + private void saveGruppe(Testgruppe testgruppe) { try { - return testgruppeRepository.save(testgruppe); + testgruppeRepository.save(testgruppe); } catch (DataIntegrityViolationException e) { throw new ConstraintViolationException("En Testgruppe DB constraint er brutt! Kan ikke lagre testgruppe. Error: " + e.getMessage(), e); } catch (NonTransientDataAccessException e) {