diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/groupchats/CreateDefaultPublicGroupChat.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/groupchats/CreateDefaultPublicGroupChat.scala new file mode 100755 index 0000000000000000000000000000000000000000..31bac464d246e0e8b04b88e453b8330ea88bbc02 --- /dev/null +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/groupchats/CreateDefaultPublicGroupChat.scala @@ -0,0 +1,38 @@ +package org.bigbluebutton.core.apps.groupchats + +import org.bigbluebutton.common2.msgs._ +import org.bigbluebutton.core.bus.MessageBus +import org.bigbluebutton.core.domain.MeetingState2x +import org.bigbluebutton.core.models.GroupChat +import org.bigbluebutton.core.running.LiveMeeting +import org.bigbluebutton.core.models.SystemUser + +trait CreateDefaultPublicGroupChat { + this: GroupChatHdlrs => + + def handleCreateDefaultPublicGroupChat(state: MeetingState2x, liveMeeting: LiveMeeting, bus: MessageBus): MeetingState2x = { + + val groupChat: GroupChat = GroupChatApp.createDefaultPublicGroupChat() + + def buildGroupChatCreatedEvtMsg(meetingId: String, userId: String, gc: GroupChat): BbbCommonEnvCoreMsg = { + val correlationId = "SYSTEM-" + System.currentTimeMillis() + val msgs = gc.msgs.map(m => GroupChatApp.toMessageToUser(m)) + val routing = Routing.addMsgToClientRouting(MessageTypes.BROADCAST_TO_MEETING, meetingId, userId) + val envelope = BbbCoreEnvelope(GroupChatCreatedEvtMsg.NAME, routing) + val header = BbbClientMsgHeader(GroupChatCreatedEvtMsg.NAME, meetingId, userId) + val body = GroupChatCreatedEvtMsgBody(correlationId, gc.id, gc.createdBy, gc.name, gc.access, gc.users, msgs) + val event = GroupChatCreatedEvtMsg(header, body) + BbbCommonEnvCoreMsg(envelope, event) + } + + val respMsg = buildGroupChatCreatedEvtMsg( + liveMeeting.props.meetingProp.intId, + SystemUser.ID, + groupChat + ) + + bus.outGW.send(respMsg) + val groupChats = state.groupChats.add(groupChat) + state.update(groupChats) + } +} diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/groupchats/GroupChat.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/groupchats/GroupChat.scala index 32caba2eb6925cb7137fd38c6b18053f6c0a26e9..f12ba96c93476d935b1322299d625e41fcd17915 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/groupchats/GroupChat.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/groupchats/GroupChat.scala @@ -44,12 +44,9 @@ object GroupChatApp { } } - def createDefaultPublicGroupChat(chatId: String, state: MeetingState2x): MeetingState2x = { + def createDefaultPublicGroupChat(): GroupChat = { val createBy = GroupChatUser(SystemUser.ID, SystemUser.ID) - val defaultPubGroupChat = GroupChatFactory.create(chatId, chatId, - GroupChatAccess.PUBLIC, createBy, Vector.empty, Vector.empty) - val groupChats = state.groupChats.add(defaultPubGroupChat) - state.update(groupChats) + GroupChatFactory.create(MAIN_PUBLIC_CHAT, MAIN_PUBLIC_CHAT, GroupChatAccess.PUBLIC, createBy, Vector.empty, Vector.empty) } def createTestPublicGroupChat(state: MeetingState2x): MeetingState2x = { diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/groupchats/GroupChatHdlrs.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/groupchats/GroupChatHdlrs.scala index 698795e9ae62786ecdc74d32cb8b16ae756d6104..b40a6cb9913b748e10fd1a264263247aab04f1f6 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/groupchats/GroupChatHdlrs.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/groupchats/GroupChatHdlrs.scala @@ -5,6 +5,7 @@ import akka.event.Logging class GroupChatHdlrs(implicit val context: ActorContext) extends CreateGroupChatReqMsgHdlr + with CreateDefaultPublicGroupChat with GetGroupChatMsgsReqMsgHdlr with GetGroupChatsReqMsgHdlr with SendGroupChatMessageMsgHdlr { diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentationpod/CreateDefaultPresentationPod.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentationpod/CreateDefaultPresentationPod.scala index 23ee657ff86345ac507263dbceb4f4708858cc26..dfaacae59ad06dcbf80ee741b495d39d9270931b 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentationpod/CreateDefaultPresentationPod.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentationpod/CreateDefaultPresentationPod.scala @@ -1,7 +1,5 @@ package org.bigbluebutton.core.apps.presentationpod -import org.bigbluebutton.common2.domain.PresentationPodVO -import org.bigbluebutton.common2.msgs._ import org.bigbluebutton.core.bus.MessageBus import org.bigbluebutton.core.domain.MeetingState2x import org.bigbluebutton.core.models.PresentationPod @@ -26,5 +24,4 @@ trait CreateDefaultPresentationPod { val pods = state.presentationPodManager.addPod(resultPod) state.update(pods) } - } diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentationpod/CreateNewPresentationPodPubMsgHdlr.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentationpod/CreateNewPresentationPodPubMsgHdlr.scala index 01969b3643ba21b251269a90ce81022d9961d573..90dc4bb949299e1c3e2345009ff17aaf54de4101 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentationpod/CreateNewPresentationPodPubMsgHdlr.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentationpod/CreateNewPresentationPodPubMsgHdlr.scala @@ -32,7 +32,6 @@ trait CreateNewPresentationPodPubMsgHdlr extends RightsManagementTrait { resultPod.id, msg.header.userId ) - bus.outGW.send(respMsg) val pods = state.presentationPodManager.addPod(resultPod) diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/MeetingActor.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/MeetingActor.scala index 68c98580d99e2e0969929f99b872e08dc3b0b52f..b3f803bdc452f30180cb2b1846c832a113d93217 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/MeetingActor.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/MeetingActor.scala @@ -141,11 +141,11 @@ class MeetingActor( var lastRttTestSentOn = System.currentTimeMillis() - // Create a default publish group chat - state = GroupChatApp.createDefaultPublicGroupChat(GroupChatApp.MAIN_PUBLIC_CHAT, state) - //state = GroupChatApp.genTestChatMsgHistory(GroupChatApp.MAIN_PUBLIC_CHAT, state, BbbSystemConst.SYSTEM_USER, liveMeeting) + // Create a default public group chat + state = groupChatApp.handleCreateDefaultPublicGroupChat(state, liveMeeting, msgBus) - // Create a default publish group chat + //state = GroupChatApp.genTestChatMsgHistory(GroupChatApp.MAIN_PUBLIC_CHAT, state, BbbSystemConst.SYSTEM_USER, liveMeeting) + // Create a default public group chat **DEPRECATED, NOT GOING TO WORK ANYMORE** //state = GroupChatApp.createDefaultPublicGroupChat("TEST_GROUP_CHAT", state) //state = GroupChatApp.genTestChatMsgHistory("TEST_GROUP_CHAT", state, BbbSystemConst.SYSTEM_USER, liveMeeting) diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core2/message/senders/MsgBuilder.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core2/message/senders/MsgBuilder.scala index 3995f9f0ca55682dd55300aa41f79422d1e5ef43..3cc7f936697c497f80af83c2b7893df8bd740363 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core2/message/senders/MsgBuilder.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core2/message/senders/MsgBuilder.scala @@ -3,7 +3,6 @@ package org.bigbluebutton.core2.message.senders import org.bigbluebutton.common2.domain.DefaultProps import org.bigbluebutton.common2.msgs.{ BbbCommonEnvCoreMsg, BbbCoreEnvelope, BbbCoreHeaderWithMeetingId, MessageTypes, Routing, ValidateConnAuthTokenSysRespMsg, ValidateConnAuthTokenSysRespMsgBody, _ } import org.bigbluebutton.core.models.GuestWaiting -import org.bigbluebutton.common2.domain.PresentationPodVO object MsgBuilder { def buildGuestPolicyChangedEvtMsg(meetingId: String, userId: String, policy: String, setBy: String): BbbCommonEnvCoreMsg = {