Files
habitica/lib/app/schema.js
2012-07-28 16:26:06 -04:00

51 lines
1.2 KiB
JavaScript

// 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;
};