Skip to content

Instantly share code, notes, and snippets.

@Connorelsea
Last active November 13, 2015 03:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save Connorelsea/ee1268080a997ff984ff to your computer and use it in GitHub Desktop.
Save Connorelsea/ee1268080a997ff984ff to your computer and use it in GitHub Desktop.
return new Promise((resolve, reject) => {
var currentDate = moment().format();
var dates = [];
for (var i = 1; i < days + 1; i++) {
dates.push(moment().subtract(i, "days"));
}
resolve(dates);
})
.then(dates => {
var dateObjects = [];
dates.forEach(date => dateObjects.push({
date : date,
meals : {}
}))
return dateObjects;
})
.then(dateObjects => {
var query = `
SELECT FR.id, FR.rating, FR.body, FR.googleID, FR.date, FR.meal
FROM food AS FR
ORDER BY FR.date DESC
`
return Promise.fromCallback(connection.query(query, (err, rows) => {
if (err) throw err;
else return {dateObjects, rows};
}), true)
//return connection.query(query, function(err, rows) {
// if (err) Promise.reject(err);
// else {
// console.log("returning");
// Promise.resolve({ dateObjects : dateObjects, rows : rows })
// }
//});
})
.then(container => {
console.log("CONTAINER: " + container)
var dateObjects = container.dateObjects;
var rows = container.rows;
console.log("HERE: " + dateObjects);
// Cycle through each date object in that range
dateObjects.forEach(object => {
// Get the reviews that match the date of the current date object
// and then fill that date object with those reviews.
var reviews = rows.filter(date => {
return date.toDateString() === object.date.toDateString()
})
// Filter the reviews into their respective meal arrays
var breakfast = reviews.filter(r => { return r.meal === "BREAKFAST" });
var brunch = reviews.filter(r => { return r.meal === "BRUNCH" });
var lunch = reviews.filter(r => { return r.meal === "LUNCH" });
var dinner = reviews.filter(r => { return r.meal === "DINNER" });
// Populate the dataObject with their meal arrays
object.breakfast = breakfast;
object.brunch = brunch;
object.lunch = lunch;
object.dinner = dinner;
})
console.log("DATE OBJECTS: \n\n" + JSON.stringify(dateObjects, 2, 2));
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment