Enabled pagination on network page.
This commit is contained in:
@@ -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 : [];
|
||||
|
||||
Reference in New Issue
Block a user