Skip to content

Commit

Permalink
changes airbugserver.SocketManager to airbugserver.SocketIoManager
Browse files Browse the repository at this point in the history
clean up

[airbug/airbug#89] Airbug. Airbug MVP Part I: Chat Basics
  • Loading branch information
sungchoi committed May 21, 2013
1 parent 383f229 commit 0e6ac2f
Show file tree
Hide file tree
Showing 7 changed files with 96 additions and 78 deletions.
40 changes: 28 additions & 12 deletions projects/airbugserver/js/src/AirBugConfiguration.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
//@Require('airbugserver.ExpressApp')
//@Require('airbugserver.ExpressServer')
//@Require('airbugserver.ExpressRoutes')
//@Require('airbugserver.SocketManager')
//@Require('airbugserver.SocketIoManager')
//@Require('airbugserver.SocketRoutes')
//@Require('airbugserver.SocketsMap')
//@Require('airbugserver.ChatMessagesApi')
Expand Down Expand Up @@ -59,7 +59,7 @@ var AirBugServer = bugpack.require('airbugserver.AirBugServer');
var ExpressApp = bugpack.require('airbugserver.ExpressApp');
var ExpressServer = bugpack.require('airbugserver.ExpressServer');
var ExpressRoutes = bugpack.require('airbugserver.ExpressRoutes');
var SocketManager = bugpack.require('airbugserver.SocketManager');
var SocketIoManager = bugpack.require('airbugserver.SocketIoManager');
var SocketRoutes = bugpack.require('airbugserver.SocketRoutes');
var SocketsMap = bugpack.require('airbugserver.SocketsMap');

Expand Down Expand Up @@ -120,7 +120,23 @@ var AirBugConfiguration = Class.extend(Obj, {
/**
* @type {string}
*/
this._configFilePath = path.resolve(__dirname, '../config.json');;
this._configFilePath = path.resolve(__dirname, '../config.json');

/**
* @type {ExpressApp}
*/
this._expressApp = null;

/**
* @type {ExpressServer}
*/
this._expressServer = null;

/**
* @type {SocketIoManager}
*/
this._socketIoManager = null;

},


Expand Down Expand Up @@ -156,11 +172,11 @@ var AirBugConfiguration = Class.extend(Obj, {
});
}),
$task(function(flow){
console.log("Initializing socketManager");
console.log("Initializing socketIoManager");

_this._socketManager.initialize(function(error){
_this._socketIoManager.initialize(function(error){
if(!error){
console.log("socketManager initialized");
console.log("socketIoManager initialized");
}
flow.complete(error);
});
Expand Down Expand Up @@ -259,11 +275,11 @@ var AirBugConfiguration = Class.extend(Obj, {
},

/**
* @return {SocketManager}
* @return {SocketIoManager}
*/
socketManager: function() {
this._socketManager = new SocketManager();
return this._socketManager;
socketIoManager: function() {
this._socketIoManager = new SocketIoManager();
return this._socketIoManager;
},

/**
Expand Down Expand Up @@ -342,7 +358,7 @@ annotate(AirBugConfiguration).with(
property("config").ref("config"),
property("expressServer").ref("expressServer"),
property("mongoose").ref("mongoose"),
property("socketManager").ref("socketManager")
property("socketIoManager").ref("socketIoManager")
]),
module("mongoose"),

Expand Down Expand Up @@ -372,7 +388,7 @@ annotate(AirBugConfiguration).with(
//-------------------------------------------------------------------------------
// Sockets
//-------------------------------------------------------------------------------
module("socketManager")
module("socketIoManager")
.properties([
property("expressServer").ref("expressServer"),
property("socketsMap").ref("socketsMap")
Expand Down
6 changes: 6 additions & 0 deletions projects/airbugserver/js/src/Express/ExpressApp.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
//@Require('Class')
//@Require('Obj')
//@Require('Map')
//@Require('bugflow.BugFlow')
//@Require('bugfs.BugFs')
//@Require('airbugserver.SocketManager')

Expand Down Expand Up @@ -40,6 +41,11 @@ var SocketManager = bugpack.require('airbugserver.SocketManager');

//var ClientJSServer = bugpack.require('clientjs.ClientJSServer');


//-------------------------------------------------------------------------------
// Simplify References
//-------------------------------------------------------------------------------

var $series = BugFlow.$series;
var $task = BugFlow.$task;

Expand Down
16 changes: 8 additions & 8 deletions projects/airbugserver/js/src/SocketAPIs/ChatMessagesApi.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,17 @@ var Obj = bugpack.require('Obj');

var ChatMessagesApi = Class.extend(Obj, {

create: function(message){
var newChatMessage = ChatMessage.create(message, function(){});
RoomApi.sendMessage(newChatMessage);
},
_constructor: function(){

this._super();

this.model = null;

update: function(){

},

destroy: function(){

create: function(message){
var newChatMessage = ChatMessage.create(message, function(){});
RoomApi.sendMessage(newChatMessage);
}
});

Expand Down
10 changes: 2 additions & 8 deletions projects/airbugserver/js/src/SocketAPIs/ConversationsApi.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,10 @@ var Obj = bugpack.require('Obj');

var ConversationsApi = Class.extend(Obj, {

create: function(){
_constructor: function(){

},
this._super();

update: function(){

},

destroy: function(){

}
});

Expand Down
21 changes: 15 additions & 6 deletions projects/airbugserver/js/src/SocketAPIs/RoomsApi.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,20 +36,29 @@ var RoomsApi = Class.extend(Obj, {

this._super();


//-------------------------------------------------------------------------------
// Dependencies
//-------------------------------------------------------------------------------

/**
* @type {SocketsMap}
*/
this.socketsMap = null;
},


//-------------------------------------------------------------------------------
// Methods
//-------------------------------------------------------------------------------

/*
* @param {Room} room
**/
create: function(room){
var room = Room.create(room);
},

update: function(){

},

addUserToRoom: function(){

},
Expand All @@ -65,8 +74,8 @@ var RoomsApi = Class.extend(Obj, {
var room = Room.findById();
var roomMembers = room.membersList;
roomMembers.forEach(function(roomMember){
var userId = roomMember.userId;
sockets = socketsMap.findSocketsByUserId(userId);
var userId = roomMember.userId; //BUGBUG
sockets = socketsMap.findSocketsByUser(user); //BUGBUG
sockets.forEach(function(socket){
socket.emit(eventName, data);
});
Expand Down
28 changes: 15 additions & 13 deletions projects/airbugserver/js/src/SocketAPIs/UsersApi.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ var UsersApi = Class.extend(Obj, {
_constructor: function(){

this._super();
// this.model = User;
// this.socketManager = SocketManager;

},

Expand All @@ -56,7 +58,7 @@ var UsersApi = Class.extend(Obj, {
}
};

// UsersApi.establishUser(userObj, callback);
// UsersApi.establishUser(userObj, callback);
// create or update
// set as currentUser
var query = {email: userObj.email};
Expand All @@ -66,18 +68,18 @@ var UsersApi = Class.extend(Obj, {
upsert: true
};

User.findOneAndUpdate(query, update, options, callback);
User.findByEmail(userObj.email, function(error, user){
if(error){
console.log(error);
} else {
if(!user){
user = new User(userObj);
user.save();
return user;
}
}
});
User.findOneAndUpdate(query, update, options, callback); //cannot use pre post hooks with this method
// User.findByEmail(userObj.email, function(error, user){
// if(error){
// console.log(error);
// } else {
// if(!user){
// user = new User(userObj);
// user.save();
// return user;
// }
// }
// });

}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

//@Package('airbugserver')

//@Export('SocketManager')
//@Export('SocketIoManager')

//@Require('Class')
//@Require('Map')
Expand Down Expand Up @@ -37,7 +37,7 @@ var UsersApi = bugpack.require('airbugserver.UsersApi');
// Declare Class
//-------------------------------------------------------------------------------

var SocketManager = Class.extend(Obj, {
var SocketIoManager = Class.extend(Obj, {

_constructor: function(){

Expand Down Expand Up @@ -69,12 +69,22 @@ var SocketManager = Class.extend(Obj, {
return this;
},

enableSockets: function(cookieParser, sessionStore, sessionKey){
var server = this.server;
var socketIoManager = this.socketIoManager;
var sessionToUserMap = this.sessionToUserMap;
var sessionToSocketsMap = this.socketsMap;
var alphaSocketManager = socketIoManager.of('/alpha');
enableSockets: function(cookieParser, sessionStore, sessionKey, callback){
var callback = callback || function(){};
var socketIoManager = this.socketIoManager;
var sessionToUserMap = this.sessionToUserMap;
var socketsMap = this.socketsMap;
var alphaSocketManager = socketIoManager.of('/alpha');

socketIoManager.set('transports', [
'websocket',
'flashsocket',
'htmlfile',
'xhr-polling',
'jsonp-polling'
]);
socketIoManager.set('match origin protocol', true); //NOTE: Only necessary for use with wss, WebSocket Secure protocol
socketIoManager.set('resource', '/socket-api'); //NOTE: forward slash is required here unlike client setting

alphaSocketManager.manager.set('authorization', function(data, callback){
cookieParser(data, {}, function(error) {
Expand Down Expand Up @@ -104,6 +114,9 @@ var SocketManager = Class.extend(Obj, {
GlobalSocketRoutes.enableAll(null, socket);

});

console.log("socketIoManager:", socketIoManager);
console.log("alphaSocketManager:", alphaSocketManager);
},

addEstablishedUserListeners: function(socket){
Expand All @@ -112,30 +125,8 @@ var SocketManager = Class.extend(Obj, {
});


// createRoom: function(){
//
// },
//
// joinRoom:function(){
//
// },
//
// notifyRoom: function(roomId, eventObj){
// var room = Rooms.get(roomId);
// var sessions = room.sessions;
// sessions.forEach(function(session){
// var socket = SessionToSocketMap.get(session);
// socket.emit(eventObj.name, eventObj.data);
// })
// },
//
// notifyUser: function(userId, eventObj){
// var user = Users.get(userId);
//
// },

//-------------------------------------------------------------------------------
// Exports
//-------------------------------------------------------------------------------

bugpack.export('airbugserver.SocketManager', SocketManager);
bugpack.export('airbugserver.SocketIoManager', SocketIoManager);

0 comments on commit 0e6ac2f

Please sign in to comment.