/**
 * In adding the Guilds feature (which supports the Challenges feature), we are consolidating parties and guilds
 * into one collection: groups, with group.type either 'party' or 'guild'. We are also creating the 'habitrpg' guild,
 * which everyone is auto-subscribed to, and moving tavern chat into that guild
 *
 * mongo habitrpg ./node_modules/lodash/lodash.js ./migrations/20130518_setup_groups.js
 */

/**
 * TODO
 * 1) rename collection parties => groups
 * 2) add group.type = 'party' for each current group
 * 3) create habitrpg group, .type='guild'
 * 4) move tavern.chat.chat into habitrpg guild
 * 5) subscribe everyone to habitrpg (be sure to set that for default user too!)
 */

db.parties.renameCollection('groups',true);
//db.parties.dropCollection(); // doesn't seem to do this step during rename...
//db.parties.ensureIndex( { 'members': 1,  'background': 1} );

db.groups.update({}, {$set:{type:'party'}}, {multi:true});

//migrate invitation mechanisms
db.users.update(
    {},
    {
        $remove:{party:1},
        $set:{invitations:{party:null,guilds:[]}}
    },
    {multi:1}
);

tavern = db.tavern.findOne();
db.tavern.drop();

//TODO make as a callback of previous, or make sure group.type is still 'guild' for habitrpg in the end
db.groups.insert({
    _id: "habitrpg",
    leader: '9',
    type: 'guild',
    name: "HabitRPG",
    chat: tavern.messages,
    info: {
        blurb: '',
        websites: []
    }
});