From f7f40a1a8b02613ba86b12647354c611d7ba6b1a Mon Sep 17 00:00:00 2001 From: Sung Choi Date: Sun, 26 May 2013 20:30:56 +0900 Subject: [PATCH] Continuing to reorganize and flush out MVP Removes Routes files and merges them into controllers (interim commit) [airbug/airbug#89] Airbug. Airbug MVP Part I: Chat Basics --- .../js/src/AirBugConfiguration.js | 396 +++++++++++++++--- .../src/Controllers/AlphaPagesController.js | 20 +- .../js/src/Controllers/RoomsController.js | 89 ++-- .../js/src/Controllers/UsersController.js | 62 ++- .../js/src/Managers/ChatMessageManager.js | 21 +- .../js/src/Managers/ConversationManager.js | 14 +- .../js/src/Managers/RoomManager.js | 153 ++++++- .../js/src/Managers/RoomMemberManager.js | 107 +++++ .../js/src/Managers/UserManager.js | 54 ++- .../src/Routes/ExpressRoutes/ExpressRoutes.js | 45 -- .../SocketRoutes/EstablishedUserRoutes.js | 49 --- .../Routes/SocketRoutes/GlobalSocketRoutes.js | 57 --- .../js/src/Schemas/DialogueSchema.js | 1 - .../js/src/Services/RoomService.js | 33 +- .../js/src/Services/UserService.js | 24 +- .../js/src/Sockets/SocketIoManager.js | 4 + .../ChatMessageManagerTest.js} | 10 +- .../ConversationManagerTest.js} | 10 +- .../RoomManagerTest.js} | 10 +- .../UserManagerTest.js} | 10 +- .../airbugserver/js/test/Models/RoomTest.js | 36 -- .../airbugserver/js/test/Models/UserTest.js | 36 -- .../js/test/Services/RoomServiceTest.js | 0 .../js/test/Services/UserServiceTest.js | 0 .../js/test/SocketAPIs/ChatMessagesApiTest.js | 36 -- .../test/SocketAPIs/ConversationsApiTest.js | 36 -- .../js/test/SocketAPIs/RoomsApiTest.js | 36 -- .../js/test/SocketAPIs/UsersApiTest.js | 36 -- 28 files changed, 816 insertions(+), 569 deletions(-) create mode 100644 projects/airbugserver/js/src/Managers/RoomMemberManager.js delete mode 100644 projects/airbugserver/js/src/Routes/ExpressRoutes/ExpressRoutes.js delete mode 100644 projects/airbugserver/js/src/Routes/SocketRoutes/EstablishedUserRoutes.js delete mode 100644 projects/airbugserver/js/src/Routes/SocketRoutes/GlobalSocketRoutes.js rename projects/airbugserver/js/test/{Models/RoomMemberTest.js => Managers/ChatMessageManagerTest.js} (80%) rename projects/airbugserver/js/test/{Models/DialogueTest.js => Managers/ConversationManagerTest.js} (80%) rename projects/airbugserver/js/test/{Models/ConversationTest.js => Managers/RoomManagerTest.js} (80%) rename projects/airbugserver/js/test/{Models/ChatMessageTest.js => Managers/UserManagerTest.js} (80%) delete mode 100644 projects/airbugserver/js/test/Models/RoomTest.js delete mode 100644 projects/airbugserver/js/test/Models/UserTest.js create mode 100644 projects/airbugserver/js/test/Services/RoomServiceTest.js create mode 100644 projects/airbugserver/js/test/Services/UserServiceTest.js delete mode 100644 projects/airbugserver/js/test/SocketAPIs/ChatMessagesApiTest.js delete mode 100644 projects/airbugserver/js/test/SocketAPIs/ConversationsApiTest.js delete mode 100644 projects/airbugserver/js/test/SocketAPIs/RoomsApiTest.js delete mode 100644 projects/airbugserver/js/test/SocketAPIs/UsersApiTest.js diff --git a/projects/airbugserver/js/src/AirBugConfiguration.js b/projects/airbugserver/js/src/AirBugConfiguration.js index 552504b..016982d 100644 --- a/projects/airbugserver/js/src/AirBugConfiguration.js +++ b/projects/airbugserver/js/src/AirBugConfiguration.js @@ -19,17 +19,39 @@ //@Require('bugioc.PropertyAnnotation') //@Require('airbugserver.AirBugServer') -//@Require('airbugserver.ApplicationController') //@Require('airbugserver.ExpressApp') //@Require('airbugserver.ExpressServer') //@Require('airbugserver.ExpressRoutes') //@Require('airbugserver.SocketIoManager') //@Require('airbugserver.SocketRoutes') //@Require('airbugserver.SocketsMap') -//@Require('airbugserver.ChatMessageApi') -//@Require('airbugserver.ConversationApi') -//@Require('airbugserver.RoomApi') -//@Require('airbugserver.UserApi') + +//@Require('airbugserver.AlphaPagesController') +//@Require('airbugserver.RoomsController') +//@Require('airbugserver.UsersController') + +//@Require('airbugserver.RoomService') +//@Require('airbugserver.UserService') + +//@Require('airbugserver.chatMessageManager') +//@Require('airbugserver.ConversationManager') +//@Require('airbugserver.RoomManager') +//@Require('airbugserver.RoomMemberManager') +//@Require('airbugserver.UserManager') + +//@Require('airbugserver.ChatMessage') +//@Require('airbugserver.Conversation') +//@Require('airbugserver.Dialogue') +//@Require('airbugserver.RoomMember') +//@Require('airbugserver.Room') +//@Require('airbugserver.User') + +//@Require('airbugserver.ChatMessageSchema') +//@Require('airbugserver.ConversationSchema') +//@Require('airbugserver.DialogueSchema') +//@Require('airbugserver.RoomMemberSchema') +//@Require('airbugserver.RoomSchema') +//@Require('airbugserver.UserSchema') //------------------------------------------------------------------------------- // Common Modules @@ -57,7 +79,6 @@ 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'); var ExpressApp = bugpack.require('airbugserver.ExpressApp'); var ExpressServer = bugpack.require('airbugserver.ExpressServer'); @@ -68,16 +89,33 @@ var SocketIoServerConfig = bugpack.require('airbugserver.SocketIoServerConfig var SocketRoutes = bugpack.require('airbugserver.SocketRoutes'); var SocketsMap = bugpack.require('airbugserver.SocketsMap'); -var ChatMessageApi = bugpack.require('airbugserver.ChatMessageApi'); -var ConversationApi = bugpack.require('airbugserver.ConversationApi'); -var RoomApi = bugpack.require('airbugserver.RoomApi'); -var UserApi = bugpack.require('airbugserver.UserApi'); +var AlphaPagesController = bugpack.require('airbugserver.AlphaPagesController'); +var RoomsController = bugpack.require('airbugserver.RoomsController'); +var UsersController = bugpack.require('airbugserver.UsersController'); + +var RoomService = bugpack.require('airbugserver.RoomService'); +var UserService = bugpack.require('airbugserver.UserService'); + +var ChatMessageManager = bugpack.require('airbugserver.ChatMessageManager'); +var ConversationManager = bugpack.require('airbugserver.ConversationManager'); +var RoomManager = bugpack.require('airbugserver.RoomManager'); +var RoomMemberManager = bugpack.require('airbugserver.RoomMemberManager'); +var UserManager = bugpack.require('airbugserver.UserManager'); var ChatMessage = bugpack.require('airbugserver.ChatMessage'); var Conversation = bugpack.require('airbugserver.Conversation'); +var Dialogue = bugpack.require('airbugserver.Dialogue'); var Room = bugpack.require('airbugserver.Room'); +var RoomMember = bugpack.require('airbugserver.RoomMember'); var User = bugpack.require('airbugserver.User'); +var ChatMessageSchema = bugpack.require('airbugserver.ChatMessageSchema'); +var ConversationSchema = bugpack.require('airbugserver.ConversationSchema'); +var DialogueSchema = bugpack.require('airbugserver.DialogueSchema'); +var RoomMemberSchema = bugpack.require('airbugserver.RoomMemberSchema'); +var RoomSchema = bugpack.require('airbugserver.RoomSchema'); +var UserSchema = bugpack.require('airbugserver.UserSchema'); + //------------------------------------------------------------------------------- // Simplify References //------------------------------------------------------------------------------- @@ -88,6 +126,7 @@ var configuration = ConfigurationAnnotation.configuration; var module = ModuleAnnotation.module; var property = PropertyAnnotation.property; +var $parallel = BugFlow.$parallel; var $series = BugFlow.$series; var $task = BugFlow.$task; @@ -115,7 +154,13 @@ var AirBugConfiguration = Class.extend(Obj, { * @private * @type {AirBugServer} */ - this._airBugServer = null; + this._airBugServer = null; + + /** + * @private + * @type {SocketIoManager} + */ + this._alphaSocketIoManager = null; /** * @private @@ -124,27 +169,37 @@ var AirBugConfiguration = Class.extend(Obj, { * mongoDbIp: string * }} */ - this._config = null; + this._config = null; /** * @type {string} */ - this._configFilePath = path.resolve(__dirname, '../config.json'); + this._configFilePath = path.resolve(__dirname, '../config.json'); /** * @type {ExpressApp} */ - this._expressApp = null; + this._expressApp = null; /** * @type {ExpressServer} */ - this._expressServer = null; + this._expressServer = null; + + /** + * @type {RoomsController} + */ + this._roomsController = null; /** * @type {SocketIoManager} */ - this._socketIoManager = null; + this._socketIoManager = null; + + /** + * @type {UsersController} + */ + this._usersController = null; }, @@ -160,6 +215,69 @@ var AirBugConfiguration = Class.extend(Obj, { var _this = this; console.log("Initializing AirBugConfiguration"); $series([ + //------------------------------------------------------------------------------- + // Model Managers + //------------------------------------------------------------------------------- + $parallel([ + $task(function(flow){ + _this._chatMessageManager.configure(function(error){ + if(!error) console.log("chatMessageManager configured"); + flow.complete(error); + }); + }), + $task(function(error){ + _this._conversationManager.configure(function(error){ + if(!error) console.log("conversationManager configured") + flow.complete(error); + }); + }), + $task(function(flow){ + _this._roomManager.configure(function(error){ + if(!error) console.log("roomManager configured"); + flow.complete(error); + }); + }), + $task(function(flow){ + _this._roomMemberManager.configure(function(error){ + if(!error) console.log("roomMemberManager configured"); + flow.complete(error); + }); + }), + $task(function(flow){ + _this._userManager.configure(function(error){ + if(!error) console.log("userManager configured"); + flow.complete(error); + }); + }) + ]), + //------------------------------------------------------------------------------- + // Services + //------------------------------------------------------------------------------- + + //------------------------------------------------------------------------------- + // Controllers + //------------------------------------------------------------------------------- + $parallel([ + $task(function(flow){ + _this._roomsController.configure(function(error){ + if(!error){ + console.log("roomsController configured"); + } + flow.complete(error); + }) + }), + $task(function(flow){ + _this._usersController.configure(function(error){ + if(!error){ + console.log("usersController configured"); + } + flow.complete(error); + }) + }) + ]), + //------------------------------------------------------------------------------- + // Apps and Servers + //------------------------------------------------------------------------------- $task(function(flow){ console.log("Initializing expressApp"); @@ -199,7 +317,7 @@ var AirBugConfiguration = Class.extend(Obj, { } flow.complete(error); }); - }), + }) ]).execute(function(error){ if(!error){ console.log("AirBugConfiguration successfully initialized.") @@ -209,15 +327,29 @@ var AirBugConfiguration = Class.extend(Obj, { }); }, - alphaSocketIoManager: function(socketIoServer, socketsMap){ - return new SocketIoManager(socketIoServer, '/alpha', socketsMap); + /** + * @param {RoutesManager} expressRoutesManager + * @return {AlphaPagesController} + */ + alphaPagesController: function(expressRoutesManager){ + return new AlphaPagesController(expressRoutesManager); + }, + + /** + * @return {} + */ + alphaSocket: function(){ + return this._alphaSocketIoManager.getIoManager(); }, /** - * @return {ApplicationController} + * @param {} + * @param {} + * @return {SocketIoManager} */ - applicationController: function(roomApi, userApi, socketIoManager, socketsMap){ - return new ApplicationController(roomApi, userApi, socketIoManager, socketsMap); + alphaSocketIoManager: function(socketIoServer, socketsMap){ + this._alphaSocketIoManager = new SocketIoManager(socketIoServer, '/alpha', socketsMap); + return this._alphaSocketIoManager; }, /** @@ -236,10 +368,20 @@ var AirBugConfiguration = Class.extend(Obj, { }, /** - * @return {ChatMessageApi} + * @param {mongoose.Model} model + * @param {mongoose.Schema} schema + * @return {ChatMessageManager} + */ + chatMessageManager: function(model, schema){ + this._chatMessageManager = new ChatMessageManager(model, schema); + return this._chatMessageManager; + }, + + /** + * @return {ChatMessageSchema} */ - chatMessageApi: function(model){ - return new ChatMessageApi(model); + chatMessageSchema: function(){ + return ChatMessageSchema; }, /** @@ -258,28 +400,48 @@ var AirBugConfiguration = Class.extend(Obj, { }, /** - * @return {ConversationApi} + * @param {mongoose.Model} model + * @param {mongoose.Schema} schema + * @return {ConversationManager} */ - conversationApi: function(model){ - return new ConversationApi(model); + conversationManager: function(model, schema){ + this._conversationManager = new ConversationManager(model, schema); + return this._conversationManager; }, /** - * @return {ExpressServer} + * @return {ConversationSchema} */ - expressApp: function(config) { - this._expressApp = new ExpressApp(config); - return this._expressApp; + conversationSchema: function(){ + return ConversationSchema; }, /** - * @return {ExpressRoutes} + * @return {Dialogue} */ - expressRoutes: function() { - return ExpressRoutes; + dialogue: function(){ + return Dialogue; + }, + + /** + * @return {DialogueSchema} + */ + dialogueSchema: function(){ + return DialogueSchema; + }, + + /** + * @param {} + * @return {ExpressServer} + */ + expressApp: function(config) { + this._expressApp = new ExpressApp(config); + return this._expressApp; }, /** + * @param {} + * @param {} * @return {RoutesManager} */ expressRoutesManager: function(app, routes){ @@ -287,6 +449,7 @@ var AirBugConfiguration = Class.extend(Obj, { }, /** + * @param {ExpressApp} expressApp * @return {ExpressServer} */ expressServer: function(expressApp) { @@ -309,10 +472,54 @@ var AirBugConfiguration = Class.extend(Obj, { }, /** - * @return {RoomApi} + * @param {mongoose.Model} model + * @param {mongoose.Schema} schema + * @return {RoomManager} */ - roomApi: function(model){ - return new RoomApi(model); + roomManager: function(model, schema){ + this._roomManager = new RoomManager(model, schema); + return this._roomManager; + }, + + /** + * @return {RoomMember} + */ + roomMember: function(){ + return RoomMember; + }, + + /** + * @param {mongoose.Model} model + * @param {mongoose.Schema} schema + * @return {RoomMemberManager} + */ + roomMemberManager: function(model, schema){ + this._roomMemberManager = new RoomMemberManager(model, schema); + return this._roomMemberManager; + }, + + /** + * @return {RoomMemberSchema} + */ + roomMemberSchema: function(){ + return RoomMemberSchema; + }, + + /** + * @param {} + * @param {} + * @return {RoomsController} + */ + roomsController: function(socketIoManager, roomService){ + this._roomsController = new RoomsController(socketIoManager, roomService); + return this._roomsController; + }, + + /** + * @return {RoomSchema} + */ + roomSchema: function(){ + return RoomSchema; }, /** @@ -322,11 +529,19 @@ var AirBugConfiguration = Class.extend(Obj, { return new connect.middleware.session.MemoryStore(); }, + /** + * @param {} + * @param {} + * @return {SocketIoServer} + */ socketIoServer: function(config, expressServer){ this._socketIoServer = new SocketIoServer(config, expressServer); return this._socketIoServer; }, + /** + * @return {SocketIoServerConfig} + */ socketIoServerConfig: function(){ return new SocketIoServerConfig({}); }, @@ -335,17 +550,12 @@ var AirBugConfiguration = Class.extend(Obj, { * @return {SocketIoManager} */ socketIoManager: function() { - this._socketIoManager = new SocketIoManager(); - return this._socketIoManager; + return new SocketIoManager(); }, /** - * @return {SocketRoutes} + * @return {SocketsMap} */ - socketRoutes: function() { - return SocketRoutes; - }, - socketsMap: function() { return new SocketsMap(); }, @@ -358,10 +568,30 @@ var AirBugConfiguration = Class.extend(Obj, { }, /** - * @return {UserApi} + * @param {mongoose.Model} model + * @param {mongoose.Schema} schema + * @return {UserManager} + */ + userManager: function(model, schema){ + this._userManager = new UserManager(model, schema); + return this._userManager; + }, + + /** + * @param {} + * @param {} + * @return {UsersController} */ - userApi: function(model){ - return new UserApi(model); + usersController: function(socketIoManager, userService){ + this._usersController = new UsersController(socketIoManager, userService); + return this._usersController; + }, + + /** + * @return {UserSchema} + */ + userSchema: function(){ + return UserSchema; }, //------------------------------------------------------------------------------- @@ -439,21 +669,17 @@ annotate(AirBugConfiguration).with( arg("config").ref("config") ]) .properties([ - property("expressRoutes").ref("expressRoutes"), property("sessionStore").ref("sessionStore") ]), module("expressRoutesManager") .args([ arg("app").ref("expressApp"), - arg("routes").ref("expressRoutes") ]) - module("expressRoutes"), module("expressServer") .args([ arg("expressApp").ref("expressApp") ]), module("sessionStore"), - //------------------------------------------------------------------------------- // Sockets //------------------------------------------------------------------------------- @@ -463,44 +689,76 @@ annotate(AirBugConfiguration).with( arg("expressServer").ref("expressServer") ]), module("socketIoServerConfig"), + module("socketIoManager"), module("alphaSocketIoManager") .args([ arg("socketIoServer").ref("socketIoServer"), arg("socketsMap").ref("socketsMap") ]), module("socketsMap"), - module("socketRoutes"), - - //------------------------------------------------------------------------------- // Controllers //------------------------------------------------------------------------------- - module("applicationController") + module("alphaPagesController") .args([ - arg("roomApi").ref("roomApi"), - arg("userApi").ref("userApi"), - arg("socketIoManager").ref("socketIoManager"), - arg("socketsMap").ref("socketsMap") + arg("expressRoutesManager").ref("expressRoutesManager"), + ]), + module("RoomsController") + .args([ + arg("socketIoManager").ref("alphaSocketIoManager"), + arg("roomService").ref("roomService") + ]), + module("UsersController") + .args([ + arg("socketIoManager").ref("alphaSocketIoManager"), + arg("userService").ref("userService") ]), //------------------------------------------------------------------------------- - // Apis + // ModelManagers //------------------------------------------------------------------------------- - module("chatMessageApi") + module("chatMessageManager") .args([ - arg("model").ref("chatMessage") + arg("model").ref("chatMessage"), + arg("schema").ref("chatMessageSchema") ]), - module("conversationApi") + module("conversationManager") .args([ - arg("model").ref("coversation") + arg("model").ref("conversation"), + arg("schema").ref("conversationSchema") ]), - module("roomApi") + module("roomManager") .args([ - arg("model").ref("room") + arg("model").ref("room"), + arg("schema").ref("roomSchema") ]), - module("userApi") + module("roomMemberManager") .args([ - arg("model").ref("user") + arg("model").ref("roomMember"), + arg("schema").ref("roomMemberSchema") ]), + module("userManager") + .args([ + arg("model").ref("user"), + arg("schema").ref("userSchema") + ]), + //------------------------------------------------------------------------------- + // Models + //------------------------------------------------------------------------------- + module("chatMessage"), + module("conversation"), + module("dialogue"), + module("room"), + module("roomMember"), + module("user"), + //------------------------------------------------------------------------------- + // Schemas + //------------------------------------------------------------------------------- + module("chatMessageSchema"), + module("conversationSchema"), + module("dialogueSchema"), + module("roomMemberSchema"), + module("roomSchema"), + module("userSchema") ]) ); diff --git a/projects/airbugserver/js/src/Controllers/AlphaPagesController.js b/projects/airbugserver/js/src/Controllers/AlphaPagesController.js index 98dc8f1..0d381da 100644 --- a/projects/airbugserver/js/src/Controllers/AlphaPagesController.js +++ b/projects/airbugserver/js/src/Controllers/AlphaPagesController.js @@ -31,17 +31,25 @@ var Obj = bugpack.require('Obj'); var AlphaPagesController = Class.extend(Obj, { - _constructor: function(){ + _constructor: function(expressRoutesManager){ this._super(); + this.expressRoutesManager = expressRoutesManager; + }, - home: function(req, res){ - res.render('alpha', { - title: 'airbug', - production: config.production - }); + configure: function(){ + + this.expressRoutesManager.addAll([ + + new ExpressRoute('get', '/alpha', function(req, res){ + res.render('alpha', { + title: 'airbug', + production: config.production + }); + }) + ]); } }); diff --git a/projects/airbugserver/js/src/Controllers/RoomsController.js b/projects/airbugserver/js/src/Controllers/RoomsController.js index b044347..15e2d89 100644 --- a/projects/airbugserver/js/src/Controllers/RoomsController.js +++ b/projects/airbugserver/js/src/Controllers/RoomsController.js @@ -8,6 +8,8 @@ //@Require('Class') //@Require('Obj') +//@Require('bugflow.BugFlow') + //------------------------------------------------------------------------------- // Common Modules @@ -20,21 +22,34 @@ var bugpack = require('bugpack').context(); // Bugpack Modules //------------------------------------------------------------------------------- +var BugFlow = bugpack.require('bugflow.BugFlow'); var Class = bugpack.require('Class'); var Obj = bugpack.require('Obj'); +//------------------------------------------------------------------------------- +// Simplify References +//------------------------------------------------------------------------------- + +var $series = BugFlow.$series; +var $task = BugFlow.$task; + + //------------------------------------------------------------------------------- // Declare Class //------------------------------------------------------------------------------- var RoomsController = Class.extend(Obj, { - _constructor: function(roomService){ + _constructor: function(socketIoManager, roomService){ this._super(); - this.roomService = roomService; + this.roomService = roomService; + + this.socketIoManager = socketIoManager; + + this.ioManager = null; }, @@ -43,46 +58,48 @@ var RoomsController = Class.extend(Obj, { // 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); - } - }, + configure: function(callback){ + var _this = this; + var callback = callback || function(){}; + var ioManager = this.socketIoManager.getIoManager(); + this.socketRoutesManager = new RoutesManager(ioManager); + this.socketRoutesManager.addAll([ + new SocketRoute("addUserToRoom", function(params){ + + }), + new SocketRoute("createRoom", function(params){ + var room; + if(currentUser){ + _this.roomService.create(room) + } + }), + new SocketRoute("joinRoom", function(params){ + if(currentUser){ + var roomId = params.roomId || params.room.id; + _this.roomService.addUserToRoom(currentUser, roomId); + } + }), + new SocketRoute("leaveRoom", function(params){ + if(currentUser){ + _this.roomService.removeUserFromRoom(currentUser, roomId); + } + }) + ]); + + callback(); + + }, //------------------------------------------------------------------------------- // Private Methods //------------------------------------------------------------------------------- - pre: function(){ + pre: function(params, callback){ + if(currentUser){ + callback(); + } else { + } } }); diff --git a/projects/airbugserver/js/src/Controllers/UsersController.js b/projects/airbugserver/js/src/Controllers/UsersController.js index 4c736da..0117c52 100644 --- a/projects/airbugserver/js/src/Controllers/UsersController.js +++ b/projects/airbugserver/js/src/Controllers/UsersController.js @@ -8,6 +8,7 @@ //@Require('Class') //@Require('Obj') +//@Require('bugflow.BugFlow') //------------------------------------------------------------------------------- // Common Modules @@ -20,20 +21,35 @@ var bugpack = require('bugpack').context(); // Bugpack Modules //------------------------------------------------------------------------------- +var BugFlow = bugpack.require('bugflow.BugFlow'); var Class = bugpack.require('Class'); var Obj = bugpack.require('Obj'); +//------------------------------------------------------------------------------- +// Simplify References +//------------------------------------------------------------------------------- + +var $series = BugFlow.$series; +var $task = BugFlow.$task; + + //------------------------------------------------------------------------------- // Declare Class //------------------------------------------------------------------------------- var UsersController = Class.extend(Obj, { - _constructor: function(){ + _constructor: function(socketIoManager, userService){ this._super(); + this.socketIoManager = socketIoManager; + + this.socketRoutesManager = null; + + this.userService = userService; + }, @@ -41,27 +57,29 @@ var UsersController = Class.extend(Obj, { // Methods //------------------------------------------------------------------------------- - /* - * @param {} - **/ - establishUser: function(params){ - UserService.establishUser(); - }, - - /* - * @param {} - **/ - getCurrentUser: function(params){ - - }, - - /* - * @param {} - **/ - logoutCurrentUser: function(params){ - - } - + configure: function(callback){ + var _this = this; + var callback = callback || function(){}; + var ioManager = this.socketIoManager.getIoManager(); + this.socketRoutesManager = new RoutesManager(ioManager); + this.socketRoutesManager.addAll([ + new SocketRoute("establishUser", function(params){ + var user = { + email: params.user.email, + name: params.user.name + }; + _this.userService.establishUser(user); + }), + new SocketRoute("getCurrentUser", function(params){ + + }), + new SocketRoute("logoutCurrentUser", function(params){ + + }) + ]); + + callback(); + } }); diff --git a/projects/airbugserver/js/src/Managers/ChatMessageManager.js b/projects/airbugserver/js/src/Managers/ChatMessageManager.js index a5684a9..d4294a1 100644 --- a/projects/airbugserver/js/src/Managers/ChatMessageManager.js +++ b/projects/airbugserver/js/src/Managers/ChatMessageManager.js @@ -8,6 +8,7 @@ //@Require('Class') //@Require('Obj') +//@Require('Proxy') //------------------------------------------------------------------------------- @@ -23,6 +24,7 @@ var bugpack = require('bugpack').context(); var Class = bugpack.require('Class'); var Obj = bugpack.require('Obj'); +var Proxy = bugpack.require('Proxy'); //------------------------------------------------------------------------------- // Declare Class @@ -30,17 +32,28 @@ var Obj = bugpack.require('Obj'); var ChatMessageManager = Class.extend(Obj, { - _constructor: function(model){ + _constructor: function(model, schema){ this._super(); - this.model = model; + this.model = model; + this.schema = schema; + + }, + + configure: function(callback){ + if(!callback || typeof callback !== 'function'){ + callback = function(){}; + } + callback(); }, create: function(message, callback){ - var newChatMessage = this.model.create(message, callback); - // RoomApi.sendMessage(newChatMessage); + if(!callback || typeof callback !== 'function'){ + callback = function(){}; + } + this.model.create(message, callback); } }); diff --git a/projects/airbugserver/js/src/Managers/ConversationManager.js b/projects/airbugserver/js/src/Managers/ConversationManager.js index 4e3ed40..2581524 100644 --- a/projects/airbugserver/js/src/Managers/ConversationManager.js +++ b/projects/airbugserver/js/src/Managers/ConversationManager.js @@ -8,7 +8,7 @@ //@Require('Class') //@Require('Obj') - +//@Require('Proxy') //------------------------------------------------------------------------------- // Common Modules @@ -23,6 +23,7 @@ var bugpack = require('bugpack').context(); var Class = bugpack.require('Class'); var Obj = bugpack.require('Obj'); +var Proxy = bugpack.require('Proxy'); //------------------------------------------------------------------------------- // Declare Class @@ -30,12 +31,21 @@ var Obj = bugpack.require('Obj'); var ConversationManager = Class.extend(Obj, { - _constructor: function(model){ + _constructor: function(model, schema){ this._super(); this.model = model; + this.schema = schema; + }, + + + configure: function(callback){ + if(!callback || typeof callback !== 'function'){ + callback = function(){}; + } + callback(); } }); diff --git a/projects/airbugserver/js/src/Managers/RoomManager.js b/projects/airbugserver/js/src/Managers/RoomManager.js index c51ccfc..dc56cdb 100644 --- a/projects/airbugserver/js/src/Managers/RoomManager.js +++ b/projects/airbugserver/js/src/Managers/RoomManager.js @@ -9,6 +9,8 @@ //@Require('Class') //@Require('Obj') //@Require('Proxy') +//@Require('bugflow.BugFlow') + //------------------------------------------------------------------------------- // Common Modules @@ -21,11 +23,19 @@ var bugpack = require('bugpack').context(); // Bugpack Modules //------------------------------------------------------------------------------- +var BugFlow = bugpack.require('bugflow.BugFlow'); var Class = bugpack.require('Class'); var Obj = bugpack.require('Obj'); var Proxy = bugpack.require('Proxy'); +//------------------------------------------------------------------------------- +// Simplify References +//------------------------------------------------------------------------------- + +var $series = BugFlow.$series; +var $task = BugFlow.$task; + //------------------------------------------------------------------------------- // Declare Class //------------------------------------------------------------------------------- @@ -37,7 +47,7 @@ var RoomInterface = { // Implementation of Room interface for mongoose Model var RoomManager = Class.extend(Obj, { - _constructor: function(model){ + _constructor: function(model, schema, roomMemberManager){ this._super(); @@ -49,7 +59,22 @@ var RoomManager = Class.extend(Obj, { /** * @type {mongoose.Model.Room} */ - this.model = model; + this.model = model; + + this.schema = schema; + + this.roomMemberManager = roomMemberManager; + + Proxy.proxy(this, this.model, [ + 'findById', + 'populate' + ]); + + Proxy.proxy(this, this.schema, [ + 'pre', + 'post', + 'virtual' + ]); }, @@ -57,38 +82,142 @@ var RoomManager = Class.extend(Obj, { // Instance Methods //------------------------------------------------------------------------------- + configure: function(callback){ + if(!callback || typeof callback !== 'function'){ + callback = function(){}; + } + + this.pre('save', function (next){ + if (!this.createdAt) this.createdAt = new Date(); + next(); + }); + this.pre('save', function(next){ + this.updatedAt = new Date(); + }); + + callback(); + }, + getModel: function(){ return this.model; }, - //------------------------------------------------------------------------------- - // Static Methods - //------------------------------------------------------------------------------- + getSchema: function(){ + return this.schema; + }, - getMembersList: function(roomId){ + getMembersList: function(roomId, callback){ this.model.findById(roomId, function(error, room){ return room.memberslist; }); }, - create: function(room, callback){ - this.model.create(room, callback); + getMembers: function(roomId, callback){ + // var _this = this; + // this.model.findById(roomId, function(error, room){ + // if(!error){ + // var opts = {path: 'roomMember', model: 'RoomMember'}; + // _this.roomMemberManager.populate(room, opts, function(error, room){ + // if(!error){ + // room.membersList.remove({userId: userId}); // Test this + // room.save(callback); + // } else { + // callback(error); + // } + // }); + // } else { + // callback(error); + // } + // }); }, - findById: function(id, callback){ - this.model.findById(id, callback); + /** + * @param {} room + * @param {function(error, room)} callback + */ + create: function(room, callback){ + this.model.create(room, callback); }, - addUser: function(roomId, user, callback){ + /** + * @param {} roomId + * @param {} userId + * @param {function(error, room)} callback + */ + addUser: function(roomId, userId, callback){ + var _this = this; this.model.findById(roomId, function(error, room){ if(!error){ - var roomMemeber = new RoomMember(); + _this.RoomMemberManager.create({userId: userId}, function(){ + + }); room.membersList.push(roomMember); room.save(callback); } else { callback(error); } }) + }, + + /** + * @param {} roomId + * @param {} userId + * @param {function(error)} callback + */ + removeUser: function(roomId, userId, callback){ + var _this = this; + var room; + var roomMemberId; + $series([ + $parallel([ + $task(function(flow){ + _this.model.findById(roomId, function(error, returnedRoom){ + if(!error) room = returnedRoom; + flow.complete(error); + }); + }), + $task(function(flow){ + _this.roomMemberManager.find({roomId: roomId, userId: userId}, function(error, roomMember){ + if(!error) roomMemberId = roomMember.id; + flow.complete(error); + }); + }) + ]), + $task(function(flow){ + room.membersList.remove(roomMemberId); + room.save(function(error, room){ + flow.complete(error); + }); + }) + // $task(function(flow){ + // var opts = {path: 'roomMember', model: 'RoomMember' , select: "userId"}; + // _this.roomMemberManager.populate(room, opts, function(error, returnedRoom){ + // if(!error) room = returnedRoom; + // flow.complete(error); + // }); + // }), + // %task(function(flow){ + // room.membersList.remove({userId, userId}); + // room.save(function(error, room){ + // flow.complete(error); + // }) + // }) + ]).execute(callback); + // this.model.findById(roomId, function(error, room){ + // if(!error){ + // var opts = {path: 'roomMember', model: 'RoomMember' , select: "userId"}; + // _this.roomMemberManager.populate(room, opts, function(error, room){ + // if(!error){ + // room.membersList.remove({userId: userId}); // Test this + // room.save(callback); + // } else { + // callback(error); + // } + // }); + // } else { + // callback(error); + // } + // }); } }); diff --git a/projects/airbugserver/js/src/Managers/RoomMemberManager.js b/projects/airbugserver/js/src/Managers/RoomMemberManager.js new file mode 100644 index 0000000..85d4389 --- /dev/null +++ b/projects/airbugserver/js/src/Managers/RoomMemberManager.js @@ -0,0 +1,107 @@ +//------------------------------------------------------------------------------- +// Annotations +//------------------------------------------------------------------------------- + +//@Package('airbugserver') + +//@Export('RoomMemberManager') + +//@Require('Class') +//@Require('Obj') +//@Require('Proxy') + +//------------------------------------------------------------------------------- +// Common Modules +//------------------------------------------------------------------------------- + +var bugpack = require('bugpack').context(); + + +//------------------------------------------------------------------------------- +// Bugpack Modules +//------------------------------------------------------------------------------- + +var Class = bugpack.require('Class'); +var Obj = bugpack.require('Obj'); +var Proxy = bugpack.require('Proxy'); + + +//------------------------------------------------------------------------------- +// Declare Class +//------------------------------------------------------------------------------- + +var RoomMemberInterface = { + +}; + +// Implementation of Room interface for mongoose Model +var RoomMemberManager = Class.extend(Obj, { + + _constructor: function(model, schema){ + + this._super(); + + + //------------------------------------------------------------------------------- + // Dependencies + //------------------------------------------------------------------------------- + + /** + * @type {mongoose.Model.Room} + */ + this.model = model; + + this.schema = schema; + + Proxy.proxy(this, this.model, [ + 'find', + 'findById', + 'populate' + ]); + + Proxy.proxy(this, this.schema, [ + 'pre', + 'post', + 'virtual' + ]); + + }, + + //------------------------------------------------------------------------------- + // Instance Methods + //------------------------------------------------------------------------------- + + configure: function(callback){ + if(!callback || typeof callback !== 'function'){ + callback = function(){}; + } + + this.pre('save', function (next){ + if (!this.createdAt) this.createdAt = new Date(); + next(); + }); + this.pre('save', function(next){ + this.updatedAt = new Date(); + }); + + callback(); + }, + + getModel: function(){ + return this.model; + }, + + getSchema: function(){ + return this.schema; + }, + + create: function(roomMember, callback){ + this.model.create(roomMember, callback); + } +}); + +//------------------------------------------------------------------------------- +// Exports +//------------------------------------------------------------------------------- + +bugpack.export('airbugserver.RoomMemberManager', RoomMemberManager); diff --git a/projects/airbugserver/js/src/Managers/UserManager.js b/projects/airbugserver/js/src/Managers/UserManager.js index ef2012a..9eb1543 100644 --- a/projects/airbugserver/js/src/Managers/UserManager.js +++ b/projects/airbugserver/js/src/Managers/UserManager.js @@ -54,17 +54,46 @@ var UserManager = Class.extend(Obj, { */ this.schema = schema; + Proxy.proxy(this, this.model, [ + 'findById' + ]); + Proxy.proxy(this, this.schema, [ 'pre', - 'post' + 'post', + 'virtual' ]); }, //------------------------------------------------------------------------------- - // Public Methods + // Public Instance Methods //------------------------------------------------------------------------------- + configure: function(callback){ + if(!callback || typeof callback !== 'function'){ + callback = function(){}; + } + + this.pre('save', function (next){ + if (!this.createdAt) this.createdAt = new Date(); + next(); + }); + this.pre('save', function(next){ + this.updatedAt = new Date(); + }); + + callback(); + }, + + getModel: function(){ + return this.model; + }, + + getSchema: function(){ + return this.schema; + }, + /* * @param {string} attribute * @param {function(value) | function(value, response)} validationFunction @@ -78,25 +107,28 @@ var UserManager = Class.extend(Obj, { * @param {{ * name: string, * email: string - * }} data + * }} user * @param {function(Error, User)} callback **/ - findOrCreate: function(data, callback){ + findOrCreate: function(user, callback){ + if(!callback || typeof callback !== 'function'){ + callback = function(){}; + } + var _this = this; - var userObj = {email: data.email, name: data.name}; // sanitizing the data + var User = this.model; + var userObj = user; var conditions = {email: userObj.email}; var fields = null; - var options = { - lean: false; - }; + var options = {lean: false}; - // this.model.findOneAndUpdate(query, update, options, otherCallback); //cannot use pre post hooks with this method - this.model.findOne(conditions, fields, options, function(error, user){ + // User.findOneAndUpdate(query, update, options, otherCallback); //cannot use pre post hooks with this method + User.findOne(conditions, fields, options, function(error, user){ if(error){ callback(error); } else { if(!user){ - _this.model.create(userObj, callback); + User.create(userObj, callback); } else { callback(null, user); } diff --git a/projects/airbugserver/js/src/Routes/ExpressRoutes/ExpressRoutes.js b/projects/airbugserver/js/src/Routes/ExpressRoutes/ExpressRoutes.js deleted file mode 100644 index cd2afb3..0000000 --- a/projects/airbugserver/js/src/Routes/ExpressRoutes/ExpressRoutes.js +++ /dev/null @@ -1,45 +0,0 @@ -//------------------------------------------------------------------------------- -// Annotations -//------------------------------------------------------------------------------- - -//@Package('airbugserver') - -//@Export('ExpressRoutes') - -//@Require('bugroutes.ExpressRoute') -//@Require('bugroutes.Routes') - - -//------------------------------------------------------------------------------- -// Common Modules -//------------------------------------------------------------------------------- - -var bugpack = require('bugpack').context(); - - -//------------------------------------------------------------------------------- -// BugPack -//------------------------------------------------------------------------------- - -var ExpressRoute = bugpack.require('bugroutes.ExpressRoute'); - - -//------------------------------------------------------------------------------- -// Routes -//------------------------------------------------------------------------------- - -//------------------------------------------------------------------------------- -// Declare Class -//------------------------------------------------------------------------------- - -var ExpressRoutes = [ - - new ExpressRoute('get', '/alpha', alphaPagesController.home) - -]; - -//------------------------------------------------------------------------------- -// Exports -//------------------------------------------------------------------------------- - -bugpack.export('airbugserver.ExpressRoutes', ExpressRoutes); diff --git a/projects/airbugserver/js/src/Routes/SocketRoutes/EstablishedUserRoutes.js b/projects/airbugserver/js/src/Routes/SocketRoutes/EstablishedUserRoutes.js deleted file mode 100644 index 645a4bd..0000000 --- a/projects/airbugserver/js/src/Routes/SocketRoutes/EstablishedUserRoutes.js +++ /dev/null @@ -1,49 +0,0 @@ -//------------------------------------------------------------------------------- -// Annotations -//------------------------------------------------------------------------------- - -//@Package('airbugserver') - -//@Export('EstablishedUserRoutes') - -//@Require('bugroutes.ExpressRoute') -//@Require('bugroutes.Routes') - - -//------------------------------------------------------------------------------- -// Common Modules -//------------------------------------------------------------------------------- - -var bugpack = require('bugpack').context(); - - -//------------------------------------------------------------------------------- -// BugPack -//------------------------------------------------------------------------------- - -var Routes = bugpack.require('bugroutes.Routes'); -var ExpressRoute = bugpack.require('bugroutes.ExpressRoute'); - - -//------------------------------------------------------------------------------- -// Routes -//------------------------------------------------------------------------------- - -var routes = [ - new Route("addUserToRoom", "RoomsController.addUserToRoom"), - new Route("newChatMessage", "ChatMessageController.newChatMessage") -]; - - -//------------------------------------------------------------------------------- -// Declare Class -//------------------------------------------------------------------------------- - -var EstablishedUserRoutes = new Routes(routes); - - -//------------------------------------------------------------------------------- -// Exports -//------------------------------------------------------------------------------- - -bugpack.export('airbugserver.EstablishedUserRoutes', EstablishedUserRoutes); diff --git a/projects/airbugserver/js/src/Routes/SocketRoutes/GlobalSocketRoutes.js b/projects/airbugserver/js/src/Routes/SocketRoutes/GlobalSocketRoutes.js deleted file mode 100644 index 290b738..0000000 --- a/projects/airbugserver/js/src/Routes/SocketRoutes/GlobalSocketRoutes.js +++ /dev/null @@ -1,57 +0,0 @@ -//------------------------------------------------------------------------------- -// Annotations -//------------------------------------------------------------------------------- - -//@Package('airbugserver') - -//@Export('GlobalSocketRoutes') - -//@Require('bugroutes.ExpressRoute') -//@Require('bugroutes.Routes') - - -//------------------------------------------------------------------------------- -// Common Modules -//------------------------------------------------------------------------------- - -var bugpack = require('bugpack').context(); - - -//------------------------------------------------------------------------------- -// BugPack -//------------------------------------------------------------------------------- - -var RoomApi = bugpack.require('airbugserver.RoomApi'); -var UserApi = bugpack.require('airbugserver.UserApi'); -var ExpressRoute = bugpack.require('bugroutes.ExpressRoute'); -var Routes = bugpack.require('bugroutes.Routes'); - -//------------------------------------------------------------------------------- -// Declare Routes -//------------------------------------------------------------------------------- - -var routes = [ - new Route("establishUser", UsersController.establishUser), - new Route("error", function(error){ - console.log(error); - }), - new Route("disconnect", function(){ - - }) -]; - - -//------------------------------------------------------------------------------- -// Declare Class -//------------------------------------------------------------------------------- - -var GlobalSocketRoutes = new Routes(routes); - -//------------------------------------------------------------------------------- -// Exports -//------------------------------------------------------------------------------- - -bugpack.export('airbugserver.GlobalSocketRoutes', GlobalSocketRoutes); - - - diff --git a/projects/airbugserver/js/src/Schemas/DialogueSchema.js b/projects/airbugserver/js/src/Schemas/DialogueSchema.js index 8d372a0..54562da 100644 --- a/projects/airbugserver/js/src/Schemas/DialogueSchema.js +++ b/projects/airbugserver/js/src/Schemas/DialogueSchema.js @@ -28,7 +28,6 @@ var ObjectId = mongoose.Schema.Types.ObjectId; //------------------------------------------------------------------------------- var DialogueSchema = new Schema({ - name: String, conversationId: ObjectId, membersList: [ObjectId], createdAt: Date, diff --git a/projects/airbugserver/js/src/Services/RoomService.js b/projects/airbugserver/js/src/Services/RoomService.js index 0c06a22..0c963b4 100644 --- a/projects/airbugserver/js/src/Services/RoomService.js +++ b/projects/airbugserver/js/src/Services/RoomService.js @@ -52,24 +52,24 @@ var RoomService = Class.extend(Obj, { /* * @param {Room} room **/ - create: function(currentUser, room){ + create: function(currentUser, room, callback){ var _this = this; var room = this.roomManager.create(room, function(error, room){ if(!error && room){ - _this.addUserToRoom(currentUser, room.id); + _this.addUserToRoom(currentUser.id, room.id); } }); }, - addUserToRoom: function(user, roomId){ + addUserToRoom: function(userId, roomId, callback){ this.roomManager.addUser(roomId, user); this.notifyRoomMembers(roomId, "userAddedToRoom", {}, function(){ }); }, - removeUserFromRoom: function(user, roomId){ - + removeUserFromRoom: function(userId, roomId, callback){ + this.roomManager.removeUser(roomId, userId); }, //------------------------------------------------------------------------------- @@ -85,19 +85,24 @@ var RoomService = Class.extend(Obj, { **/ notifyRoomMembers: function(roomId, eventName, data, callback){ var socketsMap = this.socketsMap; - var room = this.roomManager.findById(roomId); - var roomMembers = room.membersList; var userManager = this.userManager; - - roomMembers.forEach(function(roomMember){ - var userId = roomMember.userId; - var user = userManager.findById(userId); - sockets = socketsMap.findSocketsByUser(user); - sockets.forEach(function(socket){ - socket.emit(eventName, data); + this.roomManager.findById(roomId, function(error, room){ + var roomMembers = room.membersList; + //populate + roomMembers.forEach(function(roomMember){ + var userId = roomMember.userId; + userManager.findById(userId, function(error, user){ + + }); + sockets = socketsMap.findSocketsByUser(user); + sockets.forEach(function(socket){ + socket.emit(eventName, data); + }); }); }); + + callback(); } diff --git a/projects/airbugserver/js/src/Services/UserService.js b/projects/airbugserver/js/src/Services/UserService.js index 032de7c..a880fe7 100644 --- a/projects/airbugserver/js/src/Services/UserService.js +++ b/projects/airbugserver/js/src/Services/UserService.js @@ -33,7 +33,7 @@ var UserService = Class.extend(Obj, { this._super(); - this.socketIoManager = socketIoManager; + this.socketIoManager = socketIoManager.getIoManager(); this.userManager = userManager; @@ -47,18 +47,32 @@ var UserService = Class.extend(Obj, { * @param {{ * name: string, * email: string - * }} data + * }} user **/ - establishUser: function(data){ + establishUser: function(user){ var _this = this; - this.userManager.findOrCreate(data, function(error, user){ + this.userManager.findOrCreate(user, function(error, user){ if(!error){ currentUser = user; - _this.socketIoManager.addEstablishedUserListeners(socket); //make sure this socket is the proper one + _this.socketsMap.findBy } else { //_this.socketIoManager.emit('unableToEstablishUser') } }); + }, + + /** + * @param {} + */ + getCurrentUser: function(callback){ + + }, + + /** + * @param {} + */ + logoutCurrentUser: function(callback){ + } }); diff --git a/projects/airbugserver/js/src/Sockets/SocketIoManager.js b/projects/airbugserver/js/src/Sockets/SocketIoManager.js index 9e4112d..7ff013a 100644 --- a/projects/airbugserver/js/src/Sockets/SocketIoManager.js +++ b/projects/airbugserver/js/src/Sockets/SocketIoManager.js @@ -85,6 +85,10 @@ var SocketIoManager = Class.extend(EventDispatcher, { // Public Class Methods //------------------------------------------------------------------------------- + getIoManager: function(){ + return this.ioManager; + }, + /** * @param {string} socketUuid * @return {SocketIoConnection} diff --git a/projects/airbugserver/js/test/Models/RoomMemberTest.js b/projects/airbugserver/js/test/Managers/ChatMessageManagerTest.js similarity index 80% rename from projects/airbugserver/js/test/Models/RoomMemberTest.js rename to projects/airbugserver/js/test/Managers/ChatMessageManagerTest.js index 43daf22..f54fbaf 100644 --- a/projects/airbugserver/js/test/Models/RoomMemberTest.js +++ b/projects/airbugserver/js/test/Managers/ChatMessageManagerTest.js @@ -12,23 +12,23 @@ // Common Modules //------------------------------------------------------------------------------- -var bugpack = require('bugpack').context(); +var bugpack = require('bugpack').context(); //------------------------------------------------------------------------------- // BugPack //------------------------------------------------------------------------------- -var Annotate = bugpack.require('annotate.Annotate'); -var TestAnnotation = bugpack.require('bugunit-annotate.TestAnnotation'); +var Annotate = bugpack.require('annotate.Annotate'); +var TestAnnotation = bugpack.require('bugunit-annotate.TestAnnotation'); //------------------------------------------------------------------------------- // Simplify References //------------------------------------------------------------------------------- -var annotate = Annotate.annotate; -var test = TestAnnotation.test; +var annotate = Annotate.annotate; +var test = TestAnnotation.test; //------------------------------------------------------------------------------- diff --git a/projects/airbugserver/js/test/Models/DialogueTest.js b/projects/airbugserver/js/test/Managers/ConversationManagerTest.js similarity index 80% rename from projects/airbugserver/js/test/Models/DialogueTest.js rename to projects/airbugserver/js/test/Managers/ConversationManagerTest.js index 43daf22..f54fbaf 100644 --- a/projects/airbugserver/js/test/Models/DialogueTest.js +++ b/projects/airbugserver/js/test/Managers/ConversationManagerTest.js @@ -12,23 +12,23 @@ // Common Modules //------------------------------------------------------------------------------- -var bugpack = require('bugpack').context(); +var bugpack = require('bugpack').context(); //------------------------------------------------------------------------------- // BugPack //------------------------------------------------------------------------------- -var Annotate = bugpack.require('annotate.Annotate'); -var TestAnnotation = bugpack.require('bugunit-annotate.TestAnnotation'); +var Annotate = bugpack.require('annotate.Annotate'); +var TestAnnotation = bugpack.require('bugunit-annotate.TestAnnotation'); //------------------------------------------------------------------------------- // Simplify References //------------------------------------------------------------------------------- -var annotate = Annotate.annotate; -var test = TestAnnotation.test; +var annotate = Annotate.annotate; +var test = TestAnnotation.test; //------------------------------------------------------------------------------- diff --git a/projects/airbugserver/js/test/Models/ConversationTest.js b/projects/airbugserver/js/test/Managers/RoomManagerTest.js similarity index 80% rename from projects/airbugserver/js/test/Models/ConversationTest.js rename to projects/airbugserver/js/test/Managers/RoomManagerTest.js index 43daf22..f54fbaf 100644 --- a/projects/airbugserver/js/test/Models/ConversationTest.js +++ b/projects/airbugserver/js/test/Managers/RoomManagerTest.js @@ -12,23 +12,23 @@ // Common Modules //------------------------------------------------------------------------------- -var bugpack = require('bugpack').context(); +var bugpack = require('bugpack').context(); //------------------------------------------------------------------------------- // BugPack //------------------------------------------------------------------------------- -var Annotate = bugpack.require('annotate.Annotate'); -var TestAnnotation = bugpack.require('bugunit-annotate.TestAnnotation'); +var Annotate = bugpack.require('annotate.Annotate'); +var TestAnnotation = bugpack.require('bugunit-annotate.TestAnnotation'); //------------------------------------------------------------------------------- // Simplify References //------------------------------------------------------------------------------- -var annotate = Annotate.annotate; -var test = TestAnnotation.test; +var annotate = Annotate.annotate; +var test = TestAnnotation.test; //------------------------------------------------------------------------------- diff --git a/projects/airbugserver/js/test/Models/ChatMessageTest.js b/projects/airbugserver/js/test/Managers/UserManagerTest.js similarity index 80% rename from projects/airbugserver/js/test/Models/ChatMessageTest.js rename to projects/airbugserver/js/test/Managers/UserManagerTest.js index 43daf22..f54fbaf 100644 --- a/projects/airbugserver/js/test/Models/ChatMessageTest.js +++ b/projects/airbugserver/js/test/Managers/UserManagerTest.js @@ -12,23 +12,23 @@ // Common Modules //------------------------------------------------------------------------------- -var bugpack = require('bugpack').context(); +var bugpack = require('bugpack').context(); //------------------------------------------------------------------------------- // BugPack //------------------------------------------------------------------------------- -var Annotate = bugpack.require('annotate.Annotate'); -var TestAnnotation = bugpack.require('bugunit-annotate.TestAnnotation'); +var Annotate = bugpack.require('annotate.Annotate'); +var TestAnnotation = bugpack.require('bugunit-annotate.TestAnnotation'); //------------------------------------------------------------------------------- // Simplify References //------------------------------------------------------------------------------- -var annotate = Annotate.annotate; -var test = TestAnnotation.test; +var annotate = Annotate.annotate; +var test = TestAnnotation.test; //------------------------------------------------------------------------------- diff --git a/projects/airbugserver/js/test/Models/RoomTest.js b/projects/airbugserver/js/test/Models/RoomTest.js deleted file mode 100644 index 43daf22..0000000 --- a/projects/airbugserver/js/test/Models/RoomTest.js +++ /dev/null @@ -1,36 +0,0 @@ -//------------------------------------------------------------------------------- -// Annotations -//------------------------------------------------------------------------------- - -//@TestFile - -//@Require('annotate.Annotate') -//@Require('bugunit-annotate.TestAnnotation') - - -//------------------------------------------------------------------------------- -// Common Modules -//------------------------------------------------------------------------------- - -var bugpack = require('bugpack').context(); - - -//------------------------------------------------------------------------------- -// BugPack -//------------------------------------------------------------------------------- - -var Annotate = bugpack.require('annotate.Annotate'); -var TestAnnotation = bugpack.require('bugunit-annotate.TestAnnotation'); - - -//------------------------------------------------------------------------------- -// Simplify References -//------------------------------------------------------------------------------- - -var annotate = Annotate.annotate; -var test = TestAnnotation.test; - - -//------------------------------------------------------------------------------- -// Declare Tests -//------------------------------------------------------------------------------- diff --git a/projects/airbugserver/js/test/Models/UserTest.js b/projects/airbugserver/js/test/Models/UserTest.js deleted file mode 100644 index 43daf22..0000000 --- a/projects/airbugserver/js/test/Models/UserTest.js +++ /dev/null @@ -1,36 +0,0 @@ -//------------------------------------------------------------------------------- -// Annotations -//------------------------------------------------------------------------------- - -//@TestFile - -//@Require('annotate.Annotate') -//@Require('bugunit-annotate.TestAnnotation') - - -//------------------------------------------------------------------------------- -// Common Modules -//------------------------------------------------------------------------------- - -var bugpack = require('bugpack').context(); - - -//------------------------------------------------------------------------------- -// BugPack -//------------------------------------------------------------------------------- - -var Annotate = bugpack.require('annotate.Annotate'); -var TestAnnotation = bugpack.require('bugunit-annotate.TestAnnotation'); - - -//------------------------------------------------------------------------------- -// Simplify References -//------------------------------------------------------------------------------- - -var annotate = Annotate.annotate; -var test = TestAnnotation.test; - - -//------------------------------------------------------------------------------- -// Declare Tests -//------------------------------------------------------------------------------- diff --git a/projects/airbugserver/js/test/Services/RoomServiceTest.js b/projects/airbugserver/js/test/Services/RoomServiceTest.js new file mode 100644 index 0000000..e69de29 diff --git a/projects/airbugserver/js/test/Services/UserServiceTest.js b/projects/airbugserver/js/test/Services/UserServiceTest.js new file mode 100644 index 0000000..e69de29 diff --git a/projects/airbugserver/js/test/SocketAPIs/ChatMessagesApiTest.js b/projects/airbugserver/js/test/SocketAPIs/ChatMessagesApiTest.js deleted file mode 100644 index 43daf22..0000000 --- a/projects/airbugserver/js/test/SocketAPIs/ChatMessagesApiTest.js +++ /dev/null @@ -1,36 +0,0 @@ -//------------------------------------------------------------------------------- -// Annotations -//------------------------------------------------------------------------------- - -//@TestFile - -//@Require('annotate.Annotate') -//@Require('bugunit-annotate.TestAnnotation') - - -//------------------------------------------------------------------------------- -// Common Modules -//------------------------------------------------------------------------------- - -var bugpack = require('bugpack').context(); - - -//------------------------------------------------------------------------------- -// BugPack -//------------------------------------------------------------------------------- - -var Annotate = bugpack.require('annotate.Annotate'); -var TestAnnotation = bugpack.require('bugunit-annotate.TestAnnotation'); - - -//------------------------------------------------------------------------------- -// Simplify References -//------------------------------------------------------------------------------- - -var annotate = Annotate.annotate; -var test = TestAnnotation.test; - - -//------------------------------------------------------------------------------- -// Declare Tests -//------------------------------------------------------------------------------- diff --git a/projects/airbugserver/js/test/SocketAPIs/ConversationsApiTest.js b/projects/airbugserver/js/test/SocketAPIs/ConversationsApiTest.js deleted file mode 100644 index 43daf22..0000000 --- a/projects/airbugserver/js/test/SocketAPIs/ConversationsApiTest.js +++ /dev/null @@ -1,36 +0,0 @@ -//------------------------------------------------------------------------------- -// Annotations -//------------------------------------------------------------------------------- - -//@TestFile - -//@Require('annotate.Annotate') -//@Require('bugunit-annotate.TestAnnotation') - - -//------------------------------------------------------------------------------- -// Common Modules -//------------------------------------------------------------------------------- - -var bugpack = require('bugpack').context(); - - -//------------------------------------------------------------------------------- -// BugPack -//------------------------------------------------------------------------------- - -var Annotate = bugpack.require('annotate.Annotate'); -var TestAnnotation = bugpack.require('bugunit-annotate.TestAnnotation'); - - -//------------------------------------------------------------------------------- -// Simplify References -//------------------------------------------------------------------------------- - -var annotate = Annotate.annotate; -var test = TestAnnotation.test; - - -//------------------------------------------------------------------------------- -// Declare Tests -//------------------------------------------------------------------------------- diff --git a/projects/airbugserver/js/test/SocketAPIs/RoomsApiTest.js b/projects/airbugserver/js/test/SocketAPIs/RoomsApiTest.js deleted file mode 100644 index 43daf22..0000000 --- a/projects/airbugserver/js/test/SocketAPIs/RoomsApiTest.js +++ /dev/null @@ -1,36 +0,0 @@ -//------------------------------------------------------------------------------- -// Annotations -//------------------------------------------------------------------------------- - -//@TestFile - -//@Require('annotate.Annotate') -//@Require('bugunit-annotate.TestAnnotation') - - -//------------------------------------------------------------------------------- -// Common Modules -//------------------------------------------------------------------------------- - -var bugpack = require('bugpack').context(); - - -//------------------------------------------------------------------------------- -// BugPack -//------------------------------------------------------------------------------- - -var Annotate = bugpack.require('annotate.Annotate'); -var TestAnnotation = bugpack.require('bugunit-annotate.TestAnnotation'); - - -//------------------------------------------------------------------------------- -// Simplify References -//------------------------------------------------------------------------------- - -var annotate = Annotate.annotate; -var test = TestAnnotation.test; - - -//------------------------------------------------------------------------------- -// Declare Tests -//------------------------------------------------------------------------------- diff --git a/projects/airbugserver/js/test/SocketAPIs/UsersApiTest.js b/projects/airbugserver/js/test/SocketAPIs/UsersApiTest.js deleted file mode 100644 index 43daf22..0000000 --- a/projects/airbugserver/js/test/SocketAPIs/UsersApiTest.js +++ /dev/null @@ -1,36 +0,0 @@ -//------------------------------------------------------------------------------- -// Annotations -//------------------------------------------------------------------------------- - -//@TestFile - -//@Require('annotate.Annotate') -//@Require('bugunit-annotate.TestAnnotation') - - -//------------------------------------------------------------------------------- -// Common Modules -//------------------------------------------------------------------------------- - -var bugpack = require('bugpack').context(); - - -//------------------------------------------------------------------------------- -// BugPack -//------------------------------------------------------------------------------- - -var Annotate = bugpack.require('annotate.Annotate'); -var TestAnnotation = bugpack.require('bugunit-annotate.TestAnnotation'); - - -//------------------------------------------------------------------------------- -// Simplify References -//------------------------------------------------------------------------------- - -var annotate = Annotate.annotate; -var test = TestAnnotation.test; - - -//------------------------------------------------------------------------------- -// Declare Tests -//-------------------------------------------------------------------------------