diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentationpod/PresentationPodHdlrs.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentationpod/PresentationPodHdlrs.scala index 965d43e9ea1a6398a57edc70820342d01b72acf0..cf079dc83c8b4ee48f7ceb960ba2cec983b2b7ed 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentationpod/PresentationPodHdlrs.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentationpod/PresentationPodHdlrs.scala @@ -17,6 +17,7 @@ class PresentationPodHdlrs(implicit val context: ActorContext) with PresentationConversionUpdatePubMsgHdlr with PresentationPageGeneratedPubMsgHdlr with PresentationPageCountErrorPubMsgHdlr + with PresentationUploadedFileTooLargeErrorPubMsgHdlr with PresentationUploadTokenReqMsgHdlr with ResizeAndMovePagePubMsgHdlr with SyncGetPresentationPodsMsgHdlr diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentationpod/PresentationUploadedFileTooLargeErrorPubMsgHdlr.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentationpod/PresentationUploadedFileTooLargeErrorPubMsgHdlr.scala new file mode 100644 index 0000000000000000000000000000000000000000..54b2bf421b73a8f80a28bb43ac50257c9c97a4a1 --- /dev/null +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentationpod/PresentationUploadedFileTooLargeErrorPubMsgHdlr.scala @@ -0,0 +1,36 @@ +package org.bigbluebutton.core.apps.presentationpod + +import org.bigbluebutton.common2.msgs._ +import org.bigbluebutton.core.bus.MessageBus +import org.bigbluebutton.core.domain.MeetingState2x +import org.bigbluebutton.core.running.LiveMeeting + +trait PresentationUploadedFileTooLargeErrorPubMsgHdlr { + this: PresentationPodHdlrs => + + def handle( + msg: PresentationUploadedFileTooLargeErrorSysPubMsg, state: MeetingState2x, + liveMeeting: LiveMeeting, bus: MessageBus + ): MeetingState2x = { + + def broadcastEvent(msg: PresentationUploadedFileTooLargeErrorSysPubMsg): Unit = { + val routing = Routing.addMsgToClientRouting( + MessageTypes.BROADCAST_TO_MEETING, + liveMeeting.props.meetingProp.intId, msg.header.userId + ) + val envelope = BbbCoreEnvelope(PresentationUploadedFileTooLargeErrorEvtMsg.NAME, routing) + val header = BbbClientMsgHeader( + PresentationUploadedFileTooLargeErrorEvtMsg.NAME, + liveMeeting.props.meetingProp.intId, msg.header.userId + ) + + val body = PresentationUploadedFileTooLargeErrorEvtMsgBody(msg.body.podId, msg.body.messageKey, msg.body.code, msg.body.presentationName, msg.body.presentationToken, msg.body.fileSize, msg.body.maxFileSize) + val event = PresentationUploadedFileTooLargeErrorEvtMsg(header, body) + val msgEvent = BbbCommonEnvCoreMsg(envelope, event) + bus.outGW.send(msgEvent) + } + + broadcastEvent(msg) + state + } +} diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/ReceivedJsonMsgHandlerActor.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/ReceivedJsonMsgHandlerActor.scala index fcb3dcf9251aa78d8738bec997a0ce7eb68d6504..fb9e3862dcb8b28ceaf5ea50fc7f21143df0ab20 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/ReceivedJsonMsgHandlerActor.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/ReceivedJsonMsgHandlerActor.scala @@ -234,6 +234,8 @@ class ReceivedJsonMsgHandlerActor( routeGenericMsg[GetAllPresentationPodsReqMsg](envelope, jsonNode) case PreuploadedPresentationsSysPubMsg.NAME => routeGenericMsg[PreuploadedPresentationsSysPubMsg](envelope, jsonNode) + case PresentationUploadedFileTooLargeErrorSysPubMsg.NAME => + routeGenericMsg[PresentationUploadedFileTooLargeErrorSysPubMsg](envelope, jsonNode) case PresentationConversionUpdateSysPubMsg.NAME => routeGenericMsg[PresentationConversionUpdateSysPubMsg](envelope, jsonNode) case PresentationPageCountErrorSysPubMsg.NAME => 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 e72b3f4bf89556dcd2d7384e55987019809c15ce..cf707d2dd6d9961dc3252dd739eff608440feac1 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 @@ -411,49 +411,50 @@ class MeetingActor( case m: ChangeLockSettingsInMeetingCmdMsg => handleSetLockSettings(m) updateUserLastActivity(m.body.setBy) - case m: LockUserInMeetingCmdMsg => handleLockUserInMeetingCmdMsg(m) - case m: LockUsersInMeetingCmdMsg => handleLockUsersInMeetingCmdMsg(m) - case m: GetLockSettingsReqMsg => handleGetLockSettingsReqMsg(m) + case m: LockUserInMeetingCmdMsg => handleLockUserInMeetingCmdMsg(m) + case m: LockUsersInMeetingCmdMsg => handleLockUsersInMeetingCmdMsg(m) + case m: GetLockSettingsReqMsg => handleGetLockSettingsReqMsg(m) // Presentation - case m: PreuploadedPresentationsSysPubMsg => presentationApp2x.handle(m, liveMeeting, msgBus) - case m: AssignPresenterReqMsg => state = handlePresenterChange(m, state) + case m: PreuploadedPresentationsSysPubMsg => presentationApp2x.handle(m, liveMeeting, msgBus) + case m: AssignPresenterReqMsg => state = handlePresenterChange(m, state) // Presentation Pods - case m: CreateNewPresentationPodPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) - case m: RemovePresentationPodPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) - case m: GetAllPresentationPodsReqMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) - case m: SetCurrentPresentationPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) - case m: PresentationConversionCompletedSysPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) - case m: PdfConversionInvalidErrorSysPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) - case m: SetCurrentPagePubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) - case m: SetPresenterInPodReqMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) - case m: RemovePresentationPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) - case m: SetPresentationDownloadablePubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) - case m: PresentationConversionUpdateSysPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) - case m: PresentationPageGeneratedSysPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) - case m: PresentationPageCountErrorSysPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) - case m: PresentationUploadTokenReqMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) - case m: ResizeAndMovePagePubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) - case m: PresentationPageConvertedSysMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) - case m: PresentationPageConversionStartedSysMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) - case m: PresentationConversionEndedSysMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: CreateNewPresentationPodPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: RemovePresentationPodPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: GetAllPresentationPodsReqMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: SetCurrentPresentationPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: PresentationConversionCompletedSysPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: PdfConversionInvalidErrorSysPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: SetCurrentPagePubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: SetPresenterInPodReqMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: RemovePresentationPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: SetPresentationDownloadablePubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: PresentationConversionUpdateSysPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: PresentationUploadedFileTooLargeErrorSysPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: PresentationPageGeneratedSysPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: PresentationPageCountErrorSysPubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: PresentationUploadTokenReqMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: ResizeAndMovePagePubMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: PresentationPageConvertedSysMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: PresentationPageConversionStartedSysMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) + case m: PresentationConversionEndedSysMsg => state = presentationPodsApp.handle(m, state, liveMeeting, msgBus) // Caption - case m: EditCaptionHistoryPubMsg => captionApp2x.handle(m, liveMeeting, msgBus) - case m: UpdateCaptionOwnerPubMsg => captionApp2x.handle(m, liveMeeting, msgBus) - case m: SendCaptionHistoryReqMsg => captionApp2x.handle(m, liveMeeting, msgBus) + case m: EditCaptionHistoryPubMsg => captionApp2x.handle(m, liveMeeting, msgBus) + case m: UpdateCaptionOwnerPubMsg => captionApp2x.handle(m, liveMeeting, msgBus) + case m: SendCaptionHistoryReqMsg => captionApp2x.handle(m, liveMeeting, msgBus) // Guests - case m: GetGuestsWaitingApprovalReqMsg => handleGetGuestsWaitingApprovalReqMsg(m) - case m: SetGuestPolicyCmdMsg => handleSetGuestPolicyMsg(m) - case m: SetGuestLobbyMessageCmdMsg => handleSetGuestLobbyMessageMsg(m) - case m: GuestsWaitingApprovedMsg => handleGuestsWaitingApprovedMsg(m) - case m: GuestWaitingLeftMsg => handleGuestWaitingLeftMsg(m) - case m: GetGuestPolicyReqMsg => handleGetGuestPolicyReqMsg(m) + case m: GetGuestsWaitingApprovalReqMsg => handleGetGuestsWaitingApprovalReqMsg(m) + case m: SetGuestPolicyCmdMsg => handleSetGuestPolicyMsg(m) + case m: SetGuestLobbyMessageCmdMsg => handleSetGuestLobbyMessageMsg(m) + case m: GuestsWaitingApprovedMsg => handleGuestsWaitingApprovedMsg(m) + case m: GuestWaitingLeftMsg => handleGuestWaitingLeftMsg(m) + case m: GetGuestPolicyReqMsg => handleGetGuestPolicyReqMsg(m) // Chat - case m: GetChatHistoryReqMsg => chatApp2x.handle(m, liveMeeting, msgBus) + case m: GetChatHistoryReqMsg => chatApp2x.handle(m, liveMeeting, msgBus) case m: SendPublicMessagePubMsg => chatApp2x.handle(m, liveMeeting, msgBus) updateUserLastActivity(m.body.message.fromUserId) diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core2/AnalyticsActor.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core2/AnalyticsActor.scala index 608f9c2d8436ae3ba2dda5b9bece331c8dc5a9d5..4ebe981ec6df01814a809c3789f59049ef3c303f 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core2/AnalyticsActor.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core2/AnalyticsActor.scala @@ -119,7 +119,9 @@ class AnalyticsActor extends Actor with ActorLogging { case m: PresentationConversionUpdateSysPubMsg => logMessage(msg) case m: PresentationConversionUpdateEvtMsgBody => logMessage(msg) case m: PresentationPageCountErrorSysPubMsg => logMessage(msg) + case m: PresentationUploadedFileTooLargeErrorSysPubMsg => logMessage(msg) case m: PresentationPageCountErrorEvtMsg => logMessage(msg) + case m: PresentationUploadedFileTooLargeErrorEvtMsg => logMessage(msg) // Group Chats case m: SendGroupChatMessageMsg => logMessage(msg) diff --git a/bbb-common-message/src/main/scala/org/bigbluebutton/common2/msgs/PresentationPodsMsgs.scala b/bbb-common-message/src/main/scala/org/bigbluebutton/common2/msgs/PresentationPodsMsgs.scala index 403174888835a8eb0fa7375baea83241a7be48f0..7c28a700410ccab4910db687100573303fc25043 100755 --- a/bbb-common-message/src/main/scala/org/bigbluebutton/common2/msgs/PresentationPodsMsgs.scala +++ b/bbb-common-message/src/main/scala/org/bigbluebutton/common2/msgs/PresentationPodsMsgs.scala @@ -156,7 +156,6 @@ case class PresentationUploadedFileTooLargeErrorSysPubMsgBody( podId: String, messageKey: String, code: String, - meetingId: String, presentationName: String, presentationToken: String, fileSize: Int, @@ -214,6 +213,10 @@ case class PresentationPageConvertedEventMsgBody( page: PresentationPageVO ) +object PresentationUploadedFileTooLargeErrorEvtMsg { val NAME = "PresentationUploadedFileTooLargeErrorEvtMsg" } +case class PresentationUploadedFileTooLargeErrorEvtMsg(header: BbbClientMsgHeader, body: PresentationUploadedFileTooLargeErrorEvtMsgBody) extends BbbCoreMsg +case class PresentationUploadedFileTooLargeErrorEvtMsgBody(podId: String, messageKey: String, code: String, presentationName: String, presentationToken: String, fileSize: Int, maxFileSize: Int) + object PresentationConversionRequestReceivedEventMsg { val NAME = "PresentationConversionRequestReceivedEventMsg" } case class PresentationConversionRequestReceivedEventMsg( header: BbbClientMsgHeader, diff --git a/bbb-common-web/src/main/scala/org/bigbluebutton/api2/MsgBuilder.scala b/bbb-common-web/src/main/scala/org/bigbluebutton/api2/MsgBuilder.scala index d124391db978732dd20391b4186bbb52bb53ed76..1c41d22ff1ee6d86e86ce6d737fab60c22ea9f48 100755 --- a/bbb-common-web/src/main/scala/org/bigbluebutton/api2/MsgBuilder.scala +++ b/bbb-common-web/src/main/scala/org/bigbluebutton/api2/MsgBuilder.scala @@ -287,7 +287,7 @@ object MsgBuilder { val header = BbbClientMsgHeader(PresentationUploadedFileTooLargeErrorSysPubMsg.NAME, msg.meetingId, msg.authzToken) val body = PresentationUploadedFileTooLargeErrorSysPubMsgBody(podId = msg.podId, messageKey = msg.key, - code = msg.key, meetingId = msg.meetingId, presentationName = msg.filename, presentationToken = msg.authzToken, fileSize = msg.uploadedFileSize.intValue(), maxFileSize = msg.maxUploadFileSize) + code = msg.key, presentationName = msg.filename, presentationToken = msg.authzToken, fileSize = msg.uploadedFileSize.intValue(), maxFileSize = msg.maxUploadFileSize) val req = PresentationUploadedFileTooLargeErrorSysPubMsg(header, body) BbbCommonEnvCoreMsg(envelope, req)