You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package de.fd.fh.server.user.web;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import de.fd.fh.server.access.AccessToken; import de.fd.fh.server.user.User; import de.fd.fh.server.user.UserId; import de.fd.fh.server.user.UserService; import de.fd.fh.shared.network.messages.ChangeUserRequest; import de.fd.fh.shared.network.messages.UserRequest; import lombok.RequiredArgsConstructor; import spark.Request; import spark.Response;
@RequiredArgsConstructor public class UserController { private ObjectMapper objectMapper = new ObjectMapper();
private final UserService service;
public Response getUser(Request request, Response response) throws JsonProcessingException { final UserId userId = UserId.of(request.params(":user_id")); final UserRequest user = service.getSmallPlayer(userId);
if (user == null) { response.status(404); return response; } response.body(objectMapper.writeValueAsString(user)); return response; }
public Response getCompleteUser(Request request, Response response) throws JsonProcessingException { final UserId userId = ((AccessToken) request.session() .attribute("userId")) .getUserId();
final User user = service.getPlayer(userId);
if (user == null) { response.status(404); } else { response.status(200); response.type("application/json");
response.body(objectMapper.writeValueAsString(user));
return response; }
return response; }
public Response updateUser(Request request, Response response) throws java.io.IOException { final UserId userId = ((AccessToken) request.session() .attribute("userId")) .getUserId();
final ChangeUserRequest message = objectMapper.readValue(request.body(), ChangeUserRequest.class);
final User user = service.changePlayer( userId, message);
if (user == null) { response.status(400); } else { response.status(200); response.type("application/json");
response.body(objectMapper.writeValueAsString(user));
return response; }
return response; } }
|