'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) => { const rkSpecial = network.id === 'realitykings' && (new URL(site.url).hostname === 'www.realitykings.com' || (site.parameters?.altLayout)) ? '\\*' : ''; // Reality Kings alt layout sites do not support scene fetch by URL console.log(` * ${site.name}${rkSpecial}`); }); }); console.log(`${networks.length} networks with ${allSites.length} sites total`); } listSites();