diff --git a/src/main/java/com/groupfour/chatapp/chatapp/poll/Poll.java b/src/main/java/com/groupfour/chatapp/chatapp/poll/Poll.java index 10bddd13b..f4149f4da 100644 --- a/src/main/java/com/groupfour/chatapp/chatapp/poll/Poll.java +++ b/src/main/java/com/groupfour/chatapp/chatapp/poll/Poll.java @@ -10,8 +10,6 @@ @Entity public class Poll { - - @Id @GeneratedValue @Column(name = "POLL_ID") @@ -34,6 +32,7 @@ public class Poll { @ManyToOne private User pollCreator; + public void setPollId(Long pollId) { this.pollId = pollId; } @@ -49,6 +48,7 @@ public void setChat(Chat chat) { @ManyToOne private Chat chat; + public Long getPollId() { return pollId; } diff --git a/src/main/java/com/groupfour/chatapp/chatapp/poll/PollService.java b/src/main/java/com/groupfour/chatapp/chatapp/poll/PollService.java index c25c7cd6d..75ec3ec65 100644 --- a/src/main/java/com/groupfour/chatapp/chatapp/poll/PollService.java +++ b/src/main/java/com/groupfour/chatapp/chatapp/poll/PollService.java @@ -48,4 +48,5 @@ public Boolean delete(Long id) { pollRepository.deleteById(id); return true; } + } diff --git a/src/main/java/com/groupfour/chatapp/chatapp/poll/Vote.java b/src/main/java/com/groupfour/chatapp/chatapp/poll/Vote.java index 810278ead..fd8f13cb9 100644 --- a/src/main/java/com/groupfour/chatapp/chatapp/poll/Vote.java +++ b/src/main/java/com/groupfour/chatapp/chatapp/poll/Vote.java @@ -16,6 +16,9 @@ public class Vote { @JoinColumn(name = "OPTION_ID") private Option option; + @ManyToOne + private Poll poll; + @OneToOne private User voter; diff --git a/src/main/java/com/groupfour/chatapp/chatapp/poll/VoteController.java b/src/main/java/com/groupfour/chatapp/chatapp/poll/VoteController.java index 7d48fcbdb..24ef6ff88 100644 --- a/src/main/java/com/groupfour/chatapp/chatapp/poll/VoteController.java +++ b/src/main/java/com/groupfour/chatapp/chatapp/poll/VoteController.java @@ -11,32 +11,31 @@ @RestController public class VoteController { - private VoteRepository voteRepository; private VoteService voteService; @Autowired - public VoteController(VoteRepository voteRepository) { - this.voteRepository = voteRepository; + public VoteController(VoteService voteService) { + this.voteService = voteService; } - @RequestMapping(value = "/polls/{pollId}/votes", method = RequestMethod.POST) + @PostMapping(value = "/polls/{pollId}/votes") public ResponseEntity createVote(@PathVariable Long pollId, @RequestBody Vote vote) { - vote = voteRepository.save(vote); + vote = voteService.save(vote); // Set the headers for the newly created resource HttpHeaders responseHeaders = new HttpHeaders(); responseHeaders.setLocation(ServletUriComponentsBuilder. - fromCurrentRequest().path("/{id}").buildAndExpand(vote.getVoteId()).toUri()); + fromCurrentRequest().path("/{id}").buildAndExpand(vote.getVoteId()).toUri()); return new ResponseEntity<>(null, responseHeaders, HttpStatus.CREATED); } @RequestMapping(value="/polls/votes", method=RequestMethod.GET) public Iterable getAllVotes() { - return voteRepository.findAll(); + return voteService.findAll(); } @RequestMapping(value="/polls/{pollId}/votes", method=RequestMethod.GET) public Iterable getVote(@PathVariable Long pollId) { - return voteRepository.findVotesByPoll(pollId); + return voteService.findVotesByPoll(pollId); } diff --git a/src/main/java/com/groupfour/chatapp/chatapp/poll/VoteRepository.java b/src/main/java/com/groupfour/chatapp/chatapp/poll/VoteRepository.java index db2605af3..3c25c2a3d 100644 --- a/src/main/java/com/groupfour/chatapp/chatapp/poll/VoteRepository.java +++ b/src/main/java/com/groupfour/chatapp/chatapp/poll/VoteRepository.java @@ -7,9 +7,13 @@ @Repository public interface VoteRepository extends CrudRepository { @Query(value = "SELECT v.* " + - "FROM Option o, Vote v " + + "FROM Chat o, Vote v " + "WHERE o.POLL_ID = ?1 " + "AND v.OPTION_ID = o.OPTION_ID", nativeQuery = true) public Iterable findVotesByPoll(Long pollId); + + public Iterable findVotesBy(); + + Vote findVotesByPoll_PollId(Long id); } diff --git a/src/main/java/com/groupfour/chatapp/chatapp/poll/VoteService.java b/src/main/java/com/groupfour/chatapp/chatapp/poll/VoteService.java index dd0524bf4..8f8e6f9dd 100644 --- a/src/main/java/com/groupfour/chatapp/chatapp/poll/VoteService.java +++ b/src/main/java/com/groupfour/chatapp/chatapp/poll/VoteService.java @@ -12,4 +12,16 @@ public class VoteService { public VoteService(VoteRepository voteRepository) { this.voteRepository = voteRepository; } + + public Vote save(Vote vote){ + return voteRepository.save(vote); + } + + public Iterable findAll() { + return null; + } + + public Iterable findVotesByPoll(Long pollId) { + return null; + } }