exports.createUser = function(userobj, cb) { process.nextTick(function (){ var lastId = records[records.length - 1].id userobj.id = lastId+1; records.push(userobj) return cb(null, userobj) }) } exports.findByUsernameGoogle = function(userobj, cb) { process.nextTick(function (){ console.log(userobj) for (var i = 0, len = records.length; i < len; i++) { var record = records[i]; if (record.googleId === userobj.googleId) { return cb(null, record); } } return cb(null, null); }) } exports.findByToken = function(userobj, cb) { process.nextTick(function (){ console.log(userobj) for (var i = 0, len = records.length; i < len; i++) { var record = records[i]; if (record.token === userobj.token) { return cb(null, record); } } return cb(null, null); }) } var records = [ { id: 1, username: 'jack', password: 'secret', displayName: 'Jack', emails: [ { value: 'jack@example.com' } ], googleId: 1 } , { id: 2, username: 'jill', password: 'birthday', displayName: 'Jill', emails: [ { value: 'jill@example.com' } ], googleId: 2 } ]; exports.findById = function(id, cb) { process.nextTick(function() { var idx = id - 1; if (records[idx]) { cb(null, records[idx]); } else { cb(new Error('User ' + id + ' does not exist')); } }); } exports.findByUsername = function(username, cb) { process.nextTick(function() { for (var i = 0, len = records.length; i < len; i++) { var record = records[i]; console.log("Username") console.log(username) if (record.username === username) { return cb(null, record); } } return cb(null, null); }); }