many bug fixes regarding schema updates

This commit is contained in:
Tyler Renelle
2012-07-28 16:26:06 -04:00
parent 994efb5f79
commit 3895d0610a
7 changed files with 114 additions and 93 deletions

50
lib/app/schema.js Normal file
View File

@@ -0,0 +1,50 @@
// Generated by CoffeeScript 1.3.3
var userSchema;
module.exports.userSchema = userSchema = {
stats: {
money: 0,
exp: 0,
lvl: 1,
hp: 50
},
items: {
itemsEnabled: false,
armor: 0,
weapon: 0
},
tasks: {},
habitIds: [],
dailyIds: [],
todoIds: [],
completedIds: [],
rewardIds: []
};
module.exports.updateSchema = function(model) {
var completedIds, id, index, task, todoIds, uid, user, userObj, _ref, _ref1, _results;
_ref = model.get('users');
_results = [];
for (uid in _ref) {
userObj = _ref[uid];
user = model.at("users." + uid);
user.set('completedIds', []);
completedIds = user.get('completedIds');
todoIds = user.get('todoIds');
_ref1 = user.get('tasks');
for (id in _ref1) {
task = _ref1[id];
if (task.type === 'todo' && task.completed === true) {
if ((index = todoIds.indexOf(id)) !== -1) {
todoIds.splice(index, 1);
}
if ((index = completedIds.indexOf(id)) === -1) {
completedIds.push(id);
}
}
}
user.set('todoIds', todoIds);
_results.push(user.set('completedIds', completedIds));
}
return _results;
};