bigbluebutton-Github/bigbluebutton-html5/imports/api/meetings/server/modifiers/meetingHasEnded.js

65 lines
3.4 KiB
JavaScript
Raw Normal View History

import Meetings from '/imports/api/meetings';
2016-10-22 00:27:47 +08:00
import Logger from '/imports/startup/server/logger';
import BannedUsers from '/imports/api/users/server/store/bannedUsers';
2019-10-23 09:26:25 +08:00
import { removeAnnotationsStreamer } from '/imports/api/annotations/server/streamer';
2019-10-25 04:48:03 +08:00
import { removeCursorStreamer } from '/imports/api/cursor/server/streamer';
2019-10-23 09:26:25 +08:00
import clearUsers from '/imports/api/users/server/modifiers/clearUsers';
import clearUsersSettings from '/imports/api/users-settings/server/modifiers/clearUsersSettings';
import clearGroupChat from '/imports/api/group-chat/server/modifiers/clearGroupChat';
import clearGuestUsers from '/imports/api/guest-users/server/modifiers/clearGuestUsers';
import clearBreakouts from '/imports/api/breakouts/server/modifiers/clearBreakouts';
import clearAnnotations from '/imports/api/annotations/server/modifiers/clearAnnotations';
import clearSlides from '/imports/api/slides/server/modifiers/clearSlides';
import clearPolls from '/imports/api/polls/server/modifiers/clearPolls';
import clearCaptions from '/imports/api/captions/server/modifiers/clearCaptions';
import clearPresentationPods from '/imports/api/presentation-pods/server/modifiers/clearPresentationPods';
import clearVoiceUsers from '/imports/api/voice-users/server/modifiers/clearVoiceUsers';
import clearUserInfo from '/imports/api/users-infos/server/modifiers/clearUserInfo';
2020-04-10 01:01:46 +08:00
import clearConnectionStatus from '/imports/api/connection-status/server/modifiers/clearConnectionStatus';
import clearNote from '/imports/api/note/server/modifiers/clearNote';
import clearNetworkInformation from '/imports/api/network-information/server/modifiers/clearNetworkInformation';
import clearMeetingTimeRemaining from '/imports/api/meetings/server/modifiers/clearMeetingTimeRemaining';
import clearLocalSettings from '/imports/api/local-settings/server/modifiers/clearLocalSettings';
import clearRecordMeeting from './clearRecordMeeting';
import clearVoiceCallStates from '/imports/api/voice-call-states/server/modifiers/clearVoiceCallStates';
import clearVideoStreams from '/imports/api/video-streams/server/modifiers/clearVideoStreams';
import clearAuthTokenValidation from '/imports/api/auth-token-validation/server/modifiers/clearAuthTokenValidation';
import clearWhiteboardMultiUser from '/imports/api/whiteboard-multi-user/server/modifiers/clearWhiteboardMultiUser';
import Metrics from '/imports/startup/server/metrics';
2019-04-06 02:10:05 +08:00
export default function meetingHasEnded(meetingId) {
2019-10-23 09:26:25 +08:00
removeAnnotationsStreamer(meetingId);
2019-10-25 04:48:03 +08:00
removeCursorStreamer(meetingId);
2019-10-23 09:26:25 +08:00
2017-10-12 06:17:42 +08:00
return Meetings.remove({ meetingId }, () => {
clearCaptions(meetingId);
clearGroupChat(meetingId);
clearGuestUsers(meetingId);
clearPresentationPods(meetingId);
2017-10-12 06:17:42 +08:00
clearBreakouts(meetingId);
clearPolls(meetingId);
clearAnnotations(meetingId);
clearSlides(meetingId);
clearUsers(meetingId);
clearUsersSettings(meetingId);
2017-10-12 06:17:42 +08:00
clearVoiceUsers(meetingId);
clearUserInfo(meetingId);
2020-04-10 01:01:46 +08:00
clearConnectionStatus(meetingId);
clearNote(meetingId);
clearNetworkInformation(meetingId);
clearLocalSettings(meetingId);
clearMeetingTimeRemaining(meetingId);
clearRecordMeeting(meetingId);
clearVoiceCallStates(meetingId);
clearVideoStreams(meetingId);
clearAuthTokenValidation(meetingId);
clearWhiteboardMultiUser(meetingId);
2020-09-09 00:56:17 +08:00
BannedUsers.delete(meetingId);
Metrics.removeMeeting(meetingId);
2016-10-22 00:27:47 +08:00
Logger.info(`Cleared Meetings with id ${meetingId}`);
2017-10-12 06:17:42 +08:00
});
2017-06-03 03:25:02 +08:00
}