Search in sources :

Example 1 with Validation

use of io.vavr.control.Validation in project veilarbportefolje by navikt.

the class ArbeidslisteService method erVeilederForBruker.

public Validation<String, Fnr> erVeilederForBruker(String fnr) {
    VeilederId veilederId = AuthUtils.getInnloggetVeilederIdent();
    boolean erVeilederForBruker = ValideringsRegler.validerFnr(fnr).map(validFnr -> erVeilederForBruker(validFnr, veilederId)).getOrElse(false);
    if (erVeilederForBruker) {
        return valid(Fnr.ofValidFnr(fnr));
    }
    return invalid(format("Veileder %s er ikke veileder for bruker med fnr %s", veilederId, fnr));
}
Also used : BrukerService(no.nav.pto.veilarbportefolje.service.BrukerService) RequiredArgsConstructor(lombok.RequiredArgsConstructor) LoggerFactory(org.slf4j.LoggerFactory) ArrayList(java.util.ArrayList) AktorId(no.nav.common.types.identer.AktorId) FeatureToggle.erArbeidslistaPaPostgres(no.nav.pto.veilarbportefolje.config.FeatureToggle.erArbeidslistaPaPostgres) Service(org.springframework.stereotype.Service) AktorClient(no.nav.pto.veilarbportefolje.domene.AktorClient) Event(no.nav.common.metrics.Event) ValideringsRegler(no.nav.pto.veilarbportefolje.util.ValideringsRegler) Logger(org.slf4j.Logger) Validation.invalid(io.vavr.control.Validation.invalid) Fnr(no.nav.common.types.identer.Fnr) Validation.valid(io.vavr.control.Validation.valid) EnhetId(no.nav.common.types.identer.EnhetId) UnleashService(no.nav.pto.veilarbportefolje.service.UnleashService) String.format(java.lang.String.format) Try(io.vavr.control.Try) List(java.util.List) MetricsClient(no.nav.common.metrics.MetricsClient) Optional(java.util.Optional) VeilederId(no.nav.pto.veilarbportefolje.domene.value.VeilederId) OpensearchIndexerV2(no.nav.pto.veilarbportefolje.opensearch.OpensearchIndexerV2) AuthUtils(no.nav.pto.veilarbportefolje.auth.AuthUtils) Validation(io.vavr.control.Validation) VeilederId(no.nav.pto.veilarbportefolje.domene.value.VeilederId)

Example 2 with Validation

use of io.vavr.control.Validation 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)2 Validation (io.vavr.control.Validation)2 String.format (java.lang.String.format)2 ArrayList (java.util.ArrayList)2 List (java.util.List)2 AktorId (no.nav.common.types.identer.AktorId)2 Fnr (no.nav.common.types.identer.Fnr)2 AuthUtils (no.nav.pto.veilarbportefolje.auth.AuthUtils)2 AktorClient (no.nav.pto.veilarbportefolje.domene.AktorClient)2 VeilederId (no.nav.pto.veilarbportefolje.domene.value.VeilederId)2 BrukerService (no.nav.pto.veilarbportefolje.service.BrukerService)2 ValideringsRegler (no.nav.pto.veilarbportefolje.util.ValideringsRegler)2 Validation.invalid (io.vavr.control.Validation.invalid)1 Validation.valid (io.vavr.control.Validation.valid)1 Timestamp (java.sql.Timestamp)1 Instant (java.time.Instant)1 Optional (java.util.Optional)1 Function (java.util.function.Function)1 Collectors (java.util.stream.Collectors)1 RequiredArgsConstructor (lombok.RequiredArgsConstructor)1