Refactor details parser for UserRoomController
This commit is contained in:
parent
97f2971086
commit
5b5a256d6b
@ -13,6 +13,7 @@ import ru.dragonestia.picker.model.Node;
|
|||||||
import ru.dragonestia.picker.service.RoomService;
|
import ru.dragonestia.picker.service.RoomService;
|
||||||
import ru.dragonestia.picker.service.NodeService;
|
import ru.dragonestia.picker.service.NodeService;
|
||||||
import ru.dragonestia.picker.service.UserService;
|
import ru.dragonestia.picker.service.UserService;
|
||||||
|
import ru.dragonestia.picker.util.DetailsParser;
|
||||||
import ru.dragonestia.picker.util.NamingValidator;
|
import ru.dragonestia.picker.util.NamingValidator;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -27,6 +28,7 @@ public class UserRoomController {
|
|||||||
private final RoomService roomService;
|
private final RoomService roomService;
|
||||||
private final UserService userService;
|
private final UserService userService;
|
||||||
private final NamingValidator namingValidator;
|
private final NamingValidator namingValidator;
|
||||||
|
private final DetailsParser detailsParser;
|
||||||
|
|
||||||
@GetMapping
|
@GetMapping
|
||||||
ResponseEntity<RoomUserListResponse> usersInsideRoom(@PathVariable(name = "nodeId") String nodeId,
|
ResponseEntity<RoomUserListResponse> usersInsideRoom(@PathVariable(name = "nodeId") String nodeId,
|
||||||
@ -34,15 +36,7 @@ public class UserRoomController {
|
|||||||
@RequestParam(name = "requiredDetails", required = false, defaultValue = "") String detailsSeq) {
|
@RequestParam(name = "requiredDetails", required = false, defaultValue = "") String detailsSeq) {
|
||||||
|
|
||||||
var room = getNodeAndRoom(nodeId, roomId).room();
|
var room = getNodeAndRoom(nodeId, roomId).room();
|
||||||
|
var users = userService.getRoomUsersWithDetailsResponse(room, detailsParser.parseUserDetails(detailsSeq));
|
||||||
var details = new HashSet<UserDetails>();
|
|
||||||
for (var detailStr: detailsSeq.split(",")) {
|
|
||||||
try {
|
|
||||||
details.add(UserDetails.valueOf(detailStr.toUpperCase()));
|
|
||||||
} catch (IllegalArgumentException ignore) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
var users = userService.getRoomUsersWithDetailsResponse(room, details);
|
|
||||||
|
|
||||||
return ResponseEntity.ok(new RoomUserListResponse(room.getSlots().getSlots(), users.size(), users));
|
return ResponseEntity.ok(new RoomUserListResponse(room.getSlots().getSlots(), users.size(), users));
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user