Ensure all bonfires have names in account profile view. Add more aptly names state flag for future user data massaging.

This commit is contained in:
terakilobyte
2015-05-05 16:12:53 -04:00
parent 1df3b2671b
commit b73c7eac62
3 changed files with 42 additions and 5 deletions

View File

@ -25,7 +25,8 @@ var async = require('async'),
* Cached values
*/
var allBonfireIds, allBonfireNames, allCoursewareIds, allCoursewareNames,
allFieldGuideIds, allFieldGuideNames, allNonprofitNames;
allFieldGuideIds, allFieldGuideNames, allNonprofitNames,
allBonfireIndexesAndNames;
/**
* GET /
@ -305,6 +306,31 @@ module.exports = {
}
},
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;