1
0

rename hs-admin to hs-office regarding the module name

This commit is contained in:
Michael Hoennig
2022-09-13 13:27:52 +02:00
parent 7465b9df63
commit 4e90f53bf3
43 changed files with 540 additions and 544 deletions

View File

@ -1,10 +1,6 @@
package net.hostsharing.hsadminng;
import net.hostsharing.hsadminng.hs.admin.generated.api.v1.model.HsAdminPersonResource;
import net.hostsharing.hsadminng.hs.admin.person.HsAdminPersonEntity;
import org.modelmapper.Converter;
import org.modelmapper.ModelMapper;
import org.modelmapper.spi.MappingContext;
import java.util.List;
import java.util.function.BiConsumer;

View File

@ -1,8 +0,0 @@
package net.hostsharing.hsadminng.hs.admin.person;
public enum HsAdminPersonType {
NATURAL,
LEGAL,
SOLE_REPRESENTATION,
JOINT_REPRESENTATION
}

View File

@ -1,4 +1,4 @@
package net.hostsharing.hsadminng.hs.admin.contact;
package net.hostsharing.hsadminng.hs.office.contact;
import lombok.*;
@ -9,13 +9,13 @@ import javax.persistence.Table;
import java.util.UUID;
@Entity
@Table(name = "hs_admin_contact_rv")
@Table(name = "hs_office_contact_rv")
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HsAdminContactEntity {
public class HsOfficeContactEntity {
private @Id UUID uuid;
private String label;

View File

@ -1,4 +1,4 @@
package net.hostsharing.hsadminng.hs.admin.contact;
package net.hostsharing.hsadminng.hs.office.contact;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.Repository;
@ -7,19 +7,19 @@ import java.util.List;
import java.util.Optional;
import java.util.UUID;
public interface HsAdminContactRepository extends Repository<HsAdminContactEntity, UUID> {
public interface HsOfficeContactRepository extends Repository<HsOfficeContactEntity, UUID> {
Optional<HsAdminContactEntity> findByUuid(UUID id);
Optional<HsOfficeContactEntity> findByUuid(UUID id);
@Query("""
SELECT c FROM HsAdminContactEntity c
SELECT c FROM HsOfficeContactEntity c
WHERE :label is null
OR c.label like concat(:label, '%')
""")
// TODO.feat: join tables missing
List<HsAdminContactEntity> findContactByOptionalLabelLike(String label);
List<HsOfficeContactEntity> findContactByOptionalLabelLike(String label);
HsAdminContactEntity save(final HsAdminContactEntity entity);
HsOfficeContactEntity save(final HsOfficeContactEntity entity);
void deleteByUuid(final UUID uuid);

View File

@ -1,14 +1,14 @@
package net.hostsharing.hsadminng.hs.admin.partner;
package net.hostsharing.hsadminng.hs.office.partner;
import net.hostsharing.hsadminng.Mapper;
import net.hostsharing.hsadminng.context.Context;
import net.hostsharing.hsadminng.hs.admin.contact.HsAdminContactEntity;
import net.hostsharing.hsadminng.hs.admin.generated.api.v1.api.HsAdminPartnersApi;
import net.hostsharing.hsadminng.hs.admin.generated.api.v1.model.HsAdminContactResource;
import net.hostsharing.hsadminng.hs.admin.generated.api.v1.model.HsAdminPartnerResource;
import net.hostsharing.hsadminng.hs.admin.generated.api.v1.model.HsAdminPartnerUpdateResource;
import net.hostsharing.hsadminng.hs.admin.generated.api.v1.model.HsAdminPersonResource;
import net.hostsharing.hsadminng.hs.admin.person.HsAdminPersonEntity;
import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactEntity;
import net.hostsharing.hsadminng.hs.office.generated.api.v1.api.HsOfficePartnersApi;
import net.hostsharing.hsadminng.hs.office.generated.api.v1.model.HsOfficeContactResource;
import net.hostsharing.hsadminng.hs.office.generated.api.v1.model.HsOfficePartnerResource;
import net.hostsharing.hsadminng.hs.office.generated.api.v1.model.HsOfficePartnerUpdateResource;
import net.hostsharing.hsadminng.hs.office.generated.api.v1.model.HsOfficePersonResource;
import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional;
@ -23,17 +23,17 @@ import static net.hostsharing.hsadminng.Mapper.map;
@RestController
public class HsAdminPartnerController implements HsAdminPartnersApi {
public class HsOfficePartnerController implements HsOfficePartnersApi {
@Autowired
private Context context;
@Autowired
private HsAdminPartnerRepository partnerRepo;
private HsOfficePartnerRepository partnerRepo;
@Override
@Transactional(readOnly = true)
public ResponseEntity<List<HsAdminPartnerResource>> listPartners(
public ResponseEntity<List<HsOfficePartnerResource>> listPartners(
final String currentUser,
final String assumedRoles,
final String name) {
@ -42,46 +42,46 @@ public class HsAdminPartnerController implements HsAdminPartnersApi {
// TODO.feat: final var entities = partnerRepo.findPartnerByOptionalNameLike(name);
final var entities = List.of(
HsAdminPartnerEntity.builder()
HsOfficePartnerEntity.builder()
.uuid(UUID.randomUUID())
.person(HsAdminPersonEntity.builder()
.person(HsOfficePersonEntity.builder()
.tradeName("Ixx AG")
.build())
.contact(HsAdminContactEntity.builder()
.contact(HsOfficeContactEntity.builder()
.label("Ixx AG")
.build())
.build(),
HsAdminPartnerEntity.builder()
HsOfficePartnerEntity.builder()
.uuid(UUID.randomUUID())
.person(HsAdminPersonEntity.builder()
.person(HsOfficePersonEntity.builder()
.tradeName("Ypsilon GmbH")
.build())
.contact(HsAdminContactEntity.builder()
.contact(HsOfficeContactEntity.builder()
.label("Ypsilon GmbH")
.build())
.build(),
HsAdminPartnerEntity.builder()
HsOfficePartnerEntity.builder()
.uuid(UUID.randomUUID())
.person(HsAdminPersonEntity.builder()
.person(HsOfficePersonEntity.builder()
.tradeName("Zett OHG")
.build())
.contact(HsAdminContactEntity.builder()
.contact(HsOfficeContactEntity.builder()
.label("Zett OHG")
.build())
.build()
);
final var resources = Mapper.mapList(entities, HsAdminPartnerResource.class,
final var resources = Mapper.mapList(entities, HsOfficePartnerResource.class,
PARTNER_ENTITY_TO_RESOURCE_POSTMAPPER);
return ResponseEntity.ok(resources);
}
@Override
@Transactional
public ResponseEntity<HsAdminPartnerResource> addPartner(
public ResponseEntity<HsOfficePartnerResource> addPartner(
final String currentUser,
final String assumedRoles,
final HsAdminPartnerResource body) {
final HsOfficePartnerResource body) {
// TODO.feat: context.define(currentUser, assumedRoles);
@ -89,21 +89,21 @@ public class HsAdminPartnerController implements HsAdminPartnersApi {
body.setUuid(UUID.randomUUID());
}
// TODO.feat: final var saved = partnerRepo.save(map(body, HsAdminPartnerEntity.class));
final var saved = map(body, HsAdminPartnerEntity.class, PARTNER_RESOURCE_TO_ENTITY_POSTMAPPER);
// TODO.feat: final var saved = partnerRepo.save(map(body, HsOfficePartnerEntity.class));
final var saved = map(body, HsOfficePartnerEntity.class, PARTNER_RESOURCE_TO_ENTITY_POSTMAPPER);
final var uri =
MvcUriComponentsBuilder.fromController(getClass())
.path("/api/hs/admin/partners/{id}")
.path("/api/hs/office/partners/{id}")
.buildAndExpand(body.getUuid())
.toUri();
final var mapped = map(saved, HsAdminPartnerResource.class,
final var mapped = map(saved, HsOfficePartnerResource.class,
PARTNER_ENTITY_TO_RESOURCE_POSTMAPPER);
return ResponseEntity.created(uri).body(mapped);
}
@Override
public ResponseEntity<HsAdminPartnerResource> getPartnerByUuid(
public ResponseEntity<HsOfficePartnerResource> getPartnerByUuid(
final String currentUser,
final String assumedRoles,
final UUID partnerUuid) {
@ -113,19 +113,19 @@ public class HsAdminPartnerController implements HsAdminPartnersApi {
// TODO.feat: final var result = partnerRepo.findByUuid(partnerUuid);
final var result =
partnerUuid.equals(UUID.fromString("3fa85f64-5717-4562-b3fc-2c963f66afa6")) ? null :
HsAdminPartnerEntity.builder()
HsOfficePartnerEntity.builder()
.uuid(UUID.randomUUID())
.person(HsAdminPersonEntity.builder()
.person(HsOfficePersonEntity.builder()
.tradeName("Ixx AG")
.build())
.contact(HsAdminContactEntity.builder()
.contact(HsOfficeContactEntity.builder()
.label("Ixx AG")
.build())
.build();
if (result == null) {
return ResponseEntity.notFound().build();
}
return ResponseEntity.ok(map(result, HsAdminPartnerResource.class, PARTNER_ENTITY_TO_RESOURCE_POSTMAPPER));
return ResponseEntity.ok(map(result, HsOfficePartnerResource.class, PARTNER_ENTITY_TO_RESOURCE_POSTMAPPER));
}
@Override
@ -134,22 +134,22 @@ public class HsAdminPartnerController implements HsAdminPartnersApi {
}
@Override
public ResponseEntity<HsAdminPartnerResource> updatePartner(
public ResponseEntity<HsOfficePartnerResource> updatePartner(
final String currentUser,
final String assumedRoles,
final UUID partnerUuid,
final HsAdminPartnerUpdateResource body) {
final HsOfficePartnerUpdateResource body) {
return null;
}
private final BiConsumer<HsAdminPartnerResource, HsAdminPartnerEntity> PARTNER_RESOURCE_TO_ENTITY_POSTMAPPER = (resource, entity) -> {
entity.setPerson(map(resource.getPerson(), HsAdminPersonEntity.class));
entity.setContact(map(resource.getContact(), HsAdminContactEntity.class));
private final BiConsumer<HsOfficePartnerResource, HsOfficePartnerEntity> PARTNER_RESOURCE_TO_ENTITY_POSTMAPPER = (resource, entity) -> {
entity.setPerson(map(resource.getPerson(), HsOfficePersonEntity.class));
entity.setContact(map(resource.getContact(), HsOfficeContactEntity.class));
};
private final BiConsumer<HsAdminPartnerEntity, HsAdminPartnerResource> PARTNER_ENTITY_TO_RESOURCE_POSTMAPPER = (entity, resource) -> {
resource.setPerson(map(entity.getPerson(), HsAdminPersonResource.class));
resource.setContact(map(entity.getContact(), HsAdminContactResource.class));
private final BiConsumer<HsOfficePartnerEntity, HsOfficePartnerResource> PARTNER_ENTITY_TO_RESOURCE_POSTMAPPER = (entity, resource) -> {
resource.setPerson(map(entity.getPerson(), HsOfficePersonResource.class));
resource.setContact(map(entity.getContact(), HsOfficeContactResource.class));
};
}

View File

@ -1,31 +1,31 @@
package net.hostsharing.hsadminng.hs.admin.partner;
package net.hostsharing.hsadminng.hs.office.partner;
import lombok.*;
import net.hostsharing.hsadminng.hs.admin.contact.HsAdminContactEntity;
import net.hostsharing.hsadminng.hs.admin.person.HsAdminPersonEntity;
import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactEntity;
import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonEntity;
import javax.persistence.*;
import java.time.LocalDate;
import java.util.UUID;
@Entity
@Table(name = "hs_admin_partner_rv")
@Table(name = "hs_office_partner_rv")
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HsAdminPartnerEntity {
public class HsOfficePartnerEntity {
private @Id UUID uuid;
@ManyToOne
@JoinColumn(name = "personuuid")
private HsAdminPersonEntity person;
private HsOfficePersonEntity person;
@ManyToOne
@JoinColumn(name = "contactuuid")
private HsAdminContactEntity contact;
private HsOfficeContactEntity contact;
private @Column(name = "registrationoffice") String registrationOffice;
private @Column(name = "registrationnumber") String registrationNumber;

View File

@ -1,4 +1,4 @@
package net.hostsharing.hsadminng.hs.admin.partner;
package net.hostsharing.hsadminng.hs.office.partner;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.Repository;
@ -7,14 +7,14 @@ import java.util.List;
import java.util.Optional;
import java.util.UUID;
public interface HsAdminPartnerRepository extends Repository<HsAdminPartnerEntity, UUID> {
public interface HsOfficePartnerRepository extends Repository<HsOfficePartnerEntity, UUID> {
Optional<HsAdminPartnerEntity> findByUuid(UUID id);
Optional<HsOfficePartnerEntity> findByUuid(UUID id);
@Query("""
SELECT partner FROM HsAdminPartnerEntity partner
JOIN HsAdminContactEntity contact ON contact.uuid = partner.contact
JOIN HsAdminPersonEntity person ON person.uuid = partner.person
SELECT partner FROM HsOfficePartnerEntity partner
JOIN HsOfficeContactEntity contact ON contact.uuid = partner.contact
JOIN HsOfficePersonEntity person ON person.uuid = partner.person
WHERE :name is null
OR partner.birthName like concat(:name, '%')
OR contact.label like concat(:name, '%')
@ -22,9 +22,9 @@ public interface HsAdminPartnerRepository extends Repository<HsAdminPartnerEntit
OR person.givenName like concat(:name, '%')
OR person.familyName like concat(:name, '%')
""")
List<HsAdminPartnerEntity> findPartnerByOptionalNameLike(String name);
List<HsOfficePartnerEntity> findPartnerByOptionalNameLike(String name);
HsAdminPartnerEntity save(final HsAdminPartnerEntity entity);
HsOfficePartnerEntity save(final HsOfficePartnerEntity entity);
long count();

View File

@ -1,4 +1,4 @@
package net.hostsharing.hsadminng.hs.admin.person;
package net.hostsharing.hsadminng.hs.office.person;
import com.vladmihalcea.hibernate.type.basic.PostgreSQLEnumType;
import lombok.*;
@ -10,7 +10,7 @@ import javax.persistence.*;
import java.util.UUID;
@Entity
@Table(name = "hs_admin_person_rv")
@Table(name = "hs_office_person_rv")
@TypeDef(
name = "pgsql_enum",
typeClass = PostgreSQLEnumType.class
@ -20,14 +20,14 @@ import java.util.UUID;
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HsAdminPersonEntity {
public class HsOfficePersonEntity {
private @Id UUID uuid;
@Column(name = "persontype")
@Enumerated(EnumType.STRING)
@Type( type = "pgsql_enum" )
private HsAdminPersonType personType;
private HsOfficePersonType personType;
@Column(name = "tradename")
private String tradeName;

View File

@ -1,4 +1,4 @@
package net.hostsharing.hsadminng.hs.admin.person;
package net.hostsharing.hsadminng.hs.office.person;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.Repository;
@ -7,20 +7,20 @@ import java.util.List;
import java.util.Optional;
import java.util.UUID;
public interface HsAdminPersonRepository extends Repository<HsAdminPersonEntity, UUID> {
public interface HsOfficePersonRepository extends Repository<HsOfficePersonEntity, UUID> {
Optional<HsAdminPersonEntity> findByUuid(UUID personUuid);
Optional<HsOfficePersonEntity> findByUuid(UUID personUuid);
@Query("""
SELECT p FROM HsAdminPersonEntity p
SELECT p FROM HsOfficePersonEntity p
WHERE :name is null
OR p.tradeName like concat(:name, '%')
OR p.givenName like concat(:name, '%')
OR p.familyName like concat(:name, '%')
""")
List<HsAdminPersonEntity> findPersonByOptionalNameLike(String name);
List<HsOfficePersonEntity> findPersonByOptionalNameLike(String name);
HsAdminPersonEntity save(final HsAdminPersonEntity entity);
HsOfficePersonEntity save(final HsOfficePersonEntity entity);
int deleteByUuid(final UUID personUuid);

View File

@ -0,0 +1,8 @@
package net.hostsharing.hsadminng.hs.office.person;
public enum HsOfficePersonType {
NATURAL,
LEGAL,
SOLE_REPRESENTATION,
JOINT_REPRESENTATION
}