[2a5d6a3] | 1 | package com.wediscussmovies.project.service.impl;
|
---|
| 2 |
|
---|
[e0ef1b1] | 3 | import com.wediscussmovies.project.model.Discussion;
|
---|
| 4 | import com.wediscussmovies.project.model.exception.DiscussionNotExistException;
|
---|
| 5 | import com.wediscussmovies.project.model.exception.ReplyNotExistException;
|
---|
| 6 | import com.wediscussmovies.project.model.primarykeys.ReplyPK;
|
---|
| 7 | import com.wediscussmovies.project.repository.DiscussionRepository;
|
---|
[2a5d6a3] | 8 | import com.wediscussmovies.project.repository.ReplyRepository;
|
---|
[e0ef1b1] | 9 | import com.wediscussmovies.project.model.Reply;
|
---|
| 10 | import com.wediscussmovies.project.model.User;
|
---|
| 11 | import com.wediscussmovies.project.repository.UserRepository;
|
---|
[2a5d6a3] | 12 | import com.wediscussmovies.project.service.ReplyService;
|
---|
| 13 | import org.springframework.stereotype.Service;
|
---|
| 14 |
|
---|
[e0ef1b1] | 15 | import java.sql.Date;
|
---|
| 16 | import java.time.LocalDate;
|
---|
| 17 | import java.util.List;
|
---|
[2a5d6a3] | 18 |
|
---|
| 19 | @Service
|
---|
| 20 | public class ReplyServiceImpl implements ReplyService {
|
---|
[e0ef1b1] | 21 |
|
---|
[2a5d6a3] | 22 | private final ReplyRepository replyRepository;
|
---|
[e0ef1b1] | 23 | private final DiscussionRepository discussionRepository;
|
---|
[2a5d6a3] | 24 |
|
---|
[e0ef1b1] | 25 | public ReplyServiceImpl(ReplyRepository replyRepository,
|
---|
| 26 | DiscussionRepository discussionRepository) {
|
---|
[2a5d6a3] | 27 | this.replyRepository = replyRepository;
|
---|
[e0ef1b1] | 28 | this.discussionRepository = discussionRepository;
|
---|
| 29 | }
|
---|
| 30 |
|
---|
| 31 |
|
---|
| 32 |
|
---|
| 33 | @Override
|
---|
| 34 | public void save(Integer discussionId, String text,User user) {
|
---|
| 35 |
|
---|
| 36 | Discussion discussion = this.discussionRepository.findById(discussionId).orElseThrow(() -> new DiscussionNotExistException(discussionId));
|
---|
| 37 |
|
---|
| 38 | Date date = Date.valueOf(LocalDate.now());
|
---|
| 39 | this.replyRepository.insertInto(text,date,user.getUserId(),discussionId);
|
---|
| 40 |
|
---|
| 41 | }
|
---|
| 42 |
|
---|
| 43 | @Override
|
---|
| 44 | public void likeReply(Integer replyId, Integer userId) {
|
---|
| 45 | //da se implementira, promena vo baza
|
---|
| 46 | }
|
---|
| 47 |
|
---|
| 48 | @Override
|
---|
| 49 | public void unlikeReply(Integer replyId, Integer userId) {
|
---|
| 50 | // da se implementira, promena vo baza
|
---|
[2a5d6a3] | 51 | }
|
---|
| 52 |
|
---|
| 53 | @Override
|
---|
[e0ef1b1] | 54 | public List<Reply> findAllByDiscussion(Discussion discussion) {
|
---|
| 55 | return this.replyRepository.findAllByDiscussion(discussion);
|
---|
[2a5d6a3] | 56 | }
|
---|
| 57 |
|
---|
[e0ef1b1] | 58 |
|
---|
[2a5d6a3] | 59 | @Override
|
---|
[e0ef1b1] | 60 | public Reply edit(Integer replyId,Integer discussionId,String text) {
|
---|
| 61 | ReplyPK replyPK = new ReplyPK(discussionId,replyId);
|
---|
| 62 | Reply reply = this.replyRepository.findById(replyPK).orElseThrow();
|
---|
| 63 | reply.setText(text);
|
---|
| 64 | return this.replyRepository.save(reply);
|
---|
[2a5d6a3] | 65 | }
|
---|
| 66 |
|
---|
| 67 | @Override
|
---|
[e0ef1b1] | 68 | public void delete(Integer discussionId, Integer replyId) {
|
---|
| 69 | this.replyRepository.deleteById(new ReplyPK(discussionId,replyId));
|
---|
| 70 | }
|
---|
| 71 |
|
---|
| 72 | @Override
|
---|
| 73 | public Reply findById(Integer discussionId, Integer replyId) {
|
---|
| 74 | ReplyPK replyPK = new ReplyPK(discussionId,replyId);
|
---|
| 75 | return this.replyRepository.findById(replyPK).orElseThrow(() -> new ReplyNotExistException(replyPK));
|
---|
| 76 |
|
---|
[2a5d6a3] | 77 | }
|
---|
| 78 | }
|
---|