'use strict'; const Promise = require('bluebird'); const knex = require('../knex'); async function listSites() { const [networks, allSites] = await Promise.all([ knex('networks').orderBy('name'), knex('sites').orderBy('name'), ]); await Promise.each(networks, async (network) => { console.log(`* **${network.name}**`); const sites = await knex('sites') .where({ network_id: network.id }) .orderBy('name'); if (sites.length === 1 && sites[0].name === network.name) { return; } sites.forEach(site => console.log(` * ${site.name}`)); }); console.log(`${networks.length} networks with ${allSites.length} sites total`); } listSites();