diff --git a/src/main/java/de/thm/arsnova/controller/UserController.java b/src/main/java/de/thm/arsnova/controller/UserController.java index de5a946738abeacbe8d9241a534ee2a4320cf274..fc74557700aab9113a842d3be1e2c7720498718e 100644 --- a/src/main/java/de/thm/arsnova/controller/UserController.java +++ b/src/main/java/de/thm/arsnova/controller/UserController.java @@ -2,7 +2,9 @@ package de.thm.arsnova.controller; import de.thm.arsnova.entities.LoginCredentials; import de.thm.arsnova.entities.UserProfile; +import de.thm.arsnova.services.RoomService; import de.thm.arsnova.services.UserService; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -12,12 +14,15 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping(UserController.REQUEST_MAPPING) public class UserController extends AbstractEntityController<UserProfile> { protected static final String REQUEST_MAPPING = "/user"; + private static final String ROOM_HISTORY_MAPPING = DEFAULT_ID_MAPPING + "/roomHistory"; private UserService userService; + private RoomService roomService; - public UserController(final UserService userService) { + public UserController(final UserService userService, final RoomService roomService) { super(userService); this.userService = userService; + this.roomService = roomService; } @Override @@ -29,4 +34,10 @@ public class UserController extends AbstractEntityController<UserProfile> { public void register(@RequestBody LoginCredentials loginCredentials) { userService.create(loginCredentials.getLoginId(), loginCredentials.getPassword()); } + + @PostMapping(ROOM_HISTORY_MAPPING) + public void postRoomHistoryEntry(@PathVariable final String id, + @RequestBody final UserProfile.RoomHistoryEntry roomHistoryEntry) { + userService.addRoomToHistory(userService.get(id), roomService.get(roomHistoryEntry.getRoomId())); + } }