@@ -53,6 +53,11 @@ export interface ComputedIngestChangeObject {
5353 regenerateRundown : boolean // Future: full vs metadata?
5454
5555 segmentExternalIdChanges : Record < string , string > // old -> new
56+
57+ /**
58+ * Force an execution of syncIngestUpdateToPartInstance for this ingest operation.
59+ */
60+ forceSyncIngestUpdateToPartInstance ?: boolean
5661}
5762
5863export type ComputedIngestChanges = ComputedIngestChangeObject | ComputedIngestChangeAction
@@ -335,12 +340,16 @@ async function updateSofieIngestRundown(
335340
336341 const ingestObjectGenerator = new SofieIngestRundownDataCacheGenerator ( rundownId )
337342 const resultChanges = mutableIngestRundown . intoIngestRundown ( ingestObjectGenerator )
343+ const forceSyncIngestUpdateToPartInstance = blueprintContext . consumeRequestSyncIngestUpdateToPartInstance ( )
338344
339345 // Sync changes to the cache
340346 sofieIngestObjectCache . replaceDocuments ( resultChanges . changedCacheObjects )
341347 sofieIngestObjectCache . removeAllOtherDocuments ( resultChanges . allCacheObjectIds )
342348
343- return resultChanges . computedChanges
349+ return {
350+ ...resultChanges . computedChanges ,
351+ forceSyncIngestUpdateToPartInstance,
352+ }
344353 }
345354}
346355
@@ -438,13 +447,15 @@ async function applyCalculatedIngestChangesToModel(
438447 if ( result ) {
439448 return {
440449 ...result ,
450+ forceSyncIngestUpdateToPartInstance : computedIngestChanges . forceSyncIngestUpdateToPartInstance ,
441451 renamedSegments,
442452 }
443453 } else {
444454 return {
445455 changedSegmentIds : [ ] ,
446456 removedSegmentIds : [ ] ,
447457 removeRundown : false ,
458+ forceSyncIngestUpdateToPartInstance : computedIngestChanges . forceSyncIngestUpdateToPartInstance ,
448459 renamedSegments,
449460 }
450461 }
@@ -480,6 +491,7 @@ async function applyCalculatedIngestChangesToModel(
480491 return {
481492 changedSegmentIds : regeneratedSegmentIds . changedSegmentIds ,
482493 removedSegmentIds : regeneratedSegmentIds . removedSegmentIds ,
494+ forceSyncIngestUpdateToPartInstance : computedIngestChanges . forceSyncIngestUpdateToPartInstance ,
483495 renamedSegments : renamedSegments ,
484496
485497 removeRundown : false ,
@@ -520,6 +532,7 @@ async function applyCalculatedIngestChangesToModel(
520532 return {
521533 changedSegmentIds : Array . from ( changedSegmentIdsSet ) ,
522534 removedSegmentIds : orphanedSegmentIds , // Only inform about the ones that werent renamed
535+ forceSyncIngestUpdateToPartInstance : computedIngestChanges . forceSyncIngestUpdateToPartInstance ,
523536 renamedSegments : renamedSegments ,
524537
525538 removeRundown : false ,
0 commit comments