Skip to content

Commit

Permalink
Reorganiztion with a Routes => Controllers => Services => ModelManage…
Browse files Browse the repository at this point in the history
…rs => DataObject structure

(Interim commit)

[airbug/airbug#89] Airbug. Airbug MVP Part I: Chat Basics
  • Loading branch information
sungchoi committed May 23, 2013
1 parent 59fc520 commit 701a628
Show file tree
Hide file tree
Showing 14 changed files with 267 additions and 72 deletions.
17 changes: 15 additions & 2 deletions projects/airbugserver/js/src/AirBugConfiguration.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,16 +45,17 @@ var path = require('path');
// BugPack
//-------------------------------------------------------------------------------

var BugFlow = bugpack.require('bugflow.BugFlow');
var BugFs = bugpack.require('bugfs.BugFs');
var Class = bugpack.require('Class');
var Obj = bugpack.require('Obj');
var Annotate = bugpack.require('annotate.Annotate');
var BugFlow = bugpack.require('bugflow.BugFlow');
var BugFs = bugpack.require('bugfs.BugFs');
var ArgAnnotation = bugpack.require('bugioc.ArgAnnotation');
var ConfigurationAnnotation = bugpack.require('bugioc.ConfigurationAnnotation');
var IConfiguration = bugpack.require('bugioc.IConfiguration');
var ModuleAnnotation = bugpack.require('bugioc.ModuleAnnotation');
var PropertyAnnotation = bugpack.require('bugioc.PropertyAnnotation');
var RoutesManager = bugpack.require('bugroutes.RoutesManager');

var ApplicationController = bugpack.require('airbugserver.ApplicationController');
var AirBugServer = bugpack.require('airbugserver.AirBugServer');
Expand Down Expand Up @@ -278,6 +279,13 @@ var AirBugConfiguration = Class.extend(Obj, {
return ExpressRoutes;
},

/**
* @return {RoutesManager}
*/
expressRoutesManager: function(app, routes){
return new RoutesManager(app, routes);
},

/**
* @return {ExpressServer}
*/
Expand Down Expand Up @@ -434,6 +442,11 @@ annotate(AirBugConfiguration).with(
property("expressRoutes").ref("expressRoutes"),
property("sessionStore").ref("sessionStore")
]),
module("expressRoutesManager")
.args([
arg("app").ref("expressApp"),
arg("routes").ref("expressRoutes")
])
module("expressRoutes"),
module("expressServer")
.args([
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@

//@Package('airbugserver')

//@Export('ApplicationController')
//@Export('AlphaPagesController')

//@Require('Class')
//@Require('Obj')
//@Require('airbugserver.UsersApi')


//-------------------------------------------------------------------------------
// Common Modules
Expand All @@ -18,39 +18,35 @@ var bugpack = require('bugpack').context();


//-------------------------------------------------------------------------------
// Bugpack Modules
// BugPack
//-------------------------------------------------------------------------------

var Class = bugpack.require('Class');
var Obj = bugpack.require('Obj');
var RoomsApi = bugpack.require('airbugserver.RoomApi');
var UsersApi = bugpack.require('airbugserver.UserApi');


//-------------------------------------------------------------------------------
// Declare Class
//-------------------------------------------------------------------------------

var ApplicationController = Class.extend(Obj, {
var AlphaPagesController = Class.extend(Obj, {

_constructor: function(roomApi, userApi, socketIoManager, socketsMap){
_constructor: function(){

this._super();

this.roomApi = roomApi;

this.socketIoManager = socketIoManager;

this.socketsMap = socketsMap;

this.userApi = usersApi;
},

home: function(req, res){
res.render('alpha', {
title: 'airbug',
production: config.production
});
}
});


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

bugpack.export('airbugserver.ApplicationController', ApplicationController);

bugpack.export('airbugserver.AlphaPagesController', AlphaPagesController);
94 changes: 94 additions & 0 deletions projects/airbugserver/js/src/Controllers/RoomsController.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
//-------------------------------------------------------------------------------
// Annotations
//-------------------------------------------------------------------------------

//@Package('airbugserver')

//@Export('RoomsController')

//@Require('Class')
//@Require('Obj')

//-------------------------------------------------------------------------------
// Common Modules
//-------------------------------------------------------------------------------

var bugpack = require('bugpack').context();


//-------------------------------------------------------------------------------
// Bugpack Modules
//-------------------------------------------------------------------------------

var Class = bugpack.require('Class');
var Obj = bugpack.require('Obj');


//-------------------------------------------------------------------------------
// Declare Class
//-------------------------------------------------------------------------------

var RoomsController = Class.extend(Obj, {

_constructor: function(roomService){

this._super();

this.roomService = roomService;

},


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

// configure: function(){
//
// },


/*
* @param {} params
**/
createRoom: function(params){
if(currentUser){
this.roomService.create(params)
}
},

/*
* @param {} params
**/
joinRoom: function(params){
if(currentUser){
var roomId = params.roomId || params.room.id;
this.roomService.addUserToRoom(currentUser, roomId);
}
},

/*
* @param {} params
**/
leaveRoom: function(params){
if(currentUser){
var roomId = params.roomId || params.room.id;
this.roomService.removeUserFromRoom(currentUser, roomId);
}
},

//-------------------------------------------------------------------------------
// Private Methods
//-------------------------------------------------------------------------------

pre: function(){

}
});


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

bugpack.export('airbugserver.RoomsController', RoomsController);
72 changes: 72 additions & 0 deletions projects/airbugserver/js/src/Controllers/UsersController.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
//-------------------------------------------------------------------------------
// Annotations
//-------------------------------------------------------------------------------

//@Package('airbugserver')

//@Export('UsersController')

//@Require('Class')
//@Require('Obj')

//-------------------------------------------------------------------------------
// Common Modules
//-------------------------------------------------------------------------------

var bugpack = require('bugpack').context();


//-------------------------------------------------------------------------------
// Bugpack Modules
//-------------------------------------------------------------------------------

var Class = bugpack.require('Class');
var Obj = bugpack.require('Obj');


//-------------------------------------------------------------------------------
// Declare Class
//-------------------------------------------------------------------------------

var UsersController = Class.extend(Obj, {

_constructor: function(){

this._super();

},


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

/*
* @param {}
**/
establishUser: function(params){
UserService.establishUser();
},

/*
* @param {}
**/
getCurrentUser: function(params){

},

/*
* @param {}
**/
logoutCurrentUser: function(params){

}

});


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

bugpack.export('airbugserver.UsersController', UsersController);
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@

//@Package('airbugserver')

//@Export('ChatMessageApi')
//@Export('ChatMessageManager')

//@Require('Class')
//@Require('Obj')
//@Require('airbugserver.ChatMessage')


//-------------------------------------------------------------------------------
Expand All @@ -22,15 +21,14 @@ var bugpack = require('bugpack').context();
// Bugpack Modules
//-------------------------------------------------------------------------------

var ChatMessage = bugpack.require('airbugserver.ChatMessage');
var Class = bugpack.require('Class');
var Obj = bugpack.require('Obj');

//-------------------------------------------------------------------------------
// Declare Class
//-------------------------------------------------------------------------------

var ChatMessageApi = Class.extend(Obj, {
var ChatMessageManager = Class.extend(Obj, {

_constructor: function(model){

Expand All @@ -51,4 +49,4 @@ var ChatMessageApi = Class.extend(Obj, {
// Exports
//-------------------------------------------------------------------------------

bugpack.export('airbugserver.ChatMessageApi', ChatMessageApi);
bugpack.export('airbugserver.ChatMessageManager', ChatMessageManager);
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

//@Package('airbugserver')

//@Export('ConversationApi')
//@Export('ConversationManager')

//@Require('Class')
//@Require('Obj')
Expand All @@ -28,7 +28,7 @@ var Obj = bugpack.require('Obj');
// Declare Class
//-------------------------------------------------------------------------------

var ConversationApi = Class.extend(Obj, {
var ConversationManager = Class.extend(Obj, {

_constructor: function(model){

Expand All @@ -44,4 +44,4 @@ var ConversationApi = Class.extend(Obj, {
// Exports
//-------------------------------------------------------------------------------

bugpack.export('airbugserver.ConversationApi', ConversationApi);
bugpack.export('airbugserver.ConversationManager', ConversationManager);
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

//@Package('airbugserver')

//@Export('RoomApi')
//@Export('RoomManager')

//@Require('Class')
//@Require('Obj')
Expand All @@ -23,6 +23,7 @@ var bugpack = require('bugpack').context();

var Class = bugpack.require('Class');
var Obj = bugpack.require('Obj');
var Proxy = bugpack.require('Proxy');


//-------------------------------------------------------------------------------
Expand All @@ -34,7 +35,7 @@ var RoomInterface = {
};

// Implementation of Room interface for mongoose Model
var RoomApi = Class.extend(Obj, {
var RoomManager = Class.extend(Obj, {

_constructor: function(model){

Expand Down Expand Up @@ -75,9 +76,7 @@ var RoomApi = Class.extend(Obj, {
},

findById: function(id, callback){
this.model.findById(id, function(error, room){
callback(error, room);
});
this.model.findById(id, callback);
},

addUser: function(roomId, user, callback){
Expand All @@ -97,4 +96,4 @@ var RoomApi = Class.extend(Obj, {
// Exports
//-------------------------------------------------------------------------------

bugpack.export('airbugserver.RoomApi', RoomApi);
bugpack.export('airbugserver.RoomManager', RoomManager);
Loading

0 comments on commit 701a628

Please sign in to comment.