Improvements, GrapQL experiments. Fixed Babel dependencies.
This commit is contained in:
@@ -272,19 +272,29 @@ function curateReleases(releases) {
|
||||
return Promise.all(releases.map(async release => curateRelease(release)));
|
||||
}
|
||||
|
||||
async function getChannelSite(release) {
|
||||
try {
|
||||
const site = await findSiteByUrl(release.channel);
|
||||
|
||||
return site || null;
|
||||
} catch (error) {
|
||||
const [site] = await fetchSites({
|
||||
name: release.channel,
|
||||
slug: release.channel,
|
||||
});
|
||||
|
||||
return site || null;
|
||||
async function attachChannelSite(release) {
|
||||
if (!release.site.isFallback || !release.channel) {
|
||||
throw new Error(`Unable to derive channel site from generic URL: ${release.url}.`);
|
||||
}
|
||||
|
||||
const [site] = await fetchSites({
|
||||
name: release.channel,
|
||||
slug: release.channel,
|
||||
});
|
||||
|
||||
if (site) {
|
||||
return {
|
||||
...release,
|
||||
site,
|
||||
};
|
||||
}
|
||||
|
||||
const urlSite = await findSiteByUrl(release.channel);
|
||||
|
||||
return {
|
||||
...release,
|
||||
site: urlSite,
|
||||
};
|
||||
}
|
||||
|
||||
async function curateReleaseEntry(release) {
|
||||
@@ -307,15 +317,6 @@ async function curateReleaseEntry(release) {
|
||||
deep: typeof release.deep === 'boolean' ? release.deep : false,
|
||||
};
|
||||
|
||||
if (release.site.isFallback && release.channel) {
|
||||
const site = await getChannelSite(release);
|
||||
|
||||
if (site) {
|
||||
curatedRelease.site_id = site.id;
|
||||
return curatedRelease;
|
||||
}
|
||||
}
|
||||
|
||||
return curatedRelease;
|
||||
}
|
||||
|
||||
@@ -477,18 +478,13 @@ async function storeRelease(release) {
|
||||
|
||||
async function storeReleases(releases) {
|
||||
const storedReleases = await Promise.map(releases, async (release) => {
|
||||
if (release.site.isFallback && !release.channel) {
|
||||
console.error(`Unable to derive channel site from generic URL: ${release.url}.`);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
try {
|
||||
const releaseId = await storeRelease(release);
|
||||
const releaseWithChannelSite = await attachChannelSite(release);
|
||||
const releaseId = await storeRelease(releaseWithChannelSite);
|
||||
|
||||
return {
|
||||
id: releaseId,
|
||||
...release,
|
||||
...releaseWithChannelSite,
|
||||
};
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
|
||||
Reference in New Issue
Block a user