From f66e77330eef492e8de9d071918a8074740bca05 Mon Sep 17 00:00:00 2001 From: FireMasterK <20838718+FireMasterK@users.noreply.github.com> Date: Fri, 23 Jul 2021 01:34:21 +0530 Subject: [PATCH] Add route to see subscriptions. --- .../java/me/kavin/piped/ServerLauncher.java | 7 ++++ .../me/kavin/piped/utils/DatabaseHelper.java | 9 +++++ .../me/kavin/piped/utils/ResponseHelper.java | 36 +++++++++++++++++++ .../piped/utils/obj/SubscriptionChannel.java | 15 ++++++++ 4 files changed, 67 insertions(+) create mode 100644 src/main/java/me/kavin/piped/utils/obj/SubscriptionChannel.java diff --git a/src/main/java/me/kavin/piped/ServerLauncher.java b/src/main/java/me/kavin/piped/ServerLauncher.java index 8f96933..4e81dfc 100644 --- a/src/main/java/me/kavin/piped/ServerLauncher.java +++ b/src/main/java/me/kavin/piped/ServerLauncher.java @@ -260,6 +260,13 @@ public class ServerLauncher extends MultithreadedHttpServerLauncher { } catch (Exception e) { return getErrorResponse(e); } + })).map(GET, "/subscriptions", AsyncServlet.ofBlocking(executor, request -> { + try { + return getJsonResponse(ResponseHelper.subscriptionsResponse(request.getHeader(AUTHORIZATION)), + "private"); + } catch (Exception e) { + return getErrorResponse(e); + } })); return new CustomServletDecorator(router); diff --git a/src/main/java/me/kavin/piped/utils/DatabaseHelper.java b/src/main/java/me/kavin/piped/utils/DatabaseHelper.java index 7fb1ce7..f09047a 100644 --- a/src/main/java/me/kavin/piped/utils/DatabaseHelper.java +++ b/src/main/java/me/kavin/piped/utils/DatabaseHelper.java @@ -46,6 +46,15 @@ public class DatabaseHelper { return s.createQuery(cr).uniqueResult(); } + public static final List getChannelFromIds(Session s, List id) { + CriteriaBuilder cb = s.getCriteriaBuilder(); + CriteriaQuery cr = cb.createQuery(Channel.class); + Root root = cr.from(Channel.class); + cr.select(root).where(root.get("uploader_id").in(id)); + + return s.createQuery(cr).getResultList(); + } + public static final List