refactor resources to utils

This commit is contained in:
Berkeley Martinez
2015-06-03 17:14:45 -07:00
parent e349797a4b
commit 075d851374
10 changed files with 103 additions and 104 deletions

View File

@ -31,12 +31,12 @@
*/ */
var R = require('ramda'), var R = require('ramda'),
resources = require('../resources/resources'), utils = require('../utils'),
userMigration = require('../resources/middleware').userMigration, userMigration = require('../utils/middleware').userMigration,
MDNlinks = require('../../seed/bonfireMDNlinks'); MDNlinks = require('../../seed/bonfireMDNlinks');
var challengeMapWithNames = resources.getChallengeMapWithNames(); var challengeMapWithNames = utils.getChallengeMapWithNames();
var challengeMapWithIds = resources.getChallengeMapWithIds(); var challengeMapWithIds = utils.getChallengeMapWithIds();
function getMDNlinks(links) { function getMDNlinks(links) {
@ -85,7 +85,7 @@ module.exports = function(app) {
return elem._id; return elem._id;
}); });
req.user.uncompletedChallenges = resources.allChallengeIds() req.user.uncompletedChallenges = utils.allChallengeIds()
.filter(function (elem) { .filter(function (elem) {
if (completed.indexOf(elem) === -1) { if (completed.indexOf(elem) === -1) {
return elem; return elem;
@ -139,7 +139,7 @@ module.exports = function(app) {
return elem._id; return elem._id;
}); });
req.user.uncompletedChallenges = resources.allChallengeIds() req.user.uncompletedChallenges = utils.allChallengeIds()
.filter(function (elem) { .filter(function (elem) {
if (completed.indexOf(elem) === -1) { if (completed.indexOf(elem) === -1) {
return elem; return elem;
@ -228,11 +228,11 @@ module.exports = function(app) {
details: challenge.description.slice(1), details: challenge.description.slice(1),
tests: challenge.tests, tests: challenge.tests,
challengeSeed: challenge.challengeSeed, challengeSeed: challenge.challengeSeed,
verb: resources.randomVerb(), verb: utils.randomVerb(),
phrase: resources.randomPhrase(), phrase: utils.randomPhrase(),
compliment: resources.randomCompliment(), compliment: utils.randomCompliment(),
challengeId: challenge._id, challengeId: challenge._id,
environment: resources.whichEnvironment(), environment: utils.whichEnvironment(),
challengeType: challenge.challengeType challengeType: challenge.challengeType
}); });
}, },
@ -246,9 +246,9 @@ module.exports = function(app) {
details: challenge.description.slice(1), details: challenge.description.slice(1),
tests: challenge.tests, tests: challenge.tests,
challengeSeed: challenge.challengeSeed, challengeSeed: challenge.challengeSeed,
verb: resources.randomVerb(), verb: utils.randomVerb(),
phrase: resources.randomPhrase(), phrase: utils.randomPhrase(),
compliment: resources.randomCompliment(), compliment: utils.randomCompliment(),
challengeId: challenge._id, challengeId: challenge._id,
challengeType: challenge.challengeType challengeType: challenge.challengeType
}); });
@ -262,9 +262,9 @@ module.exports = function(app) {
details: challenge.description, details: challenge.description,
tests: challenge.tests, tests: challenge.tests,
video: challenge.challengeSeed[0], video: challenge.challengeSeed[0],
verb: resources.randomVerb(), verb: utils.randomVerb(),
phrase: resources.randomPhrase(), phrase: utils.randomPhrase(),
compliment: resources.randomCompliment(), compliment: utils.randomCompliment(),
challengeId: challenge._id, challengeId: challenge._id,
challengeType: challenge.challengeType challengeType: challenge.challengeType
}); });
@ -277,9 +277,9 @@ module.exports = function(app) {
name: challenge.name, name: challenge.name,
details: challenge.description, details: challenge.description,
video: challenge.challengeSeed[0], video: challenge.challengeSeed[0],
verb: resources.randomVerb(), verb: utils.randomVerb(),
phrase: resources.randomPhrase(), phrase: utils.randomPhrase(),
compliment: resources.randomCompliment(), compliment: utils.randomCompliment(),
challengeId: challenge._id, challengeId: challenge._id,
challengeType: challenge.challengeType challengeType: challenge.challengeType
}); });
@ -292,9 +292,9 @@ module.exports = function(app) {
name: challenge.name, name: challenge.name,
details: challenge.description, details: challenge.description,
video: challenge.challengeSeed[0], video: challenge.challengeSeed[0],
verb: resources.randomVerb(), verb: utils.randomVerb(),
phrase: resources.randomPhrase(), phrase: utils.randomPhrase(),
compliment: resources.randomCompliment(), compliment: utils.randomCompliment(),
challengeId: challenge._id, challengeId: challenge._id,
challengeType: challenge.challengeType challengeType: challenge.challengeType
}); });
@ -311,9 +311,9 @@ module.exports = function(app) {
details: challenge.description, details: challenge.description,
tests: challenge.tests, tests: challenge.tests,
challengeSeed: challenge.challengeSeed, challengeSeed: challenge.challengeSeed,
verb: resources.randomVerb(), verb: utils.randomVerb(),
phrase: resources.randomPhrase(), phrase: utils.randomPhrase(),
compliment: resources.randomCompliment(), compliment: utils.randomCompliment(),
bonfires: challenge, bonfires: challenge,
challengeId: challenge._id, challengeId: challenge._id,
MDNkeys: challenge.MDNlinks, MDNkeys: challenge.MDNlinks,

View File

@ -1,7 +1,7 @@
var R = require('ramda'), var R = require('ramda'),
// debug = require('debug')('freecc:cntr:challengeMap'), // debug = require('debug')('freecc:cntr:challengeMap'),
resources = require('./../resources/resources'), utils = require('./../utils'),
middleware = require('../resources/middleware'); middleware = require('../utils/middleware');
module.exports = function(app) { module.exports = function(app) {
@ -31,7 +31,7 @@ module.exports = function(app) {
.map(function(challenge) { .map(function(challenge) {
return challenge._id; return challenge._id;
}); });
var challengeList = resources. var challengeList = utils.
getChallengeMapForDisplay(completedChallengeList); getChallengeMapForDisplay(completedChallengeList);
Object.keys(challengeList).forEach(function(key) { Object.keys(challengeList).forEach(function(key) {

View File

@ -1,7 +1,7 @@
var R = require('ramda'), var R = require('ramda'),
// Rx = require('rx'), // Rx = require('rx'),
// debug = require('debug')('freecc:fieldguides'), // debug = require('debug')('freecc:fieldguides'),
resources = require('../resources/resources'); utils = require('../utils');
module.exports = function(app) { module.exports = function(app) {
var router = app.loopback.Router(); var router = app.loopback.Router();
@ -19,7 +19,7 @@ module.exports = function(app) {
if (req.user) { if (req.user) {
var completed = req.user.completedFieldGuides; var completed = req.user.completedFieldGuides;
var uncompletedFieldGuides = resources.allFieldGuideIds() var uncompletedFieldGuides = utils.allFieldGuideIds()
.filter(function (elem) { .filter(function (elem) {
if (completed.indexOf(elem) === -1) { if (completed.indexOf(elem) === -1) {
return elem; return elem;
@ -65,7 +65,7 @@ module.exports = function(app) {
} }
function showAllFieldGuides(req, res) { function showAllFieldGuides(req, res) {
var allFieldGuideNamesAndIds = resources.allFieldGuideNamesAndIds(); var allFieldGuideNamesAndIds = utils.allFieldGuideNamesAndIds();
var completedFieldGuides = []; var completedFieldGuides = [];
if (req.user && req.user.completedFieldGuides) { if (req.user && req.user.completedFieldGuides) {

View File

@ -6,7 +6,7 @@ var Rx = require('rx'),
request = require('request'), request = require('request'),
debug = require('debug')('freecc:cntr:resources'), debug = require('debug')('freecc:cntr:resources'),
constantStrings = require('../resources/constantStrings.json'), constantStrings = require('../utils/constantStrings.json'),
secrets = require('../../config/secrets'); secrets = require('../../config/secrets');
var slack = new Slack(secrets.slackHook); var slack = new Slack(secrets.slackHook);

View File

@ -3,7 +3,7 @@ var nodemailer = require('nodemailer'),
moment = require('moment'), moment = require('moment'),
mongodb = require('mongodb'), mongodb = require('mongodb'),
// debug = require('debug')('freecc:cntr:story'), // debug = require('debug')('freecc:cntr:story'),
resources = require('../resources/resources'), utils = require('../utils'),
MongoClient = mongodb.MongoClient, MongoClient = mongodb.MongoClient,
secrets = require('../../config/secrets'); secrets = require('../../config/secrets');
@ -327,7 +327,7 @@ module.exports = function(app) {
storyURL: '/news/' + story.pop().storyLink storyURL: '/news/' + story.pop().storyLink
}); });
} }
resources.getURLTitle(url, processResponse); utils.getURLTitle(url, processResponse);
} }
); );

View File

@ -7,12 +7,13 @@ var _ = require('lodash'),
moment = require('moment'), moment = require('moment'),
debug = require('debug')('freecc:cntr:userController'), debug = require('debug')('freecc:cntr:userController'),
secrets = require('../../config/secrets'), secrets = require('../../config/secrets');
resources = require('./../resources/resources');
module.exports = function(app) { module.exports = function(app) {
var router = app.loopback.Router(); var router = app.loopback.Router();
var User = app.models.User; var User = app.models.User;
var Story = app.models.Story;
var Comment = app.models.Comment;
router.get('/login', function(req, res) { router.get('/login', function(req, res) {
res.redirect(301, '/signin'); res.redirect(301, '/signin');
@ -523,7 +524,7 @@ module.exports = function(app) {
if (err) { if (err) {
return next(err); return next(err);
} }
resources.updateUserStoryPictures( updateUserStoryPictures(
user._id.toString(), user._id.toString(),
user.profile.picture, user.profile.picture,
user.profile.username, user.profile.username,
@ -820,4 +821,59 @@ module.exports = function(app) {
res.redirect('/forgot'); 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();
});
}
}
}; };

View File

@ -1,5 +1,4 @@
var async = require('async'), var path = require('path'),
path = require('path'),
// debug = require('debug')('freecc:cntr:resources'), // debug = require('debug')('freecc:cntr:resources'),
cheerio = require('cheerio'), cheerio = require('cheerio'),
request = require('request'), request = require('request'),
@ -8,8 +7,6 @@ var async = require('async'),
fs = require('fs'), fs = require('fs'),
Story = require('../../common/models/Story'),
Comment = require('../../common/models/Comment'),
resources = require('./resources.json'), resources = require('./resources.json'),
nonprofits = require('../../seed/nonprofits.json'), nonprofits = require('../../seed/nonprofits.json'),
fieldGuides = require('../../seed/field-guides.json'); fieldGuides = require('../../seed/field-guides.json');
@ -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();
});
}
} }
}; };