Create user update script to run against db to normalize zipline and basejumps for display

This commit is contained in:
terakilobyte
2015-05-26 11:49:09 -04:00
parent 9b8a7cdd49
commit 9a7a8bacfc

View File

@ -3,10 +3,20 @@ require('dotenv').load();
var User = require('../models/User.js'), var User = require('../models/User.js'),
secrets = require('../config/secrets'), secrets = require('../config/secrets'),
mongoose = require('mongoose'), mongoose = require('mongoose'),
R = require('ramda'); R = require('ramda'),
ziplines = require('./challenges/ziplines.json'),
basejumps = require('./challenges/basejumps.json');
mongoose.connect(secrets.db); mongoose.connect(secrets.db);
var ziplineIds = ziplines.challenges.map(function(elem) {
return elem._id;
});
var basejumpIds = basejumps.challenges.map(function(elem) {
return elem._id;
});
var ziplineAndBaseJumpIds = R.concat(ziplineIds, basejumpIds);
function userModelAssurity(cb) { function userModelAssurity(cb) {
console.log('userModelAssurity'); console.log('userModelAssurity');
var i = 1; var i = 1;
@ -91,23 +101,22 @@ function userModelMigration(cb) {
} }
*/ */
user.needsMigration = false; user.needsMigration = false;
user.completedChallenges = R.filter(function(elem) { user.completedChallenges = user.completedChallenges.map(function(elem) {
return elem; // getting rid of undefined if (ziplineAndBaseJumpIds.indexOf(elem._id) > 0) {
}, R.concat(
user.completedCoursewares,
user.completedBonfires.map(function(bonfire) {
return ({ return ({
completedDate: bonfire.completedDate, _id: elem._id,
_id: bonfire._id, name: elem.name,
name: bonfire.name, completedWith: elem.completedWith,
completedWith: bonfire.completedWith, completedDate: elem.completedDate,
solution: bonfire.solution, solution: elem.solution,
githubLink: '', githubLink: elem.githubLink,
verified: false, verified: elem.verified,
challengeType: 5 challengeType: typeof elem.githubLink === 'boolean' ? 4 : 3
}); });
}) } else {
)); return elem;
}
});
var self = this; var self = this;
user.save(function (err) { user.save(function (err) {