mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-07-29 06:07:32 +00:00
56 lines
1.5 KiB
JavaScript
56 lines
1.5 KiB
JavaScript
|
|
db.users.find({}).forEach(function(user){
|
||
|
|
|
||
|
|
// New user schema has public and private paths, so we can setup proper access control with racer
|
||
|
|
// Note 'public' and 'private' are reserved words
|
||
|
|
var newUser = {
|
||
|
|
pub:{},
|
||
|
|
priv: {}
|
||
|
|
};
|
||
|
|
|
||
|
|
newUser.priv.lastCron = user.lastCron;
|
||
|
|
user.priv.balance = user.balance;
|
||
|
|
user.priv.tasks = user.tasks;
|
||
|
|
|
||
|
|
// ------------ Stats
|
||
|
|
// rename money to gp
|
||
|
|
user.stats.gp = user.stats.money;
|
||
|
|
delete user.stats.money;
|
||
|
|
newUser.pub.stats = user.stats;
|
||
|
|
|
||
|
|
// ------------ Party
|
||
|
|
newUser.pub.party = null;
|
||
|
|
|
||
|
|
|
||
|
|
// ------------ ID lists
|
||
|
|
newUser.priv.idLists = {habit:user.habitList, daily:user.dailyList, todo:user.todoList, reward:user.rewardList};
|
||
|
|
|
||
|
|
|
||
|
|
// ------------ Flags
|
||
|
|
newUser.priv.flags = user.flags || {};
|
||
|
|
|
||
|
|
user.priv.partyEnabled = false;
|
||
|
|
|
||
|
|
user.priv.flags.itemsEnabled = user.items.itemsEnabled;
|
||
|
|
delete user.items.itemsEnabled;
|
||
|
|
|
||
|
|
// Items
|
||
|
|
user.pub.items = user.items;
|
||
|
|
|
||
|
|
// kickstarter
|
||
|
|
if (!user.notifications || !user.notifications.kickstarter) user.notifications = {kickstarter:'show'}
|
||
|
|
newUser.priv.flags.kickstarter = user.notifications.kickstarter;
|
||
|
|
|
||
|
|
// Ads
|
||
|
|
newUser.priv.flags.ads = user.flags.ads;
|
||
|
|
|
||
|
|
// ------------ API Token
|
||
|
|
newUser.priv.apiToken = user.preferences.api_token;
|
||
|
|
delete user.preferences.api_token;
|
||
|
|
|
||
|
|
// ------------ Preferences
|
||
|
|
newUser.pub.preferences = user.preferences;
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
db.users.update({_id:user.id}, newUser, {multi:true});
|
||
|
|
})
|