Add company data to user response in API

This commit is contained in:
harish
2024-10-01 14:57:08 +05:30
parent e4776b3b33
commit 4e7ee29ea0
5 changed files with 26 additions and 6 deletions

View File

@@ -10,12 +10,14 @@ import net.gepafin.tendermanagement.entities.UserEntity;
import net.gepafin.tendermanagement.enums.RoleStatusEnum; import net.gepafin.tendermanagement.enums.RoleStatusEnum;
import net.gepafin.tendermanagement.enums.UserStatusEnum; import net.gepafin.tendermanagement.enums.UserStatusEnum;
import net.gepafin.tendermanagement.model.request.*; import net.gepafin.tendermanagement.model.request.*;
import net.gepafin.tendermanagement.model.response.CompanyResponse;
import net.gepafin.tendermanagement.model.response.RoleResponseBean; import net.gepafin.tendermanagement.model.response.RoleResponseBean;
import net.gepafin.tendermanagement.model.response.UserSamlResponse; import net.gepafin.tendermanagement.model.response.UserSamlResponse;
import net.gepafin.tendermanagement.model.response.UserResponseBean; import net.gepafin.tendermanagement.model.response.UserResponseBean;
import net.gepafin.tendermanagement.model.util.JWTToken; import net.gepafin.tendermanagement.model.util.JWTToken;
import net.gepafin.tendermanagement.repositories.BeneficiaryRepository; import net.gepafin.tendermanagement.repositories.BeneficiaryRepository;
import net.gepafin.tendermanagement.repositories.UserRepository; import net.gepafin.tendermanagement.repositories.UserRepository;
import net.gepafin.tendermanagement.service.CompanyService;
import net.gepafin.tendermanagement.service.impl.AuthenticationService; import net.gepafin.tendermanagement.service.impl.AuthenticationService;
import net.gepafin.tendermanagement.util.Utils; import net.gepafin.tendermanagement.util.Utils;
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException; import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
@@ -27,18 +29,22 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
import static net.gepafin.tendermanagement.util.Utils.setIfUpdated; import static net.gepafin.tendermanagement.util.Utils.setIfUpdated;
@Repository @Component
public class UserDao { public class UserDao {
private final Logger log = LoggerFactory.getLogger(UserDao.class); private final Logger log = LoggerFactory.getLogger(UserDao.class);
@Autowired @Autowired
private UserRepository userRepository; private UserRepository userRepository;
@Autowired
private CompanyDao companyDao;
@Autowired @Autowired
private AuthenticationService authService; private AuthenticationService authService;
@@ -77,8 +83,9 @@ public class UserDao {
beneficiaryEntity.setLastName(userReq.getLastName()); beneficiaryEntity.setLastName(userReq.getLastName());
beneficiaryEntity.setOrganization(userReq.getOrganization()); beneficiaryEntity.setOrganization(userReq.getOrganization());
beneficiaryEntity.setPhoneNumber(userReq.getPhoneNumber()); beneficiaryEntity.setPhoneNumber(userReq.getPhoneNumber());
beneficiaryEntity =beneficiaryRepository.save(beneficiaryEntity);
} }
return beneficiaryRepository.save(beneficiaryEntity); return beneficiaryEntity;
} }
private void validateUserRequest(String tempToken, UserReq userReq) { private void validateUserRequest(String tempToken, UserReq userReq) {
@@ -188,6 +195,8 @@ public class UserDao {
RoleResponseBean roleResponseBean = roleDao.convertRoleEntityToRoleResponse(userEntity.getRoleEntity()); RoleResponseBean roleResponseBean = roleDao.convertRoleEntityToRoleResponse(userEntity.getRoleEntity());
userResponseBean.setRole(roleResponseBean); userResponseBean.setRole(roleResponseBean);
userResponseBean.setLastLogin(userEntity.getLastLogin()); userResponseBean.setLastLogin(userEntity.getLastLogin());
List<CompanyResponse> companyResponseBeans = companyDao.getCompanyByUserId(userEntity.getId());
userResponseBean.setCompanies(companyResponseBeans);
if (userEntity.getBeneficiary() == null) { if (userEntity.getBeneficiary() == null) {
userResponseBean.setFirstName(userEntity.getFirstName()); userResponseBean.setFirstName(userEntity.getFirstName());
userResponseBean.setLastName(userEntity.getLastName()); userResponseBean.setLastName(userEntity.getLastName());

View File

@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
@Getter @Getter
@Setter @Setter
@@ -43,4 +44,6 @@ public class LoginResponse {
private LocalDateTime createdDate; private LocalDateTime createdDate;
private LocalDateTime updatedDate; private LocalDateTime updatedDate;
private List<CompanyResponse> companies;
} }

View File

@@ -6,6 +6,7 @@ import net.gepafin.tendermanagement.enums.UserStatusEnum;
import net.gepafin.tendermanagement.model.BaseBean; import net.gepafin.tendermanagement.model.BaseBean;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
@Getter @Getter
@Setter @Setter
@@ -37,4 +38,5 @@ public class UserResponseBean extends BaseBean {
private LocalDateTime dateOfBirth; private LocalDateTime dateOfBirth;
private List<CompanyResponse> companies;
} }

View File

@@ -5,11 +5,13 @@ import jakarta.servlet.http.HttpServletResponse;
import net.gepafin.tendermanagement.config.Translator; import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.config.jwt.TokenProvider; import net.gepafin.tendermanagement.config.jwt.TokenProvider;
import net.gepafin.tendermanagement.constants.GepafinConstant; import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.dao.CompanyDao;
import net.gepafin.tendermanagement.dao.RoleDao; import net.gepafin.tendermanagement.dao.RoleDao;
import net.gepafin.tendermanagement.entities.SamlResponseEntity; import net.gepafin.tendermanagement.entities.SamlResponseEntity;
import net.gepafin.tendermanagement.entities.UserEntity; import net.gepafin.tendermanagement.entities.UserEntity;
import net.gepafin.tendermanagement.enums.UserStatusEnum; import net.gepafin.tendermanagement.enums.UserStatusEnum;
import net.gepafin.tendermanagement.model.request.LoginReq; import net.gepafin.tendermanagement.model.request.LoginReq;
import net.gepafin.tendermanagement.model.response.CompanyResponse;
import net.gepafin.tendermanagement.model.response.LoginResponse; import net.gepafin.tendermanagement.model.response.LoginResponse;
import net.gepafin.tendermanagement.model.response.RoleResponseBean; import net.gepafin.tendermanagement.model.response.RoleResponseBean;
import net.gepafin.tendermanagement.model.response.UserSamlResponse; import net.gepafin.tendermanagement.model.response.UserSamlResponse;
@@ -42,6 +44,8 @@ public class AuthenticationService {
private final TokenProvider tokenProvider; private final TokenProvider tokenProvider;
private final AuthenticationManager authenticationManager; private final AuthenticationManager authenticationManager;
@Autowired
private CompanyDao companyDao;
@Autowired @Autowired
private UserRepository userRepository; private UserRepository userRepository;
@@ -90,10 +94,12 @@ public class AuthenticationService {
return jwtToken; return jwtToken;
} }
private static LoginResponse getLoginResponse(UserEntity user, RoleResponseBean roleResponseBean) { private LoginResponse getLoginResponse(UserEntity user, RoleResponseBean roleResponseBean) {
LoginResponse loginResponse = new LoginResponse(); LoginResponse loginResponse = new LoginResponse();
loginResponse.setEmail(user.getEmail()); loginResponse.setEmail(user.getEmail());
loginResponse.setId(user.getId()); loginResponse.setId(user.getId());
List<CompanyResponse> companyResponseBeans = companyDao.getCompanyByUserId(user.getId());
loginResponse.setCompanies(companyResponseBeans);
loginResponse.setRole(roleResponseBean); loginResponse.setRole(roleResponseBean);
loginResponse.setStatus(user.getStatus()); loginResponse.setStatus(user.getStatus());
loginResponse.setLastLogin(user.getLastLogin()); loginResponse.setLastLogin(user.getLastLogin());

View File

@@ -9,4 +9,4 @@ spring.h2.console.enabled=true
base-url=http://bandi-api.gepafin.it base-url=http://bandi-api.gepafin.it
isVatCheckGloballyDisabled = false isVatCheckGloballyDisabled = false
fe.base.url=http://bandi.gepafin.it fe.base.url=http://gepafin-production-fe.s3-website.eu-central-1.amazonaws.com