From ca36f636a8d51380b1059642085ff41f448ae6cc Mon Sep 17 00:00:00 2001 From: terakilobyte Date: Wed, 20 May 2015 23:35:32 -0400 Subject: [PATCH] Migration script written. --- controllers/challenge.js | 5 ----- controllers/user.js | 12 ------------ seed_data/userMigration.js | 30 +++++++++++++++++++++++++----- 3 files changed, 25 insertions(+), 22 deletions(-) diff --git a/controllers/challenge.js b/controllers/challenge.js index 2ba85daf8e..6cff3c4419 100644 --- a/controllers/challenge.js +++ b/controllers/challenge.js @@ -248,7 +248,6 @@ exports.returnIndividualChallenge = function(req, res, next) { }, 5: function() { - debug('challenge MDNLinks', challenge.MDNlinks); res.render('bonfire/show', { completedWith: null, title: challenge.name, @@ -291,7 +290,6 @@ exports.completedBonfire = function (req, res, next) { return next(err); } else { var index = req.user.uncompletedChallenges.indexOf(challengeId); - debug('This is the index', index); if (index > -1) { req.user.progressTimestamps.push(Date.now() || 0); req.user.uncompletedChallenges.splice(index, 1); @@ -299,7 +297,6 @@ exports.completedBonfire = function (req, res, next) { pairedWith = pairedWith.pop(); index = pairedWith.uncompletedChallenges.indexOf(challengeId); - debug('This is the index of the search for bonfire', index); if (index > -1) { pairedWith.progressTimestamps.push(Date.now() || 0); pairedWith.uncompletedChallenges.splice(index, 1); @@ -350,8 +347,6 @@ exports.completedBonfire = function (req, res, next) { }); var index = req.user.uncompletedChallenges.indexOf(challengeId); - debug('this is the challengeId we got', challengeId); - debug('This is the index of the search for bonfire', index); if (index > -1) { req.user.progressTimestamps.push(Date.now() || 0); diff --git a/controllers/user.js b/controllers/user.js index 996d7b83c5..29840dbc29 100644 --- a/controllers/user.js +++ b/controllers/user.js @@ -333,18 +333,6 @@ exports.returnUser = function(req, res, next) { data[(timeStamp / 1000)] = 1; }); - if (!user.needsMigration) { - var currentlySolvedBonfires = user.completedBonfires; - user.completedBonfires = - resources.ensureBonfireNames(currentlySolvedBonfires); - user.needsMigration = true; - user.save(function(err) { - if (err) { - return next(err); - } - }); - } - user.currentStreak = user.currentStreak || 1; user.longestStreak = user.longestStreak || 1; var challenges = user.completedCoursewares.filter(function ( obj ) { diff --git a/seed_data/userMigration.js b/seed_data/userMigration.js index ffad7be0c4..9b27cb3cd9 100644 --- a/seed_data/userMigration.js +++ b/seed_data/userMigration.js @@ -1,9 +1,9 @@ +/*eslint-disable block-scoped-var */ require('dotenv').load(); -var mongodb = require('mongodb'), - User = require('../models/User.js'), - newChallenges = require('./challengeMapping.json'), - secrets = require('../config/secrets'); - mongoose = require('mongoose'); +var User = require('../models/User.js'), + secrets = require('../config/secrets'), + mongoose = require('mongoose'), + R = require('ramda'); mongoose.connect(secrets.db); @@ -57,6 +57,7 @@ function userModelMigration(cb) { stream.on('data', function (user) { console.log(i++); + /* if (user.challengesHash) { this.pause(); user.needsMigration = false; @@ -88,6 +89,25 @@ function userModelMigration(cb) { user.progressTimestamps.push(bonfire.completedDate); }); } + */ + user.needsMigration = false; + user.completedChallenges = R.filter(function(elem) { + return elem; // getting rid of undefined + }, R.concat( + user.completedCoursewares, + user.completedBonfires.map(function(bonfire) { + return ({ + completedDate: bonfire.completedDate, + _id: bonfire._id, + name: bonfire.name, + completedWith: bonfire.completedWith, + solution: bonfire.solution, + githubLink: '', + verified: false, + challengeType: 5 + }); + }) + )); var self = this; user.save(function (err) {