code-cleanup
This commit is contained in:
parent
d4f97e9cf5
commit
573ac44b62
@ -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) {
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user