diff --git a/src/main/java/de/thm/arsnova/controller/SessionController.java b/src/main/java/de/thm/arsnova/controller/SessionController.java index c268a084561061fd45c67cbd01a1b4fb1ed87320..16e808de667d4fc23bd38f93ef7221db5a7b91d4 100644 --- a/src/main/java/de/thm/arsnova/controller/SessionController.java +++ b/src/main/java/de/thm/arsnova/controller/SessionController.java @@ -18,6 +18,7 @@ */ package de.thm.arsnova.controller; +import java.util.List; import java.util.UUID; import javax.servlet.http.HttpServletResponse; @@ -34,6 +35,7 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import de.thm.arsnova.entities.Feedback; @@ -154,4 +156,32 @@ public class SessionController extends AbstractController { return url.toString(); } + + @RequestMapping(value="/mySessions", method=RequestMethod.GET) + @ResponseBody + public List<Session> getMySession(HttpServletResponse response) { + String username = userService.getUser(SecurityContextHolder.getContext().getAuthentication()).getUsername(); + if(username == null) { + response.setStatus(HttpStatus.NOT_FOUND.value()); + return null; + } + List<Session> sessions = sessionService.getMySessions(username); + if (sessions == null || sessions.isEmpty()) { + response.setStatus(HttpStatus.NOT_FOUND.value()); + return null; + } + return sessions; + } + + @RequestMapping(value="/getSkillQuestions/{sessionkey}", method=RequestMethod.GET) + @ResponseBody + public List<Question> getSkillQuestions(@PathVariable String sessionkey, @RequestParam(value="sort", required=false) String sort, HttpServletResponse response) { + List<Question> questions = sessionService.getSkillQuestions(sessionkey, sort); + if(questions == null || questions.isEmpty()) { + response.setStatus(HttpStatus.NOT_FOUND.value()); + return null; + } + logger.info(questions.toString()); + return questions; + } } diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java index 7b706a324252d4dba10cf73647762908c2c6d3dc..e2fe3e7ea2ed8deaeb0fb7dcb75a124e0e227f7f 100644 --- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java +++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java @@ -179,7 +179,9 @@ public class CouchDBDao implements IDatabaseDao { List<Session> result = new ArrayList<Session>(); for (Document d : sessions.getResults()) { - result.add((Session) JSONObject.toBean(d.getJSONObject().getJSONObject("value"), Session.class)); + Session session = (Session) JSONObject.toBean(d.getJSONObject().getJSONObject("value"), Session.class); + session.set_id(d.getId()); + result.add(session); } return result; } catch (UnsupportedEncodingException e) { diff --git a/src/main/java/de/thm/arsnova/socket/message/Question.java b/src/main/java/de/thm/arsnova/socket/message/Question.java index 4e810b6676a21bbfd584a9e2a5452f36fcc895cc..a5b10ee50296da44e63261ae8d78477453732af4 100644 --- a/src/main/java/de/thm/arsnova/socket/message/Question.java +++ b/src/main/java/de/thm/arsnova/socket/message/Question.java @@ -20,9 +20,6 @@ package de.thm.arsnova.socket.message; import java.util.List; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -@JsonIgnoreProperties({"_id", "_rev"}) public class Question { private String type;