Skip to content

Commit

Permalink
TFP-5952 egen tilgang, oppdater rest (#781)
Browse files Browse the repository at this point in the history
  • Loading branch information
jolarsen authored Feb 7, 2025
1 parent 5a765f7 commit d7fafdc
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 17 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
<sonar.projectName>fp-prosesstask</sonar.projectName>
<sonar.projectKey>navikt_fp-prosesstask</sonar.projectKey>

<felles.version>7.4.7</felles.version>
<felles.version>7.4.8</felles.version>

<jakarta.jakartaee-bom.version>10.0.0</jakarta.jakartaee-bom.version>
<hibernate-core.version>6.6.6.Final</hibernate-core.version>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
import no.nav.vedtak.sikkerhet.abac.BeskyttetRessurs;
import no.nav.vedtak.sikkerhet.abac.TilpassetAbacAttributt;
import no.nav.vedtak.sikkerhet.abac.beskyttet.ActionType;
import no.nav.vedtak.sikkerhet.abac.beskyttet.ResourceType;

@OpenAPIDefinition(tags = @Tag(name = "prosesstask", description = "Håndtering av asynkrone oppgaver i form av prosesstask"))
@Path("/prosesstask")
Expand All @@ -53,7 +54,6 @@
public class ProsessTaskRestTjeneste {

private static final Logger LOG = LoggerFactory.getLogger(ProsessTaskRestTjeneste.class);
private static final String ABAC_DRIFT_ATTRIBUTT = "abac.attributt.drift";

private ProsessTaskApplikasjonTjeneste prosessTaskApplikasjonTjeneste;

Expand All @@ -73,7 +73,7 @@ public ProsessTaskRestTjeneste(ProsessTaskApplikasjonTjeneste prosessTaskApplika
@ApiResponse(responseCode = "202", description = "Prosesstaskens oppdatert informasjon", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ProsessTaskDataDto.class))),
@ApiResponse(responseCode = "500", description = "Feilet pga ukjent feil eller tekniske/funksjonelle feil")
})
@BeskyttetRessurs(actionType = ActionType.CREATE, property = ABAC_DRIFT_ATTRIBUTT)
@BeskyttetRessurs(actionType = ActionType.CREATE, resourceType = ResourceType.DRIFT)
public ProsessTaskDataDto createProsessTask(@Parameter(description = "Informasjon for restart en eksisterende prosesstask") @TilpassetAbacAttributt(supplierClass = AbacEmptySupplier.class) @Valid ProsessTaskOpprettInputDto inputDto) {
// kjøres manuelt for å avhjelpe feilsituasjon, da er det veldig greit at det blir logget!
LOG.info("Oppretter prossess task {}", LoggerUtils.toStringWithoutLineBreaks(inputDto.getTaskType()));
Expand All @@ -88,7 +88,7 @@ public ProsessTaskDataDto createProsessTask(@Parameter(description = "Informasjo
@ApiResponse(responseCode = "200", description = "Prosesstaskens oppdatert informasjon", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ProsessTaskRestartResultatDto.class))),
@ApiResponse(responseCode = "500", description = "Feilet pga ukjent feil eller tekniske/funksjonelle feil")
})
@BeskyttetRessurs(actionType = ActionType.CREATE, property = ABAC_DRIFT_ATTRIBUTT, sporingslogg = false)
@BeskyttetRessurs(actionType = ActionType.CREATE, resourceType = ResourceType.DRIFT, sporingslogg = false)
public ProsessTaskRestartResultatDto restartProsessTask(@Parameter(description = "Informasjon for restart en eksisterende prosesstask") @TilpassetAbacAttributt(supplierClass = AbacEmptySupplier.class) @Valid @BeanParam ProsessTaskRestartInputDto restartInputDto) {
// kjøres manuelt for å avhjelpe feilsituasjon, da er det veldig greit at det blir logget!
LOG.info("Restarter prossess task {}", restartInputDto.getProsessTaskId());
Expand All @@ -102,7 +102,7 @@ public ProsessTaskRestartResultatDto restartProsessTask(@Parameter(description =
@ApiResponse(responseCode = "200", description = "Response med liste av prosesstasks som restartes", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ProsessTaskRetryAllResultatDto.class))),
@ApiResponse(responseCode = "500", description = "Feilet pga ukjent feil eller tekniske/funksjonelle feil")
})
@BeskyttetRessurs(actionType = ActionType.CREATE, property = ABAC_DRIFT_ATTRIBUTT, sporingslogg = false)
@BeskyttetRessurs(actionType = ActionType.CREATE, resourceType = ResourceType.DRIFT, sporingslogg = false)
public ProsessTaskRetryAllResultatDto retryAllProsessTask() {
// kjøres manuelt for å avhjelpe feilsituasjon, da er det veldig greit at det blir logget!
LOG.info("Restarter alle prossess task i status FEILET");
Expand All @@ -115,7 +115,7 @@ public ProsessTaskRetryAllResultatDto retryAllProsessTask() {
@Operation(description = "Lister prosesstasker med angitt status.", tags = "prosesstask", responses = {
@ApiResponse(responseCode = "200", description = "Liste over prosesstasker, eller tom liste når angitt/default søkefilter ikke finner noen prosesstasker", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ProsessTaskDataDto.class)))
})
@BeskyttetRessurs(actionType = ActionType.READ, property = ABAC_DRIFT_ATTRIBUTT)
@BeskyttetRessurs(actionType = ActionType.READ, resourceType = ResourceType.DRIFT)
public List<ProsessTaskDataDto> finnProsessTasks(@Parameter(description = "Liste av statuser som skal hentes.") @TilpassetAbacAttributt(supplierClass = AbacEmptySupplier.class) @Valid @PathParam("prosessTaskStatus")
IkkeFerdigProsessTaskStatusEnum finnTaskStatus) {
var status = Optional.ofNullable(mapToProsessTaskStatus(finnTaskStatus)).map(List::of).orElseGet(List::of);
Expand All @@ -128,7 +128,7 @@ public List<ProsessTaskDataDto> finnProsessTasks(@Parameter(description = "Liste
@Operation(description = "Søker etter prosesstask med angitt tekst i properties.", tags = "prosesstask", responses = {
@ApiResponse(responseCode = "200", description = "Liste over prosesstasker, eller tom liste når angitt/default søkefilter ikke finner noen prosesstasker", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ProsessTaskDataDto.class)))
})
@BeskyttetRessurs(actionType = ActionType.READ, property = ABAC_DRIFT_ATTRIBUTT)
@BeskyttetRessurs(actionType = ActionType.READ, resourceType = ResourceType.DRIFT)
public List<ProsessTaskDataDto> searchProsessTasks(@Parameter(description = "Søkefilter for å begrense resultatet av returnerte prosesstask.") @TilpassetAbacAttributt(supplierClass = AbacEmptySupplier.class) @Valid SokeFilterDto sokeFilterDto) {
return prosessTaskApplikasjonTjeneste.søk(sokeFilterDto);
}
Expand All @@ -141,7 +141,7 @@ public List<ProsessTaskDataDto> searchProsessTasks(@Parameter(description = "Sø
@ApiResponse(responseCode = "404", description = "Tom respons når angitt prosesstask-id ikke finnes"),
@ApiResponse(responseCode = "400", description = "Feil input")
})
@BeskyttetRessurs(actionType = ActionType.READ, property = ABAC_DRIFT_ATTRIBUTT)
@BeskyttetRessurs(actionType = ActionType.READ, resourceType = ResourceType.DRIFT)
public Response finnFeiletProsessTask(@NotNull @Parameter(description = "Prosesstask-id for feilet prosesstask") @TilpassetAbacAttributt(supplierClass = AbacEmptySupplier.class) @Valid @BeanParam ProsessTaskIdDto prosessTaskIdDto) {
var resultat = prosessTaskApplikasjonTjeneste.finnFeiletProsessTask(prosessTaskIdDto.getProsessTaskId());
if (resultat.isPresent()) {
Expand All @@ -157,7 +157,7 @@ public Response finnFeiletProsessTask(@NotNull @Parameter(description = "Prosess
@ApiResponse(responseCode = "200", description = "Angitt prosesstask-id satt til status FERDIG"),
@ApiResponse(responseCode = "500", description = "Feilet pga ukjent feil eller tekniske/funksjonelle feil")
})
@BeskyttetRessurs(actionType = ActionType.CREATE, property = ABAC_DRIFT_ATTRIBUTT)
@BeskyttetRessurs(actionType = ActionType.CREATE, resourceType = ResourceType.DRIFT)
public Response setFeiletProsessTaskFerdig(@NotNull @Parameter(description = "Prosesstask-id for feilet prosesstask") @TilpassetAbacAttributt(supplierClass = AbacEmptySupplier.class) @Valid @BeanParam ProsessTaskSetFerdigInputDto prosessTaskIdDto) {
prosessTaskApplikasjonTjeneste.setProsessTaskFerdig(prosessTaskIdDto.getProsessTaskId(), mapToProsessTaskStatus(prosessTaskIdDto.getNaaVaaerendeStatus()));
return Response.ok().build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public ProsessTaskIdDto(Long prosessTaskId) {
this.prosessTaskId = prosessTaskId;
}

@Schema(required = true, description = "Prosesstask-id for en eksisterende prosesstask")
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, description = "Prosesstask-id for en eksisterende prosesstask")
public Long getProsessTaskId() {
return prosessTaskId;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ private Session getEntityManagerAsSession() {

var now = LocalDateTime.now();
var status = taskStatus.getDbKode();
var tasks = getEntityManagerAsSession().createNativeQuery(updateSql)
var tasks = getEntityManagerAsSession().createNativeMutationQuery(updateSql)
.setParameter("id", prosessTaskId)
.setParameter(STATUS, status)
.setParameter("status_ts", now)
Expand Down Expand Up @@ -193,7 +193,7 @@ void oppdaterStatus(Long prosessTaskId, ProsessTaskStatus taskStatus) {
var status = taskStatus.getDbKode();
var now = LocalDateTime.now();
@SuppressWarnings({ "unused", "resource" })
var tasks = getEntityManagerAsSession().createNativeQuery(updateSql)
var tasks = getEntityManagerAsSession().createNativeMutationQuery(updateSql)
.setParameter("id", prosessTaskId)
.setParameter(STATUS, status)
.setParameter("status_ts", now)
Expand All @@ -210,7 +210,7 @@ void oppdaterTaskUnderArbeid(Long prosessTaskId, LocalDateTime now) {
" WHERE id = :id";

@SuppressWarnings("unused")
var tasks = getEntityManagerAsSession().createNativeQuery(updateSql)
var tasks = getEntityManagerAsSession().createNativeMutationQuery(updateSql)
.setParameter("id", prosessTaskId)
.setParameter("naa", now)
.executeUpdate();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@
@ExtendWith(JpaOracleTestcontainerExtension.class)
class TaskManagerGenerateRunnableTasksITTest extends EntityManagerAwareTest {

private static MemoryAppender logSniffer = MemoryAppender.sniff(TaskManagerGenerateRunnableTasks.class);
private static final MemoryAppender LOG_SNIFFER = MemoryAppender.sniff(TaskManagerGenerateRunnableTasks.class);

@AfterEach
public void afterEach() {
logSniffer.reset();
LOG_SNIFFER.reset();
}

@Test
Expand Down Expand Up @@ -61,6 +61,7 @@ public void doRun(RunTaskInfo taskInfo) {

@Override
void handleErrorCallback(IdentRunnable errorCallback) {
// Do nothing
}

};
Expand All @@ -74,7 +75,7 @@ void handleErrorCallback(IdentRunnable errorCallback) {
// Act
sut.run();

assertThat(logSniffer.search("PT-876628", Level.WARN)).isNotEmpty();
assertThat(LOG_SNIFFER.search("PT-876628", Level.WARN)).isNotEmpty();

assertThat(errorFuncException.get()).isInstanceOf(PersistenceException.class);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ static class ForsinkelseDummyProsessTask implements ProsessTaskHandler {

@Override
public void doTask(ProsessTaskData data) {

// Do nothing
}
}

Expand Down

0 comments on commit d7fafdc

Please sign in to comment.