Working checkbox in backend
This commit is contained in:
parent
f1690247fd
commit
41f71981f4
@ -13,9 +13,10 @@ object BreakoutModel {
|
||||
isDefaultName: Boolean,
|
||||
freeJoin: Boolean,
|
||||
voiceConf: String,
|
||||
assignedUsers: Vector[String]
|
||||
assignedUsers: Vector[String],
|
||||
capture: Boolean,
|
||||
): BreakoutRoom2x = {
|
||||
new BreakoutRoom2x(id, externalId, name, parentId, sequence, shortName, isDefaultName, freeJoin, voiceConf, assignedUsers, Vector(), Vector(), None, false)
|
||||
new BreakoutRoom2x(id, externalId, name, parentId, sequence, shortName, isDefaultName, freeJoin, voiceConf, assignedUsers, Vector(), Vector(), None, false, capture)
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ trait BreakoutRoomCreatedMsgHdlr {
|
||||
(redirectToHtml5JoinURL, redirectJoinURL) <- BreakoutHdlrHelpers.getRedirectUrls(liveMeeting, user, r.externalId, r.sequence.toString())
|
||||
} yield (user -> redirectToHtml5JoinURL)
|
||||
|
||||
new BreakoutRoomInfo(r.name, r.externalId, r.id, r.sequence, r.shortName, r.isDefaultName, r.freeJoin, html5JoinUrls.toMap)
|
||||
new BreakoutRoomInfo(r.name, r.externalId, r.id, r.sequence, r.shortName, r.isDefaultName, r.freeJoin, html5JoinUrls.toMap, r.capture)
|
||||
}
|
||||
|
||||
log.info("Sending breakout rooms list to {} with containing {} room(s)", liveMeeting.props.meetingProp.intId, breakoutRooms.length)
|
||||
@ -79,7 +79,7 @@ trait BreakoutRoomCreatedMsgHdlr {
|
||||
BbbCommonEnvCoreMsg(envelope, event)
|
||||
}
|
||||
|
||||
val breakoutInfo = BreakoutRoomInfo(room.name, room.externalId, room.id, room.sequence, room.shortName, room.isDefaultName, room.freeJoin, Map())
|
||||
val breakoutInfo = BreakoutRoomInfo(room.name, room.externalId, room.id, room.sequence, room.shortName, room.isDefaultName, room.freeJoin, Map(), room.capture)
|
||||
val event = build(liveMeeting.props.meetingProp.intId, breakoutInfo)
|
||||
outGW.send(event)
|
||||
|
||||
|
@ -28,7 +28,7 @@ trait BreakoutRoomsListMsgHdlr {
|
||||
breakoutModel <- state.breakout
|
||||
} yield {
|
||||
val rooms = breakoutModel.rooms.values.toVector map { r =>
|
||||
new BreakoutRoomInfo(r.name, r.externalId, r.id, r.sequence, r.shortName, r.isDefaultName, r.freeJoin, Map())
|
||||
new BreakoutRoomInfo(r.name, r.externalId, r.id, r.sequence, r.shortName, r.isDefaultName, r.freeJoin, Map(), r.capture)
|
||||
}
|
||||
val ready = breakoutModel.hasAllStarted()
|
||||
broadcastEvent(rooms, ready)
|
||||
|
@ -52,7 +52,7 @@ trait CreateBreakoutRoomsCmdMsgHdlr extends RightsManagementTrait {
|
||||
val (internalId, externalId) = BreakoutRoomsUtil.createMeetingIds(liveMeeting.props.meetingProp.intId, i)
|
||||
val voiceConf = BreakoutRoomsUtil.createVoiceConfId(liveMeeting.props.voiceProp.voiceConf, i)
|
||||
|
||||
val breakout = BreakoutModel.create(parentId, internalId, externalId, room.name, room.sequence, room.shortName, room.isDefaultName, room.freeJoin, voiceConf, room.users)
|
||||
val breakout = BreakoutModel.create(parentId, internalId, externalId, room.name, room.sequence, room.shortName, room.isDefaultName, room.freeJoin, voiceConf, room.users, msg.body.capture)
|
||||
rooms = rooms + (breakout.id -> breakout)
|
||||
}
|
||||
|
||||
@ -71,7 +71,7 @@ trait CreateBreakoutRoomsCmdMsgHdlr extends RightsManagementTrait {
|
||||
liveMeeting.props.password.viewerPass,
|
||||
presId, presSlide, msg.body.record,
|
||||
liveMeeting.props.breakoutProps.privateChatEnabled,
|
||||
msg.body.capture,
|
||||
breakout.capture,
|
||||
)
|
||||
|
||||
val event = buildCreateBreakoutRoomSysCmdMsg(liveMeeting.props.meetingProp.intId, roomDetail)
|
||||
|
@ -25,6 +25,11 @@ trait EndAllBreakoutRoomsMsgHdlr extends RightsManagementTrait {
|
||||
} yield {
|
||||
model.rooms.values.foreach { room =>
|
||||
eventBus.publish(BigBlueButtonEvent(room.id, EndBreakoutRoomInternalMsg(props.breakoutProps.parentId, room.id, MeetingEndReason.BREAKOUT_ENDED_BY_MOD)))
|
||||
|
||||
println("=====================================")
|
||||
println("CAPTURE IS: " + room.capture)
|
||||
println("=====================================")
|
||||
|
||||
}
|
||||
|
||||
val notifyEvent = MsgBuilder.buildNotifyAllInMeetingEvtMsg(
|
||||
|
@ -14,10 +14,11 @@ case class BreakoutRoom2x(
|
||||
users: Vector[BreakoutUser],
|
||||
voiceUsers: Vector[BreakoutVoiceUser],
|
||||
startedOn: Option[Long],
|
||||
started: Boolean
|
||||
started: Boolean,
|
||||
capture: Boolean
|
||||
) {
|
||||
|
||||
}
|
||||
|
||||
case class BreakoutUser(id: String, name: String)
|
||||
case class BreakoutVoiceUser(id: String, extId: String, voiceUserId: String)
|
||||
case class BreakoutVoiceUser(id: String, extId: String, voiceUserId: String)
|
||||
|
@ -10,8 +10,8 @@ object BreakoutRooms {
|
||||
def breakoutRoomsdurationInMinutes(status: BreakoutRooms, duration: Int) = status.breakoutRoomsdurationInMinutes = duration
|
||||
|
||||
def newBreakoutRoom(parentRoomId: String, id: String, externalMeetingId: String, name: String, sequence: Integer, freeJoin: Boolean,
|
||||
voiceConfId: String, assignedUsers: Vector[String], breakoutRooms: BreakoutRooms): Option[BreakoutRoomVO] = {
|
||||
val brvo = new BreakoutRoomVO(id, externalMeetingId, name, parentRoomId, sequence, freeJoin, voiceConfId, assignedUsers, Vector())
|
||||
voiceConfId: String, assignedUsers: Vector[String], capture: Boolean, breakoutRooms: BreakoutRooms): Option[BreakoutRoomVO] = {
|
||||
val brvo = new BreakoutRoomVO(id, externalMeetingId, name, parentRoomId, sequence, freeJoin, voiceConfId, assignedUsers, Vector(), capture)
|
||||
breakoutRooms.add(brvo)
|
||||
Some(brvo)
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ case class BreakoutRoomJoinURLEvtMsgBody(parentId: String, breakoutId: String, e
|
||||
object BreakoutRoomsListEvtMsg { val NAME = "BreakoutRoomsListEvtMsg" }
|
||||
case class BreakoutRoomsListEvtMsg(header: BbbClientMsgHeader, body: BreakoutRoomsListEvtMsgBody) extends BbbCoreMsg
|
||||
case class BreakoutRoomsListEvtMsgBody(meetingId: String, rooms: Vector[BreakoutRoomInfo], roomsReady: Boolean)
|
||||
case class BreakoutRoomInfo(name: String, externalId: String, breakoutId: String, sequence: Int, shortName: String, isDefaultName: Boolean, freeJoin: Boolean, html5JoinUrls: Map[String, String])
|
||||
case class BreakoutRoomInfo(name: String, externalId: String, breakoutId: String, sequence: Int, shortName: String, isDefaultName: Boolean, freeJoin: Boolean, html5JoinUrls: Map[String, String], capture: Boolean)
|
||||
|
||||
object BreakoutRoomsListMsg { val NAME = "BreakoutRoomsListMsg" }
|
||||
case class BreakoutRoomsListMsg(header: BbbClientMsgHeader, body: BreakoutRoomsListMsgBody) extends StandardMsg
|
||||
@ -124,5 +124,5 @@ case class BreakoutUserVO(id: String, name: String)
|
||||
|
||||
case class BreakoutRoomVO(id: String, externalId: String, name: String, parentId: String,
|
||||
sequence: Int, freeJoin: Boolean, voiceConf: String,
|
||||
assignedUsers: Vector[String], users: Vector[BreakoutUserVO])
|
||||
assignedUsers: Vector[String], users: Vector[BreakoutUserVO], capture: Boolean)
|
||||
|
||||
|
@ -31,6 +31,7 @@ public class ApiParams {
|
||||
public static final String DIAL_NUMBER = "dialNumber";
|
||||
public static final String DURATION = "duration";
|
||||
public static final String FREE_JOIN = "freeJoin";
|
||||
public static final String CAPTURE = "capture";
|
||||
public static final String FULL_NAME = "fullName";
|
||||
public static final String GUEST_POLICY = "guestPolicy";
|
||||
public static final String MEETING_LAYOUT = "meetingLayout";
|
||||
|
@ -660,6 +660,7 @@ public class MeetingService implements MessageListener {
|
||||
params.put(ApiParams.IS_BREAKOUT, "true");
|
||||
params.put(ApiParams.SEQUENCE, message.sequence.toString());
|
||||
params.put(ApiParams.FREE_JOIN, message.freeJoin.toString());
|
||||
params.put(ApiParams.CAPTURE, message.capture.toString());
|
||||
params.put(ApiParams.ATTENDEE_PW, message.viewerPassword);
|
||||
params.put(ApiParams.MODERATOR_PW, message.moderatorPassword);
|
||||
params.put(ApiParams.DIAL_NUMBER, message.dialNumber);
|
||||
|
@ -103,8 +103,8 @@ public class ParamsProcessorUtil {
|
||||
private String defaultLogoURL;
|
||||
|
||||
private boolean defaultBreakoutRoomsEnabled = true;
|
||||
private boolean defaultBreakoutRoomsCapture = false;
|
||||
private boolean defaultBreakoutRoomsRecord;
|
||||
private boolean defaultBreakoutRoomsCapture = false;
|
||||
private boolean defaultbreakoutRoomsPrivateChatEnabled;
|
||||
|
||||
private boolean defaultLockSettingsDisableCam;
|
||||
@ -263,6 +263,7 @@ public class ParamsProcessorUtil {
|
||||
|
||||
private BreakoutRoomsParams processBreakoutRoomsParams(Map<String, String> params) {
|
||||
Boolean breakoutRoomsRecord = defaultBreakoutRoomsRecord;
|
||||
Boolean breakoutRoomsCapture = defaultBreakoutRoomsCapture;
|
||||
String breakoutRoomsRecordParam = params.get(ApiParams.BREAKOUT_ROOMS_RECORD);
|
||||
if (!StringUtils.isEmpty(breakoutRoomsRecordParam)) {
|
||||
breakoutRoomsRecord = Boolean.parseBoolean(breakoutRoomsRecordParam);
|
||||
@ -274,7 +275,7 @@ public class ParamsProcessorUtil {
|
||||
breakoutRoomsPrivateChatEnabled = Boolean.parseBoolean(breakoutRoomsPrivateChatEnabledParam);
|
||||
}
|
||||
|
||||
return new BreakoutRoomsParams(breakoutRoomsRecord, breakoutRoomsPrivateChatEnabled, defaultBreakoutRoomsCapture);
|
||||
return new BreakoutRoomsParams(breakoutRoomsRecord, breakoutRoomsPrivateChatEnabled, breakoutRoomsCapture);
|
||||
}
|
||||
|
||||
private LockSettingsParams processLockSettingsParams(Map<String, String> params) {
|
||||
@ -729,6 +730,7 @@ public class ParamsProcessorUtil {
|
||||
if (isBreakout) {
|
||||
meeting.setSequence(Integer.parseInt(params.get(ApiParams.SEQUENCE)));
|
||||
meeting.setFreeJoin(Boolean.parseBoolean(params.get(ApiParams.FREE_JOIN)));
|
||||
meeting.setCapture(Boolean.parseBoolean(params.get(ApiParams.CAPTURE)));
|
||||
meeting.setParentMeetingId(parentMeetingId);
|
||||
}
|
||||
|
||||
|
@ -42,7 +42,8 @@ public class Meeting {
|
||||
private String parentMeetingId = "bbb-none"; // Initialize so we don't send null in the json message.
|
||||
private Integer sequence = 0;
|
||||
private Boolean freeJoin = false;
|
||||
private Integer duration = 0;
|
||||
private Boolean capture = false;
|
||||
private Integer duration = 0;
|
||||
private long createdTime = 0;
|
||||
private long startTime = 0;
|
||||
private long endTime = 0;
|
||||
@ -284,6 +285,10 @@ public class Meeting {
|
||||
this.freeJoin = freeJoin;
|
||||
}
|
||||
|
||||
public void setCapture(Boolean capture) {
|
||||
this.capture = capture;
|
||||
}
|
||||
|
||||
public Integer getDuration() {
|
||||
return duration;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user