diff --git a/src/main/java/me/kavin/piped/utils/ResponseHelper.java b/src/main/java/me/kavin/piped/utils/ResponseHelper.java index f00928e..806bfc8 100644 --- a/src/main/java/me/kavin/piped/utils/ResponseHelper.java +++ b/src/main/java/me/kavin/piped/utils/ResponseHelper.java @@ -49,6 +49,7 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.JoinType; import javax.persistence.criteria.Root; import java.io.IOException; import java.util.*; @@ -728,26 +729,34 @@ public class ResponseHelper { if (user != null) { - @SuppressWarnings("unchecked") - List queryResults = s.createNativeQuery( - "select Video.*, Channel.* from videos as Video left join channels as Channel on Video.uploader_id = Channel.uploader_id inner join users_subscribed on users_subscribed.channel = Channel.uploader_id where users_subscribed.subscriber = :user") - .setParameter("user", user.getId()).addEntity("Video", Video.class) - .addEntity("Channel", me.kavin.piped.utils.obj.db.Channel.class).getResultList(); + CriteriaBuilder cb = s.getCriteriaBuilder(); - List feedItems = new ObjectArrayList<>(); + // Get all videos from subscribed channels, with channel info + CriteriaQuery