export const getBostonAreaWeather = functions.https.onRequest(async (request, response) => { try { const areaSnapshot = await admin.firestore().doc("areas/greater-boston").get() const cities = areaSnapshot.data().cities const promises = [] cities.forEach(city => { const p = admin.firestore().doc(`cities-weather/${city}`).get() promises.push(p) }) const snapshots = await Promise.all(promises) const results = [] snapshots.forEach(snap => { const data = snap.data() data.city = snap.id results.push(data) }) response.send(results) } catch (error) { console.error(error) response.status(500).send(error) } })