[go: up one dir, main page]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: processIngestData & userEditOperations SUPERFLY-2 #5

Merged
merged 157 commits into from
Sep 30, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
157 commits
Select commit Hold shift + click to select a range
c7baf14
wip: api first sketch
Julusian Apr 4, 2024
6941917
wip: more descriptive
Julusian Apr 4, 2024
5e976b7
wip: prototype MutableIngestPartImpl
Julusian Apr 4, 2024
9ef3648
wip: renaming, and boilerplate
Julusian Apr 4, 2024
45bd6c7
wip: experiments
Julusian Apr 4, 2024
d28619b
wip: boilerplate
Julusian Apr 4, 2024
9c7de19
wip: start of default apply
Julusian Apr 4, 2024
90e7e0c
wip
Julusian Apr 5, 2024
3d736e6
wip: boilerplate
Julusian Apr 5, 2024
93a9550
wip: more of mutable rundown
Julusian Apr 5, 2024
85de622
fix: payloads
Julusian Apr 5, 2024
6682938
wip: refactor
Julusian Apr 5, 2024
c378289
wip: rename
Julusian Apr 5, 2024
12a9aa6
wip: restructure changes object
Julusian Apr 5, 2024
383f32c
wip: semi-complete mutable rundown api
Julusian Apr 5, 2024
a55269c
wip: refactor updateRundownMetadataFromIngestData to be part of updat…
Julusian Apr 5, 2024
1bd9e04
wip: compile output of the mutable ingest rundown into useful values
Julusian Apr 5, 2024
b501e43
wip: missing parameter
Julusian Apr 8, 2024
60bf60a
wip: refactor
Julusian Apr 8, 2024
044dc3c
chore: rename `IngestDataCache` to `NrcsIngestDataCache`
Julusian Apr 8, 2024
c3a82a4
chore: add `SofieIngestDataCache` collection
Julusian Apr 3, 2024
1669891
wip: start of hooking in blueprint method
Julusian Apr 8, 2024
53c8583
wip: hook up more of the flow
Julusian Apr 8, 2024
9f22116
wip: first draft implementing for non-mos usages
Julusian Apr 8, 2024
b173c1f
wip: refactor
Julusian Apr 8, 2024
a1b5df3
wip: fix typings
Julusian Apr 8, 2024
7b1d3f3
wip: try to fix up some mos jobs
Julusian Apr 8, 2024
9bfa3d9
wip: refactor more
Julusian Apr 8, 2024
7412066
wip: fix mos tests
Julusian Apr 8, 2024
6e0b256
wip: implement segment/part reordering
Julusian Apr 9, 2024
1e45fd0
wip: some fixes
Julusian Apr 9, 2024
873e7ad
wip: some incomplete, messy and semi-broken segment renaming handling
Julusian Apr 9, 2024
cbb1da3
wip: fix some ingest tests
Julusian Apr 9, 2024
e1f82b4
wip: fixup last mos method
Julusian Apr 9, 2024
a1969a4
wip: renaming
Julusian Apr 9, 2024
5b87991
wip: first draft of user action and job for user operations
Julusian Apr 9, 2024
41acdd6
chore: rename
Julusian Apr 10, 2024
f821391
wip: quick architecture review and tidying
Julusian Apr 10, 2024
b32036f
wip: unit tests
Julusian Apr 10, 2024
c93934a
wip: unit tests
Julusian Apr 10, 2024
1281f64
wip: remember previous payloads when moving/removing parts
Julusian Apr 10, 2024
464c431
wip: MutableIngestPartImpl tests
Julusian Apr 10, 2024
b6547e2
wip: MutableIngestSegmentImpl tests
Julusian Apr 11, 2024
314502c
wip: renaming and tidy api
Julusian Apr 11, 2024
3003c4d
wip: some MutableIngestRundownImpl tests
Julusian Apr 11, 2024
aaccca1
wip: more MutableIngestRundownImpl tests
Julusian Apr 12, 2024
8edc8ae
wip: refactoring
Julusian Apr 12, 2024
a594e41
wip: further refactoring of generic ingest jobs, and some unit tests
Julusian Apr 12, 2024
f53694a
wip: more wrappers
Julusian Apr 12, 2024
ddf7442
wip: more tests
Julusian Apr 15, 2024
bf3647c
wip: docs and underscore
Julusian Apr 15, 2024
9563aa0
wip: simplify mos flow
Julusian Apr 15, 2024
032378c
wip: remove `LocalIngestRundown` and related types
Julusian Apr 15, 2024
6425b8d
wip: remove unused `externalModified` segment property
Julusian Apr 15, 2024
55e458a
wip: first round of fixing tests
Julusian Apr 15, 2024
636b4dc
wip: fixing more tests
Julusian Apr 15, 2024
825de41
wip: another test
Julusian Apr 15, 2024
6880e23
wip: fix last test
Julusian Apr 15, 2024
ac0137f
wip: fix
Julusian Apr 15, 2024
ef52eca
wip: tidying
Julusian Apr 15, 2024
6800423
wip: tidying
Julusian Apr 15, 2024
93f09df
wip: tidying
Julusian Apr 15, 2024
f26500c
wip: more tests
Julusian Apr 16, 2024
643c994
wip: tidying/refactoring
Julusian Apr 16, 2024
fae082f
wip: tidying
Julusian Apr 16, 2024
f3eeb7d
wip: tests
Julusian Apr 16, 2024
0b4dd53
wip: tidying
Julusian Apr 16, 2024
db22347
wip: expose separator/custom function to group mos rundown
Julusian Apr 16, 2024
0298f78
wip: refactor to make more generic
Julusian Apr 16, 2024
bf0cfc2
wip: tidy
Julusian Apr 16, 2024
34a0109
wip: make renaming flow more standard
Julusian Apr 16, 2024
e436d5d
wip: refactor
Julusian Apr 16, 2024
9b844b3
wip: some types
Julusian Apr 17, 2024
e9b539d
wip: todos
Julusian Apr 17, 2024
89c0b1b
wip
Julusian Apr 17, 2024
f1547df
wip: remove old file
Julusian Apr 18, 2024
d038fb8
wip: finish todos
Julusian Apr 18, 2024
2e848f2
wip: restructure payloads
Julusian Apr 18, 2024
44b57e8
wip: expose studio config to processIngestData
Julusian Apr 19, 2024
7b78486
WIP: fix jobworker runIngestUpdateOperationBase
olzzon Jun 13, 2024
b4aceed
WIP: fix add userEdit types to corelib datamodel
olzzon Jun 13, 2024
273071d
WIP: implement user editing in blueplrints integration
olzzon Jun 13, 2024
2809bd4
WIP: implement user editing in jobworker
olzzon Jun 13, 2024
36b5f94
WIP: fix use UserEditing instead of CoreUserEditing
olzzon Jun 13, 2024
7d5488e
WIP: fix import the correct version of ITranslateableMessage (there a…
olzzon Jun 13, 2024
eed4546
WIP: add userEdit Actions
olzzon Jun 13, 2024
889e41e
WIP: create RenderUserEditOperations Component
olzzon Jun 13, 2024
1951267
WIP: convert RenderUserEditOperations to functional component
olzzon Jun 13, 2024
afa462a
WIP: use RenderUserEditOperations in SegmentContextMenu
olzzon Jun 13, 2024
cd6d0ca
WIP: UserEditingType as enum
olzzon Jun 14, 2024
3159b40
Merge branch 'feat/blueprint-processIngestData-ui-impl' into feat/blu…
olzzon Jun 14, 2024
dbaef98
WIP: use UserEditingType in RenderUserEditOperations.tsx
olzzon Jun 14, 2024
2940228
WIP: fix use UserEditingType in RenderUserEditOperations.tsx
olzzon Jun 14, 2024
51f8a3f
WIP: workaround for hover in RenderUserEditOperations.tsx
olzzon Jun 14, 2024
fa1ba0c
WIP: don't render if not activated
olzzon Jun 17, 2024
accf979
WIP: disable userediting if part is an partInstance and segments if s…
olzzon Jun 17, 2024
fd170ff
WIP: use RenderUserEditOperations as inline function asd MenuItem doe…
olzzon Jun 17, 2024
bbf6756
WIP: add IngestChangeTypes Ingest and User
olzzon Jun 18, 2024
d719f24
WIP: fix use isSegmentEditable not part
olzzon Jun 18, 2024
4c509a8
WIP: fix use segment in segment usereditoperations
olzzon Jun 18, 2024
e92e614
fix: update SofieIngestDataCache when Segment rank or externalId changes
Julusian Jun 25, 2024
3df29e3
chore: fix test
Julusian Jun 25, 2024
ebcd45b
WIP: add protectFromUserEdits option in Segment, Part & Piece
olzzon Jun 28, 2024
703fcdf
WIP: add protectFromUserEdits in structure
olzzon Jun 28, 2024
40050d6
WIP: let protectFromUserEdits prevent editing in UI
olzzon Jun 28, 2024
5d61929
WIP: rename and split IngestDataCache into NRCS and Sofie
olzzon Jul 22, 2024
2630aae
WIP: change protectFromUserEdits to ProtectFromNRCSUpdates
olzzon Jul 22, 2024
dbb9ca9
WIP: don't export IngestDataCacheObjBase
olzzon Jul 22, 2024
7b1abd7
WIP: implementing setSegment/PartUserEditState()
olzzon Jul 23, 2024
0ba6db9
WIP: userEditStates available from BP - and convert protectedFromNrcs…
olzzon Jul 24, 2024
972d004
WIP: fix rename gortgotten protectedFromNrcsUpdates to userEditStates
olzzon Jul 24, 2024
6b10869
WIP: fix get userEditStates in part and rundownimpl
olzzon Jul 24, 2024
b858582
WIP: implement BP getPArt/SegemtnUserEditStates
olzzon Jul 24, 2024
7d794ec
WIP: hipe userEditStates from BP (use getXXXX instead)
olzzon Jul 24, 2024
b4b78f5
WIP: fix getSegmentUserEditState didn't return bool
olzzon Jul 24, 2024
522ac17
WIP: fix getSegment/PartUserEditState should not have state in arg
olzzon Jul 24, 2024
10c0ea1
WIP: rename fix segment->part
olzzon Jul 24, 2024
88f1bcf
WIP: add svgIcons support in UserEditing Actions
olzzon Aug 6, 2024
f737605
WIP: remove _name from segement externalId, so it's possible to lock …
olzzon Aug 14, 2024
d9d59a9
Merge remote-tracking branch 'upstream/release51' into feat/blueprint…
olzzon Aug 15, 2024
117cb0f
types and prop changes after merge
olzzon Aug 15, 2024
829abcb
these two functions has non functional hacks
olzzon Aug 15, 2024
172ab4d
merging: fix test createRundown add rundownSource
olzzon Aug 15, 2024
ca6f4f4
fix: handleCreateAdlibTestingRundownForShowStyleVariant
Julusian Aug 15, 2024
9bb8e35
fix: propogate rundownSource through new ingest flow
Julusian Aug 15, 2024
78aaba5
Merge branch 'release51' into feat/blueprint-processIngestData
Julusian Sep 20, 2024
c2e27fc
wip
Julusian Sep 20, 2024
5149f72
chore: fix some type errors
Julusian Sep 23, 2024
96f593e
wip: rename userEdits to userEditOperations. avoid some type casts
Julusian Sep 24, 2024
ee1e698
Update packages/corelib/src/snapshots.ts
Julusian Sep 24, 2024
5611cb2
wip: better split and tidy types
Julusian Sep 24, 2024
abb97c4
wip
Julusian Sep 24, 2024
52995fa
wip: fix some types
Julusian Sep 24, 2024
c9222fa
fix: bad flow causing property wiping
Julusian Sep 26, 2024
936879d
wip: fix tests
Julusian Sep 26, 2024
cc250f0
wip: fix tests
Julusian Sep 26, 2024
c1a332d
wip: fix test
Julusian Sep 26, 2024
0cbe31e
chore: fix type
Julusian Sep 26, 2024
a4523dc
Merge remote-tracking branch 'upstream/release51' into feat/blueprint…
Julusian Sep 27, 2024
c01ad42
fix: part contents not being diffed
Julusian Sep 27, 2024
8483c41
fix: not persisting part userEditStates
Julusian Sep 27, 2024
457dd88
fix: bad type
Julusian Sep 27, 2024
a83fed9
fix: better types
Julusian Sep 30, 2024
4c8e016
feat: make ingest types generic, to allow better code flows
Julusian Sep 30, 2024
02da530
fix tests
Julusian Sep 30, 2024
6caafdc
fix test
Julusian Sep 30, 2024
839ef3a
chore: missed types
Julusian Sep 30, 2024
27b245d
wip: replace `userEditStates` on sofie types and replace with `isActi…
Julusian Sep 30, 2024
a17fc1b
Merge branch 'bbc-release52' into feat/blueprint-processIngestData
Julusian Sep 30, 2024
eeffe48
fix: move file
Julusian Sep 30, 2024
b42666b
add userEdit states indication in menu
olzzon Sep 5, 2024
27345ad
add userEdit SVG icons in segments
olzzon Sep 5, 2024
3248aec
wip: update for types
Julusian Sep 30, 2024
85d66e7
Merge branch 'bbc-release52' into feat/blueprint-processIngestData
Julusian Sep 30, 2024
e4fd2ef
fix: bad merge
Julusian Sep 30, 2024
9bfc683
chore: tidying/docs
Julusian Sep 30, 2024
9415f69
chore: add some tests
Julusian Sep 30, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
chore: add SofieIngestDataCache collection
  • Loading branch information
Julusian committed Apr 8, 2024
commit c3a82a42b82d4519e30236aef5672877ec0c7cd2
41 changes: 41 additions & 0 deletions meteor/server/__tests__/cronjobs.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ import {
Snapshots,
UserActionsLog,
Segments,
SofieIngestDataCache,
} from '../collections'
import { IngestCacheType } from '@sofie-automation/corelib/dist/dataModel/IngestDataCache'
import { JSONBlobStringify } from '@sofie-automation/shared-lib/dist/lib/JSONBlob'
Expand Down Expand Up @@ -209,6 +210,46 @@ describe('cronjobs', () => {
})
expect(await NrcsIngestDataCache.findOneAsync(dataCache0Id)).toBeUndefined()
})
testInFiber('Remove SofieIngestDataCache objects that are not connected to any Rundown', async () => {
// Set up a mock rundown, a detached SofieIngestDataCache object and an object attached to the mock rundown
// Detached SofieIngestDataCache object 0
const dataCache0Id = protectString<IngestDataCacheObjId>(getRandomString())
await SofieIngestDataCache.mutableCollection.insertAsync({
_id: dataCache0Id,
data: {
externalId: '',
name: '',
segments: [],
type: '',
},
modified: new Date(2000, 0, 1, 0, 0, 0).getTime(),
// this one is attached to rundown0
rundownId: getRandomId(),
type: IngestCacheType.RUNDOWN,
})
// Attached SofieIngestDataCache object 1
const dataCache1Id = protectString<IngestDataCacheObjId>(getRandomString())
await SofieIngestDataCache.mutableCollection.insertAsync({
_id: dataCache1Id,
data: {
externalId: '',
name: '',
segments: [],
type: '',
},
modified: new Date(2000, 0, 1, 0, 0, 0).getTime(),
// just some random ID
rundownId: rundownId,
type: IngestCacheType.RUNDOWN,
})

await runCronjobs()

expect(await SofieIngestDataCache.findOneAsync(dataCache1Id)).toMatchObject({
_id: dataCache1Id,
})
expect(await SofieIngestDataCache.findOneAsync(dataCache0Id)).toBeUndefined()
})
testInFiber('Removes old PartInstances and PieceInstances', async () => {
// nightlyCronjobInner()

Expand Down
8 changes: 8 additions & 0 deletions meteor/server/api/__tests__/cleanup.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ import {
TranslationsBundles,
PackageContainerStatuses,
TimelineDatastore,
SofieIngestDataCache,
} from '../../collections'
import { Collections } from '../../collections/lib'
import { generateTranslationBundleOriginId } from '../translationsBundles'
Expand Down Expand Up @@ -307,6 +308,13 @@ async function setDefaultDatatoDB(env: DefaultEnvironment, now: number) {
rundownId,
type: '' as any,
})
await SofieIngestDataCache.mutableCollection.insertAsync({
_id: getRandomId(),
data: {} as any,
modified: 0,
rundownId,
type: '' as any,
})
await PackageContainerPackageStatuses.insertAsync({
_id: getRandomId(),
containerId: '',
Expand Down
2 changes: 2 additions & 0 deletions meteor/server/api/cleanup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ import {
UserActionsLog,
Workers,
WorkerThreadStatuses,
SofieIngestDataCache,
} from '../collections'
import { AsyncOnlyMongoCollection, AsyncOnlyReadOnlyMongoCollection } from '../collections/collection'
import { getCollectionKey } from '../collections/lib'
Expand Down Expand Up @@ -275,6 +276,7 @@ export async function cleanupOldDataInner(actuallyCleanup = false): Promise<Coll
}
await ownedByRundownId(AdLibActions)
await ownedByRundownId(AdLibPieces)
await ownedByRundownId(SofieIngestDataCache)
await ownedByRundownId(NrcsIngestDataCache)
;(await ownedByRundownId(Parts)).forEach((id) => removedParts.add(id))
await ownedByRundownId(RundownBaselineAdLibActions)
Expand Down
7 changes: 7 additions & 0 deletions meteor/server/collections/rundown.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,13 @@ registerIndex(NrcsIngestDataCache, {
rundownId: 1,
})

export const SofieIngestDataCache = createAsyncOnlyReadOnlyMongoCollection<IngestDataCacheObj>(
CollectionName.SofieIngestDataCache
)
registerIndex(SofieIngestDataCache, {
rundownId: 1,
})

export const PartInstances = createAsyncOnlyReadOnlyMongoCollection<PartInstance>(CollectionName.PartInstances)
registerIndex(PartInstances, {
rundownId: 1,
Expand Down
3 changes: 2 additions & 1 deletion packages/corelib/src/dataModel/Collections.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ export enum CollectionName {
ExpectedPackageWorkStatuses = 'expectedPackageWorkStatuses',
ExpectedPlayoutItems = 'expectedPlayoutItems',
ExternalMessageQueue = 'externalMessageQueue',
NrcsIngestDataCache = 'ingestDataCache',
NrcsIngestDataCache = 'ingestDataCache', // TODO - change the value of this?
SofieIngestDataCache = 'sofieIngestDataCache',
MediaObjects = 'mediaObjects',
MediaWorkFlows = 'mediaWorkFlows',
MediaWorkFlowSteps = 'mediaWorkFlowSteps',
Expand Down
1 change: 1 addition & 0 deletions packages/corelib/src/snapshots.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ export interface CoreRundownPlaylistSnapshot {
playlist: DBRundownPlaylist
rundowns: Array<DBRundown>
ingestData: Array<IngestDataCacheObj>
sofieIngestData: Array<IngestDataCacheObj> | undefined // Added in 1.51
baselineObjs: Array<RundownBaselineObj>
baselineAdlibs: Array<RundownBaselineAdLibItem>
segments: Array<DBSegment>
Expand Down
2 changes: 2 additions & 0 deletions packages/job-worker/src/__mocks__/collection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,7 @@ export function getMockCollections(): {
BucketAdLibPieces: new MockMongoCollection<BucketAdLib>(CollectionName.BucketAdLibPieces),
ExpectedMediaItems: new MockMongoCollection(CollectionName.ExpectedMediaItems),
ExpectedPlayoutItems: new MockMongoCollection<ExpectedPlayoutItem>(CollectionName.ExpectedPlayoutItems),
SofieIngestDataCache: new MockMongoCollection<IngestDataCacheObj>(CollectionName.SofieIngestDataCache),
NrcsIngestDataCache: new MockMongoCollection<IngestDataCacheObj>(CollectionName.NrcsIngestDataCache),
Parts: new MockMongoCollection<DBPart>(CollectionName.Parts),
PartInstances: new MockMongoCollection<DBPartInstance>(CollectionName.PartInstances),
Expand Down Expand Up @@ -339,6 +340,7 @@ export interface IMockCollections {
BucketAdLibPieces: MockMongoCollection<BucketAdLib>
ExpectedMediaItems: MockMongoCollection<ExpectedMediaItem>
ExpectedPlayoutItems: MockMongoCollection<ExpectedPlayoutItem>
SofieIngestDataCache: MockMongoCollection<IngestDataCacheObj>
NrcsIngestDataCache: MockMongoCollection<IngestDataCacheObj>
Parts: MockMongoCollection<DBPart>
PartInstances: MockMongoCollection<DBPartInstance>
Expand Down
5 changes: 5 additions & 0 deletions packages/job-worker/src/db/collections.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ export interface IDirectCollections {
BucketAdLibPieces: ICollection<BucketAdLib>
ExpectedMediaItems: ICollection<ExpectedMediaItem>
ExpectedPlayoutItems: ICollection<ExpectedPlayoutItem>
SofieIngestDataCache: ICollection<IngestDataCacheObj>
NrcsIngestDataCache: ICollection<IngestDataCacheObj>
Parts: ICollection<DBPart>
PartInstances: ICollection<DBPartInstance>
Expand Down Expand Up @@ -158,6 +159,10 @@ export function getMongoCollections(
database.collection(CollectionName.ExpectedPlayoutItems),
allowWatchers
),
SofieIngestDataCache: wrapMongoCollection(
database.collection(CollectionName.SofieIngestDataCache),
allowWatchers
),
NrcsIngestDataCache: wrapMongoCollection(
database.collection(CollectionName.NrcsIngestDataCache),
allowWatchers
Expand Down
12 changes: 12 additions & 0 deletions packages/job-worker/src/playout/snapshot.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,11 @@ export async function handleGeneratePlaylistSnapshot(
{ rundownId: { $in: rundownIds } },
{ sort: { modified: -1 } }
) // @todo: check sorting order
const sofieIngestData = await context.directCollections.SofieIngestDataCache.findFetch(
{ rundownId: { $in: rundownIds } },
{ sort: { modified: -1 } }
) // @todo: check sorting order

// const userActions = await context.directCollections.UserActionsLog.findFetch({
// args: {
// $regex:
Expand Down Expand Up @@ -120,6 +125,7 @@ export async function handleGeneratePlaylistSnapshot(
playlist,
rundowns,
ingestData,
sofieIngestData,
baselineObjs,
baselineAdlibs,
segments,
Expand Down Expand Up @@ -397,6 +403,12 @@ export async function handleRestorePlaylistSnapshot(
{ rundownId: { $in: rundownIds } },
updateItemIds(snapshot.ingestData, true)
),
saveIntoDb(
context,
context.directCollections.SofieIngestDataCache,
{ rundownId: { $in: rundownIds } },
updateItemIds(snapshot.sofieIngestData || snapshot.ingestData, true)
),
saveIntoDb(
context,
context.directCollections.RundownBaselineObjects,
Expand Down
1 change: 1 addition & 0 deletions packages/job-worker/src/rundownPlaylists.ts
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ export async function removeRundownFromDb(context: JobContext, lock: RundownLock
context.directCollections.ExpectedMediaItems.remove({ rundownId: rundownId }),
context.directCollections.ExpectedPlayoutItems.remove({ rundownId: rundownId }),
context.directCollections.ExpectedPackages.remove({ rundownId: rundownId }),
context.directCollections.SofieIngestDataCache.remove({ rundownId: rundownId }),
context.directCollections.NrcsIngestDataCache.remove({ rundownId: rundownId }),
context.directCollections.RundownBaselineAdLibPieces.remove({ rundownId: rundownId }),
context.directCollections.Segments.remove({ rundownId: rundownId }),
Expand Down