diff --git a/server/boot/challenge.js b/server/boot/challenge.js index df85d803d4..135523087b 100644 --- a/server/boot/challenge.js +++ b/server/boot/challenge.js @@ -31,12 +31,12 @@ */ var R = require('ramda'), - resources = require('../resources/resources'), - userMigration = require('../resources/middleware').userMigration, + utils = require('../utils'), + userMigration = require('../utils/middleware').userMigration, MDNlinks = require('../../seed/bonfireMDNlinks'); -var challengeMapWithNames = resources.getChallengeMapWithNames(); -var challengeMapWithIds = resources.getChallengeMapWithIds(); +var challengeMapWithNames = utils.getChallengeMapWithNames(); +var challengeMapWithIds = utils.getChallengeMapWithIds(); function getMDNlinks(links) { @@ -85,7 +85,7 @@ module.exports = function(app) { return elem._id; }); - req.user.uncompletedChallenges = resources.allChallengeIds() + req.user.uncompletedChallenges = utils.allChallengeIds() .filter(function (elem) { if (completed.indexOf(elem) === -1) { return elem; @@ -139,7 +139,7 @@ module.exports = function(app) { return elem._id; }); - req.user.uncompletedChallenges = resources.allChallengeIds() + req.user.uncompletedChallenges = utils.allChallengeIds() .filter(function (elem) { if (completed.indexOf(elem) === -1) { return elem; @@ -228,11 +228,11 @@ module.exports = function(app) { details: challenge.description.slice(1), tests: challenge.tests, challengeSeed: challenge.challengeSeed, - verb: resources.randomVerb(), - phrase: resources.randomPhrase(), - compliment: resources.randomCompliment(), + verb: utils.randomVerb(), + phrase: utils.randomPhrase(), + compliment: utils.randomCompliment(), challengeId: challenge._id, - environment: resources.whichEnvironment(), + environment: utils.whichEnvironment(), challengeType: challenge.challengeType }); }, @@ -246,9 +246,9 @@ module.exports = function(app) { details: challenge.description.slice(1), tests: challenge.tests, challengeSeed: challenge.challengeSeed, - verb: resources.randomVerb(), - phrase: resources.randomPhrase(), - compliment: resources.randomCompliment(), + verb: utils.randomVerb(), + phrase: utils.randomPhrase(), + compliment: utils.randomCompliment(), challengeId: challenge._id, challengeType: challenge.challengeType }); @@ -262,9 +262,9 @@ module.exports = function(app) { details: challenge.description, tests: challenge.tests, video: challenge.challengeSeed[0], - verb: resources.randomVerb(), - phrase: resources.randomPhrase(), - compliment: resources.randomCompliment(), + verb: utils.randomVerb(), + phrase: utils.randomPhrase(), + compliment: utils.randomCompliment(), challengeId: challenge._id, challengeType: challenge.challengeType }); @@ -277,9 +277,9 @@ module.exports = function(app) { name: challenge.name, details: challenge.description, video: challenge.challengeSeed[0], - verb: resources.randomVerb(), - phrase: resources.randomPhrase(), - compliment: resources.randomCompliment(), + verb: utils.randomVerb(), + phrase: utils.randomPhrase(), + compliment: utils.randomCompliment(), challengeId: challenge._id, challengeType: challenge.challengeType }); @@ -292,9 +292,9 @@ module.exports = function(app) { name: challenge.name, details: challenge.description, video: challenge.challengeSeed[0], - verb: resources.randomVerb(), - phrase: resources.randomPhrase(), - compliment: resources.randomCompliment(), + verb: utils.randomVerb(), + phrase: utils.randomPhrase(), + compliment: utils.randomCompliment(), challengeId: challenge._id, challengeType: challenge.challengeType }); @@ -311,9 +311,9 @@ module.exports = function(app) { details: challenge.description, tests: challenge.tests, challengeSeed: challenge.challengeSeed, - verb: resources.randomVerb(), - phrase: resources.randomPhrase(), - compliment: resources.randomCompliment(), + verb: utils.randomVerb(), + phrase: utils.randomPhrase(), + compliment: utils.randomCompliment(), bonfires: challenge, challengeId: challenge._id, MDNkeys: challenge.MDNlinks, diff --git a/server/boot/challengeMap.js b/server/boot/challengeMap.js index c6820c5020..42261ac378 100644 --- a/server/boot/challengeMap.js +++ b/server/boot/challengeMap.js @@ -1,7 +1,7 @@ var R = require('ramda'), // debug = require('debug')('freecc:cntr:challengeMap'), - resources = require('./../resources/resources'), - middleware = require('../resources/middleware'); + utils = require('./../utils'), + middleware = require('../utils/middleware'); module.exports = function(app) { @@ -31,7 +31,7 @@ module.exports = function(app) { .map(function(challenge) { return challenge._id; }); - var challengeList = resources. + var challengeList = utils. getChallengeMapForDisplay(completedChallengeList); Object.keys(challengeList).forEach(function(key) { diff --git a/server/boot/fieldGuide.js b/server/boot/fieldGuide.js index 7f29036941..8cebbe461b 100644 --- a/server/boot/fieldGuide.js +++ b/server/boot/fieldGuide.js @@ -1,7 +1,7 @@ var R = require('ramda'), // Rx = require('rx'), // debug = require('debug')('freecc:fieldguides'), - resources = require('../resources/resources'); + utils = require('../utils'); module.exports = function(app) { var router = app.loopback.Router(); @@ -19,7 +19,7 @@ module.exports = function(app) { if (req.user) { var completed = req.user.completedFieldGuides; - var uncompletedFieldGuides = resources.allFieldGuideIds() + var uncompletedFieldGuides = utils.allFieldGuideIds() .filter(function (elem) { if (completed.indexOf(elem) === -1) { return elem; @@ -65,7 +65,7 @@ module.exports = function(app) { } function showAllFieldGuides(req, res) { - var allFieldGuideNamesAndIds = resources.allFieldGuideNamesAndIds(); + var allFieldGuideNamesAndIds = utils.allFieldGuideNamesAndIds(); var completedFieldGuides = []; if (req.user && req.user.completedFieldGuides) { diff --git a/server/boot/randomAPIs.js b/server/boot/randomAPIs.js index ea45d06461..d07ca1879a 100644 --- a/server/boot/randomAPIs.js +++ b/server/boot/randomAPIs.js @@ -6,7 +6,7 @@ var Rx = require('rx'), request = require('request'), debug = require('debug')('freecc:cntr:resources'), - constantStrings = require('../resources/constantStrings.json'), + constantStrings = require('../utils/constantStrings.json'), secrets = require('../../config/secrets'); var slack = new Slack(secrets.slackHook); diff --git a/server/boot/story.js b/server/boot/story.js index be2a473614..b28580aa09 100755 --- a/server/boot/story.js +++ b/server/boot/story.js @@ -3,7 +3,7 @@ var nodemailer = require('nodemailer'), moment = require('moment'), mongodb = require('mongodb'), // debug = require('debug')('freecc:cntr:story'), - resources = require('../resources/resources'), + utils = require('../utils'), MongoClient = mongodb.MongoClient, secrets = require('../../config/secrets'); @@ -327,7 +327,7 @@ module.exports = function(app) { storyURL: '/news/' + story.pop().storyLink }); } - resources.getURLTitle(url, processResponse); + utils.getURLTitle(url, processResponse); } ); diff --git a/server/boot/user.js b/server/boot/user.js index c78ff7dd45..271c3723e9 100644 --- a/server/boot/user.js +++ b/server/boot/user.js @@ -7,12 +7,13 @@ var _ = require('lodash'), moment = require('moment'), debug = require('debug')('freecc:cntr:userController'), - secrets = require('../../config/secrets'), - resources = require('./../resources/resources'); + secrets = require('../../config/secrets'); module.exports = function(app) { var router = app.loopback.Router(); var User = app.models.User; + var Story = app.models.Story; + var Comment = app.models.Comment; router.get('/login', function(req, res) { res.redirect(301, '/signin'); @@ -523,7 +524,7 @@ module.exports = function(app) { if (err) { return next(err); } - resources.updateUserStoryPictures( + updateUserStoryPictures( user._id.toString(), user.profile.picture, user.profile.username, @@ -820,4 +821,59 @@ module.exports = function(app) { res.redirect('/forgot'); }); } + + function updateUserStoryPictures(userId, picture, username, cb) { + + var counter = 0, + foundStories, + foundComments; + + Story.find({ 'author.userId': userId }, function (err, stories) { + if (err) { + return cb(err); + } + foundStories = stories; + counter++; + saveStoriesAndComments(); + }); + + Comment.find({ 'author.userId': userId }, function (err, comments) { + if (err) { + return cb(err); + } + foundComments = comments; + counter++; + saveStoriesAndComments(); + }); + + function saveStoriesAndComments() { + if (counter !== 2) { + return; + } + var tasks = []; + R.forEach(function (comment) { + comment.author.picture = picture; + comment.author.username = username; + comment.markModified('author'); + tasks.push(function (cb) { + comment.save(cb); + }); + }, foundComments); + + R.forEach(function (story) { + story.author.picture = picture; + story.author.username = username; + story.markModified('author'); + tasks.push(function (cb) { + story.save(cb); + }); + }, foundStories); + async.parallel(tasks, function (err) { + if (err) { + return cb(err); + } + cb(); + }); + } + } }; diff --git a/server/resources/constantStrings.json b/server/utils/constantStrings.json similarity index 100% rename from server/resources/constantStrings.json rename to server/utils/constantStrings.json diff --git a/server/resources/resources.js b/server/utils/index.js similarity index 74% rename from server/resources/resources.js rename to server/utils/index.js index 865792e050..a0f082bd4a 100644 --- a/server/resources/resources.js +++ b/server/utils/index.js @@ -1,18 +1,15 @@ -var async = require('async'), - path = require('path'), - // debug = require('debug')('freecc:cntr:resources'), - cheerio = require('cheerio'), - request = require('request'), - R = require('ramda'), - _ = require('lodash'), - fs = require('fs'), +var path = require('path'), + // debug = require('debug')('freecc:cntr:resources'), + cheerio = require('cheerio'), + request = require('request'), + R = require('ramda'), + _ = require('lodash'), + fs = require('fs'), - Story = require('../../common/models/Story'), - Comment = require('../../common/models/Comment'), - resources = require('./resources.json'), - nonprofits = require('../../seed/nonprofits.json'), - fieldGuides = require('../../seed/field-guides.json'); + resources = require('./resources.json'), + nonprofits = require('../../seed/nonprofits.json'), + fieldGuides = require('../../seed/field-guides.json'); /** * Cached values @@ -215,59 +212,5 @@ module.exports = { } }); })(); - }, - - updateUserStoryPictures: function (userId, picture, username, cb) { - - var counter = 0, - foundStories, - foundComments; - - Story.find({'author.userId': userId}, function (err, stories) { - if (err) { - return cb(err); - } - foundStories = stories; - counter++; - saveStoriesAndComments(); - }); - Comment.find({'author.userId': userId}, function (err, comments) { - if (err) { - return cb(err); - } - foundComments = comments; - counter++; - saveStoriesAndComments(); - }); - - function saveStoriesAndComments() { - if (counter !== 2) { - return; - } - var tasks = []; - R.forEach(function (comment) { - comment.author.picture = picture; - comment.author.username = username; - comment.markModified('author'); - tasks.push(function (cb) { - comment.save(cb); - }); - }, foundComments); - - R.forEach(function (story) { - story.author.picture = picture; - story.author.username = username; - story.markModified('author'); - tasks.push(function (cb) { - story.save(cb); - }); - }, foundStories); - async.parallel(tasks, function (err) { - if (err) { - return cb(err); - } - cb(); - }); - } } }; diff --git a/server/resources/middleware.js b/server/utils/middleware.js similarity index 100% rename from server/resources/middleware.js rename to server/utils/middleware.js diff --git a/server/resources/resources.json b/server/utils/resources.json similarity index 100% rename from server/resources/resources.json rename to server/utils/resources.json