Search in sources :

Example 1 with RestResponse

use of no.nav.pto.veilarbportefolje.domene.RestResponse in project veilarbportefolje by navikt.

the class ArbeidsListeController method deleteArbeidslisteListe.

@PostMapping("/delete")
public RestResponse<String> deleteArbeidslisteListe(@RequestBody java.util.List<ArbeidslisteRequest> arbeidslisteData) {
    authService.tilgangTilOppfolging();
    java.util.List<String> feiledeFnrs = new ArrayList<>();
    java.util.List<String> okFnrs = new ArrayList<>();
    java.util.List<Fnr> fnrs = arbeidslisteData.stream().map(data -> Fnr.ofValidFnr(data.getFnr())).collect(Collectors.toList());
    Validation<List<Fnr>, List<Fnr>> validerFnrs = ValideringsRegler.validerFnrs(fnrs);
    Validation<String, List<Fnr>> veilederForBrukere = arbeidslisteService.erVeilederForBrukere(fnrs);
    if (validerFnrs.isInvalid() || veilederForBrukere.isInvalid()) {
        throw new IllegalStateException(format("%s inneholder ett eller flere ugyldige fødselsnummer", validerFnrs.getError()));
    }
    validerFnrs.get().forEach(fnr -> {
        final int antallRaderSlettet = arbeidslisteService.slettArbeidsliste(fnr);
        final AktorId aktoerId = brukerService.hentAktorId(fnr).orElse(new AktorId("uten aktør-ID"));
        if (antallRaderSlettet != 1) {
            feiledeFnrs.add(fnr.get());
            log.warn("Kunne ikke slette arbeidsliste for bruker {} ", aktoerId.get());
        } else {
            okFnrs.add(fnr.get());
            log.info("Arbeidsliste for aktoerid {} slettet", aktoerId.get());
        }
    });
    if (feiledeFnrs.size() == fnrs.size()) {
        throw new IllegalStateException();
    }
    return RestResponse.of(okFnrs, feiledeFnrs);
}
Also used : BrukerService(no.nav.pto.veilarbportefolje.service.BrukerService) ValideringsRegler.validerArbeidsliste(no.nav.pto.veilarbportefolje.util.ValideringsRegler.validerArbeidsliste) PathVariable(org.springframework.web.bind.annotation.PathVariable) Autowired(org.springframework.beans.factory.annotation.Autowired) RequestMapping(org.springframework.web.bind.annotation.RequestMapping) RestResponse(no.nav.pto.veilarbportefolje.domene.RestResponse) Function(java.util.function.Function) ArrayList(java.util.ArrayList) RequestBody(org.springframework.web.bind.annotation.RequestBody) AktorId(no.nav.common.types.identer.AktorId) PutMapping(org.springframework.web.bind.annotation.PutMapping) GetMapping(org.springframework.web.bind.annotation.GetMapping) DeleteMapping(org.springframework.web.bind.annotation.DeleteMapping) AktorClient(no.nav.pto.veilarbportefolje.domene.AktorClient) PostMapping(org.springframework.web.bind.annotation.PostMapping) ValideringsRegler(no.nav.pto.veilarbportefolje.util.ValideringsRegler) ResponseStatusException(org.springframework.web.server.ResponseStatusException) Fnr(no.nav.common.types.identer.Fnr) Timestamp(java.sql.Timestamp) Instant(java.time.Instant) RestController(org.springframework.web.bind.annotation.RestController) Collectors(java.util.stream.Collectors) AuthService(no.nav.pto.veilarbportefolje.auth.AuthService) String.format(java.lang.String.format) HttpStatus(org.springframework.http.HttpStatus) StringUtils.nullOrEmpty(no.nav.common.utils.StringUtils.nullOrEmpty) Try(io.vavr.control.Try) Slf4j(lombok.extern.slf4j.Slf4j) List(java.util.List) ResponseEntity(org.springframework.http.ResponseEntity) VeilederId(no.nav.pto.veilarbportefolje.domene.value.VeilederId) AuthUtils(no.nav.pto.veilarbportefolje.auth.AuthUtils) Validation(io.vavr.control.Validation) ArrayList(java.util.ArrayList) AktorId(no.nav.common.types.identer.AktorId) Fnr(no.nav.common.types.identer.Fnr) ArrayList(java.util.ArrayList) List(java.util.List) PostMapping(org.springframework.web.bind.annotation.PostMapping)

Aggregations

Try (io.vavr.control.Try)1 Validation (io.vavr.control.Validation)1 String.format (java.lang.String.format)1 Timestamp (java.sql.Timestamp)1 Instant (java.time.Instant)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1 Function (java.util.function.Function)1 Collectors (java.util.stream.Collectors)1 Slf4j (lombok.extern.slf4j.Slf4j)1 AktorId (no.nav.common.types.identer.AktorId)1 Fnr (no.nav.common.types.identer.Fnr)1 StringUtils.nullOrEmpty (no.nav.common.utils.StringUtils.nullOrEmpty)1 AuthService (no.nav.pto.veilarbportefolje.auth.AuthService)1 AuthUtils (no.nav.pto.veilarbportefolje.auth.AuthUtils)1 AktorClient (no.nav.pto.veilarbportefolje.domene.AktorClient)1 RestResponse (no.nav.pto.veilarbportefolje.domene.RestResponse)1 VeilederId (no.nav.pto.veilarbportefolje.domene.value.VeilederId)1 BrukerService (no.nav.pto.veilarbportefolje.service.BrukerService)1 ValideringsRegler (no.nav.pto.veilarbportefolje.util.ValideringsRegler)1