From 6ba7eb5fe1384ec87cdd0031d185a9b26512a016 Mon Sep 17 00:00:00 2001
From: Alexander Alexeev
Date: Sun, 13 Nov 2016 21:21:45 +0700
Subject: server core module
---
.../java/com/juick/server/CrosspostQueries.java | 87 ++++++++++++++++++++++
1 file changed, 87 insertions(+)
create mode 100644 server-core/src/main/java/com/juick/server/CrosspostQueries.java
(limited to 'server-core/src/main/java/com/juick/server/CrosspostQueries.java')
diff --git a/server-core/src/main/java/com/juick/server/CrosspostQueries.java b/server-core/src/main/java/com/juick/server/CrosspostQueries.java
new file mode 100644
index 00000000..827dad09
--- /dev/null
+++ b/server-core/src/main/java/com/juick/server/CrosspostQueries.java
@@ -0,0 +1,87 @@
+/*
+ * Juick
+ * Copyright (C) 2008-2013, Ugnich Anton
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+package com.juick.server;
+
+import com.juick.server.helpers.ApplicationStatus;
+import org.apache.commons.lang3.tuple.Pair;
+import org.springframework.dao.EmptyResultDataAccessException;
+import org.springframework.jdbc.core.JdbcTemplate;
+
+import java.util.Optional;
+
+/**
+ *
+ * @author ugnich
+ */
+public class CrosspostQueries {
+
+ public static Optional> getTwitterTokens(JdbcTemplate sql, int uid) {
+ try {
+ return sql.queryForObject("SELECT access_token,access_token_secret FROM twitter WHERE user_id=? AND crosspost=1",
+ (rs, num) -> Optional.of(Pair.of(rs.getString(1), rs.getString(2))), uid);
+ } catch (EmptyResultDataAccessException e) {
+ return Optional.empty();
+ }
+ }
+
+ public static Optional getFacebookToken(JdbcTemplate sql, int uid) {
+ try {
+ return Optional.of(sql.queryForObject("SELECT access_token FROM facebook WHERE user_id=? AND access_token IS NOT NULL " +
+ "AND crosspost=1", String.class, uid));
+ } catch (EmptyResultDataAccessException e) {
+ return Optional.empty();
+ }
+ }
+ public static ApplicationStatus isFBCrossPostEnabled(JdbcTemplate sql, int uid) {
+ try {
+ return sql.queryForObject("SELECT 1, crosspost FROM facebook WHERE user_id=? LIMIT 1", (rs, num) -> {
+ ApplicationStatus status = new ApplicationStatus();
+ status.setConnected(rs.getInt(1) > 0);
+ status.setCrosspostEnabled(rs.getBoolean(2));
+ return status;
+ }, uid);
+ } catch (EmptyResultDataAccessException e) {
+ return new ApplicationStatus();
+ }
+ }
+
+ public static String getTwitterName(JdbcTemplate sql, int uid) {
+ try {
+ return sql.queryForObject("SELECT uname FROM twitter WHERE user_id=?", String.class, uid);
+ } catch (EmptyResultDataAccessException e) {
+ return "";
+ }
+ }
+
+ public static String getTelegramName(JdbcTemplate sql, int uid) {
+ try {
+ return sql.queryForObject("SELECT tg_name FROM telegram WHERE user_id=?", String.class, uid);
+ } catch (EmptyResultDataAccessException e) {
+ return "";
+ }
+ }
+
+ public static Optional> getVKTokens(JdbcTemplate sql, int uid) {
+ try {
+ return sql.queryForObject("SELECT vk_id,access_token FROM vk WHERE user_id=? AND crosspost=1",
+ (rs, num) -> Optional.of(Pair.of(rs.getString(1), rs.getString(2))), uid);
+ } catch (EmptyResultDataAccessException e) {
+ return Optional.empty();
+ }
+ }
+}
--
cgit v1.2.3