From 30d67897efc11940cb5b6375faaacd895a275470 Mon Sep 17 00:00:00 2001 From: Oswaldo Acauan <oswaldoacauan@gmail.com> Date: Fri, 10 Feb 2017 12:24:14 +0000 Subject: [PATCH] WIP - Refactor users api --- .../imports/api/users/server/methods.js | 4 ++-- ...enOnlyRequestToggle.js => listenOnlyToggle.js} | 2 +- .../api/users/server/methods/userLeaving.js | 4 ++-- .../imports/api/users/server/publishers.js | 15 +++------------ .../imports/startup/server/userPermissions.js | 2 ++ 5 files changed, 10 insertions(+), 17 deletions(-) rename bigbluebutton-html5/imports/api/users/server/methods/{listenOnlyRequestToggle.js => listenOnlyToggle.js} (96%) diff --git a/bigbluebutton-html5/imports/api/users/server/methods.js b/bigbluebutton-html5/imports/api/users/server/methods.js index cf81ba320c..450d0ecc8a 100644 --- a/bigbluebutton-html5/imports/api/users/server/methods.js +++ b/bigbluebutton-html5/imports/api/users/server/methods.js @@ -1,10 +1,10 @@ import { Meteor } from 'meteor/meteor'; import kickUser from './methods/kickUser'; -import listenOnlyRequestToggle from './methods/listenOnlyRequestToggle'; +import listenOnlyToggle from './methods/listenOnlyToggle'; import userLogout from './methods/userLogout'; Meteor.methods({ kickUser, - listenOnlyRequestToggle, + listenOnlyToggle, userLogout, }); diff --git a/bigbluebutton-html5/imports/api/users/server/methods/listenOnlyRequestToggle.js b/bigbluebutton-html5/imports/api/users/server/methods/listenOnlyToggle.js similarity index 96% rename from bigbluebutton-html5/imports/api/users/server/methods/listenOnlyRequestToggle.js rename to bigbluebutton-html5/imports/api/users/server/methods/listenOnlyToggle.js index bf5a4e0f87..6bbc5237a1 100755 --- a/bigbluebutton-html5/imports/api/users/server/methods/listenOnlyRequestToggle.js +++ b/bigbluebutton-html5/imports/api/users/server/methods/listenOnlyToggle.js @@ -6,7 +6,7 @@ import { isAllowedTo } from '/imports/startup/server/userPermissions'; import Meetings from '/imports/api/meetings'; import Users from '/imports/api/users'; -export default function listenOnlyRequestToggle(credentials, isJoining) { +export default function listenOnlyToggle(credentials, isJoining = true) { const REDIS_CONFIG = Meteor.settings.redis; const CHANNEL = REDIS_CONFIG.channels.toBBBApps.meeting; diff --git a/bigbluebutton-html5/imports/api/users/server/methods/userLeaving.js b/bigbluebutton-html5/imports/api/users/server/methods/userLeaving.js index bd5bb3ecb0..0480e91dee 100644 --- a/bigbluebutton-html5/imports/api/users/server/methods/userLeaving.js +++ b/bigbluebutton-html5/imports/api/users/server/methods/userLeaving.js @@ -6,7 +6,7 @@ import { isAllowedTo } from '/imports/startup/server/userPermissions'; import Users from '/imports/api/users'; import setConnectionStatus from '../modifiers/setConnectionStatus'; -import listenOnlyRequestToggle from './listenOnlyRequestToggle'; +import listenOnlyToggle from './listenOnlyToggle'; export default function userLeaving(credentials, userId) { const REDIS_CONFIG = Meteor.settings.redis; @@ -33,7 +33,7 @@ export default function userLeaving(credentials, userId) { setConnectionStatus(meetingId, requesterUserId, 'offline'); if (User.user.listenOnly) { - listenOnlyRequestToggle(credentials, false); + listenOnlyToggle(credentials, false); } let payload = { diff --git a/bigbluebutton-html5/imports/api/users/server/publishers.js b/bigbluebutton-html5/imports/api/users/server/publishers.js index ee361f3c50..2dea57f474 100644 --- a/bigbluebutton-html5/imports/api/users/server/publishers.js +++ b/bigbluebutton-html5/imports/api/users/server/publishers.js @@ -14,20 +14,11 @@ Meteor.publish('users', function (credentials) { check(requesterUserId, String); check(requesterToken, String); - let initializing = true; - validateAuthToken(credentials); - // const User = Users.find({ meetingId, userId: requesterUserId }).observeChanges({ - // changed: (id, fields) => { - // console.log(fields); - // }, - // }); - - if (!isAllowedTo('subscribeUsers', credentials)) { - console.error('lul'); - this.error(new Meteor.Error(402, "The user was not authorized to subscribe for 'Users'")); - } + // if (!isAllowedTo('subscribeUsers', credentials)) { + // this.error(new Meteor.Error(402, "The user was not authorized to subscribe for 'Users'")); + // } this.onStop(() => { userLeaving(credentials, requesterUserId); diff --git a/bigbluebutton-html5/imports/startup/server/userPermissions.js b/bigbluebutton-html5/imports/startup/server/userPermissions.js index 5011b0d80a..1e32aa613c 100755 --- a/bigbluebutton-html5/imports/startup/server/userPermissions.js +++ b/bigbluebutton-html5/imports/startup/server/userPermissions.js @@ -127,6 +127,8 @@ export function isAllowedTo(action, credentials) { userId, }); + console.log(user); + const allowedToInitiateRequest = null != user && authToken === user.authToken && -- GitLab