Class UserMongoDataStorage
- java.lang.Object
-
- org.exoplatform.chat.services.mongodb.UserMongoDataStorage
-
- All Implemented Interfaces:
UserDataStorage
@Named("userStorage") @ApplicationScoped @Singleton public class UserMongoDataStorage extends Object implements UserDataStorage
-
-
Field Summary
Fields Modifier and Type Field Description static StringDEFAULT_ENABLED_CHANNELSstatic StringM_ROOMS_COLLECTIONstatic StringM_USERS_COLLECTION-
Fields inherited from interface org.exoplatform.chat.services.UserDataStorage
NOTIFICATIONS_SETTINGS, PREFERRED_NOTIFICATION, PREFERRED_NOTIFICATION_TRIGGER, PREFERRED_ROOM_NOTIFICATION_TRIGGER, ROOM_NOTIF_TRIGGER_WHEN_KEY_WORD, STATUS_AVAILABLE, STATUS_AWAY, STATUS_DONOTDISTURB, STATUS_INVISIBLE, STATUS_NONE, STATUS_OFFLINE
-
-
Constructor Summary
Constructors Constructor Description UserMongoDataStorage()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddFavorite(String user, String targetUser)voidaddTeamRoom(String user, String teamRoomId)voidaddUserEmail(String user, String email)voidaddUserFullName(String user, String fullname)voiddeleteUser(String user)StringgetExternalValue(String user)intgetNumberOfUsers()org.exoplatform.chat.model.RoomBeangetRoom(String user, String roomId)List<org.exoplatform.chat.model.SpaceBean>getSpaces(String user)StringgetStatus(String user)List<org.exoplatform.chat.model.RoomBean>getTeams(String user)org.exoplatform.chat.model.UserBeangetUser(String user)org.exoplatform.chat.model.UserBeangetUser(String user, boolean withFavorites)org.exoplatform.chat.model.NotificationSettingsBeangetUserDesktopNotificationSettings(String user)StringgetUserFullName(String user)List<org.exoplatform.chat.model.UserBean>getUsers(String roomId, String filter, int limit)List<org.exoplatform.chat.model.UserBean>getUsers(String roomId, List<String> onlineUsers, String filter, int limit, boolean onlyOnlineUsers)LonggetUsersCount(String roomId, String filter)LonggetUsersCount(String roomId, String filter, boolean activeUsers)List<String>getUsersFilterBy(String user, String room, String type)List<org.exoplatform.chat.model.UserBean>getUsersInRoomChatOneToOne(String roomId)booleanisAdmin(String user)booleanisFavorite(String user, String targetUser)voidremoveFavorite(String user, String targetUser)voidremoveTeamUsers(String teamRoomId, List<String> users)voidsetAsAdmin(String user, boolean isAdmin)voidsetEnabledUser(String user, Boolean isEnabled)voidsetExternalUser(String user, String isExternal)voidsetNotificationTrigger(String user, String notifCond)voidsetPreferredNotification(String user, String notifManner)voidsetRoomNotificationTrigger(String user, String room, String notifCond, String notifConditionType, long time)voidsetSpaces(String user, List<org.exoplatform.chat.model.SpaceBean> spaces)StringsetStatus(String user, String status)
-
-
-
Field Detail
-
M_USERS_COLLECTION
public static final String M_USERS_COLLECTION
- See Also:
- Constant Field Values
-
M_ROOMS_COLLECTION
public static final String M_ROOMS_COLLECTION
- See Also:
- Constant Field Values
-
DEFAULT_ENABLED_CHANNELS
public static final String DEFAULT_ENABLED_CHANNELS
- See Also:
- Constant Field Values
-
-
Method Detail
-
addFavorite
public void addFavorite(String user, String targetUser)
- Specified by:
addFavoritein interfaceUserDataStorage
-
removeFavorite
public void removeFavorite(String user, String targetUser)
- Specified by:
removeFavoritein interfaceUserDataStorage
-
setPreferredNotification
public void setPreferredNotification(String user, String notifManner) throws Exception
- Specified by:
setPreferredNotificationin interfaceUserDataStorage- Throws:
Exception
-
setNotificationTrigger
public void setNotificationTrigger(String user, String notifCond) throws Exception
- Specified by:
setNotificationTriggerin interfaceUserDataStorage- Throws:
Exception
-
setRoomNotificationTrigger
public void setRoomNotificationTrigger(String user, String room, String notifCond, String notifConditionType, long time) throws Exception
- Specified by:
setRoomNotificationTriggerin interfaceUserDataStorage- Throws:
Exception
-
getUserDesktopNotificationSettings
public org.exoplatform.chat.model.NotificationSettingsBean getUserDesktopNotificationSettings(String user) throws org.json.JSONException
- Specified by:
getUserDesktopNotificationSettingsin interfaceUserDataStorage- Throws:
org.json.JSONException
-
isFavorite
public boolean isFavorite(String user, String targetUser)
- Specified by:
isFavoritein interfaceUserDataStorage
-
addUserFullName
public void addUserFullName(String user, String fullname)
- Specified by:
addUserFullNamein interfaceUserDataStorage
-
addUserEmail
public void addUserEmail(String user, String email)
- Specified by:
addUserEmailin interfaceUserDataStorage
-
deleteUser
public void deleteUser(String user)
- Specified by:
deleteUserin interfaceUserDataStorage
-
setEnabledUser
public void setEnabledUser(String user, Boolean isEnabled)
- Specified by:
setEnabledUserin interfaceUserDataStorage
-
setExternalUser
public void setExternalUser(String user, String isExternal)
- Specified by:
setExternalUserin interfaceUserDataStorage
-
setSpaces
public void setSpaces(String user, List<org.exoplatform.chat.model.SpaceBean> spaces)
- Specified by:
setSpacesin interfaceUserDataStorage
-
addTeamRoom
public void addTeamRoom(String user, String teamRoomId)
- Specified by:
addTeamRoomin interfaceUserDataStorage
-
removeTeamUsers
public void removeTeamUsers(String teamRoomId, List<String> users)
- Specified by:
removeTeamUsersin interfaceUserDataStorage
-
getTeams
public List<org.exoplatform.chat.model.RoomBean> getTeams(String user)
- Specified by:
getTeamsin interfaceUserDataStorage
-
getRoom
public org.exoplatform.chat.model.RoomBean getRoom(String user, String roomId)
- Specified by:
getRoomin interfaceUserDataStorage
-
getSpaces
public List<org.exoplatform.chat.model.SpaceBean> getSpaces(String user)
- Specified by:
getSpacesin interfaceUserDataStorage
-
getUsersInRoomChatOneToOne
public List<org.exoplatform.chat.model.UserBean> getUsersInRoomChatOneToOne(String roomId)
- Specified by:
getUsersInRoomChatOneToOnein interfaceUserDataStorage
-
getUsers
public List<org.exoplatform.chat.model.UserBean> getUsers(String roomId, String filter, int limit)
- Specified by:
getUsersin interfaceUserDataStorage
-
getUsers
public List<org.exoplatform.chat.model.UserBean> getUsers(String roomId, List<String> onlineUsers, String filter, int limit, boolean onlyOnlineUsers)
- Specified by:
getUsersin interfaceUserDataStorage- Parameters:
roomId- room IDonlineUsers- list of online usersfilter- text to filter users by fullname or usernamelimit- the limit of users to load- Returns:
-
getUsersCount
public Long getUsersCount(String roomId, String filter)
- Specified by:
getUsersCountin interfaceUserDataStorage
-
getUsersCount
public Long getUsersCount(String roomId, String filter, boolean activeUsers)
- Specified by:
getUsersCountin interfaceUserDataStorage
-
setStatus
public String setStatus(String user, String status)
- Specified by:
setStatusin interfaceUserDataStorage
-
setAsAdmin
public void setAsAdmin(String user, boolean isAdmin)
- Specified by:
setAsAdminin interfaceUserDataStorage
-
isAdmin
public boolean isAdmin(String user)
- Specified by:
isAdminin interfaceUserDataStorage
-
getStatus
public String getStatus(String user)
- Specified by:
getStatusin interfaceUserDataStorage
-
getUserFullName
public String getUserFullName(String user)
- Specified by:
getUserFullNamein interfaceUserDataStorage
-
getExternalValue
public String getExternalValue(String user)
- Specified by:
getExternalValuein interfaceUserDataStorage
-
getUser
public org.exoplatform.chat.model.UserBean getUser(String user)
- Specified by:
getUserin interfaceUserDataStorage
-
getUser
public org.exoplatform.chat.model.UserBean getUser(String user, boolean withFavorites)
- Specified by:
getUserin interfaceUserDataStorage
-
getUsersFilterBy
public List<String> getUsersFilterBy(String user, String room, String type)
- Specified by:
getUsersFilterByin interfaceUserDataStorage
-
getNumberOfUsers
public int getNumberOfUsers()
- Specified by:
getNumberOfUsersin interfaceUserDataStorage
-
-