migration tweak

This commit is contained in:
Sacha Greif 2014-08-30 10:04:56 +09:00
parent a3c89093ca
commit 619577d6cd
2 changed files with 17 additions and 9 deletions

View file

@ -15,11 +15,16 @@ adminUsers = function(){
return Meteor.users.find({isAdmin : true}).fetch(); return Meteor.users.find({isAdmin : true}).fetch();
}; };
getUserName = function(user){ getUserName = function(user){
if (user.username) try{
return user.username; if (user.username)
if (user && user.services && user.services.twitter && user.services.twitter.screenName) return user.username;
return user.services.twitter.screenName if (user && user.services && user.services.twitter && user.services.twitter.screenName)
return null; return user.services.twitter.screenName
}
catch (error){
console.log(error)
return null;
}
}; };
getDisplayName = function(user){ getDisplayName = function(user){
return (user.profile && user.profile.name) ? user.profile.name : getUserName(user); return (user.profile && user.profile.name) ? user.profile.name : getUserName(user);

View file

@ -119,21 +119,24 @@ var migrationsList = {
i++; i++;
console.log('> Updating user '+user._id+' ('+user.username+')'); console.log('> Updating user '+user._id+' ('+user.username+')');
var properties = {}
// update user slug // update user slug
if(getUserName(user)) if(getUserName(user))
Meteor.users.update(user._id, {$set:{slug: slugify(getUserName(user))}}); properties.slug = slugify(getUserName(user));
// update user isAdmin flag // update user isAdmin flag
if(typeof user.isAdmin === 'undefined') if(typeof user.isAdmin === 'undefined')
Meteor.users.update(user._id, {$set: {isAdmin: false}}); properties.isAdmin = false;
// update postCount // update postCount
var postsByUser = Posts.find({userId: user._id}); var postsByUser = Posts.find({userId: user._id});
Meteor.users.update(user._id, {$set: {postCount: postsByUser.count()}}); properties.postCount = postsByUser.count();
// update commentCount // update commentCount
var commentsByUser = Comments.find({userId: user._id}); var commentsByUser = Comments.find({userId: user._id});
Meteor.users.update(user._id, {$set: {commentCount: commentsByUser.count()}}); properties.commentCount = commentsByUser.count();
Meteor.users.update(user._id, {$set:properties});
}); });
return i; return i;