Code coverage report for server/utils/middleware.js

Statements: 25% (2 / 8)      Branches: 0% (0 / 4)      Functions: 0% (0 / 3)      Lines: 25% (2 / 8)      Ignored: none     

All files » server/utils/ » middleware.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 361                   1                                                  
var R = require('ramda');
 
/*
 * Middleware to migrate users from fragmented challenge structure to unified
 * challenge structure
 *
 * @param req
 * @param res
 * @returns null
 */
exports.userMigration = function userMigration(req, res, next) {
  if (!req.user || req.user.completedChallenges.length !== 0) {
    return next();
  }
  req.user.completedChallenges = R.filter(function (elem) {
    // getting rid of undefined
    return elem;
  }, R.concat(
      req.user.completedCoursewares,
      req.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
        });
      })
    )
  );
  return next();
};