![JAR search and dependency download from the Maven repository](/logo.png)
net.intelie.live.plugins.messenger.Main Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of plugin-messenger Show documentation
Show all versions of plugin-messenger Show documentation
Intelie Live Messenger Plugin
The newest version!
package net.intelie.live.plugins.messenger;
import net.intelie.live.EntityContext;
import net.intelie.live.Live;
import net.intelie.live.LivePlugin;
import net.intelie.live.PermissionDetails;
import net.intelie.live.model.Language;
import net.intelie.live.plugins.messenger.api.MessengerEventFilters;
import net.intelie.live.plugins.messenger.api.MessengerResource;
import net.intelie.live.plugins.messenger.api.MessengerService;
import net.intelie.live.plugins.messenger.api.MessengerServiceImpl;
import net.intelie.live.plugins.messenger.chat.ChatManager;
import net.intelie.live.plugins.messenger.chat.ControlActionsManager;
import net.intelie.live.plugins.messenger.chat.MessagesManager;
import net.intelie.live.plugins.messenger.chat.UserRoomSettingsManager;
import net.intelie.live.plugins.messenger.connections.MessengerConnectionsRegistry;
import net.intelie.live.plugins.messenger.data.RoomDataResolver;
import net.intelie.live.plugins.messenger.data.UserDataResolver;
import net.intelie.live.plugins.messenger.search.SearchService;
import net.intelie.live.plugins.messenger.search.SearchServiceImpl;
import net.intelie.live.plugins.messenger.search.SearchableMessageHandler;
import net.intelie.live.util.PluginUtils;
public class Main implements LivePlugin {
@Override
public void start(Live live) throws Exception {
PluginUtils.defaultWebSetup(live);
EntityContext context = live.data().getContext();
UserDataResolver userDataResolver = new UserDataResolver(context);
RoomDataResolver roomResolver = new RoomDataResolver(userDataResolver);
ChatManager chatManager = new ChatManager(live.settings().home(), roomResolver);
MessagesManager messagesManager = new MessagesManager(live);
UserRoomSettingsManager userRoomSettingsManager = new UserRoomSettingsManager(live.settings());
ControlActionsManager controlActionsManager = new ControlActionsManager(live);
MessengerConnectionsRegistry messengerConnectionsRegistry = new MessengerConnectionsRegistry(controlActionsManager);
MessengerEventFilters messengerEventFilters = new MessengerEventFilters(chatManager, userRoomSettingsManager);
MessengerServiceImpl messengerService = new MessengerServiceImpl(live, chatManager, messagesManager, controlActionsManager, messengerEventFilters, messengerConnectionsRegistry, userRoomSettingsManager, userDataResolver);
SearchService searchService = new SearchServiceImpl(live);
live.system().registerPluginService(MessengerService.class, messengerService);
live.system().registerPluginService(SearchService.class, searchService);
live.exportPackage("net.intelie.live.plugins.messenger.api");
live.exportPackage("net.intelie.live.plugins.messenger.search");
SearchableMessageHandler searchableMessageHandler = new SearchableMessageHandler(live, chatManager);
live.describeAction("Registering message type event searchable handler", searchService.registerSearchableEventHandler(searchableMessageHandler));
live.web().addService("/", new MessengerResource(messengerService, searchService));
PermissionDetails p1 = new PermissionDetails(MessengerPermission.USE_MESSENGER, "View messenger chat rooms");
p1.addDescription(Language.PT_BR, "Visualizar salas de mensagens");
PermissionDetails p2 = new PermissionDetails(MessengerPermission.CREATE_ROOMS, "Create messenger chat rooms");
p2.addDescription(Language.PT_BR, "Criar salas de mensagens");
live.auth().addPermission(p1);
live.auth().addPermission(p2);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy