Skip to content

Commit

Permalink
Merge pull request #39 from Sunbird-Serve/release-volunteering-1.2.0.1
Browse files Browse the repository at this point in the history
Fetch Users list based on status
  • Loading branch information
Sowmya-Raghuram authored Oct 16, 2024
2 parents 5ac5b93 + bccb483 commit 654b739
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import org.springframework.http.MediaType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.List;
import java.util.Map;
Expand All @@ -28,6 +30,7 @@
public class UserManagementController {

private final UserManagementService userManagementService;
private static final Logger logger = LoggerFactory.getLogger(UserManagementController.class);


@Autowired
Expand Down Expand Up @@ -56,6 +59,14 @@ public ResponseEntity<List<User>> getAllUsers(@RequestHeader Map<String, String>
return userManagementService.getAllUsers(headers);
}

@GetMapping("/status")
public ResponseEntity<List<User>> getUserByStatus(
@RequestParam String status,
@RequestHeader Map<String, String> headers
) {
return userManagementService.getUserByStatus(status, headers);
}

@GetMapping("/all-users")
public ResponseEntity<List<User>> getUsers(@RequestHeader Map<String, String> headers) {
return userManagementService.getUsers(headers);
Expand Down Expand Up @@ -108,16 +119,22 @@ ResponseEntity<RcUserResponse> updateUser(
public ResponseEntity<RcUserProfileResponse> createUserProfile(
@RequestBody UserProfileRequest userProfileRequest,
@Parameter() @RequestHeader Map<String, String> headers) {
logger.info("Received request to create user profile: {}", userProfileRequest);
logger.info("Request headers: {}", headers);
ResponseEntity<User> userResponseEntity = userManagementService.getUserById(userProfileRequest.getUserId(), headers);
logger.info("Response from getUserById: status={}, body={}", userResponseEntity.getStatusCode(), userResponseEntity.getBody());
ResponseEntity<RcUserProfileResponse> responseEntity = userManagementService.createUserProfile(userProfileRequest, headers);
logger.info("Response from createUserProfile: status={}, body={}", responseEntity.getStatusCode(), responseEntity.getBody());
if (responseEntity.getStatusCode().is2xxSuccessful()
&& userResponseEntity.getStatusCode().is2xxSuccessful()
&& userResponseEntity.getBody() != null
) {
String email = userResponseEntity.getBody().getContactDetails().getEmail();
String volunteerName = userResponseEntity.getBody().getIdentityDetails().getFullname();
logger.info("Sending email to {}: {}", email, volunteerName);
userManagementService.sendEmail(email, volunteerName);
}
logger.info("Returning response: status={}, body={}", responseEntity.getStatusCode(), responseEntity.getBody());
return responseEntity;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,13 @@ public ResponseEntity<User> getUserByEmail(String email, Map<String, String> hea
return ResponseEntity.ok(emailUsers.get(0));
}

public ResponseEntity<List<User>> getUserByStatus(String status, Map<String, String> headers) {
List<User> allUsers = rcService.getAllUsers();
List<User> statusUsers = allUsers.stream()
.filter(s -> s.getStatus().equalsIgnoreCase(status)).toList();
return ResponseEntity.ok(statusUsers);
}


public ResponseEntity<List<User>> getAllUsers(Map<String, String> headers) {
List<User> allUsers = rcService.getUsers();
Expand Down

0 comments on commit 654b739

Please sign in to comment.