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