diff --git a/src/main/java/me/kavin/piped/utils/ResponseHelper.java b/src/main/java/me/kavin/piped/utils/ResponseHelper.java index f4f717f..643ba10 100644 --- a/src/main/java/me/kavin/piped/utils/ResponseHelper.java +++ b/src/main/java/me/kavin/piped/utils/ResponseHelper.java @@ -694,26 +694,30 @@ public class ResponseHelper { Session s = DatabaseSessionFactory.createSession(); - User user = DatabaseHelper.getUserFromSessionWithSubscribed(s, session); + User user = DatabaseHelper.getUserFromSession(s, session); 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(); + List feedItems = new ObjectArrayList<>(); - if (user.getSubscribed() != null && !user.getSubscribed().isEmpty()) { + queryResults.forEach(obj -> { + Video video = (Video) obj[0]; + me.kavin.piped.utils.obj.db.Channel channel = (me.kavin.piped.utils.obj.db.Channel) obj[1]; - List