From 0f056d237fef8e36bffdcd589fe89898ebe0403b Mon Sep 17 00:00:00 2001 From: harish Date: Sun, 20 Oct 2024 13:30:37 +0530 Subject: [PATCH] updated code --- .../tendermanagement/dao/DashboardDao.java | 34 +++++++++---------- .../gepafin/tendermanagement/dao/UserDao.java | 6 ++-- .../repositories/UserRepository.java | 7 +++- .../tendermanagement/service/UserService.java | 4 +-- .../service/impl/DashboardServiceImpl.java | 3 +- .../service/impl/UserServiceImpl.java | 12 ++----- .../web/rest/api/UserApi.java | 17 +--------- .../web/rest/api/impl/UserApiController.java | 12 ++----- 8 files changed, 35 insertions(+), 60 deletions(-) diff --git a/src/main/java/net/gepafin/tendermanagement/dao/DashboardDao.java b/src/main/java/net/gepafin/tendermanagement/dao/DashboardDao.java index 5622aa8a..a849f67d 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/DashboardDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/DashboardDao.java @@ -32,23 +32,23 @@ public class DashboardDao { @Autowired private CompanyRepository companyRepository; - public SuperAdminWidgetResponseBean getDashboardWidget() { + public SuperAdminWidgetResponseBean getDashboardWidget(UserEntity requestedUserEntity) { SuperAdminWidgetResponseBean widgetResponseBean = new SuperAdminWidgetResponseBean(); - widgetResponseBean.setWidget1(createWidget1()); + widgetResponseBean.setWidget1(createWidget1(requestedUserEntity)); // List widgetBars = callRepository.findApplicationsPerCall(); // widgetResponseBean.setWidgetBars(widgetBars); return widgetResponseBean; } - private Widget1 createWidget1() { + private Widget1 createWidget1(UserEntity requestedUserEntity) { Widget1 widget1 = initializeWidget1(); - setActiveCalls(widget1); - setRegisteredUsers(widget1); - setTotalActiveFinancing(widget1); - setSubmittedApplications(widget1); - setDraftApplications(widget1); - setNumberOfCompanies(widget1); + setActiveCalls(widget1, requestedUserEntity); + setRegisteredUsers(widget1, requestedUserEntity); + setTotalActiveFinancing(widget1, requestedUserEntity); + setSubmittedApplications(widget1, requestedUserEntity); + setDraftApplications(widget1, requestedUserEntity); + setNumberOfCompanies(widget1, requestedUserEntity); return widget1; } @@ -59,41 +59,41 @@ public class DashboardDao { .build(); } - private void setActiveCalls(Widget1 widget1) { + private void setActiveCalls(Widget1 widget1, UserEntity requestedUserEntity) { Long activeCalls = callRepository.countByStatus(CallStatusEnum.PUBLISH.getValue()); if (activeCalls != null) { widget1.setNumberOfActiveCalls(activeCalls); } } - private void setRegisteredUsers(Widget1 widget1) { - Long activeUsers = userRepository.countByStatusAndRoleEntityRoleType(UserStatusEnum.ACTIVE.getValue(), - RoleStatusEnum.ROLE_BENEFICIARY.getValue()); + private void setRegisteredUsers(Widget1 widget1, UserEntity requestedUserEntity) { + Long activeUsers = userRepository.countByStatusAndRoleEntityRoleTypeAndHubId(UserStatusEnum.ACTIVE.getValue(), + RoleStatusEnum.ROLE_BENEFICIARY.getValue(), requestedUserEntity.getHub().getId()); if (activeUsers != null) { widget1.setNumberOfResgisteredUsers(activeUsers); } } - private void setTotalActiveFinancing(Widget1 widget1) { + private void setTotalActiveFinancing(Widget1 widget1, UserEntity requestedUserEntity) { BigDecimal totalActiveFinancing = callRepository.findTotalAmountOfPublishedCalls(); widget1.setTotalActiveFinancing(totalActiveFinancing); } - private void setSubmittedApplications(Widget1 widget1) { + private void setSubmittedApplications(Widget1 widget1, UserEntity requestedUserEntity) { Long submittedApplications = applicationRepository.countSubmittedApplications(); if (submittedApplications != null) { widget1.setNumberOfSubmittedApplications(submittedApplications); } } - private void setDraftApplications(Widget1 widget1) { + private void setDraftApplications(Widget1 widget1, UserEntity requestedUserEntity) { Long draftApplications = applicationRepository.countDraftApplications(); if (draftApplications != null) { widget1.setNumberOfDraftApplications(draftApplications); } } - private void setNumberOfCompanies(Widget1 widget1) { + private void setNumberOfCompanies(Widget1 widget1, UserEntity requestedUserEntity) { Long numberOfCompanies = companyRepository.countTotalCompanies(); if (numberOfCompanies != null) { widget1.setNumberOfCompany(numberOfCompanies); diff --git a/src/main/java/net/gepafin/tendermanagement/dao/UserDao.java b/src/main/java/net/gepafin/tendermanagement/dao/UserDao.java index af116d87..dafd9cf7 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/UserDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/UserDao.java @@ -400,15 +400,15 @@ public class UserDao { return authService.validateNewUserToken(token); } - public List getAllUsers(Long roleId) { + public List getAllUsers(UserEntity user, Long roleId) { List users; if (roleId != null) { log.info("Fetching users by role ID: {}", roleId); RoleEntity roleEntity=roleService.validateRole(roleId); - users = userRepository.findByRoleEntityId(roleEntity.getId()); + users = userRepository.findByRoleEntityIdAndHubId(roleEntity.getId(), user.getHub().getId()); } else { log.info("Fetching all users"); - users = userRepository.findAll(); + users = userRepository.findByHubId(user.getHub().getId()); } List userResponseBeans = users.stream() .map(this::convertUserEntityToUserResponse) diff --git a/src/main/java/net/gepafin/tendermanagement/repositories/UserRepository.java b/src/main/java/net/gepafin/tendermanagement/repositories/UserRepository.java index 63e44a8b..e474fccf 100644 --- a/src/main/java/net/gepafin/tendermanagement/repositories/UserRepository.java +++ b/src/main/java/net/gepafin/tendermanagement/repositories/UserRepository.java @@ -23,9 +23,14 @@ public interface UserRepository extends JpaRepository { UserEntity findByBeneficiaryId(Long beneficiaryId); Long countByStatusAndRoleEntityRoleType(String status, String roleName); - List findByRoleEntityId(Long roleId); Optional findByEmailIgnoreCaseAndHubUniqueUuid(String email, String hubId); boolean existsByEmailIgnoreCaseAndHubUniqueUuid(String email, String hubUuid); + + List findByRoleEntityIdAndHubId(Long roleId, Long hubId); + + List findByHubId(Long hubId); + + Long countByStatusAndRoleEntityRoleTypeAndHubId(String status, String roleName, Long hubId); } diff --git a/src/main/java/net/gepafin/tendermanagement/service/UserService.java b/src/main/java/net/gepafin/tendermanagement/service/UserService.java index 9e2c43ef..9a1bdf9a 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/UserService.java +++ b/src/main/java/net/gepafin/tendermanagement/service/UserService.java @@ -38,8 +38,6 @@ public interface UserService { UserResponseBean updateUserStatus(Long userId, UserStatusEnum statusReq); UserResponseBean getValidUser(HttpServletRequest request); - - List getUserByHubId(String hubId); JWTToken validateExistingUserToken(HttpServletRequest request, String token); @@ -47,6 +45,6 @@ public interface UserService { UserEntity getUserByBeneficiaryId(Long beneficiaryId); public UserEntity getUserEntityById(Long userId); - List getAllUsers(Long roleId); + List getAllUsers(HttpServletRequest request, Long roleId); } diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/DashboardServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/DashboardServiceImpl.java index d0bd0217..1a6cd6fd 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/impl/DashboardServiceImpl.java +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/DashboardServiceImpl.java @@ -22,7 +22,8 @@ public class DashboardServiceImpl implements DashboardService { @Override public SuperAdminWidgetResponseBean getDashboardWidgetForSuperAdmin(HttpServletRequest request) { - return dashboardDao.getDashboardWidget(); + UserEntity userEntity=validator.validateUser(request); + return dashboardDao.getDashboardWidget(userEntity); } @Override diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/UserServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/UserServiceImpl.java index 3079cee9..3f325320 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/impl/UserServiceImpl.java +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/UserServiceImpl.java @@ -97,12 +97,6 @@ public class UserServiceImpl implements UserService { return userDao.getUserById(user.getId()); } - @Override - @Transactional(readOnly = true) - public List getUserByHubId(String hubId) { - return userDao.getUserByHubId(hubId); - } - @Override @Transactional(rollbackFor = Exception.class) public JWTToken validateExistingUserToken(HttpServletRequest request, String token) { @@ -123,8 +117,8 @@ public class UserServiceImpl implements UserService { } @Override @Transactional(readOnly = true) - public List getAllUsers(Long roleId) { - // Calling DAO Function - return userDao.getAllUsers(roleId); + public List getAllUsers(HttpServletRequest request, Long roleId) { + UserEntity user=validator.validateUser(request); + return userDao.getAllUsers(user, roleId); } } \ No newline at end of file diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/UserApi.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/UserApi.java index bbd5859f..8982e45e 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/UserApi.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/UserApi.java @@ -194,21 +194,6 @@ public interface UserApi { produces = { "application/json" }) ResponseEntity> getValidUser(HttpServletRequest request); - - @Operation(summary = "Api to get user by hubId", - responses = { - @ApiResponse(responseCode = "200", description = "OK"), - @ApiResponse(responseCode = "404", description = "User not found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { - @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE)})), - @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { - @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE)})) - }) - @PreAuthorize("hasRole('ROLE_SUPER_ADMIN')") - @RequestMapping(value = "/hub/{hubId}", - produces = {"application/json"}, - method = RequestMethod.GET) - ResponseEntity>> getUserByHubId( - @Parameter(description = "The hubId", required = true) @PathVariable("hubId") String hubId); @Operation(summary = "Api to validate existing user from saml token", responses = { @@ -250,7 +235,7 @@ public interface UserApi { @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE)}))}) @RequestMapping(value = "", produces = {"application/json"}, method = RequestMethod.GET) @PreAuthorize("hasRole('ROLE_SUPER_ADMIN')") - ResponseEntity>> getAllUsers( + ResponseEntity>> getAllUsers(HttpServletRequest request, @Parameter( required = false)@RequestParam(value ="roleId", required = false) Long roleId); diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/UserApiController.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/UserApiController.java index 497967f3..413feaac 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/UserApiController.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/UserApiController.java @@ -128,14 +128,6 @@ public class UserApiController implements UserApi { } - @Override - public ResponseEntity>> getUserByHubId(String hubId) { - log.info("Get User by Hub ID - Hub ID: {}", hubId); - List user = userService.getUserByHubId(hubId); - return ResponseEntity.status(HttpStatus.OK) - .body(new Response<>(user, Status.SUCCESS, Translator.toLocale(GepafinConstant.GET_USER_SUCCESS_MSG))); - } - @Override public ResponseEntity> validateExistingUserToken(HttpServletRequest request, String token) { log.info("User login attempt via spid token"); @@ -150,10 +142,10 @@ public class UserApiController implements UserApi { return ResponseEntity.ok(new Response<>(data, Status.SUCCESS, Translator.toLocale(GepafinConstant.TOKEN_VALIDATE_SUCCESS_MSE))); } @Override - public ResponseEntity>> getAllUsers( + public ResponseEntity>> getAllUsers(HttpServletRequest request, Long roleId) { log.info("Get all Users by Role ID - Role ID: {}", roleId); - List users = userService.getAllUsers(roleId); + List users = userService.getAllUsers(request, roleId); return ResponseEntity.status(HttpStatus.OK) .body(new Response<>(users, Status.SUCCESS, Translator.toLocale(GepafinConstant.GET_USERS_SUCCESS_MSG))); }