Skip to content

Commit

Permalink
Merge branch 'master' into refactor/codelist_to_hook
Browse files Browse the repository at this point in the history
  • Loading branch information
JeremiahUy authored Oct 3, 2024
2 parents 8fafd97 + d1ef04b commit 9506b64
Show file tree
Hide file tree
Showing 32 changed files with 584 additions and 306 deletions.
8 changes: 4 additions & 4 deletions apps/backend/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@
<java.version>17</java.version>

<springdoc-openapi-starter-webmvc-ui.version>2.6.0</springdoc-openapi-starter-webmvc-ui.version>
<hypersistence-utils-hibernate-63.version>3.8.2</hypersistence-utils-hibernate-63.version>
<hypersistence-utils-hibernate-63.version>3.8.3</hypersistence-utils-hibernate-63.version>
<logstash-logback-encoder.version>8.0</logstash-logback-encoder.version>
<shedlock.version>5.16.0</shedlock.version>
<commons-collections4.version>4.4</commons-collections4.version>
<graphql-spring-boot-starter.version>15.1.0</graphql-spring-boot-starter.version>
<graphql.version>22.0</graphql.version>
<flexmark.version>0.64.8</flexmark.version>
<microsoft-graph.version>6.16.0</microsoft-graph.version>
<msal4j.version>1.17.1</msal4j.version>
<microsoft-graph.version>6.17.0</microsoft-graph.version>
<msal4j.version>1.17.2</msal4j.version>
<flyway-database-postgresql.version>10.16.0</flyway-database-postgresql.version>

<!-- transitive versions -->
Expand All @@ -37,7 +37,7 @@
<jetbrains.annotation.version>25.0.0</jetbrains.annotation.version>

<!-- Test -->
<testcontainers.version>1.20.1</testcontainers.version>
<testcontainers.version>1.20.2</testcontainers.version>
<wiremock.version>3.0.1</wiremock.version>
<docx4j.version>11.5.0</docx4j.version>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import no.nav.data.common.auditing.domain.Auditable;
import no.nav.data.common.auditing.domain.Auditable.Fields;

import java.time.LocalDateTime;
Expand All @@ -19,4 +20,15 @@ public class ChangeStampResponse {
private String lastModifiedBy;
private LocalDateTime lastModifiedDate;
private LocalDateTime createdDate;

public static ChangeStampResponse buildFrom(Auditable auditable) {
if (auditable == null) {
return null;
}
return ChangeStampResponse.builder()
.createdDate(auditable.getCreatedDate() == null ? LocalDateTime.now() : auditable.getCreatedDate())
.lastModifiedBy(auditable.getLastModifiedBy())
.lastModifiedDate(auditable.getLastModifiedDate() == null ? LocalDateTime.now() : auditable.getLastModifiedDate())
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ public interface GenericStorageRepository<T extends DomainObject> extends JpaRep

// TODO: findAllByType(...)
// Metodene er kilder til feil (kan potensielt returnere veldig mye data). De bør derfor fjernes og evt. erstattes av
// metoder kun for de typene vi trenger dette for (f.eks. findAllMailTasks)
// metoder kun for de typene vi trenger dette for (f.eks. findAllMailTasks).
// Hvis de bare brukes i test, kan metodene bli, men da bør testen kalle repo direkte, slik at disse ikke eksponeres i service.
// Hvis de bare brukes til å sjekke at noe finnes eller ikke, bør man heller kalle *Repository.count()

List<GenericStorage<T>> findAllByType(String type);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ public final class TypeRegistration {
static {
addDomainClass(Krav.class, true);
addDomainClass(KravPriorityList.class, true);
addDomainClass(Etterlevelse.class, true);
addDomainClass(EtterlevelseMetadata.class, true);
addDomainClass(Melding.class, true);
addDomainClass(EtterlevelseArkiv.class, true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ public T get(UUID uuid) {
return storage.get(uuid);
}

// TODO: Dette må flyttes ut til en egen komponent og kalles fra Controller og ikke Service. Se lignende kommentar i EtterlevelseService
protected <R extends KravId & Validated> Optional<Krav> validateKravNummer(Validator<R> validator) {
Integer kravNummer = validator.getItem().getKravNummer();
Integer kravVersjon = validator.getItem().getKravVersjon();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import no.nav.data.common.exceptions.ForbiddenException;
import no.nav.data.common.exceptions.ValidationException;
import no.nav.data.common.rest.PageParameters;
import no.nav.data.common.rest.RestResponsePage;
Expand Down Expand Up @@ -35,7 +36,7 @@
@RestController
@RequestMapping("/etterlevelse")
@Tag(name = "Etterlevelse", description = "Etterlevelse for behandlinger")
public class EtterlevelseController {
public class EtterlevelseController {


private final EtterlevelseService service;
Expand Down Expand Up @@ -69,7 +70,7 @@ public ResponseEntity<RestResponsePage<EtterlevelseResponse>> getById(@PathVaria

private EtterlevelseResponse toResponseWithEtterlevelseDokumentasjon(Etterlevelse etterlevelse) {
EtterlevelseResponse response = etterlevelse.toResponse();
if(response.getEtterlevelseDokumentasjonId() != null && !response.getEtterlevelseDokumentasjonId().isEmpty()) {
if (response.getEtterlevelseDokumentasjonId() != null && !response.getEtterlevelseDokumentasjonId().isEmpty()) {
response.setEtterlevelseDokumentasjon(etterlevelseDokumentasjonService.get(UUID.fromString(response.getEtterlevelseDokumentasjonId())).toResponse());
}
return response;
Expand Down Expand Up @@ -107,7 +108,13 @@ public ResponseEntity<RestResponsePage<EtterlevelseResponse>> getByEtterlevelseD
public ResponseEntity<EtterlevelseResponse> createEtterlevelse(@RequestBody EtterlevelseRequest request) {
log.info("Create Etterlevelse");

if(request.getEtterlevelseDokumentasjonId() == null || request.getEtterlevelseDokumentasjonId().isEmpty()) {
var etterlevelseDokumentasjon = etterlevelseDokumentasjonService.get(UUID.fromString(request.getEtterlevelseDokumentasjonId())).toResponse();
if (etterlevelseDokumentasjon.getTeams().isEmpty() && etterlevelseDokumentasjon.getResources().isEmpty()) {
log.info("PriorityList is Empty. Requested to save without user or team added to Etterlevelse document.");
throw new ForbiddenException("Har du lagt til team og eller person i dokument egenskaper? Dette er nødvendig for å lagre endringer.");
}

if (request.getEtterlevelseDokumentasjonId() == null || request.getEtterlevelseDokumentasjonId().isEmpty()) {
throw new ValidationException("Tried to create etterlevelse with old architecture");
}

Expand All @@ -126,10 +133,16 @@ public ResponseEntity<EtterlevelseResponse> updateEtterlevelse(@PathVariable UUI
throw new ValidationException(String.format("id mismatch in request %s and path %s", request.getId(), id));
}

if(request.getEtterlevelseDokumentasjonId() == null || request.getEtterlevelseDokumentasjonId().isEmpty()) {
if (request.getEtterlevelseDokumentasjonId() == null || request.getEtterlevelseDokumentasjonId().isEmpty()) {
throw new ValidationException("Tried to create etterlevelse with old architecture");
}

var etterlevelseDokumentasjon = etterlevelseDokumentasjonService.get(UUID.fromString(request.getEtterlevelseDokumentasjonId())).toResponse();
if (etterlevelseDokumentasjon.getTeams().isEmpty() && etterlevelseDokumentasjon.getResources().isEmpty()) {
log.info("Requested to save without user or team added to Etterlevelse document.");
throw new ForbiddenException("Har du lagt til team og eller person i dokument egenskaper? Dette er nødvendig for å lagre endringer.");
}

etterlevelseDokumentasjonService.updatePriorityList(request.getEtterlevelseDokumentasjonId(), request.getKravNummer(), request.isPrioritised());

var etterlevelse = service.save(request);
Expand Down
Loading

0 comments on commit 9506b64

Please sign in to comment.