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 getUserByUID(int uid); User getUserByName(String username); User getFullyUserByName(String username); User getUserByEmail(String email); List getFullyUsersByNames(Collection usernames); User getUserByJID(String jid); List getUsersByName(Collection unames); List getUsersByID(Collection uids); List getUsersByJID(Collection jids); List 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); 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 checkBL(int visitor, Collection uids); boolean isSubscribed(int uid, int check); List getUserRead(int uid); List getUserReadLeastPopular(int uid, int cnt); List getUserReaders(int uid); List getUserFriends(int uid); List 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 getAllJIDs(User user); List getAuthCodes(User user); List 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 getActiveJIDs(); }