aboutsummaryrefslogtreecommitdiff
path: root/juick-server/src/main/java/com/juick/service/UserService.java
blob: 7f4bb1fe720282da53e956c92c862bcc7b23a637 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package com.juick.service;

import com.juick.User;
import com.juick.server.helpers.Auth;
import com.juick.server.helpers.EmailOpts;
import com.juick.server.helpers.UserInfo;

import java.util.Collection;
import java.util.List;
import java.util.Optional;

/**
 * Created by aalexeev on 11/13/16.
 */
public interface UserService {
    enum ActiveStatus {
        Inactive,
        Active
    }

    String getSignUpHashByJID(String jid);

    String getSignUpHashByTelegramID(Long telegramId, String username);

    int createUser(String username, String password);

    Optional<User> getUserByUID(int uid);

    User getUserByName(String username);

    User getFullyUserByName(String username);

    User getUserByEmail(String email);

    List<User> getFullyUsersByNames(Collection<String> usernames);

    User getUserByJID(String jid);

    List<User> getUsersByName(Collection<String> unames);

    List<User> getUsersByID(Collection<Integer> uids);

    List<com.juick.User> getUsersByJID(Collection<String> jids);

    List<String> getJIDsbyUID(int uid);

    int getUIDbyJID(String jid);

    int getUIDbyName(String uname);

    int getUIDbyHash(String hash);

    com.juick.User getUserByHash(String hash);

    String getHashByUID(int uid);

    int getUIDByHttpAuth(String header);

    int checkPassword(String username, String password);

    boolean updatePassword(User user, String newPassword);

    String updateSecretEmail(User user);

    int getUserOptionInt(int uid, String option, int defaultValue);

    int setUserOptionInt(int uid, String option, int value);

    UserInfo getUserInfo(User user);

    boolean updateUserInfo(User user, UserInfo info);

    boolean getCanMedia(int uid);

    boolean isInWL(int uid, int check);

    boolean isInBL(int uid, int check);

    boolean isInBLAny(int uid, int uid2);

    List<Integer> checkBL(int visitor, Collection<Integer> uids);

    boolean isSubscribed(int uid, int check);

    List<Integer> getUserRead(int uid);

    List<com.juick.User> getUserReadLeastPopular(int uid, int cnt);

    List<User> getUserReaders(int uid);

    List<User> getUserFriends(int uid);

    List<com.juick.User> getUserBLUsers(int uid);

    boolean linkTwitterAccount(User user, String accessToken, String accessTokenSecret, String screenName);

    int getStatsIRead(int uid);

    int getStatsMyReaders(int uid);

    int getStatsMessages(int uid);

    int getStatsReplies(int uid);

    boolean setActiveStatusForJID(String JID, ActiveStatus jidStatus);

    List<String> getAllJIDs(User user);

    List<Auth> getAuthCodes(User user);

    List<String> getEmails(User user);

    EmailOpts getEmailOpts(User user);

    String getEmailHash(User user);

    int deleteLoginForUser(String name);

    int setLoginForUser(int uid, String loginHash);

    void logout(int uid);

    boolean deleteJID(int uid, String jid);

    boolean unauthJID(int uid, String jid);

    List<String> getAllJIDs();
}