Factor out more mentions of courseware and bonfire. Remove extraneous methos from resources.js. Refactor sitemap to use new structure.
parent
5e918bdd7c
commit
5ed5d5cd63
3
app.js
3
app.js
|
@ -508,9 +508,6 @@ app.post('/completed-field-guide/', fieldGuideController.completedFieldGuide);
|
|||
* Challenge related routes
|
||||
*/
|
||||
|
||||
app.get('/getstuff', challengeController.getStuff);
|
||||
|
||||
|
||||
app.get('/challenges/next-challenge', challengeController.returnNextChallenge);
|
||||
|
||||
app.get(
|
||||
|
|
|
@ -40,27 +40,6 @@ function getMDNlinks(links) {
|
|||
return populatedLinks;
|
||||
}
|
||||
|
||||
exports.showAllChallenges = function(req, res) {
|
||||
var completedList = [];
|
||||
if (req.user) {
|
||||
completedList = req.user.completedChallenges.map(function (elem) {
|
||||
return elem._id;
|
||||
});
|
||||
}
|
||||
var noDuplicatedCoursewares = R.uniq(completedList);
|
||||
var data = {};
|
||||
data.coursewareList = resources.allCoursewareNames();
|
||||
data.completedList = noDuplicatedCoursewares;
|
||||
res.send(data);
|
||||
};
|
||||
|
||||
exports.getStuff = function(req, res, next) {
|
||||
res.render('coursewares/getstuff', {
|
||||
stuff: resources.allChallengeIds(),
|
||||
stuffWithIds: challengeMapWithIds
|
||||
});
|
||||
};
|
||||
|
||||
exports.returnNextChallenge = function(req, res, next) {
|
||||
if (!req.user) {
|
||||
return res.redirect('../challenges/learn-how-free-code-camp-works');
|
||||
|
@ -451,7 +430,7 @@ exports.completedZiplineOrBasejump = function (req, res, next) {
|
|||
|
||||
req.user.completedChallenges.push({
|
||||
_id: challengeId,
|
||||
name: req.body.challengeInfo.coursewareName,
|
||||
name: req.body.challengeInfo.challengeName,
|
||||
completedWith: pairedWith._id,
|
||||
completedDate: isCompletedDate,
|
||||
solution: solutionLink,
|
||||
|
|
|
@ -1,17 +1,13 @@
|
|||
var async = require('async'),
|
||||
User = require('../models/User'),
|
||||
Challenge = require('./../models/Challenge'),
|
||||
Courseware = require('./../models/Courseware'),
|
||||
Bonfire = require('./../models/Bonfire'),
|
||||
Story = require('./../models/Story'),
|
||||
FieldGuide = require('./../models/FieldGuide'),
|
||||
Nonprofit = require('./../models/Nonprofit'),
|
||||
Comment = require('./../models/Comment'),
|
||||
resources = require('./resources.json'),
|
||||
secrets = require('./../config/secrets'),
|
||||
bonfires = require('../seed_data/bonfires.json'),
|
||||
nonprofits = require('../seed_data/nonprofits.json'),
|
||||
coursewares = require('../seed_data/coursewares.json'),
|
||||
fieldGuides = require('../seed_data/field-guides.json'),
|
||||
moment = require('moment'),
|
||||
Twit = require('twit'),
|
||||
|
@ -26,8 +22,7 @@ var async = require('async'),
|
|||
/**
|
||||
* Cached values
|
||||
*/
|
||||
var allBonfireIds, allBonfireNames, allCoursewareIds, allCoursewareNames,
|
||||
allFieldGuideIds, allFieldGuideNames, allNonprofitNames,
|
||||
var allFieldGuideIds, allFieldGuideNames, allNonprofitNames,
|
||||
allBonfireIndexesAndNames, challengeMap, challengeMapWithIds,
|
||||
challengeMapWithNames, allChallengeIds, allChallenges;
|
||||
|
||||
|
@ -140,29 +135,17 @@ module.exports = {
|
|||
},
|
||||
|
||||
challenges: function (callback) {
|
||||
Courseware.aggregate()
|
||||
Challenge.aggregate()
|
||||
.group({_id: 1, names: { $addToSet: '$name'}})
|
||||
.exec(function (err, challenges) {
|
||||
if (err) {
|
||||
debug('Courseware err: ', err);
|
||||
debug('Challenge err: ', err);
|
||||
callback(err);
|
||||
} else {
|
||||
callback(null, challenges[0].names);
|
||||
}
|
||||
});
|
||||
},
|
||||
bonfires: function (callback) {
|
||||
Bonfire.aggregate()
|
||||
.group({_id: 1, names: { $addToSet: '$name'}})
|
||||
.exec(function (err, bonfires) {
|
||||
if (err) {
|
||||
debug('Bonfire err: ', err);
|
||||
callback(err);
|
||||
} else {
|
||||
callback(null, bonfires[0].names);
|
||||
}
|
||||
});
|
||||
},
|
||||
stories: function (callback) {
|
||||
Story.aggregate()
|
||||
.group({_id: 1, links: {$addToSet: '$link'}})
|
||||
|
@ -210,7 +193,6 @@ module.exports = {
|
|||
now: now,
|
||||
users: results.users,
|
||||
challenges: results.challenges,
|
||||
bonfires: results.bonfires,
|
||||
stories: results.stories,
|
||||
nonprofits: results.nonprofits,
|
||||
fieldGuides: results.fieldGuides
|
||||
|
@ -363,52 +345,6 @@ module.exports = {
|
|||
Math.random() * resources.compliments.length)];
|
||||
},
|
||||
|
||||
allBonfireIds: function() {
|
||||
if (allBonfireIds) {
|
||||
return allBonfireIds;
|
||||
} else {
|
||||
allBonfireIds = bonfires.
|
||||
map(function (elem) {
|
||||
return {
|
||||
_id: elem._id,
|
||||
difficulty: elem.difficulty
|
||||
};
|
||||
}).
|
||||
sort(function (a, b) {
|
||||
return a.difficulty - b.difficulty;
|
||||
}).
|
||||
map(function (elem) {
|
||||
return elem._id;
|
||||
});
|
||||
return allBonfireIds;
|
||||
}
|
||||
},
|
||||
|
||||
bonfiresIndexesAndNames: function() {
|
||||
if (allBonfireIndexesAndNames) {
|
||||
return allBonfireIndexesAndNames
|
||||
} else {
|
||||
var obj = {};
|
||||
bonfires.forEach(function(elem) {
|
||||
obj[elem._id] = elem.name;
|
||||
});
|
||||
allBonfireIndexesAndNames = obj;
|
||||
return allBonfireIndexesAndNames;
|
||||
}
|
||||
},
|
||||
|
||||
ensureBonfireNames: function(completedBonfires) {
|
||||
return completedBonfires.map(function(elem) {
|
||||
return ({
|
||||
name: this.bonfiresIndexesAndNames()[elem._id],
|
||||
_id: elem.id,
|
||||
completedDate: elem.completedDate,
|
||||
completedWith: elem.completedWith,
|
||||
solution: elem.solution
|
||||
});
|
||||
}.bind(this));
|
||||
},
|
||||
|
||||
allFieldGuideIds: function() {
|
||||
if (allFieldGuideIds) {
|
||||
return allFieldGuideIds;
|
||||
|
@ -421,31 +357,6 @@ module.exports = {
|
|||
}
|
||||
},
|
||||
|
||||
allBonfireNames: function() {
|
||||
if (allBonfireNames) {
|
||||
return allBonfireNames;
|
||||
} else {
|
||||
allBonfireNames = bonfires.
|
||||
map(function (elem) {
|
||||
return {
|
||||
name: elem.name,
|
||||
difficulty: elem.difficulty,
|
||||
_id: elem._id
|
||||
};
|
||||
}).
|
||||
sort(function (a, b) {
|
||||
return a.difficulty - b.difficulty;
|
||||
}).
|
||||
map(function (elem) {
|
||||
return {
|
||||
name: elem.name,
|
||||
_id: elem._id
|
||||
};
|
||||
});
|
||||
return allBonfireNames;
|
||||
}
|
||||
},
|
||||
|
||||
allFieldGuideNames: function() {
|
||||
if (allFieldGuideNames) {
|
||||
return allFieldGuideNames;
|
||||
|
@ -474,54 +385,6 @@ module.exports = {
|
|||
}
|
||||
},
|
||||
|
||||
allCoursewareIds: function() {
|
||||
if (allCoursewareIds) {
|
||||
return allCoursewareIds;
|
||||
} else {
|
||||
allCoursewareIds = coursewares.
|
||||
map(function (elem) {
|
||||
return {
|
||||
_id: elem._id,
|
||||
difficulty: elem.difficulty
|
||||
};
|
||||
}).
|
||||
sort(function (a, b) {
|
||||
return a.difficulty - b.difficulty;
|
||||
}).
|
||||
map(function (elem) {
|
||||
return elem._id;
|
||||
});
|
||||
return allCoursewareIds;
|
||||
}
|
||||
},
|
||||
|
||||
allCoursewareNames: function() {
|
||||
if (allCoursewareNames) {
|
||||
return allCoursewareNames;
|
||||
} else {
|
||||
allCoursewareNames = coursewares.
|
||||
map(function (elem) {
|
||||
return {
|
||||
name: elem.name,
|
||||
difficulty: elem.difficulty,
|
||||
challengeType: elem.challengeType,
|
||||
_id: elem._id
|
||||
};
|
||||
}).
|
||||
sort(function (a, b) {
|
||||
return a.difficulty - b.difficulty;
|
||||
}).
|
||||
map(function (elem) {
|
||||
return {
|
||||
name: elem.name,
|
||||
challengeType: elem.challengeType,
|
||||
_id: elem._id
|
||||
};
|
||||
});
|
||||
return allCoursewareNames;
|
||||
}
|
||||
},
|
||||
|
||||
whichEnvironment: function() {
|
||||
return process.env.NODE_ENV;
|
||||
},
|
||||
|
|
|
@ -39,13 +39,6 @@ urlset(xmlns="http://www.sitemaps.org/schemas/sitemap/0.9")
|
|||
changefreq daily
|
||||
priority= 0.5
|
||||
|
||||
each bonfire in bonfires
|
||||
url
|
||||
loc #{appUrl}/bonfires/#{bonfire.replace(/\s/g, '-')}
|
||||
lastmod= now
|
||||
changefreq weekly
|
||||
priority= 0.5
|
||||
|
||||
each challenge in challenges
|
||||
url
|
||||
loc #{appUrl}/challenges/#{challenge.replace(/\s/g, '-')}
|
||||
|
|
Loading…
Reference in New Issue