aboutsummaryrefslogtreecommitdiff
path: root/juick-server-jdbc/src/main/java/com/juick/service/PrivacyQueriesServiceImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'juick-server-jdbc/src/main/java/com/juick/service/PrivacyQueriesServiceImpl.java')
-rw-r--r--juick-server-jdbc/src/main/java/com/juick/service/PrivacyQueriesServiceImpl.java54
1 files changed, 54 insertions, 0 deletions
diff --git a/juick-server-jdbc/src/main/java/com/juick/service/PrivacyQueriesServiceImpl.java b/juick-server-jdbc/src/main/java/com/juick/service/PrivacyQueriesServiceImpl.java
new file mode 100644
index 00000000..4f19c70f
--- /dev/null
+++ b/juick-server-jdbc/src/main/java/com/juick/service/PrivacyQueriesServiceImpl.java
@@ -0,0 +1,54 @@
+package com.juick.service;
+
+import com.juick.Tag;
+import com.juick.User;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.inject.Inject;
+
+/**
+ * Created by aalexeev on 11/13/16.
+ */
+@Repository
+@Transactional
+public class PrivacyQueriesServiceImpl extends BaseJdbcService implements PrivacyQueriesService {
+
+ @Inject
+ public PrivacyQueriesServiceImpl(JdbcTemplate jdbcTemplate) {
+ super(jdbcTemplate, null);
+ }
+
+ @Override
+ public PrivacyResult blacklistUser(final User user, final User target) {
+ int result = getJdbcTemplate().update(
+ "DELETE FROM bl_users WHERE user_id = ? AND bl_user_id = ?",
+ user.getUid(), target.getUid());
+
+ if (result > 0)
+ return PrivacyResult.Removed;
+
+ getJdbcTemplate().update(
+ "INSERT INTO bl_users(user_id, bl_user_id) VALUES (?, ?)",
+ user.getUid(), target.getUid());
+
+ return PrivacyResult.Added;
+ }
+
+ @Override
+ public PrivacyResult blacklistTag(final User user, final Tag tag) {
+ int result = getJdbcTemplate().update(
+ "DELETE FROM bl_tags WHERE user_id = ? AND tag_id = ?",
+ user.getUid(), tag.TID);
+
+ if (result > 0)
+ return PrivacyResult.Removed;
+
+ getJdbcTemplate().update(
+ "INSERT INTO bl_tags(user_id, tag_id) VALUES (?, ?)",
+ user.getUid(), tag.TID);
+
+ return PrivacyResult.Added;
+ }
+}