added route for getting connected users

This commit is contained in:
Henry Oswald 2014-07-14 16:16:01 +01:00
parent e6dfef6225
commit 4a71b38721
4 changed files with 10 additions and 5 deletions

View file

@ -4,7 +4,7 @@ logger = require("logger-sharelatex")
module.exports =
getConnectedUsers: (req, res)->
project_id = req.params.project_id
project_id = req.params.Project_id
ConnectedUsersManager.getConnectedUsers project_id, (err, users)->
if err?
logger.err err:err, project_id:project_id, "problem getting connected users"

View file

@ -50,7 +50,8 @@ module.exports =
else
result.connected = true
result.user_id = user_id
if result.cursorData?
result.cursorData = JSON.parse(result.cursorData)
callback err, result
setUserCursorPosition: (project_id, user_id, cursorData, callback)->

View file

@ -37,6 +37,7 @@ PasswordResetRouter = require("./Features/PasswordReset/PasswordResetRouter")
StaticPagesRouter = require("./Features/StaticPages/StaticPagesRouter")
ChatController = require("./Features/Chat/ChatController")
BlogController = require("./Features/Blog/BlogController")
ConnectedUsersController = require("./Features/ConnectedUsers/ConnectedUsersController")
logger = require("logger-sharelatex")
_ = require("underscore")
@ -133,6 +134,8 @@ module.exports = class Router
app.post '/project/:project_id/leave', AuthenticationController.requireLogin(), CollaboratorsController.removeSelfFromProject
app.get '/project/:Project_id/collaborators', SecurityManager.requestCanAccessProject(allow_auth_token: true), CollaboratorsController.getCollaborators
app.get '/project/:Project_id/connected_users', SecurityManager.requestCanAccessProject, ConnectedUsersController.getConnectedUsers
app.get '/Project/:Project_id/download/zip', SecurityManager.requestCanAccessProject, ProjectDownloadsController.downloadProject
app.get '/project/download/zip', SecurityManager.requestCanAccessMultipleProjects, ProjectDownloadsController.downloadMultipleProjects
@ -157,8 +160,8 @@ module.exports = class Router
app.post "/spelling/check", AuthenticationController.requireLogin(), SpellingController.proxyRequestToSpellingApi
app.post "/spelling/learn", AuthenticationController.requireLogin(), SpellingController.proxyRequestToSpellingApi
app.get "/project/:project_id/messages", ChatController.getMessages
app.post "/project/:project_id/messages", ChatController.sendMessage
app.get "/project/:project_id/messages", SecurityManager.requestCanAccessProject, ChatController.getMessages
app.post "/project/:project_id/messages", SecurityManager.requestCanAccessProject, ChatController.sendMessage
#Admin Stuff
app.get '/admin', SecurityManager.requestIsAdmin, AdminController.index

View file

@ -88,7 +88,8 @@ describe "ConnectedUsersManager", ->
describe "_getConnectedUser", ->
it "should get the user returning connected if there is a value", (done)->
@rClient.hgetall.callsArgWith(1, null, {connected_at:new Date(), cursorData:{row:1}})
cursorData = JSON.stringify(cursorData:{row:1})
@rClient.hgetall.callsArgWith(1, null, {connected_at:new Date(), cursorData})
@ConnectedUsersManager._getConnectedUser @project_id, @user_id, (err, result)=>
result.connected.should.equal true
result.user_id.should.equal @user_id