From 9a77c9aa8fe0c9ae1e6afc227c03f6d29631785b Mon Sep 17 00:00:00 2001 From: Daniel Gerhardt <code@dgerhardt.net> Date: Thu, 15 Mar 2018 09:34:22 +0100 Subject: [PATCH] Add /user/{id}/roomHistory endpoint for adding new entries --- .../de/thm/arsnova/controller/UserController.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/thm/arsnova/controller/UserController.java b/src/main/java/de/thm/arsnova/controller/UserController.java index de5a94673..fc7455770 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())); + } } -- GitLab