mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-04-14 19:56:23 +00:00
[#1862] re-migrat users with items.pets, items.hatchingPotions, or
items.eggs which are arrays, not objects. This shouldn't be happening still, need to investigate
This commit is contained in:
parent
f006a97f42
commit
fac99c7f7f
1 changed files with 23 additions and 18 deletions
|
|
@ -1,31 +1,36 @@
|
|||
db.users.find({},{backer: 1, items:1}).forEach(function(user){
|
||||
user.items = {
|
||||
armor: +user.items.armor || 0,
|
||||
weapon: +user.items.weapon || 0,
|
||||
head: +user.items.head || 0,
|
||||
shield: +user.items.shield || 0,
|
||||
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){
|
||||
|
||||
pets: _.reduce(user.items.pets, function(m,v){ m[v] = 5; return m;}, {}),
|
||||
currentPet: user.items.currentPet ? user.items.currentPet.str : '',
|
||||
eggs: _.reduce(user.items.eggs, function(m,v){
|
||||
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;
|
||||
}, {}),
|
||||
}, {});
|
||||
}
|
||||
|
||||
hatchingPotions: _.reduce(user.items.hatchingPotions, function(m,v){
|
||||
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;
|
||||
}, {}),
|
||||
}, {});
|
||||
}
|
||||
|
||||
food: {},
|
||||
user.items.food = {};
|
||||
user.items.mounts = {};
|
||||
user.items.currentMount = '';
|
||||
|
||||
mounts: {},
|
||||
currentMount: '',
|
||||
|
||||
lastDrop: user.items.lastDrop || {date: new Date(), count: 0}
|
||||
};
|
||||
if (user.backer && user.backer.tier && user.backer.tier >= 90) {
|
||||
user.items.mounts['LionCub-Ethereal'] = true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue