From 5b5a256d6ba3ae235004fe0cad182990ea59c6fd Mon Sep 17 00:00:00 2001 From: ScarletRedMan Date: Mon, 5 Feb 2024 15:56:09 +0700 Subject: [PATCH] Refactor details parser for UserRoomController --- .../picker/controller/UserRoomController.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/ru/dragonestia/picker/controller/UserRoomController.java b/app/src/main/java/ru/dragonestia/picker/controller/UserRoomController.java index da6e1ac..145bb58 100644 --- a/app/src/main/java/ru/dragonestia/picker/controller/UserRoomController.java +++ b/app/src/main/java/ru/dragonestia/picker/controller/UserRoomController.java @@ -13,6 +13,7 @@ import ru.dragonestia.picker.model.Node; import ru.dragonestia.picker.service.RoomService; import ru.dragonestia.picker.service.NodeService; import ru.dragonestia.picker.service.UserService; +import ru.dragonestia.picker.util.DetailsParser; import ru.dragonestia.picker.util.NamingValidator; import java.util.Arrays; @@ -27,6 +28,7 @@ public class UserRoomController { private final RoomService roomService; private final UserService userService; private final NamingValidator namingValidator; + private final DetailsParser detailsParser; @GetMapping ResponseEntity usersInsideRoom(@PathVariable(name = "nodeId") String nodeId, @@ -34,15 +36,7 @@ public class UserRoomController { @RequestParam(name = "requiredDetails", required = false, defaultValue = "") String detailsSeq) { var room = getNodeAndRoom(nodeId, roomId).room(); - - var details = new HashSet(); - for (var detailStr: detailsSeq.split(",")) { - try { - details.add(UserDetails.valueOf(detailStr.toUpperCase())); - } catch (IllegalArgumentException ignore) {} - } - - var users = userService.getRoomUsersWithDetailsResponse(room, details); + var users = userService.getRoomUsersWithDetailsResponse(room, detailsParser.parseUserDetails(detailsSeq)); return ResponseEntity.ok(new RoomUserListResponse(room.getSlots().getSlots(), users.size(), users)); }