Add subscription feature

This commit is contained in:
Tim
2025-07-02 18:17:32 +08:00
parent 6e9cd7f450
commit 47fc78a603
12 changed files with 337 additions and 2 deletions

View File

@@ -0,0 +1,15 @@
package com.openisle.repository;
import com.openisle.model.Comment;
import com.openisle.model.CommentSubscription;
import com.openisle.model.User;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
import java.util.Optional;
public interface CommentSubscriptionRepository extends JpaRepository<CommentSubscription, Long> {
List<CommentSubscription> findByComment(Comment comment);
List<CommentSubscription> findByUser(User user);
Optional<CommentSubscription> findByUserAndComment(User user, Comment comment);
}

View File

@@ -0,0 +1,15 @@
package com.openisle.repository;
import com.openisle.model.Post;
import com.openisle.model.PostSubscription;
import com.openisle.model.User;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
import java.util.Optional;
public interface PostSubscriptionRepository extends JpaRepository<PostSubscription, Long> {
List<PostSubscription> findByPost(Post post);
List<PostSubscription> findByUser(User user);
Optional<PostSubscription> findByUserAndPost(User user, Post post);
}

View File

@@ -0,0 +1,16 @@
package com.openisle.repository;
import com.openisle.model.User;
import com.openisle.model.UserSubscription;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
import java.util.Optional;
public interface UserSubscriptionRepository extends JpaRepository<UserSubscription, Long> {
List<UserSubscription> findBySubscriber(User subscriber);
List<UserSubscription> findByTarget(User target);
Optional<UserSubscription> findBySubscriberAndTarget(User subscriber, User target);
long countByTarget(User target);
long countBySubscriber(User subscriber);
}