bigbluebutton-Github/bigbluebutton-html5/imports/api/breakouts/server/methods/requestJoinURL.js

28 lines
971 B
JavaScript
Raw Normal View History

import { Meteor } from 'meteor/meteor';
import { check } from 'meteor/check';
import RedisPubSub from '/imports/startup/server/redis';
2018-10-24 01:18:09 +08:00
import Breakouts from '/imports/api/breakouts';
export default function requestJoinURL(credentials, { breakoutId }) {
const REDIS_CONFIG = Meteor.settings.private.redis;
const CHANNEL = REDIS_CONFIG.channels.toAkkaApps;
const { meetingId, requesterUserId, requesterToken } = credentials;
check(meetingId, String);
check(requesterUserId, String);
check(requesterToken, String);
2018-10-24 01:18:09 +08:00
const Breakout = Breakouts.findOne({ breakoutId });
const BreakoutUser = Breakout.users.filter(user => user.userId === requesterUserId).shift();
if (BreakoutUser) return BreakoutUser.redirectToHtml5JoinURL;
const eventName = 'RequestBreakoutJoinURLReqMsg';
return RedisPubSub.publishUserMessage(
CHANNEL, eventName, meetingId, requesterUserId,
{
meetingId,
breakoutId,
userId: requesterUserId,
},
);
}