Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
147 commits
Select commit Hold shift + click to select a range
68fd4f1
Revert "Delete bbb-icons-ori.woff"
hiroshisuga Jan 9, 2021
b50aa4c
Revert "Add files via upload"
hiroshisuga Jan 9, 2021
43d987f
Revert "Delete bbb-icons.woff"
hiroshisuga Jan 9, 2021
4f8b7aa
Revert "Add files via upload"
hiroshisuga Jan 9, 2021
9642e06
Revert "Delete tmp.woff"
hiroshisuga Jan 9, 2021
d77527e
Revert "Add files via upload"
hiroshisuga Jan 9, 2021
267dc41
Revert "Create tmp.woff"
hiroshisuga Jan 9, 2021
d221d29
Revert "Delete bbb-icons.woff"
hiroshisuga Jan 9, 2021
9744fa4
Merge pull request #3 from bigbluebutton/develop
hiroshisuga Feb 11, 2021
f1be217
Update Meeting.java
hiroshisuga Feb 11, 2021
08bd1cf
Create UploadedFile.java
hiroshisuga Feb 11, 2021
7ec84b4
Create UploadRequest.java
hiroshisuga Feb 11, 2021
46e2301
Update MeetingService.java
hiroshisuga Feb 11, 2021
5dd9269
Create UploadRequest.java
hiroshisuga Feb 11, 2021
2671de0
Update ParamsProcessorUtil.java
hiroshisuga Feb 11, 2021
e6d8218
Update Util.java
hiroshisuga Feb 11, 2021
31db20b
Update IBbbWebApiGWApp.java
hiroshisuga Feb 11, 2021
f653692
Update BbbWebApiGWApp.scala
hiroshisuga Feb 11, 2021
ae04eac
Update ReceivedJsonMsgHdlrActor.scala
hiroshisuga Feb 11, 2021
3c032c7
Update OldMeetingMsgHdlrActor.scala
hiroshisuga Feb 11, 2021
15dc721
Update MsgBuilder.scala
hiroshisuga Feb 11, 2021
1f6099e
Update ReceivedJsonMsgHandlerActor.scala
hiroshisuga Feb 11, 2021
7ed60b2
Create AbstractUploadRecordEvent.scala
hiroshisuga Feb 11, 2021
0db429b
Create FileUploadedRecordEvent.scala
hiroshisuga Feb 11, 2021
cba79ba
Update MeetingActor.scala
hiroshisuga Feb 11, 2021
a86e5f2
Update AnalyticsActor.scala
hiroshisuga Feb 11, 2021
cb2c72c
Update RedisRecorderActor.scala
hiroshisuga Feb 11, 2021
4d8a49f
Create FileUploadedSysMsgHdlr.scala
hiroshisuga Feb 11, 2021
c9601f0
Create UploadApp2x.scala
hiroshisuga Feb 11, 2021
cf1d246
Create UploadRequestReqMsgHdlr.scala
hiroshisuga Feb 11, 2021
c9953d9
Update meetingHasEnded.js
hiroshisuga Feb 11, 2021
9af004a
Create index.js
hiroshisuga Feb 11, 2021
7e96a47
Create index.js
hiroshisuga Feb 11, 2021
9476ec5
Create eventHandlers.js
hiroshisuga Feb 11, 2021
2c329c6
Create publishers.js
hiroshisuga Feb 11, 2021
9d79268
Create helpers.js
hiroshisuga Feb 11, 2021
8ae6384
Create methods.js
hiroshisuga Feb 11, 2021
ac96ec0
Create addNotification.js
hiroshisuga Feb 11, 2021
98aac8f
Create addUploadRequest.js
hiroshisuga Feb 11, 2021
6b5a6ef
Create clearUploadRequest.js
hiroshisuga Feb 11, 2021
a21d438
Create addUploadedFile.js
hiroshisuga Feb 11, 2021
2f5dec1
Create clearUploadedFile.js
hiroshisuga Feb 11, 2021
d7d2f5a
Create fileUploadedEvt.js
hiroshisuga Feb 11, 2021
7403b20
Create uploadRequestResp.js
hiroshisuga Feb 11, 2021
e7e33e6
Create requestUpload.js
hiroshisuga Feb 11, 2021
09a0720
Update component.jsx
hiroshisuga Feb 11, 2021
0410e17
Update component.jsx
hiroshisuga Feb 11, 2021
a5002c1
Update container.jsx
hiroshisuga Feb 11, 2021
9ba17bd
Update component.jsx
hiroshisuga Feb 11, 2021
1633023
Update service.js
hiroshisuga Feb 11, 2021
f674821
Update component.jsx
hiroshisuga Feb 11, 2021
7feeab0
Update component.jsx
hiroshisuga Feb 11, 2021
9e02fd5
Update container.jsx
hiroshisuga Feb 11, 2021
d1aa58b
Update styles.scss
hiroshisuga Feb 11, 2021
6ef1be9
Update component.jsx
hiroshisuga Feb 11, 2021
51ca4ff
Create service.js
hiroshisuga Feb 11, 2021
7e84fcd
Create component.jsx
hiroshisuga Feb 11, 2021
29b14d0
Create container.jsx
hiroshisuga Feb 11, 2021
9a91109
Create service.js
hiroshisuga Feb 11, 2021
a45e423
Create styles.scss
hiroshisuga Feb 11, 2021
2344684
Update settings.yml
hiroshisuga Feb 11, 2021
fe643c2
Update en.json
hiroshisuga Feb 11, 2021
23510c2
Update ja.json
hiroshisuga Feb 11, 2021
1b2a5ac
Update ja.json
hiroshisuga Feb 11, 2021
f5c25ee
Create UploadMsgs.scala
hiroshisuga Feb 11, 2021
35f7165
Update component.jsx
hiroshisuga Feb 11, 2021
331f983
Update main.js
hiroshisuga Feb 11, 2021
86c75a8
Update bbb-web.nginx
hiroshisuga Feb 11, 2021
beecb59
Update bigbluebutton.properties
hiroshisuga Feb 11, 2021
6f2c551
Update resources.xml
hiroshisuga Feb 11, 2021
518a90f
Update UrlMappings.groovy
hiroshisuga Feb 11, 2021
bb12528
Create DownloadController.groovy
hiroshisuga Feb 11, 2021
011cd3b
Create UploadController.groovy
hiroshisuga Feb 11, 2021
e92f0b7
Update turn-stun-servers.xml
hiroshisuga Feb 11, 2021
71ce28d
Update archive.rb
hiroshisuga Feb 11, 2021
85498a0
Update bigbluebutton.yml
hiroshisuga Feb 11, 2021
c5fe44b
Update deploy.sh
hiroshisuga Feb 11, 2021
d62b4b2
Update MeetingService.java
hiroshisuga Feb 11, 2021
2574c10
Update Meeting.java
hiroshisuga Feb 11, 2021
9d4946a
Update service.js
hiroshisuga Feb 11, 2021
04eaf7e
Update component.jsx
hiroshisuga Feb 11, 2021
836682a
Update archive.rb
hiroshisuga Feb 11, 2021
fdeeab4
Update bigbluebutton.yml
hiroshisuga Feb 11, 2021
ed8d838
Update addNotification.js
hiroshisuga Feb 11, 2021
4709d18
Update addUploadRequest.js
hiroshisuga Feb 11, 2021
78080be
Update addUploadedFile.js
hiroshisuga Feb 11, 2021
ca10a0e
Merge pull request #14 from bigbluebutton/develop
hiroshisuga Mar 13, 2021
d92625d
Merge pull request #15 from bigbluebutton/develop
hiroshisuga Mar 18, 2021
5a4cffb
Merge pull request #17 from bigbluebutton/develop
hiroshisuga Mar 27, 2021
c23507c
Merge pull request #19 from bigbluebutton/develop
hiroshisuga May 2, 2021
a16d01c
Update en.json
hiroshisuga May 4, 2021
2d80604
Update ja.json
hiroshisuga May 4, 2021
b33528d
Update component.jsx
hiroshisuga May 4, 2021
8b8e2bc
Merge branch 'genupload_testmerge2.3' into generic-uploader
hiroshisuga May 4, 2021
31ff315
Update en.json
hiroshisuga May 4, 2021
dcd350a
Update ja.json
hiroshisuga May 4, 2021
7b65fb0
Update component.jsx
hiroshisuga May 4, 2021
29e1490
Update ja.json
hiroshisuga May 4, 2021
52078e9
Update context.jsx
hiroshisuga May 4, 2021
cc2fc54
Update addNotification.js
hiroshisuga May 4, 2021
ae9a8dd
Update service.js
hiroshisuga May 5, 2021
2b756ca
Merge branch 'bigbluebutton:develop' into develop210313
hiroshisuga May 29, 2021
6f87c2f
Merge branch 'bigbluebutton:develop' into develop210313
hiroshisuga Jun 8, 2021
a8a804d
Merge pull request #26 from bigbluebutton/v2.3.x-release
hiroshisuga Jun 12, 2021
b74441c
Merge branch 'dev2.3_genupload' into generic-uploader
hiroshisuga Jun 12, 2021
6521615
Update Meeting.java
hiroshisuga Jun 12, 2021
25ed1dd
Update component.jsx
hiroshisuga Jun 12, 2021
7041d28
Merge pull request #38 from bigbluebutton/develop
hiroshisuga Jun 16, 2021
aa3ebe5
Merge branch 'bigbluebutton:develop' into develop
hiroshisuga Jun 18, 2021
a78c059
Merge branch 'bigbluebutton:develop' into develop
hiroshisuga Jun 20, 2021
123555c
Merge pull request #44 from bigbluebutton/v2.4.x-release
hiroshisuga Sep 26, 2021
4275a19
Merge branch 'dev2.4rc1_genupload' into generic-uploader
hiroshisuga Sep 29, 2021
7dd321d
Merge pull request #53 from hiroshisuga/generic-uploader
hiroshisuga Sep 29, 2021
6281981
Update component.jsx
hiroshisuga Sep 29, 2021
15addd3
Update component.jsx
hiroshisuga Sep 29, 2021
c0ee103
Merge pull request #55 from hiroshisuga/generic-uploader
hiroshisuga Sep 30, 2021
92fadce
Update Meeting.java
hiroshisuga Sep 30, 2021
cc4dfa2
Add files via upload
hiroshisuga Sep 30, 2021
4721d6e
Update Meeting.java
hiroshisuga Sep 30, 2021
084b126
Add files via upload
hiroshisuga Sep 30, 2021
a2d8048
Update IBbbWebApiGWApp.java
hiroshisuga Sep 30, 2021
7ea3293
Add files via upload
hiroshisuga Sep 30, 2021
26aeefa
Update MeetingService.java
hiroshisuga Sep 30, 2021
46f8945
Merge pull request #56 from hiroshisuga/generic-uploader
hiroshisuga Sep 30, 2021
efd7c4d
Merge branch 'dev2.4.0_genupload' into origin/v2.4TEST
hiroshisuga Jan 6, 2022
0e9f277
Merge pull request #127 from hiroshisuga/origin/v2.4TEST
hiroshisuga Jan 6, 2022
97cdd00
uploader notification -> false
hiroshisuga Jan 8, 2022
0d15d4f
error is object in axios
hiroshisuga Jan 14, 2022
e111f5d
Update service.js
hiroshisuga Jan 14, 2022
d43de3e
encode japanese filename
hiroshisuga Jan 15, 2022
4e70eb8
camelcase for file player attributes
hiroshisuga Jan 15, 2022
288d406
decode Japanese filename
hiroshisuga Jan 15, 2022
45af744
add a note
hiroshisuga Jan 15, 2022
e777d3b
Update en.json
hiroshisuga Jan 15, 2022
bddf5a5
Update ja.json
hiroshisuga Jan 15, 2022
fb3d17b
to increase upload size ~600Mb?
hiroshisuga Jan 18, 2022
1ba652e
900M
hiroshisuga Jan 18, 2022
8f558a6
up to 500MB
hiroshisuga Jan 18, 2022
7bfe32a
media format
hiroshisuga Jan 18, 2022
60f65f1
presentation 100mb
hiroshisuga Jan 29, 2022
6d519ab
revert the change
hiroshisuga Jan 29, 2022
29a4004
Update en.json
hiroshisuga Jan 30, 2022
b6de5b0
Update ja.json
hiroshisuga Jan 30, 2022
027aab0
Update ja.json
hiroshisuga Jan 30, 2022
18cf8fa
Update run-prod.sh
hiroshisuga Feb 4, 2022
721b1ef
Update ja.json
hiroshisuga Feb 4, 2022
e5f40c6
enable seeking on Chrome
hiroshisuga Feb 4, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package org.bigbluebutton.core.apps.upload

import org.bigbluebutton.common2.msgs._
import org.bigbluebutton.core.bus.MessageBus
import org.bigbluebutton.core.running.LiveMeeting

trait FileUploadedSysMsgHdlr {
this: UploadApp2x =>

def handle(
msg: FileUploadedSysMsg,
liveMeeting: LiveMeeting,
bus: MessageBus
): Unit = {

val meetingId = liveMeeting.props.meetingProp.intId
val userId = msg.header.userId

def broadcastFileUploadedEvtMsg(msg: FileUploadedSysMsg): Unit = {
val uploadId = msg.body.uploadId
val source = msg.body.source
val filename = msg.body.filename

val routing = Routing.addMsgToClientRouting(MessageTypes.DIRECT, meetingId, userId)
val envelope = BbbCoreEnvelope(FileUploadedEvtMsg.NAME, routing)
val header = BbbClientMsgHeader(FileUploadedEvtMsg.NAME, meetingId, userId)
val body = FileUploadedEvtMsgBody(uploadId, source, filename)
val event = FileUploadedEvtMsg(header, body)
val msgEvent = BbbCommonEnvCoreMsg(envelope, event)

bus.outGW.send(msgEvent)
}

broadcastFileUploadedEvtMsg(msg)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package org.bigbluebutton.core.apps.upload

import akka.actor.ActorContext
import akka.event.Logging

class UploadApp2x(implicit val context: ActorContext)
extends UploadRequestReqMsgHdlr
with FileUploadedSysMsgHdlr {

val log = Logging(context.system, getClass)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package org.bigbluebutton.core.apps.upload

import org.bigbluebutton.common2.msgs._
import org.bigbluebutton.core.bus.MessageBus
import org.bigbluebutton.core.running.LiveMeeting
import org.bigbluebutton.core.apps.{ PermissionCheck, RightsManagementTrait }
import org.bigbluebutton.core.util.RandomStringGenerator

trait UploadRequestReqMsgHdlr extends RightsManagementTrait {
this: UploadApp2x =>

def handle(
msg: UploadRequestReqMsg,
liveMeeting: LiveMeeting,
bus: MessageBus
): Unit = {

val meetingId = liveMeeting.props.meetingProp.intId
val userId = msg.header.userId
val source = msg.body.source
val filename = msg.body.filename
val timestamp = msg.body.timestamp

// To system
def broadcastUploadRequestSysMsg(
msg: UploadRequestReqMsg,
token: String
): Unit = {

val routing = collection.immutable.HashMap("sender" -> "bbb-apps-akka")
val envelope = BbbCoreEnvelope(UploadRequestSysMsg.NAME, routing)
val header = BbbCoreHeaderWithMeetingId(UploadRequestSysMsg.NAME, meetingId)
val body = UploadRequestSysMsgBody(source, filename, userId, token)
val event = UploadRequestSysMsg(header, body)
val msgEvent = BbbCommonEnvCoreMsg(envelope, event)

bus.outGW.send(msgEvent)
}

// To client
def broadcastUploadRequestRespMsg(
msg: UploadRequestReqMsg,
success: Boolean = false,
token: String = null
): Unit = {

val routing = Routing.addMsgToClientRouting(MessageTypes.DIRECT, meetingId, userId)
val envelope = BbbCoreEnvelope(UploadRequestRespMsg.NAME, routing)
val header = BbbClientMsgHeader(UploadRequestRespMsg.NAME, meetingId, userId)
val body = UploadRequestRespMsgBody(source, filename, userId, success, timestamp, token)
val event = UploadRequestRespMsg(header, body)
val msgEvent = BbbCommonEnvCoreMsg(envelope, event)

bus.outGW.send(msgEvent)
}

if (permissionFailed(PermissionCheck.GUEST_LEVEL, PermissionCheck.MOD_LEVEL, liveMeeting.users2x, userId)) {
broadcastUploadRequestRespMsg(msg)
} else {
val token = RandomStringGenerator.randomAlphanumericString(32)
broadcastUploadRequestSysMsg(msg, token)
broadcastUploadRequestRespMsg(msg, true, token)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,12 @@ class ReceivedJsonMsgHandlerActor(
case UpdateWebcamsOnlyForModeratorCmdMsg.NAME =>
routeGenericMsg[UpdateWebcamsOnlyForModeratorCmdMsg](envelope, jsonNode)

// Upload
case UploadRequestReqMsg.NAME =>
routeGenericMsg[UploadRequestReqMsg](envelope, jsonNode)
case FileUploadedSysMsg.NAME =>
routeGenericMsg[FileUploadedSysMsg](envelope, jsonNode)

// Lock settings
case LockUserInMeetingCmdMsg.NAME =>
routeGenericMsg[LockUserInMeetingCmdMsg](envelope, jsonNode)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/**
* BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
*
* Copyright (c) 2017 BigBlueButton Inc. and by respective authors (see below).
*
* This program is free software; you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free Software
* Foundation; either version 3.0 of the License, or (at your option) any later
* version.
*
* BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along
* with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
*
*/

package org.bigbluebutton.core.record.events

trait AbstractUploadRecordEvent extends RecordEvent {
setModule("UPLOAD")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/**
* BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
*
* Copyright (c) 2017 BigBlueButton Inc. and by respective authors (see below).
*
* This program is free software; you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free Software
* Foundation; either version 3.0 of the License, or (at your option) any later
* version.
*
* BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along
* with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
*
*/

package org.bigbluebutton.core.record.events

class FileUploadedRecordEvent extends AbstractUploadRecordEvent {
import FileUploadedRecordEvent._

setEvent("FileUploadedEvent")

def setUserId(userId: String) {
eventMap.put(USER_ID, userId)
}

def setUploadId(uploadId: String) {
eventMap.put(UPLOAD_ID, uploadId)
}

def setSource(source: String) {
eventMap.put(SOURCE, source)
}

def setFilename(filename: String) {
eventMap.put(FILENAME, filename)
}
}

object FileUploadedRecordEvent {
protected final val USER_ID = "userId"
protected final val UPLOAD_ID = "uploadId"
protected final val SOURCE = "source"
protected final val FILENAME = "filename"
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import akka.actor.SupervisorStrategy.Resume
import org.bigbluebutton.SystemConfiguration
import org.bigbluebutton.core.apps.groupchats.GroupChatHdlrs
import org.bigbluebutton.core.apps.presentationpod._
import org.bigbluebutton.core.apps.upload.UploadApp2x
import org.bigbluebutton.core.apps.users._
import org.bigbluebutton.core.apps.whiteboard.ClientToServerLatencyTracerMsgHdlr
import org.bigbluebutton.core.domain._
Expand Down Expand Up @@ -138,6 +139,7 @@ class MeetingActor(
val usersApp = new UsersApp(liveMeeting, outGW, eventBus)
val groupChatApp = new GroupChatHdlrs
val presentationPodsApp = new PresentationPodHdlrs
val uploadApp = new UploadApp2x
val pollApp = new PollApp2x
val wbApp = new WhiteboardApp2x

Expand Down Expand Up @@ -527,6 +529,10 @@ class MeetingActor(
case m: UpdateCaptionOwnerPubMsg => captionApp2x.handle(m, liveMeeting, msgBus)
case m: SendCaptionHistoryReqMsg => captionApp2x.handle(m, liveMeeting, msgBus)

// Upload
case m: UploadRequestReqMsg => uploadApp.handle(m, liveMeeting, msgBus)
case m: FileUploadedSysMsg => uploadApp.handle(m, liveMeeting, msgBus)

// Guests
case m: GetGuestsWaitingApprovalReqMsg => handleGetGuestsWaitingApprovalReqMsg(m)
case m: SetGuestPolicyCmdMsg => handleSetGuestPolicyMsg(m)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,11 @@ class AnalyticsActor(val includeChat: Boolean) extends Actor with ActorLogging {
case m: SetGuestLobbyMessageCmdMsg => logMessage(msg)
case m: GuestLobbyMessageChangedEvtMsg => logMessage(msg)

// Upload
case m: UploadRequestReqMsg => logMessage(msg)
case m: UploadRequestRespMsg => logMessage(msg)
case m: FileUploadedEvtMsg => logMessage(msg)

// System
case m: ClientToServerLatencyTracerMsg => traceMessage(msg)
case m: ServerToClientLatencyTracerMsg => traceMessage(msg)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,9 @@ class RedisRecorderActor(
case m: WebcamsOnlyForModeratorChangedEvtMsg => handleWebcamsOnlyForModeratorChangedEvtMsg(m)
case m: MeetingEndingEvtMsg => handleEndAndKickAllSysMsg(m)

// Upload
case m: FileUploadedEvtMsg => handleFileUploadedEvtMsg(m)

// Recording
case m: RecordingChapterBreakSysMsg => handleRecordingChapterBreakSysMsg(m)

Expand Down Expand Up @@ -549,6 +552,16 @@ class RedisRecorderActor(
record(msg.header.meetingId, ev.toMap.asJava)
}

private def handleFileUploadedEvtMsg(msg: FileUploadedEvtMsg): Unit = {
val ev = new FileUploadedRecordEvent()
ev.setUserId(msg.header.userId)
ev.setUploadId(msg.body.uploadId)
ev.setSource(msg.body.source)
ev.setFilename(msg.body.filename)

record(msg.header.meetingId, ev.toMap.asJava)
}

private def handleRecordingChapterBreakSysMsg(msg: RecordingChapterBreakSysMsg): Unit = {
val ev = new RecordChapterBreakRecordEvent()
ev.setMeetingId(msg.header.meetingId)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package org.bigbluebutton.common2.msgs

// client to akka-apps
object UploadRequestReqMsg { val NAME = "UploadRequestReqMsg" }
case class UploadRequestReqMsg(header: BbbClientMsgHeader, body: UploadRequestReqMsgBody) extends StandardMsg
case class UploadRequestReqMsgBody(source: String, filename: String, timestamp: Long)

// akka-apps to client
object UploadRequestRespMsg { val NAME = "UploadRequestRespMsg" }
case class UploadRequestRespMsg(header: BbbClientMsgHeader, body: UploadRequestRespMsgBody) extends StandardMsg
case class UploadRequestRespMsgBody(source: String, filename: String, userId: String, success: Boolean, timestamp: Long, token: String = null)

object FileUploadedEvtMsg { val NAME = "FileUploadedEvtMsg" }
case class FileUploadedEvtMsg(header: BbbClientMsgHeader, body: FileUploadedEvtMsgBody) extends StandardMsg
case class FileUploadedEvtMsgBody(uploadId: String, source: String, filename: String)

// akka-apps to bbb-web
object UploadRequestSysMsg { val NAME = "UploadRequestSysMsg" }
case class UploadRequestSysMsg(header: BbbCoreHeaderWithMeetingId, body: UploadRequestSysMsgBody) extends BbbCoreMsg
case class UploadRequestSysMsgBody(source: String, filename: String, userId: String, token: String)

// bbb-web to akka-apps
object FileUploadedSysMsg { val NAME = "FileUploadedSysMsg" }
case class FileUploadedSysMsg(header: BbbClientMsgHeader, body: FileUploadedSysMsgBody) extends StandardMsg
case class FileUploadedSysMsgBody(uploadId: String, source: String, filename: String, contentType: String)
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
import org.bigbluebutton.api.domain.RegisteredUser;
import org.bigbluebutton.api.domain.User;
import org.bigbluebutton.api.domain.UserSession;
import org.bigbluebutton.api.domain.UploadedFile;
import org.bigbluebutton.api.domain.MeetingLayout;
import org.bigbluebutton.api.messaging.MessageListener;
import org.bigbluebutton.api.messaging.converters.messages.DestroyMeetingMessage;
Expand Down Expand Up @@ -287,6 +288,33 @@ private void kickOffProcessingOfRecording(Meeting m) {
}
}

public Boolean isUploadRequestValid(String meetingId, String source, String filename, String userId, String token) {
Meeting m = getMeeting(meetingId);
if (m != null) {
return m.isUploadRequestValid(source, filename, userId, token);
} else {
return false;
}
}

public Boolean isDownloadRequestValid(String meetingId, String source, String uploadId) {
Meeting m = getMeeting(meetingId);
if (m != null) {
return m.hasUploadedFile(source, uploadId);
} else {
return false;
}
}

public UploadedFile getUploadedFile(String meetingId, String uploadId) {
Meeting m = getMeeting(meetingId);
if (m != null) {
return m.getUploadedFile(uploadId);
} else {
return null;
}
}

public Boolean authzTokenIsValid(String authzToken) { // Note we DO NOT expire the token
return uploadAuthzTokens.containsKey(authzToken);
}
Expand Down Expand Up @@ -624,6 +652,22 @@ public void processRecording(Meeting m) {
}
}

public void fileUploaded(
String uploadId,
String source,
String filename,
String contentType,
String extension,
String userId,
String meetingId
) {
Meeting m = getMeeting(meetingId);
if (m != null) {
m.addUploadedFile(source, filename, contentType, extension, uploadId);
gw.fileUploaded(uploadId, source, filename, contentType, userId, meetingId);
}
}

public void endMeeting(String meetingId) {
handle(new EndMeeting(meetingId));
}
Expand Down Expand Up @@ -737,6 +781,13 @@ private void processGuestStatusChangedEventMsg(GuestStatusChangedEventMsg messag

}

private void processUploadRequest(UploadRequest message) {
Meeting m = getMeeting(message.meetingId);
if (m != null) {
m.addUploadRequest(message.source, message.filename, message.userId, message.token);
}
}

private void processPresentationUploadToken(PresentationUploadToken message) {
uploadAuthzTokens.put(message.authzToken, message);
}
Expand Down Expand Up @@ -1119,6 +1170,8 @@ public void run() {
processRegisterUser((RegisterUser) message);
} else if (message instanceof CreateBreakoutRoom) {
processCreateBreakoutRoom((CreateBreakoutRoom) message);
} else if (message instanceof UploadRequest) {
processUploadRequest((UploadRequest) message);
} else if (message instanceof PresentationUploadToken) {
processPresentationUploadToken((PresentationUploadToken) message);
} else if (message instanceof GuestStatusChangedEventMsg) {
Expand Down
Loading