diff --git a/src/main/java/net/gepafin/tendermanagement/dao/UserDao.java b/src/main/java/net/gepafin/tendermanagement/dao/UserDao.java index 53825d01..eb28600b 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/UserDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/UserDao.java @@ -83,6 +83,15 @@ public class UserDao { beneficiaryEntity.setLastName(userReq.getLastName()); beneficiaryEntity.setOrganization(userReq.getOrganization()); beneficiaryEntity.setPhoneNumber(userReq.getPhoneNumber()); + beneficiaryEntity.setGdprRead(userReq.getGdprRead()); + beneficiaryEntity.setGdprComunicazione(userReq.getGdprComunicazione()); + beneficiaryEntity.setGdprElaborazione(userReq.getGdprElaborazione()); + beneficiaryEntity.setGdprMateriale(userReq.getGdprMateriale()); + beneficiaryEntity.setPrivacy(userReq.getPrivacy()); + beneficiaryEntity.setTerms(userReq.getTerms()); + beneficiaryEntity.setOffers(userReq.getOffers()); + beneficiaryEntity.setMarketing(userReq.getMarketing()); + beneficiaryEntity.setThirdParty(userReq.getThirdParty()); beneficiaryEntity =beneficiaryRepository.save(beneficiaryEntity); } return beneficiaryEntity; @@ -148,6 +157,14 @@ public class UserDao { setIfUpdated(userEntity::getOrganization, userEntity::setOrganization, userReq.getOrganization()); setIfUpdated(userEntity::getAddress, userEntity::setAddress, userReq.getAddress()); setIfUpdated(userEntity::getPhoneNumber, userEntity::setPhoneNumber, userReq.getPhoneNumber()); + setIfUpdated(userEntity::getDateOfBirth, userEntity::setDateOfBirth, userReq.getDateOfBirth()); + setIfUpdated(userEntity.getBeneficiary()::getCodiceFiscale, userEntity.getBeneficiary()::setCodiceFiscale, userReq.getCodiceFiscale()); + setIfUpdated(userEntity.getBeneficiary()::getGdprComunicazione, userEntity.getBeneficiary()::setGdprComunicazione, userReq.getGdprComunicazione()); + setIfUpdated(userEntity.getBeneficiary()::getGdprElaborazione, userEntity.getBeneficiary()::setGdprElaborazione, userReq.getGdprElaborazione()); + setIfUpdated(userEntity.getBeneficiary()::getGdprMateriale, userEntity.getBeneficiary()::setGdprMateriale, userReq.getGdprMateriale()); + setIfUpdated(userEntity.getBeneficiary()::getMarketing, userEntity.getBeneficiary()::setMarketing, userReq.getMarketing()); + setIfUpdated(userEntity.getBeneficiary()::getOffers, userEntity.getBeneficiary()::setOffers, userReq.getOffers()); + setIfUpdated(userEntity.getBeneficiary()::getThirdParty, userEntity.getBeneficiary()::setThirdParty, userReq.getThirdParty()); if (userReq.getRoleId() != null) { RoleEntity roleEntity = roleDao.validateRole(userReq.getRoleId()); setIfUpdated(userEntity::getRoleEntity, userEntity::setRoleEntity, roleEntity); @@ -167,6 +184,7 @@ public class UserDao { userEntity.setStatus(UserStatusEnum.ACTIVE.getValue()); userEntity.setBeneficiary(beneficiary); if (Boolean.FALSE.equals(RoleStatusEnum.ROLE_BENEFICIARY.getValue().equals(roleEntity.getRoleType()))) { + userEntity.setFirstName(userReq.getFirstName()); userEntity.setLastName(userReq.getLastName()); userEntity.setOrganization(userReq.getOrganization()); @@ -216,6 +234,15 @@ public class UserDao { userResponseBean.setCountry(userEntity.getBeneficiary().getCountry()); userResponseBean.setCodiceFiscale(userEntity.getBeneficiary().getCodiceFiscale()); userResponseBean.setDateOfBirth(userEntity.getBeneficiary().getDateOfBirth()); + userResponseBean.setGdprRead(userEntity.getBeneficiary().getGdprRead()); + userResponseBean.setGdprComunicazione(userEntity.getBeneficiary().getGdprComunicazione()); + userResponseBean.setGdprElaborazione(userEntity.getBeneficiary().getGdprElaborazione()); + userResponseBean.setGdprMateriale(userEntity.getBeneficiary().getGdprMateriale()); + userResponseBean.setPrivacy(userEntity.getBeneficiary().getPrivacy()); + userResponseBean.setTerms(userEntity.getBeneficiary().getTerms()); + userResponseBean.setOffers(userEntity.getBeneficiary().getOffers()); + userResponseBean.setMarketing(userEntity.getBeneficiary().getMarketing()); + userResponseBean.setThirdParty(userEntity.getBeneficiary().getThirdParty()); } return userResponseBean; } diff --git a/src/main/java/net/gepafin/tendermanagement/entities/BeneficiaryEntity.java b/src/main/java/net/gepafin/tendermanagement/entities/BeneficiaryEntity.java index 302f2af5..9ea91cb8 100644 --- a/src/main/java/net/gepafin/tendermanagement/entities/BeneficiaryEntity.java +++ b/src/main/java/net/gepafin/tendermanagement/entities/BeneficiaryEntity.java @@ -37,11 +37,37 @@ public class BeneficiaryEntity extends BaseEntity { @Column(name = "COUNTRY") private String country; - + @Column(name = "CODICE_FISCALE") private String codiceFiscale; - + @Column(name = "DATE_OF_BIRTH") private LocalDateTime dateOfBirth; - + + @Column(name = "PRIVACY") + private Boolean privacy; + + @Column(name = "TERMS") + private Boolean terms; + + @Column(name = "GDPR_READ") + private Boolean gdprRead; + + @Column(name = "MARKETING") + private Boolean marketing; + + @Column(name = "OFFERS") + private Boolean offers; + + @Column(name = "THIRD_PARTY") + private Boolean thirdParty; + + @Column(name = "GDPR_MATERIALE") + private Boolean gdprMateriale; + + @Column(name = "GDPR_ELABORAZIONE") + private Boolean gdprElaborazione; + + @Column(name = "GDPR_COMUNICAZIONE") + private Boolean gdprComunicazione; } diff --git a/src/main/java/net/gepafin/tendermanagement/model/request/UpdateUserReq.java b/src/main/java/net/gepafin/tendermanagement/model/request/UpdateUserReq.java index 65eba841..1b4ae81b 100644 --- a/src/main/java/net/gepafin/tendermanagement/model/request/UpdateUserReq.java +++ b/src/main/java/net/gepafin/tendermanagement/model/request/UpdateUserReq.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; import net.gepafin.tendermanagement.enums.UserStatusEnum; +import java.time.LocalDateTime; + @Getter @Setter public class UpdateUserReq { @@ -17,4 +19,12 @@ public class UpdateUserReq { private String city; private UserStatusEnum status; private String country; + private String codiceFiscale; + private LocalDateTime dateOfBirth; + private Boolean marketing; + private Boolean offers; + private Boolean thirdParty; + private Boolean gdprMateriale; + private Boolean gdprElaborazione; + private Boolean gdprComunicazione; } diff --git a/src/main/java/net/gepafin/tendermanagement/model/request/UserReq.java b/src/main/java/net/gepafin/tendermanagement/model/request/UserReq.java index c53d65aa..68d9fdc8 100644 --- a/src/main/java/net/gepafin/tendermanagement/model/request/UserReq.java +++ b/src/main/java/net/gepafin/tendermanagement/model/request/UserReq.java @@ -31,5 +31,16 @@ public class UserReq { private String codiceFiscale; private LocalDateTime dateOfBirth; + private Boolean privacy; + private Boolean terms; + private Boolean gdprRead; + + private Boolean marketing; + private Boolean offers; + private Boolean thirdParty; + + private Boolean gdprMateriale; + private Boolean gdprElaborazione; + private Boolean gdprComunicazione; } diff --git a/src/main/java/net/gepafin/tendermanagement/model/response/UserResponseBean.java b/src/main/java/net/gepafin/tendermanagement/model/response/UserResponseBean.java index c0457120..056a8677 100644 --- a/src/main/java/net/gepafin/tendermanagement/model/response/UserResponseBean.java +++ b/src/main/java/net/gepafin/tendermanagement/model/response/UserResponseBean.java @@ -39,4 +39,16 @@ public class UserResponseBean extends BaseBean { private LocalDateTime dateOfBirth; private List companies; + private Boolean privacy; + private Boolean terms; + + private Boolean gdprRead; + + private Boolean marketing; + private Boolean offers; + private Boolean thirdParty; + + private Boolean gdprMateriale; + private Boolean gdprElaborazione; + private Boolean gdprComunicazione; } diff --git a/src/main/resources/db/changelog/db.changelog-1.0.0.xml b/src/main/resources/db/changelog/db.changelog-1.0.0.xml index d067df71..cdad0a33 100644 --- a/src/main/resources/db/changelog/db.changelog-1.0.0.xml +++ b/src/main/resources/db/changelog/db.changelog-1.0.0.xml @@ -879,5 +879,24 @@ + + + + + + + + + + + + + + + + + + +