package com.openisle.repository; import com.openisle.model.Notification; import com.openisle.model.User; import com.openisle.model.Post; import com.openisle.model.Comment; import com.openisle.model.NotificationType; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; /** Repository for Notification entities. */ public interface NotificationRepository extends JpaRepository { List findByUserOrderByCreatedAtDesc(User user); List findByUserAndReadOrderByCreatedAtDesc(User user, boolean read); long countByUserAndRead(User user, boolean read); List findByPost(Post post); List findByComment(Comment comment); void deleteByTypeAndFromUser(NotificationType type, User fromUser); void deleteByUserAndTypeAndPostAndFromUser(User user, NotificationType type, Post post, User fromUser); }