mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-10-28 19:59:24 +01:00
items.eggs which are arrays, not objects. This shouldn't be happening still, need to investigate
40 lines
1.1 KiB
JavaScript
40 lines
1.1 KiB
JavaScript
db.users.find(
|
|
{$where: "Array.isArray(this.items.pets) || Array.isArray(this.items.eggs) || Array.isArray(this.items.hatchingPotions)"},
|
|
{backer: 1, items:1}
|
|
).forEach(function(user){
|
|
|
|
if (_.isArray(user.items.pets)) {
|
|
user.items.pets = _.reduce(user.items.pets, function(m,v){ m[v] = 5; return m;}, {});
|
|
}
|
|
|
|
if (!_.isString(user.items.currentPet)) {
|
|
user.items.currentPet = user.items.currentPet ? user.items.currentPet.str : '';
|
|
}
|
|
|
|
if (_.isArray(user.items.eggs)) {
|
|
user.items.eggs = _.reduce(user.items.eggs, function(m,v){
|
|
if (!m[v.name]) m[v.name] = 0;
|
|
m[v.name]++;
|
|
return m;
|
|
}, {});
|
|
}
|
|
|
|
if (_.isArray(user.items.hatchingPotions)) {
|
|
user.items.hatchingPotions = _.reduce(user.items.hatchingPotions, function(m,v){
|
|
if (!m[v]) m[v] = 0;
|
|
m[v]++;
|
|
return m;
|
|
}, {});
|
|
}
|
|
|
|
user.items.food = {};
|
|
user.items.mounts = {};
|
|
user.items.currentMount = '';
|
|
|
|
if (user.backer && user.backer.tier && user.backer.tier >= 90) {
|
|
user.items.mounts['LionCub-Ethereal'] = true;
|
|
}
|
|
|
|
db.users.update({_id:user._id}, {$set:{items:user.items}});
|
|
});
|