aboutsummaryrefslogtreecommitdiff
path: root/juick-server/src
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2018-07-15 11:43:36 +0300
committerGravatar Vitaly Takmazov2018-07-15 11:43:36 +0300
commit3870fd009e13d728a343d2ebe79c4f6cd113f2ab (patch)
tree8718ba7d045a9ac7a337244373fbbd1af76b4966 /juick-server/src
parent3936bb230a856c12a0afbab3fb1baa331beee337 (diff)
Api: read and readers in /me
Diffstat (limited to 'juick-server/src')
-rw-r--r--juick-server/src/main/java/com/juick/server/api/Users.java10
-rw-r--r--juick-server/src/main/java/com/juick/service/UserServiceImpl.java27
-rw-r--r--juick-server/src/test/java/com/juick/server/tests/ServerTests.java16
3 files changed, 16 insertions, 37 deletions
diff --git a/juick-server/src/main/java/com/juick/server/api/Users.java b/juick-server/src/main/java/com/juick/server/api/Users.java
index a7ea7ea0..9a2b25d7 100644
--- a/juick-server/src/main/java/com/juick/server/api/Users.java
+++ b/juick-server/src/main/java/com/juick/server/api/Users.java
@@ -78,6 +78,8 @@ public class Users {
me.setName(visitor.getName());
me.setAuthHash(getAuthToken());
me.setUnreadCount(messagesService.getUnread(visitor).size());
+ me.setRead(userService.getUserFriends(visitor.getUid()));
+ me.setReaders(userService.getUserReaders(visitor.getUid()));
return me;
}
@@ -101,13 +103,7 @@ public class Users {
}
if (uid > 0) {
- List<Integer> uids = userService.getUserRead(uid);
- if (uids.size() > 0) {
- List<com.juick.User> users = userService.getUsersByID(uids);
- if (users.size() > 0) {
- return users;
- }
- }
+ return userService.getUserFriends(uid);
}
throw new HttpNotFoundException();
}
diff --git a/juick-server/src/main/java/com/juick/service/UserServiceImpl.java b/juick-server/src/main/java/com/juick/service/UserServiceImpl.java
index 050fc281..2de3dfc6 100644
--- a/juick-server/src/main/java/com/juick/service/UserServiceImpl.java
+++ b/juick-server/src/main/java/com/juick/service/UserServiceImpl.java
@@ -307,18 +307,6 @@ public class UserServiceImpl extends BaseJdbcService implements UserService {
return list.get(0);
}
- @Override
- public int getUIDByHttpAuth(String auth) {
- if (auth != null && auth.length() > 8 && auth.startsWith("Basic ")) {
- Base64.Decoder dec = Base64.getDecoder();
- String loginpassw[] = new String(dec.decode(auth.substring(6))).split(":", 2);
- if (loginpassw.length == 2 && loginpassw[0].length() > 1 && loginpassw[0].length() < 16 && loginpassw[0].matches("[a-zA-Z0-9\\-]+") && !loginpassw[1].isEmpty()) {
- return checkPassword(loginpassw[0], loginpassw[1]);
- }
- }
- return 0;
- }
-
@Transactional(readOnly = true)
@Override
public int checkPassword(final String username, final String password) {
@@ -499,13 +487,6 @@ public class UserServiceImpl extends BaseJdbcService implements UserService {
@Transactional(readOnly = true)
@Override
- public List<Integer> getUserRead(final int uid) {
- return getJdbcTemplate().queryForList(
- "SELECT user_id FROM subscr_users WHERE suser_id=?", Integer.class, uid);
- }
-
- @Transactional(readOnly = true)
- @Override
public List<com.juick.User> getUserReadLeastPopular(final int uid, final int cnt) {
return getJdbcTemplate().query(
"SELECT users.id,users.nick FROM (subscr_users " +
@@ -586,14 +567,6 @@ public class UserServiceImpl extends BaseJdbcService implements UserService {
@Transactional(readOnly = true)
@Override
- public int getStatsIRead(final int uid) {
- List<Integer> list = getJdbcTemplate().queryForList(
- "SELECT COUNT(*) FROM subscr_users WHERE suser_id = ?", Integer.class, uid);
- return list.isEmpty() ? 0 : list.get(0);
- }
-
- @Transactional(readOnly = true)
- @Override
public int getStatsMyReaders(final int uid) {
List<Integer> list = getJdbcTemplate().queryForList("SELECT COUNT(*) FROM subscr_users WHERE user_id = ?", Integer.class, uid);
return list.isEmpty() ? 0 : list.get(0);
diff --git a/juick-server/src/test/java/com/juick/server/tests/ServerTests.java b/juick-server/src/test/java/com/juick/server/tests/ServerTests.java
index 3fc56af7..3ac4ff82 100644
--- a/juick-server/src/test/java/com/juick/server/tests/ServerTests.java
+++ b/juick-server/src/test/java/com/juick/server/tests/ServerTests.java
@@ -230,6 +230,8 @@ public class ServerTests {
assertThat(telegramService.getTelegramIdentifiers(subscribers2).size(), equalTo(0));
tagService.blacklistTag(freefd, yoTag);
assertThat(subscriptionService.getSubscribedUsers(ugnich.getUid(), mid).size(), equalTo(1));
+ subscriptionService.unSubscribeUser(freefd, ugnich);
+ assertThat(subscriptionService.getSubscribedUsers(ugnich.getUid(), mid).size(), equalTo(0));
}
@Test
public void pmTests() {
@@ -1042,11 +1044,19 @@ public class ServerTests {
assertThat(attachment.getWidth(), is(1));
}
@Test
- public void meContainsHash() throws Exception {
+ public void meContainsAllInfo() throws Exception {
+ jdbcTemplate.update("DELETE FROM subscr_users");
+ assertThat(userService.getUserReaders(ugnich.getUid()).size(), is(0));
+ assertThat(userService.getUserFriends(ugnich.getUid()).size(), is(0));
+ commandsManager.processCommand(freefd, "S @ugnich", emptyUri);
+ commandsManager.processCommand(ugnich, "S @freefd", emptyUri);
+ assertThat(userService.getUserReaders(ugnich.getUid()).size(), is(1));
String hash = userService.getHashByUID(ugnich.getUid());
mockMvc.perform(get("/me")
- .with(httpBasic(ugnichName, ugnichPassword)))
- .andExpect(jsonPath("$.hash", is(hash)));
+ .with(httpBasic(ugnichName, ugnichPassword)))
+ .andExpect(jsonPath("$.hash", is(hash)))
+ .andExpect(jsonPath("$.readers.length()", is(1)))
+ .andExpect(jsonPath("$.read.length()", is(1)));
}
@Test
public void feedsShouldNotContainBannedUsers() throws Exception {