From 5ed5d5cd63d1fe8adf445eb6f77d86f50e2e9f0c Mon Sep 17 00:00:00 2001 From: terakilobyte Date: Wed, 20 May 2015 22:45:19 -0400 Subject: [PATCH] Factor out more mentions of courseware and bonfire. Remove extraneous methos from resources.js. Refactor sitemap to use new structure. --- app.js | 3 - controllers/challenge.js | 23 +----- controllers/resources.js | 143 +---------------------------------- views/resources/sitemap.jade | 7 -- 4 files changed, 4 insertions(+), 172 deletions(-) diff --git a/app.js b/app.js index 01759b96eaf..48bf1cce8bd 100755 --- a/app.js +++ b/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( diff --git a/controllers/challenge.js b/controllers/challenge.js index 4c7653b7324..2ba85daf8eb 100644 --- a/controllers/challenge.js +++ b/controllers/challenge.js @@ -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, diff --git a/controllers/resources.js b/controllers/resources.js index dc171d85208..9df54250f64 100644 --- a/controllers/resources.js +++ b/controllers/resources.js @@ -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; }, diff --git a/views/resources/sitemap.jade b/views/resources/sitemap.jade index bbc6c97da25..5541565540b 100644 --- a/views/resources/sitemap.jade +++ b/views/resources/sitemap.jade @@ -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, '-')}