@@ -2,6 +2,7 @@ import isPublished from "../util/isPublished";
22import logger from "../logger/logger" ;
33import ApiHelper from "./api-helper" ;
44import { cloneDeep } from "lodash" ;
5+ import ClientConfigLoader from "../util/client-config-loader.js" ;
56
67/**
78 * PullStrategy.
@@ -195,6 +196,9 @@ class PullStrategy {
195196 return ;
196197 }
197198
199+ const config = await ClientConfigLoader . loadConfig ( ) ;
200+ const relationChecksumEnabled = config . relationsChecksumEnabled ;
201+
198202 if ( screen === null ) {
199203 logger . warn ( `Screen (${ screenPath } ) not loaded` ) ;
200204 return ;
@@ -209,14 +213,15 @@ class PullStrategy {
209213 this . lastestScreenData ?. relationsChecksum ?? null ;
210214
211215 if (
216+ relationChecksumEnabled === false ||
212217 oldScreenChecksums === null ||
213218 oldScreenChecksums ?. campaigns !== newScreenChecksums ?. campaigns ||
214219 oldScreenChecksums ?. inScreenGroups !== newScreenChecksums ?. inScreenGroups
215220 ) {
216- logger . info ( `Campaigns or screen groups modified .` ) ;
221+ logger . info ( `Fetching campaigns .` ) ;
217222 newScreen . campaignsData = await this . getCampaignsData ( newScreen ) ;
218223 } else {
219- logger . info ( `Campaigns or screen groups not modified .` ) ;
224+ logger . info ( `Campaigns data loaded from cache .` ) ;
220225 newScreen . campaignsData = this . lastestScreenData . campaignsData ;
221226 }
222227
@@ -262,29 +267,31 @@ class PullStrategy {
262267
263268 // Get layout: Defines layout and regions.
264269 if (
270+ relationChecksumEnabled === false ||
265271 this . lastestScreenData ?. hasActiveCampaign ||
266272 oldScreenChecksums === null ||
267273 oldScreenChecksums ?. layout !== newScreenChecksums ?. layout
268274 ) {
269- logger . info ( `Layout changed since last fetch .` ) ;
275+ logger . info ( `Fetching layout .` ) ;
270276 newScreen . layoutData = await this . apiHelper . getPath ( newScreen . layout ) ;
271277 } else {
272278 // Get layout: Defines layout and regions.
273- logger . info ( `Layout not changed since last fetch .` ) ;
279+ logger . info ( `Layout loaded from cache .` ) ;
274280 newScreen . layoutData = this . lastestScreenData . layoutData ;
275281 }
276282
277283 // Fetch regions playlists: Yields playlists of slides for the regions
278284 if (
285+ relationChecksumEnabled === false ||
279286 this . lastestScreenData ?. hasActiveCampaign ||
280287 oldScreenChecksums === null ||
281288 oldScreenChecksums ?. regions !== newScreenChecksums ?. regions
282289 ) {
283- logger . info ( `Regions changed since last fetch .` ) ;
290+ logger . info ( `Fetching regions and slides for regions .` ) ;
284291 const regions = await this . getRegions ( newScreen . regions ) ;
285292 newScreen . regionData = await this . getSlidesForRegions ( regions ) ;
286293 } else {
287- logger . info ( `Regions not changed since last fetch .` ) ;
294+ logger . info ( `Regions and slides for regions loaded from cache .` ) ;
288295 newScreen . regionData = this . lastestScreenData . regionData ;
289296 }
290297 }
@@ -308,7 +315,7 @@ class PullStrategy {
308315
309316 let previousSlide = null ;
310317
311- // Find slide in previous data for comparing relationsChecksum values.
318+ // Find the slide in previous data for comparing relationsChecksum values.
312319 if (
313320 this . lastestScreenData ?. regionData [ regionKey ] &&
314321 this . lastestScreenData . regionData [ regionKey ] [ playlistKey ] &&
@@ -328,6 +335,7 @@ class PullStrategy {
328335
329336 // Fetch template if it has changed.
330337 if (
338+ relationChecksumEnabled === false ||
331339 oldSlideChecksums === null ||
332340 newSlideChecksums . templateInfo !== oldSlideChecksums . templateInfo
333341 ) {
@@ -342,6 +350,7 @@ class PullStrategy {
342350 ) {
343351 slide . templateData = fetchedTemplates [ templatePath ] ;
344352 } else {
353+ logger . info ( `Fetching template data.` ) ;
345354 const templateData = await this . apiHelper . getPath ( templatePath ) ;
346355 slide . templateData = templateData ;
347356
@@ -350,6 +359,7 @@ class PullStrategy {
350359 }
351360 }
352361 } else {
362+ logger . info ( `Template data loaded from cache.` ) ;
353363 slide . templateData = previousSlide . templateData ;
354364 }
355365
@@ -363,6 +373,7 @@ class PullStrategy {
363373
364374 // Fetch media if it has changed.
365375 if (
376+ relationChecksumEnabled === false ||
366377 oldSlideChecksums === null ||
367378 newSlideChecksums . media !== oldSlideChecksums . media
368379 ) {
@@ -372,6 +383,7 @@ class PullStrategy {
372383 if ( Object . prototype . hasOwnProperty . call ( fetchedMedia , mediaId ) ) {
373384 nextMediaData [ mediaId ] = fetchedMedia [ mediaId ] ;
374385 } else {
386+ logger . info ( `Fetching media data.` ) ;
375387 const mediaData = await this . apiHelper . getPath ( mediaId ) ;
376388 nextMediaData [ mediaId ] = mediaData ;
377389
@@ -383,11 +395,13 @@ class PullStrategy {
383395
384396 slide . mediaData = nextMediaData ;
385397 } else {
398+ logger . info ( `Media data loaded from cache.` ) ;
386399 slide . mediaData = previousSlide . mediaData ;
387400 }
388401
389402 // Fetch feed.
390403 if ( slide ?. feed ?. feedUrl !== undefined ) {
404+ logger . info ( `Fetching feed data.` ) ;
391405 slide . feedData = await this . apiHelper . getPath ( slide . feed . feedUrl ) ;
392406 }
393407
0 commit comments