Move tag posters and photos to media database.
This commit is contained in:
29
src/sites.js
29
src/sites.js
@@ -72,6 +72,25 @@ async function findSiteByUrl(url) {
|
||||
return null;
|
||||
}
|
||||
|
||||
function sitesByNetwork(sites) {
|
||||
const networks = sites.reduce((acc, site) => {
|
||||
if (acc[site.network.slug]) {
|
||||
acc[site.network.slug].sites = acc[site.network.slug].sites.concat(site);
|
||||
|
||||
return acc;
|
||||
}
|
||||
|
||||
acc[site.network.slug] = {
|
||||
...site.network,
|
||||
sites: [site],
|
||||
};
|
||||
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
return Object.values(networks);
|
||||
}
|
||||
|
||||
async function fetchSitesFromArgv() {
|
||||
const rawSites = await knex('sites')
|
||||
.select('sites.*', 'networks.name as network_name', 'networks.slug as network_slug', 'networks.parameters as network_parameters')
|
||||
@@ -79,7 +98,10 @@ async function fetchSitesFromArgv() {
|
||||
.orWhereIn('networks.slug', argv.networks || [])
|
||||
.leftJoin('networks', 'sites.network_id', 'networks.id');
|
||||
|
||||
return curateSites(rawSites, true);
|
||||
const curatedSites = await curateSites(rawSites, true);
|
||||
console.log(`Found ${curatedSites.length} sites in database`);
|
||||
|
||||
return sitesByNetwork(curatedSites);
|
||||
}
|
||||
|
||||
async function fetchSitesFromConfig() {
|
||||
@@ -94,7 +116,10 @@ async function fetchSitesFromConfig() {
|
||||
.orWhereIn('network_id', networkIds)
|
||||
.leftJoin('networks', 'sites.network_id', 'networks.id');
|
||||
|
||||
return curateSites(rawSites, true);
|
||||
const curatedSites = await curateSites(rawSites, true);
|
||||
console.log(`Found ${curatedSites.length} sites in database`);
|
||||
|
||||
return sitesByNetwork(curatedSites);
|
||||
}
|
||||
|
||||
async function fetchIncludedSites() {
|
||||
|
||||
Reference in New Issue
Block a user