HighlightReactionRepositoryImpl.java
package qwerty.chaekit.domain.highlight.reaction.repository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Repository;
import qwerty.chaekit.domain.highlight.reaction.HighlightReaction;
import qwerty.chaekit.domain.highlight.reaction.ReactionType;
import java.util.List;
import java.util.Optional;
@Repository
@RequiredArgsConstructor
public class HighlightReactionRepositoryImpl implements HighlightReactionRepository {
private final HighlightReactionJpaRepository reactionJpaRepository;
@Override
public HighlightReaction save(HighlightReaction reaction) {
return reactionJpaRepository.save(reaction);
}
@Override
public void delete(HighlightReaction reaction) {
reactionJpaRepository.delete(reaction);
}
@Override
public Optional<HighlightReaction> findById(Long id) {
return reactionJpaRepository.findById(id);
}
@Override
public List<HighlightReaction> findByCommentId(Long commentId) {
return reactionJpaRepository.findByCommentId(commentId);
}
@Override
public List<HighlightReaction> findByCommentIdIn(List<Long> commentIds) {
return reactionJpaRepository.findByCommentIdIn(commentIds);
}
@Override
public List<HighlightReaction> findByHighlightId(Long highlightId) {
return reactionJpaRepository.findByHighlightId(highlightId);
}
@Override
public Optional<HighlightReaction> findByAuthorIdAndCommentId(Long authorId, Long commentId) {
return reactionJpaRepository.findByAuthorIdAndCommentId(authorId, commentId);
}
@Override
public Optional<HighlightReaction> findByAuthorIdAndCommentIdAndReactionType(Long authorId, Long commentId, ReactionType reactionType) {
return reactionJpaRepository.findByAuthorIdAndCommentIdAndReactionType(authorId, commentId, reactionType);
}
@Override
public Optional<HighlightReaction> findByAuthorIdAndHighlightIdAndReactionTypeAndCommentIdIsNull(Long authorId, Long highlightId, ReactionType reactionType) {
return reactionJpaRepository.findByAuthorIdAndHighlightIdAndReactionTypeAndCommentIdIsNull(authorId, highlightId, reactionType);
}
@Override
public List<HighlightReaction> findByHighlightIdAndCommentIdIsNull(Long highlightId) {
return reactionJpaRepository.findByHighlightIdAndCommentIdIsNull(highlightId);
}
}