Upgrade to SpringBoot 3.4.1 and dependencies #147
@ -105,26 +105,10 @@ public class HsOfficeDebitorController implements HsOfficeDebitorsApi {
|
|||||||
"ERROR: [400] debitorRel.mark must be null");
|
"ERROR: [400] debitorRel.mark must be null");
|
||||||
|
|
||||||
final var entityToSave = mapper.map(body, HsOfficeDebitorEntity.class, RESOURCE_TO_ENTITY_POSTMAPPER);
|
final var entityToSave = mapper.map(body, HsOfficeDebitorEntity.class, RESOURCE_TO_ENTITY_POSTMAPPER);
|
||||||
if (body.getDebitorRel() != null) { // FIXME: move this into RESOURCE_TO_ENTITY_POSTMAPPER
|
|
||||||
final var debitorRel = entityToSave.getDebitorRel();
|
|
||||||
debitorRel.setType(DEBITOR);
|
|
||||||
entityValidator.validateEntityExists("debitorRel.anchorUuid", debitorRel.getAnchor());
|
|
||||||
entityValidator.validateEntityExists("debitorRel.holderUuid", debitorRel.getHolder());
|
|
||||||
entityValidator.validateEntityExists("debitorRel.contactUuid", debitorRel.getContact());
|
|
||||||
entityToSave.setDebitorRel(realRelRepo.save(debitorRel));
|
|
||||||
} else {
|
|
||||||
final var debitorRelOptional = realRelRepo.findByUuid(body.getDebitorRelUuid());
|
|
||||||
debitorRelOptional.ifPresentOrElse(
|
|
||||||
debitorRel -> {entityToSave.setDebitorRel(realRelRepo.save(debitorRel));},
|
|
||||||
() -> {
|
|
||||||
throw new ValidationException(
|
|
||||||
"Unable to find RealRelation by debitorRelUuid: " + body.getDebitorRelUuid());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
final var savedEntity = debitorRepo.save(entityToSave);
|
final var savedEntity = debitorRepo.save(entityToSave).load();
|
||||||
em.flush(); // FIXME: necessary?
|
// em.flush(); // FIXME: necessary?
|
||||||
em.refresh(savedEntity);
|
// em.refresh(savedEntity);
|
||||||
|
|
||||||
final var uri =
|
final var uri =
|
||||||
MvcUriComponentsBuilder.fromController(getClass())
|
MvcUriComponentsBuilder.fromController(getClass())
|
||||||
@ -219,11 +203,23 @@ public class HsOfficeDebitorController implements HsOfficeDebitorsApi {
|
|||||||
"debitorRel.contact.uuid", resource.getDebitorRel().getContactUuid(), realContactRepo::findByUuid))
|
"debitorRel.contact.uuid", resource.getDebitorRel().getContactUuid(), realContactRepo::findByUuid))
|
||||||
.build());
|
.build());
|
||||||
entity.setDebitorRel(debitorRel);
|
entity.setDebitorRel(debitorRel);
|
||||||
|
} else {
|
||||||
|
final var debitorRelOptional = realRelRepo.findByUuid(resource.getDebitorRelUuid());
|
||||||
|
debitorRelOptional.ifPresentOrElse(
|
||||||
|
debitorRel -> {
|
||||||
|
entity.setDebitorRel(realRelRepo.save(debitorRel));
|
||||||
|
},
|
||||||
|
() -> {
|
||||||
|
throw new ValidationException(
|
||||||
|
"Unable to find debitorRel.uuid: " + resource.getDebitorRelUuid());
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (resource.getRefundBankAccountUuid() != null) {
|
if (resource.getRefundBankAccountUuid() != null) {
|
||||||
entity.setRefundBankAccount(resolve(
|
entity.setRefundBankAccount(resolve(
|
||||||
"refundBankAccount.uuid", resource.getRefundBankAccountUuid(), bankAccountRepo::findByUuid));
|
"refundBankAccount.uuid", resource.getRefundBankAccountUuid(), bankAccountRepo::findByUuid));
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
final BiConsumer<HsOfficeDebitorEntity, HsOfficeDebitorResource> ENTITY_TO_RESOURCE_POSTMAPPER = (entity, resource) -> {
|
final BiConsumer<HsOfficeDebitorEntity, HsOfficeDebitorResource> ENTITY_TO_RESOURCE_POSTMAPPER = (entity, resource) -> {
|
||||||
|
@ -132,7 +132,7 @@ public class HsOfficeDebitorEntity implements BaseEntity<HsOfficeDebitorEntity>,
|
|||||||
@Override
|
@Override
|
||||||
public HsOfficeDebitorEntity load() {
|
public HsOfficeDebitorEntity load() {
|
||||||
BaseEntity.super.load();
|
BaseEntity.super.load();
|
||||||
if (partner != null) {
|
if (partner != null) { // FIXME: should not happen
|
||||||
partner.load();
|
partner.load();
|
||||||
}
|
}
|
||||||
debitorRel.load();
|
debitorRel.load();
|
||||||
|
@ -496,7 +496,7 @@ class HsOfficeDebitorControllerAcceptanceTest extends ContextBasedTestWithCleanu
|
|||||||
.post("http://localhost/api/hs/office/debitors")
|
.post("http://localhost/api/hs/office/debitors")
|
||||||
.then().log().all().assertThat()
|
.then().log().all().assertThat()
|
||||||
.statusCode(400)
|
.statusCode(400)
|
||||||
.body("message", is("ERROR: [400] Unable to find RealRelation by debitorRelUuid: 00000000-0000-0000-0000-000000000000"));
|
.body("message", is("ERROR: [400] Unable to find debitorRel.uuid: 00000000-0000-0000-0000-000000000000"));
|
||||||
// @formatter:on
|
// @formatter:on
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user