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'),
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,

View File

@ -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) {

View File

@ -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) {

View File

@ -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);

View File

@ -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);
}
);

View File

@ -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();
});
}
}
};

View File

@ -1,5 +1,4 @@
var async = require('async'),
path = require('path'),
var path = require('path'),
// debug = require('debug')('freecc:cntr:resources'),
cheerio = require('cheerio'),
request = require('request'),
@ -8,8 +7,6 @@ var async = require('async'),
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');
@ -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();
});
}
}
};