Skip to content
Snippets Groups Projects
Commit d8a2cb38 authored by João Francisco Siebel's avatar João Francisco Siebel
Browse files

set html5 client as pod presenter. close #6109 and close #5941

parent 1528911a
No related branches found
No related tags found
No related merge requests found
import Users from '/imports/api/users';
import PresentationPods from '/imports/api/presentation-pods';
import changeRole from '/imports/api/users/server/modifiers/changeRole';
import assignPresenter from '../methods/assignPresenter';
export default function handlePresenterAssigned({ body }, meetingId) {
export default function handlePresenterAssigned(credentials, meetingId) {
const USER_CONFIG = Meteor.settings.public.user;
const ROLE_PRESENTER = USER_CONFIG.role_presenter;
const { body } = credentials;
const { presenterId, assignedBy } = body;
changeRole(ROLE_PRESENTER, true, presenterId, meetingId, assignedBy);
......@@ -15,11 +18,32 @@ export default function handlePresenterAssigned({ body }, meetingId) {
presenter: true,
};
const defaultPodSelector = {
podId: 'DEFAULT_PRESENTATION_POD',
};
const prevPresenter = Users.findOne(selector);
// no previous presenters
if (!prevPresenter) {
return true;
const currentDefaultPodPresenter = PresentationPods.findOne(defaultPodSelector);
const { currentPresenterId } = currentDefaultPodPresenter;
const fakeCredentials = {
meetingId,
requesterUserId: assignedBy,
};
if (currentDefaultPodPresenter.currentPresenterId !== '') {
const oldPresenter = Users.findOne({ userId: currentPresenterId });
if (oldPresenter.connectionStatus === 'offline') {
return assignPresenter(fakeCredentials, presenterId);
}
return true;
}
return assignPresenter(fakeCredentials, presenterId);
}
return changeRole(ROLE_PRESENTER, false, prevPresenter.userId, meetingId, assignedBy);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment