aboutsummaryrefslogtreecommitdiff
path: root/juick-server/src/main/java/com/juick/server/CrosspostQueries.java
diff options
context:
space:
mode:
Diffstat (limited to 'juick-server/src/main/java/com/juick/server/CrosspostQueries.java')
-rw-r--r--juick-server/src/main/java/com/juick/server/CrosspostQueries.java87
1 files changed, 87 insertions, 0 deletions
diff --git a/juick-server/src/main/java/com/juick/server/CrosspostQueries.java b/juick-server/src/main/java/com/juick/server/CrosspostQueries.java
new file mode 100644
index 00000000..827dad09
--- /dev/null
+++ b/juick-server/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 <http://www.gnu.org/licenses/>.
+ */
+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<Pair<String, String>> 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<String> 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<Pair<String, String>> 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();
+ }
+ }
+}