Enabled pagination on network page.

This commit is contained in:
2020-05-26 04:11:29 +02:00
parent fe69ec4175
commit 86377fec5f
43 changed files with 164 additions and 81 deletions

View File

@@ -25,7 +25,7 @@ function curateReleaseEntry(release, batchId, existingRelease) {
shoot_id: release.shootId || null,
studio_id: release.studio?.id || null,
url: release.url,
date: release.date,
date: Number(release.date) ? release.date : null,
slug,
description: release.description,
duration: release.duration,
@@ -47,7 +47,7 @@ function curateReleaseEntry(release, batchId, existingRelease) {
}
async function attachChannelSites(releases) {
const releasesWithoutSite = releases.filter(release => release.channel && (!release.site || release.site.isNetwork));
const releasesWithoutSite = releases.filter(release => release.channel && (!release.site || release.site.isNetwork || release.site.slug !== release.channel));
const channelSites = await knex('sites')
.leftJoin('networks', 'networks.id', 'sites.network_id')
@@ -58,10 +58,6 @@ async function attachChannelSites(releases) {
const releasesWithChannelSite = await Promise.all(releases
.map(async (release) => {
if (release.site && !release.site.isNetwork) {
return release;
}
if (release.channel && channelSitesBySlug[release.channel]) {
const curatedSite = await curateSite(channelSitesBySlug[release.channel]);
@@ -71,6 +67,11 @@ async function attachChannelSites(releases) {
};
}
if (release.site && !release.site.isNetwork) {
return release;
}
if (release.site && release.site.isNetwork) {
return {
...release,
@@ -129,6 +130,10 @@ function attachReleaseIds(releases, storedReleases) {
function filterInternalDuplicateReleases(releases) {
const releasesBySiteIdAndEntryId = releases.reduce((acc, release) => {
if (!release.site) {
return acc;
}
if (!acc[release.site.id]) {
acc[release.site.id] = {};
}
@@ -221,7 +226,7 @@ async function storeReleases(releases) {
const curatedNewReleaseEntries = uniqueReleases.map(release => curateReleaseEntry(release, batchId));
const storedReleases = await knex('releases').insert(curatedNewReleaseEntries).returning('*');
const storedReleases = await knex.batchInsert('releases', curatedNewReleaseEntries).returning('*');
// TODO: update duplicate releases
const storedReleaseEntries = Array.isArray(storedReleases) ? storedReleases : [];