mirror of
https://github.com/wassname/HackFlowy.git
synced 2026-07-16 01:20:31 +08:00
Clean start
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
var mongoose = require('mongoose');
|
||||
var Schema = mongoose.Schema;
|
||||
module.exports.mongoose = mongoose;
|
||||
module.exports.Schema = Schema;
|
||||
|
||||
// Connect to cloud database
|
||||
//https://mongolab.com/
|
||||
var username = "throwaway"
|
||||
var password = "throwaway1";//
|
||||
var address = '@ds037637.mongolab.com:37637/throwaway_db';
|
||||
connect();
|
||||
|
||||
|
||||
// Connect to mongo
|
||||
function connect() {
|
||||
|
||||
var url = 'mongodb://' + username + ':' + password + address;
|
||||
try { mongoose.connect(url); }
|
||||
catch(err) { console.log("Error: Sign In to MongoLab") }
|
||||
console.log("error caught");
|
||||
|
||||
}
|
||||
function disconnect() {
|
||||
mongoose.disconnect()
|
||||
}
|
||||
@@ -0,0 +1,172 @@
|
||||
var //cookie = require('cookie'),
|
||||
crypto = require('crypto')
|
||||
, db = require('./db')
|
||||
//, exchange = require('./exchange')
|
||||
, express = require('express')
|
||||
, http = require('http')
|
||||
, MemoryStore = express.session.MemoryStore
|
||||
, ObjectID = require('mongodb').ObjectID,
|
||||
cookie = require('cookie');
|
||||
|
||||
var User = require('../models/User.js');
|
||||
var Node = require('../models/Node.js');
|
||||
var sessionStore = new MemoryStore();
|
||||
var io;
|
||||
var online = [];
|
||||
var lastExchangeData = {};
|
||||
|
||||
|
||||
console.log("\n\nLOOK HERE!!")
|
||||
// console.log(revAlg);
|
||||
|
||||
// var revAlg = require('./revControlAlg.js');
|
||||
// var getTimeHash = revAlg.getTimeHash;
|
||||
console.log("\n\n");
|
||||
|
||||
|
||||
module.exports = {
|
||||
// createUser: function(username, email, password, callback) {
|
||||
// var user = {username: username, email: email
|
||||
// , password: encryptPassword(password)};
|
||||
// db.insertOne('users', user, callback);
|
||||
// },
|
||||
createUser: function(username, password, callback){
|
||||
User.addUser(username, password, callback);
|
||||
},
|
||||
|
||||
getNodes: function(){
|
||||
return Node.findNodes();
|
||||
},
|
||||
|
||||
getSessionStore: function(){
|
||||
return sessionStore;
|
||||
},
|
||||
|
||||
createSocket: function(server) {
|
||||
io = require('socket.io').listen(server);
|
||||
io.sockets.on('connection', function(socket){
|
||||
|
||||
//socket.emit('news', {hello: "world"});
|
||||
socket.on('nodeRequest', function(data){
|
||||
var nodes = Node.findNodes(socket); //finds, then sends through socket.
|
||||
//var nodes = {'keep': 'calm'};
|
||||
//socket.emit('nodeData', nodes); (emit is in findNodes);
|
||||
})
|
||||
|
||||
socket.on("edit", function(data){
|
||||
var id = data[0];
|
||||
var newText = data[1];
|
||||
console.log("\n\n\n\n edit received:" + newText);
|
||||
Node.updateText(id, newText);
|
||||
socket.broadcast.emit("edit", [id, newText]);
|
||||
|
||||
});
|
||||
|
||||
//This works for all ids except negative ids.
|
||||
socket.on("editing", function(id){
|
||||
socket.broadcast.emit("editing", id);
|
||||
});
|
||||
|
||||
|
||||
socket.on("blurred", function(data){
|
||||
console.log('\nBLURRED\n')
|
||||
socket.broadcast.emit("blurred", data);
|
||||
var id = data[0];
|
||||
var text = data[1];
|
||||
Node.updateText(id, text);
|
||||
});
|
||||
|
||||
//I'm pretty sure i don't use this anywhere.
|
||||
socket.on('nodeInsert', function(data){
|
||||
Node.addNode("testText", [], [], function(){});
|
||||
});
|
||||
|
||||
socket.on("transclude", function(data){
|
||||
var parId = data[0];
|
||||
var transcludeId = data[2];
|
||||
var newIndex = data[1];
|
||||
var now = Date.now();
|
||||
Node.updateParent(parId, transcludeId ,newIndex, now );
|
||||
})
|
||||
|
||||
|
||||
|
||||
socket.on("newNode", function(data){
|
||||
//data[0] = [parID, newindex] . data[1] =
|
||||
var modelJson = data[1]; //(includes the negative ID to find later);
|
||||
var parId = data[0][0];
|
||||
var newIndex = data[0][1];
|
||||
|
||||
var now = Date.now();
|
||||
var callback = function(err, instance, now){
|
||||
socket.emit("updateReceived", [modelJson._id ,instance, data[0]]);
|
||||
socket.broadcast.emit("newNode", [ data[0] ,instance]);
|
||||
//io.sockets.emit("newNode", [data[0], instance])
|
||||
//I'm going to have to update the parent Model on this as well...
|
||||
//(and therefore, broadcast the array...)
|
||||
Node.updateParent(parId, instance._id ,newIndex, now );
|
||||
}
|
||||
Node.addNode(modelJson.text, modelJson.children, modelJson.parents, callback);
|
||||
|
||||
});
|
||||
|
||||
socket.on("removeNode", function(data){
|
||||
var thisId = data[0];
|
||||
var thisIndex = data[1];
|
||||
var parId = data[2];
|
||||
socket.broadcast.emit("removeNode", data);
|
||||
Node.removeNode(thisId, thisIndex, parId);
|
||||
|
||||
});
|
||||
|
||||
socket.on("movedNode", function(data){
|
||||
// var ids = [thisModel.get("_id"), oldParModel.get("_id"), newParModel.get("_id")];
|
||||
// var arrays = [thisModel.get("parents"), oldParModel.get("children"), newParModel.get("children")];
|
||||
// var data = [ids, arrays];
|
||||
Node.moveNode(data[0], data[1]);
|
||||
socket.broadcast.emit("movedNode", [data[0], data[2]]);
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
socket.on("getTimeHash", function(){
|
||||
var timeHash = getTimeHash();
|
||||
|
||||
socket.emit("timeHash", timeHash);
|
||||
})
|
||||
|
||||
|
||||
});
|
||||
// io.configure(function (){
|
||||
// io.set('authorization', function (handshakeData, callback) {
|
||||
// if (handshakeData.headers.cookie) {
|
||||
// handshakeData.cookie = cookie.parse(decodeURIComponent(handshakeData.headers.cookie));
|
||||
// handshakeData.sessionID = handshakeData.cookie['connect.sid'];
|
||||
// sessionStore.get(handshakeData.sessionID, function (err, session) {
|
||||
// if (err || !session) {
|
||||
// return callback(null, false);
|
||||
// } else {
|
||||
// handshakeData.session = session;
|
||||
// console.log('session data', session);
|
||||
// return callback(null, true);
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
// else {
|
||||
// return callback(null, false);
|
||||
// }
|
||||
// });
|
||||
// });
|
||||
},
|
||||
|
||||
setUpDB: function(){
|
||||
Node.setUpDB();
|
||||
//getTimeHash();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user