code-cleanup

This commit is contained in:
Michael Hoennig 2025-03-04 11:15:53 +01:00
parent d4f97e9cf5
commit 573ac44b62
2 changed files with 25 additions and 18 deletions

View File

@ -42,10 +42,10 @@ public class HsOfficePartnerController implements HsOfficePartnersApi {
private StrictMapper mapper; private StrictMapper mapper;
@Autowired @Autowired
private HsOfficePartnerRbacRepository partnerRepo; private HsOfficePartnerRbacRepository rbacPartnerRepo;
@Autowired @Autowired
private HsOfficeRelationRealRepository relationRepo; private HsOfficeRelationRealRepository realRelationRepo;
@PersistenceContext @PersistenceContext
private EntityManager em; private EntityManager em;
@ -59,7 +59,7 @@ public class HsOfficePartnerController implements HsOfficePartnersApi {
final String name) { final String name) {
context.define(currentSubject, assumedRoles); context.define(currentSubject, assumedRoles);
final var entities = partnerRepo.findPartnerByOptionalNameLike(name); final var entities = rbacPartnerRepo.findPartnerByOptionalNameLike(name);
final var resources = mapper.mapList(entities, HsOfficePartnerResource.class, ENTITY_TO_RESOURCE_POSTMAPPER); final var resources = mapper.mapList(entities, HsOfficePartnerResource.class, ENTITY_TO_RESOURCE_POSTMAPPER);
return ResponseEntity.ok(resources); return ResponseEntity.ok(resources);
@ -77,7 +77,7 @@ public class HsOfficePartnerController implements HsOfficePartnersApi {
final var entityToSave = createPartnerEntity(body); final var entityToSave = createPartnerEntity(body);
final var saved = partnerRepo.save(entityToSave); final var saved = rbacPartnerRepo.save(entityToSave);
final var uri = final var uri =
MvcUriComponentsBuilder.fromController(getClass()) MvcUriComponentsBuilder.fromController(getClass())
@ -98,7 +98,7 @@ public class HsOfficePartnerController implements HsOfficePartnersApi {
context.define(currentSubject, assumedRoles); context.define(currentSubject, assumedRoles);
final var result = partnerRepo.findByUuid(partnerUuid); final var result = rbacPartnerRepo.findByUuid(partnerUuid);
if (result.isEmpty()) { if (result.isEmpty()) {
return ResponseEntity.notFound().build(); return ResponseEntity.notFound().build();
} }
@ -116,7 +116,7 @@ public class HsOfficePartnerController implements HsOfficePartnersApi {
context.define(currentSubject, assumedRoles); context.define(currentSubject, assumedRoles);
final var result = partnerRepo.findPartnerByPartnerNumber(partnerNumber); final var result = rbacPartnerRepo.findPartnerByPartnerNumber(partnerNumber);
if (result.isEmpty()) { if (result.isEmpty()) {
return ResponseEntity.notFound().build(); return ResponseEntity.notFound().build();
} }
@ -133,12 +133,12 @@ public class HsOfficePartnerController implements HsOfficePartnersApi {
final UUID partnerUuid) { final UUID partnerUuid) {
context.define(currentSubject, assumedRoles); context.define(currentSubject, assumedRoles);
final var partnerToDelete = partnerRepo.findByUuid(partnerUuid); final var partnerToDelete = rbacPartnerRepo.findByUuid(partnerUuid);
if (partnerToDelete.isEmpty()) { if (partnerToDelete.isEmpty()) {
return ResponseEntity.notFound().build(); return ResponseEntity.notFound().build();
} }
if (partnerRepo.deleteByUuid(partnerUuid) != 1) { if (rbacPartnerRepo.deleteByUuid(partnerUuid) != 1) {
return ResponseEntity.status(HttpStatus.FORBIDDEN).build(); return ResponseEntity.status(HttpStatus.FORBIDDEN).build();
} }
@ -156,12 +156,12 @@ public class HsOfficePartnerController implements HsOfficePartnersApi {
context.define(currentSubject, assumedRoles); context.define(currentSubject, assumedRoles);
final var current = partnerRepo.findByUuid(partnerUuid).orElseThrow(); final var current = rbacPartnerRepo.findByUuid(partnerUuid).orElseThrow();
final var previousPartnerRel = current.getPartnerRel(); final var previousPartnerRel = current.getPartnerRel();
new HsOfficePartnerEntityPatcher(em, current).apply(body); new HsOfficePartnerEntityPatcher(em, current).apply(body);
final var saved = partnerRepo.save(current); final var saved = rbacPartnerRepo.save(current);
optionallyCreateExPartnerRelation(saved, previousPartnerRel); optionallyCreateExPartnerRelation(saved, previousPartnerRel);
optionallyUpdateRelatedRelations(saved, previousPartnerRel); optionallyUpdateRelatedRelations(saved, previousPartnerRel);
@ -170,19 +170,27 @@ public class HsOfficePartnerController implements HsOfficePartnersApi {
} }
private void optionallyCreateExPartnerRelation(final HsOfficePartnerRbacEntity saved, final HsOfficeRelationRealEntity previousPartnerRel) { private void optionallyCreateExPartnerRelation(final HsOfficePartnerRbacEntity saved, final HsOfficeRelationRealEntity previousPartnerRel) {
if (!saved.getPartnerRel().getUuid().equals(previousPartnerRel.getUuid())) {
relationRepo.save(previousPartnerRel.toBuilder().uuid(null) final var partnerRelHasChanged = !saved.getPartnerRel().getUuid().equals(previousPartnerRel.getUuid());
if (partnerRelHasChanged) {
realRelationRepo.save(previousPartnerRel.toBuilder().uuid(null)
.type(EX_PARTNER).anchor(saved.getPartnerRel().getHolder()) .type(EX_PARTNER).anchor(saved.getPartnerRel().getHolder())
.build()); .build());
} }
} }
private void optionallyUpdateRelatedRelations(final HsOfficePartnerRbacEntity saved, final HsOfficeRelationRealEntity previousPartnerRel) { private void optionallyUpdateRelatedRelations(final HsOfficePartnerRbacEntity saved, final HsOfficeRelationRealEntity previousPartnerRel) {
// if (!saved.getPartnerRel().getUuid().equals(previousPartnerRel.getUuid())) { final var oldPartnerPerson = previousPartnerRel.getHolder();
// relationRepo.save(previousPartnerRel.toBuilder().uuid(null) final var newPartnerPerson = saved.getPartnerRel().getHolder();
// .type(EX_PARTNER).anchor(saved.getPartnerRel().getHolder()) final var partnerPersonHasChanged = !newPartnerPerson.getUuid().equals(oldPartnerPerson.getUuid());
// .build()); if (partnerPersonHasChanged) {
// } // realRelationRepo.findRelationRelatedToPersonUuid(oldPartnerPerson.getUuid()).forEach( rel -> {
// if (rel.getType() == REPRESENTATIVE && rel.getAnchor().getUuid().equals(oldPartnerPerson.getUuid()) ) {
//
// }
//
// }
}
} }
private HsOfficePartnerRbacEntity createPartnerEntity(final HsOfficePartnerInsertResource body) { private HsOfficePartnerRbacEntity createPartnerEntity(final HsOfficePartnerInsertResource body) {

View File

@ -28,7 +28,6 @@ import static net.hostsharing.hsadminng.hs.office.person.HsOfficePersonType.NATU
import static net.hostsharing.hsadminng.hs.office.person.HsOfficePersonType.UNINCORPORATED_FIRM; import static net.hostsharing.hsadminng.hs.office.person.HsOfficePersonType.UNINCORPORATED_FIRM;
import static net.hostsharing.hsadminng.rbac.grant.RawRbacGrantEntity.distinctGrantDisplaysOf; import static net.hostsharing.hsadminng.rbac.grant.RawRbacGrantEntity.distinctGrantDisplaysOf;
import static net.hostsharing.hsadminng.rbac.role.RawRbacRoleEntity.distinctRoleNamesOf; import static net.hostsharing.hsadminng.rbac.role.RawRbacRoleEntity.distinctRoleNamesOf;
import static net.hostsharing.hsadminng.rbac.role.RbacRoleType.ADMIN;
import static net.hostsharing.hsadminng.rbac.test.JpaAttempt.attempt; import static net.hostsharing.hsadminng.rbac.test.JpaAttempt.attempt;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;