diff --git a/seed_data/challenge-migration.js b/seed_data/challenge-migration.js new file mode 100644 index 0000000000..6109f7775b --- /dev/null +++ b/seed_data/challenge-migration.js @@ -0,0 +1,58 @@ +require('dotenv').load(); +var bonfires = require('./bonfires.json'), + app = require('../server/server'), + mongodb = require('mongodb'), + MongoClient = mongodb.MongoClient, + User = app.models.User, + UserIdentity = app.models.userIdentity, + oldUri='mongodb://localhost:27017/app30893198', + coursewares = require('./coursewares.json'); + +var counter = 0; +var offerings = 2; + +var CompletionMonitor = function() { + counter++; + console.log('call ' + counter); + + if (counter < offerings) { + return; + } else { + process.exit(0); + } +}; + +MongoClient.connect(oldUri, function(err, database) { + + database.collection('users').find({}).batchSize(20).toArray(function(err, users) { + if (users !== null && users.length !== 0) { + var mappedUserArray = users.map(function(user) { + Object.keys(user.profile).forEach(function(prop) { + user[prop] = user.profile[prop]; + }); + Object.keys(user.portfolio).forEach(function(prop) { + user[prop] = user.portfolio[prop]; + }); + + user.completedCoursewares = Object.keys(user.challengesHash) + .filter(function(key) { + return user.challengesHash[key] !== 0; + }) + .map(function(key) { + return({ + _id: coursewares[key].id, + completedDate: user.challengesHash[key] + }); + }); + + return user; + }); + User.create(mappedUserArray, function(err) { + if (err) { + console.log(err); + } + console.log("a batch finished"); + }); + } + }); +}); diff --git a/seed_data/challengeMapping.json b/seed_data/challengeMapping.json new file mode 100644 index 0000000000..db6686d266 --- /dev/null +++ b/seed_data/challengeMapping.json @@ -0,0 +1,226 @@ +[ + { + "oldNumber": "0", + "newId": "bd7124d8c441eddfaeb5bdef" + }, + { + "oldNumber": "1", + "newId": "bd7125d8c441eddfaeb5bd0f" + }, + { + "oldNumber": "2", + "newId": "" + }, + { + "oldNumber": "3", + "newId": "bd7127d8c441eddfaeb5bdef" + }, + { + "oldNumber": "4", + "newId": "bd7128d8c441eddfaeb5bdef" + }, + { + "oldNumber": "5", + "newId": "bd8129d8c441eddfaeb5bdef" + }, + { + "oldNumber": "6", + "newId": "" + }, + { + "oldNumber": "7", + "newId": "" + }, + { + "oldNumber": "8", + "newId": "bd7112d8c441eddfaeb5bdef" + }, + { + "oldNumber": "9", + "newId": "bd7113d8c441eddfaeb5bdef" + }, + { + "oldNumber": "10", + "newId": "bd7114d8c441eddfaeb5bdef" + }, + { + "oldNumber": "11", + "newId": "bd7115d8c441eddfaeb5bdef" + }, + { + "oldNumber": "12", + "newId": "bd7116d8c441eddfaeb5bdef" + }, + { + "oldNumber": "13", + "newId": "bd7117d8c441eddfaeb5bdef" + }, + { + "oldNumber": "14", + "newId": "bd7118d8c441eddfaeb5bdef" + }, + { + "oldNumber": "15", + "newId": "" + }, + { + "oldNumber": "16", + "newId": "" + }, + { + "oldNumber": "17", + "newId": "" + }, + { + "oldNumber": "18", + "newId": "" + }, + { + "oldNumber": "19", + "newId": "bd7123d8c441eddfaeb5bdef" + }, + { + "oldNumber": "20", + "newId": "bd8124d8c441eddfaeb5bdef" + }, + { + "oldNumber": "21", + "newId": "bd8126d8c441eddfaeb5bdef" + }, + { + "oldNumber": "22", + "newId": "bd8127d8c441eddfaeb5bdef" + }, + { + "oldNumber": "23", + "newId": "bd8128d8c441eddfaeb5bdef" + }, + { + "oldNumber": "24", + "newId": "bd7129d8c441eddfaeb5bdef" + }, + { + "oldNumber": "25", + "newId": "bd7130d8c441eddfaeb5bdef" + }, + { + "oldNumber": "26", + "newId": "bd7131d8c441eddfaeb5bdef" + }, + { + "oldNumber": "27", + "newId": "bd7132d8c441eddfaeb5bdef" + }, + { + "oldNumber": "28", + "newId": "bd7133d8c441eddfaeb5bdef" + }, + { + "oldNumber": "29", + "newId": "bd7134d8c441eddfaeb5bdef" + }, + { + "oldNumber": "30", + "newId": "bd7135d8c441eddfaeb5bdef" + }, + { + "oldNumber": "31", + "newId": "bd7136d8c441eddfaeb5bdef" + }, + { + "oldNumber": "32", + "newId": "" + }, + { + "oldNumber": "33", + "newId": "bd7138d8c441eddfaeb5bdef" + }, + { + "oldNumber": "34", + "newId": "bd7137d8c441eddfaeb5bdef" + }, + { + "oldNumber": "35", + "newId": "bd7140d8c441eddfaeb5bdef" + }, + { + "oldNumber": "36", + "newId": "" + }, + { + "oldNumber": "37", + "newId": "" + }, + { + "oldNumber": "38", + "newId": "" + }, + { + "oldNumber": "39", + "newId": "" + }, + { + "oldNumber": "40", + "newId": "" + }, + { + "oldNumber": "41", + "newId": "" + }, + { + "oldNumber": "42", + "newId": "" + }, + { + "oldNumber": "43", + "newId": "" + }, + { + "oldNumber": "44", + "newId": "" + }, + { + "oldNumber": "45", + "newId": "" + }, + { + "oldNumber": "46", + "newId": "" + }, + { + "oldNumber": "47", + "newId": "" + }, + { + "oldNumber": "48", + "newId": "bd7153d8c441eddfaeb5bd2f" + }, + { + "oldNumber": "49", + "newId": "bd7154d8c441eddfaeb5bdef" + }, + { + "oldNumber": "50", + "newId": "bd7155d8c441eddfaeb5bdef" + }, + { + "oldNumber": "51", + "newId": "bd7156d8c441eddfaeb5bdef" + }, + { + "oldNumber": "52", + "newId": "bd7157d8c441eddfaeb5bdef" + }, + { + "oldNumber": "53", + "newId": "bd7158d8c441eddfaeb5bdef" + }, + { + "oldNumber": "54", + "newId": "" + }, + { + "oldNumber": "55", + "newId": "" + } +]