diff --git a/meteor/__mocks__/helpers/database.ts b/meteor/__mocks__/helpers/database.ts index e07522b9fb..1f1b6d1ff8 100644 --- a/meteor/__mocks__/helpers/database.ts +++ b/meteor/__mocks__/helpers/database.ts @@ -435,7 +435,7 @@ export async function setupMockShowStyleBlueprint( name: ingestRundown.name, // expectedStart?: // expectedDuration?: number; - metaData: ingestRundown.payload, + privateData: ingestRundown.payload, timing: { type: 'none' as any, }, @@ -455,7 +455,7 @@ export async function setupMockShowStyleBlueprint( getSegment: (_context: unknown, ingestSegment: IngestSegment): BlueprintResultSegment => { const segment: IBlueprintSegment = { name: ingestSegment.name ? ingestSegment.name : ingestSegment.externalId, - metaData: ingestSegment.payload, + privateData: ingestSegment.payload, isHidden: ingestSegment.payload?.hidden, } const parts: BlueprintResultPart[] = [] @@ -464,7 +464,7 @@ export async function setupMockShowStyleBlueprint( const part: IBlueprintPart = { externalId: ingestPart.externalId, title: ingestPart.name, - metaData: ingestPart.payload, + privateData: ingestPart.payload, // autoNext?: boolean; // autoNextOverlap?: number; // prerollDuration?: number; diff --git a/meteor/client/ui/MediaStatus/MediaStatus.tsx b/meteor/client/ui/MediaStatus/MediaStatus.tsx index efe6058028..f75904f10e 100644 --- a/meteor/client/ui/MediaStatus/MediaStatus.tsx +++ b/meteor/client/ui/MediaStatus/MediaStatus.tsx @@ -94,7 +94,7 @@ function useRundownPlaylists(playlistIds: RundownPlaylistId[]) { holdState: 0, lastIncorrectPartPlaybackReported: 0, lastTakeTime: 0, - metaData: 0, + privateData: 0, modified: 0, nextPartInfo: 0, queuedSegmentId: 0, @@ -121,7 +121,7 @@ function useRundownPlaylists(playlistIds: RundownPlaylistId[]) { displayAs: 0, externalId: 0, externalModified: 0, - metaData: 0, + privateData: 0, notes: 0, segmentTiming: 0, showShelf: 0, diff --git a/meteor/client/ui/Shelf/Inspector/ItemRenderers/DefaultItemRenderer.tsx b/meteor/client/ui/Shelf/Inspector/ItemRenderers/DefaultItemRenderer.tsx index 44132202e2..d09f2f3713 100644 --- a/meteor/client/ui/Shelf/Inspector/ItemRenderers/DefaultItemRenderer.tsx +++ b/meteor/client/ui/Shelf/Inspector/ItemRenderers/DefaultItemRenderer.tsx @@ -41,8 +41,8 @@ export default function DefaultItemRenderer(
{piece.sourceLayerId}
outputLayerId
{piece.outputLayerId}
-
metaData
-
{JSON.stringify(piece.metaData || {})}
+
publicData
+
{JSON.stringify(piece.publicData || {})}
) @@ -66,8 +66,8 @@ export default function DefaultItemRenderer(
{piece.sourceLayerId}
outputLayerId
{piece.outputLayerId}
-
metaData
-
{JSON.stringify(piece.metaData || {})}
+
publicData
+
{JSON.stringify(piece.publicData || {})}
) diff --git a/meteor/server/api/rest/v1/playlists.ts b/meteor/server/api/rest/v1/playlists.ts index 7fa1dcfb47..644820749f 100644 --- a/meteor/server/api/rest/v1/playlists.ts +++ b/meteor/server/api/rest/v1/playlists.ts @@ -109,10 +109,10 @@ class PlaylistsServerAPI implements PlaylistsRestAPI { segmentAdLibPiece, bucketAdLibPiece, AdLibActions.findOneAsync(adLibId as AdLibActionId, { - projection: { _id: 1, actionId: 1, userData: 1 }, + projection: { _id: 1, actionId: 1, userData: 1, privateData: 1 }, }), RundownBaselineAdLibActions.findOneAsync(adLibId as RundownBaselineAdLibActionId, { - projection: { _id: 1, actionId: 1, userData: 1 }, + projection: { _id: 1, actionId: 1, userData: 1, privateData: 1 }, }), ] ) @@ -204,6 +204,7 @@ class PlaylistsServerAPI implements PlaylistsRestAPI { actionId: adLibActionDoc.actionId, userData: adLibActionDoc.userData, triggerMode: triggerMode ?? undefined, + privateData: adLibActionDoc.privateData, } ) } else { diff --git a/meteor/server/api/userActions.ts b/meteor/server/api/userActions.ts index d37c0acbb1..64d342fd32 100644 --- a/meteor/server/api/userActions.ts +++ b/meteor/server/api/userActions.ts @@ -414,7 +414,8 @@ class ServerUserActionAPI actionDocId, actionId, userData, - triggerMode: triggerMode || undefined, + triggerMode: triggerMode ?? undefined, + privateData: null, } ) } diff --git a/meteor/server/publications/pieceContentStatusUI/__tests__/checkPieceContentStatus.test.ts b/meteor/server/publications/pieceContentStatusUI/__tests__/checkPieceContentStatus.test.ts index 87e04f7a95..2bccbdc04d 100644 --- a/meteor/server/publications/pieceContentStatusUI/__tests__/checkPieceContentStatus.test.ts +++ b/meteor/server/publications/pieceContentStatusUI/__tests__/checkPieceContentStatus.test.ts @@ -260,7 +260,7 @@ describe('lib/mediaObjects', () => { prerollDuration: 0, externalId: '', lifespan: PieceLifespan.WithinPart, - metaData: {}, + privateData: {}, outputLayerId: '', sourceLayerId: '', content: literal({ @@ -347,7 +347,7 @@ describe('lib/mediaObjects', () => { prerollDuration: 0, externalId: '', lifespan: PieceLifespan.WithinPart, - metaData: {}, + privateData: {}, outputLayerId: '', sourceLayerId: '', content: literal({ @@ -363,7 +363,7 @@ describe('lib/mediaObjects', () => { prerollDuration: 0, externalId: '', lifespan: PieceLifespan.WithinPart, - metaData: {}, + privateData: {}, outputLayerId: '', sourceLayerId: '', content: literal({ diff --git a/meteor/server/publications/rundown.ts b/meteor/server/publications/rundown.ts index a20890f278..1b38b55221 100644 --- a/meteor/server/publications/rundown.ts +++ b/meteor/server/publications/rundown.ts @@ -69,7 +69,7 @@ meteorPublish(PeripheralDevicePubSub.rundownsForDevice, async function (deviceId const modifier: FindOptions = { fields: { - metaData: 0, + privateData: 0, }, } @@ -97,7 +97,7 @@ meteorPublish( const modifier: FindOptions = { fields: { - metaData: 0, + privateData: 0, }, } @@ -131,7 +131,7 @@ meteorPublish( const modifier: FindOptions = { fields: { - metaData: 0, + privateData: 0, }, } @@ -167,7 +167,7 @@ meteorPublish( ) { return Segments.findWithCursor(selector, { fields: { - metaData: 0, + privateData: 0, }, }) } @@ -186,7 +186,7 @@ meteorPublish( const modifier: FindOptions = { fields: { - metaData: 0, + privateData: 0, }, } @@ -222,7 +222,7 @@ meteorPublish( const modifier: FindOptions = { fields: { // @ts-expect-error Mongo typings aren't clever enough yet - 'part.metaData': 0, + 'part.privateData': 0, }, } @@ -266,7 +266,7 @@ meteorPublish( return PartInstances.findWithCursor(selector, { fields: literal>({ // @ts-expect-error Mongo typings aren't clever enough yet - 'part.metaData': 0, + 'part.privateData': 0, isTaken: 0, timings: 0, }), @@ -293,7 +293,7 @@ meteorPublish( { fields: { // @ts-expect-error Mongo typings aren't clever enough yet - 'part.metaData': 0, + 'part.privateData': 0, }, sort: { takeCount: 1, @@ -307,7 +307,7 @@ meteorPublish( ) const piecesSubFields: MongoFieldSpecifierZeroes = { - metaData: 0, + privateData: 0, timelineObjectsString: 0, } @@ -382,7 +382,7 @@ meteorPublish( ) const adlibPiecesSubFields: MongoFieldSpecifierZeroes = { - metaData: 0, + privateData: 0, timelineObjectsString: 0, } @@ -425,7 +425,7 @@ meteorPublish(MeteorPubSub.adLibPiecesForPart, async function (partId: PartId, s const pieceInstanceFields: MongoFieldSpecifierZeroes = { // @ts-expect-error Mongo typings aren't clever enough yet - 'piece.metaData': 0, + 'piece.privateData': 0, 'piece.timelineObjectsString': 0, } @@ -592,12 +592,18 @@ meteorPublish( return RundownBaselineAdLibPieces.findWithCursor(selector, { fields: { timelineObjectsString: 0, + privateData: 0, }, }) } return null } ) + +const adlibActionSubFields: MongoFieldSpecifierZeroes = { + privateData: 0, +} + meteorPublish(CorelibPubSub.adLibActions, async function (rundownIds: RundownId[], token: string | undefined) { check(rundownIds, Array) @@ -611,7 +617,9 @@ meteorPublish(CorelibPubSub.adLibActions, async function (rundownIds: RundownId[ NoSecurityReadAccess.any() || (await RundownReadAccess.rundownContent(selector.rundownId, { userId: this.userId, token })) ) { - return AdLibActions.findWithCursor(selector) + return AdLibActions.findWithCursor(selector, { + fields: adlibActionSubFields, + }) } return null }) @@ -622,10 +630,15 @@ meteorPublish(MeteorPubSub.adLibActionsForPart, async function (partId: PartId, // Future: This needs some thought for a security enabled environment if (!NoSecurityReadAccess.any()) return null - return AdLibActions.findWithCursor({ - partId, - 'display.sourceLayerId': { $in: sourceLayerIds }, - }) + return AdLibActions.findWithCursor( + { + partId, + 'display.sourceLayerId': { $in: sourceLayerIds }, + }, + { + fields: adlibActionSubFields, + } + ) }) meteorPublish( @@ -643,7 +656,9 @@ meteorPublish( NoSecurityReadAccess.any() || (await RundownReadAccess.rundownContent(selector.rundownId, { userId: this.userId, token })) ) { - return RundownBaselineAdLibActions.findWithCursor(selector) + return RundownBaselineAdLibActions.findWithCursor(selector, { + fields: adlibActionSubFields, + }) } return null } diff --git a/packages/blueprints-integration/src/action.ts b/packages/blueprints-integration/src/action.ts index 6eda749774..2639f7f8ef 100644 --- a/packages/blueprints-integration/src/action.ts +++ b/packages/blueprints-integration/src/action.ts @@ -65,7 +65,7 @@ export interface IBlueprintActionTriggerMode { } } -export interface IBlueprintActionManifest { +export interface IBlueprintActionManifest { /** * An identifier for this Action * It should be unique within the part it belongs to, and consistent across ingest updates @@ -74,9 +74,16 @@ export interface IBlueprintActionManifest { /** Id of the action */ actionId: string - /** Properties defining the action behaviour */ + /** Arbitraty data storage for internal use in the blueprints */ + privateData?: TPrivateData + /** Arbitraty data relevant for other systems, made available to them through APIs */ + publicData?: TPublicData + /** + * Arbitrary data relevant for other systems and/or users, available through APIs. + * It can be overriden when executing the action. + * It can be made user-editable with userDataManifest. + */ userData: ActionUserData - /** * Set if ad-lib action should be limited in context to the current part/segment * Note: Only valid for items returned from getSegment diff --git a/packages/blueprints-integration/src/api/showStyle.ts b/packages/blueprints-integration/src/api/showStyle.ts index b6d53e80ef..f56318089b 100644 --- a/packages/blueprints-integration/src/api/showStyle.ts +++ b/packages/blueprints-integration/src/api/showStyle.ts @@ -118,7 +118,8 @@ export interface ShowStyleBlueprintManifest Promise /** Generate adlib piece from ingest data */ diff --git a/packages/blueprints-integration/src/documents/part.ts b/packages/blueprints-integration/src/documents/part.ts index 1097e6ec0e..f18a10cc37 100644 --- a/packages/blueprints-integration/src/documents/part.ts +++ b/packages/blueprints-integration/src/documents/part.ts @@ -23,7 +23,7 @@ export enum PartHoldMode { TO = 2, } -export interface IBlueprintMutatablePart { +export interface IBlueprintMutatablePart { /** The story title */ title: string /** @@ -32,8 +32,10 @@ export interface IBlueprintMutatablePart { */ prompterTitle?: string - /** Arbitrary data storage for plugins */ - metaData?: TMetadata + /** Arbitraty data storage for internal use in the blueprints */ + privateData?: TPrivateData + /** Arbitraty data relevant for other systems, made available to them through APIs */ + publicData?: TPublicData /** Should this item should progress to the next automatically */ autoNext?: boolean diff --git a/packages/blueprints-integration/src/documents/pieceGeneric.ts b/packages/blueprints-integration/src/documents/pieceGeneric.ts index 9874aead46..32161577c3 100644 --- a/packages/blueprints-integration/src/documents/pieceGeneric.ts +++ b/packages/blueprints-integration/src/documents/pieceGeneric.ts @@ -26,7 +26,7 @@ export interface IBlueprintDirectPlayAdLibAction extends IBlueprintDirectPlayBas } export type IBlueprintDirectPlay = IBlueprintDirectPlayAdLibPiece | IBlueprintDirectPlayAdLibAction -export interface IBlueprintPieceGeneric { +export interface IBlueprintPieceGeneric { /** * An identifier for this Piece * It should be unique within the part it belongs to, and consistent across ingest updates @@ -34,8 +34,10 @@ export interface IBlueprintPieceGeneric { externalId: string /** User-presentable name for the timeline item */ name: string - /** Arbitrary data storage for plugins */ - metaData?: TMetadata + /** Arbitraty data storage for internal use in the blueprints */ + privateData?: TPrivateData + /** Arbitraty data relevant for other systems, made available to them through APIs */ + publicData?: TPublicData /** Whether and how the piece is infinite */ lifespan: PieceLifespan diff --git a/packages/blueprints-integration/src/documents/rundown.ts b/packages/blueprints-integration/src/documents/rundown.ts index d06d23594c..abe188d325 100644 --- a/packages/blueprints-integration/src/documents/rundown.ts +++ b/packages/blueprints-integration/src/documents/rundown.ts @@ -2,7 +2,7 @@ import type { RundownPlaylistTiming } from './playlistTiming' /** The Rundown generated from Blueprint */ -export interface IBlueprintRundown { +export interface IBlueprintRundown { externalId: string /** Rundown slug - user-presentable name */ name: string @@ -13,8 +13,10 @@ export interface IBlueprintRundown { /** Rundown timing information */ timing: RundownPlaylistTiming - /** Arbitrary data storage for plugins */ - metaData?: TMetadata + /** Arbitraty data storage for internal use in the blueprints */ + privateData?: TPrivateData + /** Arbitraty data relevant for other systems, made available to them through APIs */ + publicData?: TPublicData /** A hint to the Core that the Rundown should be a part of a playlist */ playlistExternalId?: string @@ -45,9 +47,11 @@ export interface IBlueprintRundownDBData { airStatus?: string } -export interface IBlueprintSegmentRundown { +export interface IBlueprintSegmentRundown { externalId: string - /** Arbitrary data storage for plugins */ - metaData?: TMetadata + /** Arbitraty data storage for internal use in the blueprints */ + privateData?: TPrivateData + /** Arbitraty data relevant for other systems, made available to them through APIs */ + publicData?: TPublicData } diff --git a/packages/blueprints-integration/src/documents/rundownPlaylist.ts b/packages/blueprints-integration/src/documents/rundownPlaylist.ts index 11947fce43..b4199dbc8d 100644 --- a/packages/blueprints-integration/src/documents/rundownPlaylist.ts +++ b/packages/blueprints-integration/src/documents/rundownPlaylist.ts @@ -16,8 +16,10 @@ export interface IBlueprintResultRundownPlaylist { /** Should time-of-day clocks be used instead of countdowns by default */ timeOfDayCountdowns?: boolean - /** Arbitraty data used by rundowns */ - metaData?: unknown + /** Arbitraty data storage for internal use in the blueprints */ + privateData?: unknown + /** Arbitraty data relevant for other systems and exposed to them via APIs */ + publicData?: unknown } /** Playlist, when reported from Core */ diff --git a/packages/blueprints-integration/src/documents/segment.ts b/packages/blueprints-integration/src/documents/segment.ts index 841d450e26..dcacf03339 100644 --- a/packages/blueprints-integration/src/documents/segment.ts +++ b/packages/blueprints-integration/src/documents/segment.ts @@ -13,11 +13,13 @@ export interface SegmentTimingInfo { } /** The Segment generated from Blueprint */ -export interface IBlueprintSegment { +export interface IBlueprintSegment { /** User-presentable name (Slug) for the Title */ name: string - /** Arbitrary data storage for plugins */ - metaData?: TMetadata + /** Arbitraty data storage for internal use in the blueprints */ + privateData?: TPrivateData + /** Arbitraty data relevant for other systems, made available to them through APIs */ + publicData?: TPublicData /** Hide the Segment in the UI */ isHidden?: boolean /** User-facing identifier that can be used by the User to identify the contents of a segment in the Rundown source system */ diff --git a/packages/corelib/src/dataModel/Rundown.ts b/packages/corelib/src/dataModel/Rundown.ts index 2eb95fd633..e67d95635b 100644 --- a/packages/corelib/src/dataModel/Rundown.ts +++ b/packages/corelib/src/dataModel/Rundown.ts @@ -74,8 +74,10 @@ export interface Rundown { /** Rundown timing information */ timing: RundownPlaylistTiming - /** Arbitrary data storage for plugins */ - metaData?: unknown + /** Arbitraty data storage for internal use in the blueprints */ + privateData?: unknown + /** Arbitraty data relevant for other systems, made available to them through APIs */ + publicData?: unknown /** External id of the Rundown Playlist to put this rundown in */ playlistExternalId?: string diff --git a/packages/corelib/src/dataModel/RundownPlaylist.ts b/packages/corelib/src/dataModel/RundownPlaylist.ts index dc662cc7dc..58511757f2 100644 --- a/packages/corelib/src/dataModel/RundownPlaylist.ts +++ b/packages/corelib/src/dataModel/RundownPlaylist.ts @@ -75,8 +75,10 @@ export interface DBRundownPlaylist { outOfOrderTiming?: boolean /** Should time-of-day clocks be used instead of countdowns by default */ timeOfDayCountdowns?: boolean - /** Arbitraty data used by rundowns */ - metaData?: unknown + /** Arbitraty data storage for internal use in the blueprints */ + privateData?: unknown + /** Arbitraty data relevant for other systems and exposed to them via APIs */ + publicData?: unknown /** the id of the Live Part - if empty, no part in this rundown is live */ currentPartInfo: SelectedPartInstance | null diff --git a/packages/corelib/src/dataModel/Segment.ts b/packages/corelib/src/dataModel/Segment.ts index 3481a0daf4..feb25892f6 100644 --- a/packages/corelib/src/dataModel/Segment.ts +++ b/packages/corelib/src/dataModel/Segment.ts @@ -29,8 +29,10 @@ export interface DBSegment { /** User-presentable name (Slug) for the Title */ name: string - /** Arbitrary data storage for plugins */ - metaData?: unknown + /** Arbitraty data storage for internal use in the blueprints */ + privateData?: unknown + /** Arbitraty data relevant for other systems, made available to them through APIs */ + publicData?: unknown /** Hide the Segment in the UI */ isHidden?: boolean /** User-facing identifier that can be used by the User to identify the contents of a segment in the Rundown source system */ diff --git a/packages/corelib/src/worker/studio.ts b/packages/corelib/src/worker/studio.ts index b0be32fe3e..ca32dbe9ee 100644 --- a/packages/corelib/src/worker/studio.ts +++ b/packages/corelib/src/worker/studio.ts @@ -1,6 +1,7 @@ import { PlayoutChangedResults } from '@sofie-automation/shared-lib/dist/peripheralDevice/peripheralDeviceAPI' import { AdLibActionId, + BucketAdLibActionId, BucketId, PartId, PartInstanceId, @@ -237,10 +238,16 @@ export interface QueueNextSegmentProps extends RundownPlayoutPropsBase { } export type QueueNextSegmentResult = { nextPartId: PartId } | { queuedSegmentId: SegmentId | null } export interface ExecuteActionProps extends RundownPlayoutPropsBase { - actionDocId: AdLibActionId | RundownBaselineAdLibActionId | null + actionDocId: AdLibActionId | RundownBaselineAdLibActionId | BucketAdLibActionId actionId: string userData: any triggerMode?: string + privateData?: unknown | undefined | null +} +export interface ExecuteBucketAdLibOrActionProps extends RundownPlayoutPropsBase { + bucketId: BucketId + externalId: string + triggerMode?: string } export interface ExecuteBucketAdLibOrActionProps extends RundownPlayoutPropsBase { bucketId: BucketId diff --git a/packages/job-worker/src/__mocks__/context.ts b/packages/job-worker/src/__mocks__/context.ts index 5ca56aeb2e..7b25eb40fa 100644 --- a/packages/job-worker/src/__mocks__/context.ts +++ b/packages/job-worker/src/__mocks__/context.ts @@ -300,7 +300,7 @@ const MockShowStyleBlueprint: () => ShowStyleBlueprintManifest = () => ({ name: ingestRundown.name, // expectedStart?: // expectedDuration?: number; - metaData: { + privateData: { payload: ingestRundown.payload, airStatus: ingestRundown.coreData?.airStatus, }, @@ -323,7 +323,7 @@ const MockShowStyleBlueprint: () => ShowStyleBlueprintManifest = () => ({ getSegment: (_context: ISegmentUserContext, ingestSegment: IngestSegment): BlueprintResultSegment => { const segment: IBlueprintSegment = { name: ingestSegment.name ? ingestSegment.name : ingestSegment.externalId, - metaData: ingestSegment.payload, + privateData: ingestSegment.payload, isHidden: ingestSegment.payload?.hidden, } const parts: BlueprintResultPart[] = [] @@ -332,7 +332,7 @@ const MockShowStyleBlueprint: () => ShowStyleBlueprintManifest = () => ({ const part: IBlueprintPart = { externalId: ingestPart.externalId, title: ingestPart.name, - metaData: ingestPart.payload, + privateData: ingestPart.payload, // autoNext?: boolean; // autoNextOverlap?: number; // prerollDuration?: number; diff --git a/packages/job-worker/src/blueprints/__tests__/context-adlibActions.test.ts b/packages/job-worker/src/blueprints/__tests__/context-adlibActions.test.ts index 34e7eee3a7..2aea5a24db 100644 --- a/packages/job-worker/src/blueprints/__tests__/context-adlibActions.test.ts +++ b/packages/job-worker/src/blueprints/__tests__/context-adlibActions.test.ts @@ -676,7 +676,7 @@ describe('Test blueprint api context', () => { }) }) - test('pieceMetaDataFilter', async () => { + test('piecePrivateDataFilter', async () => { const { jobContext, playlistId, allPartInstances } = await setupMyDefaultRundown() await setPartInstances(jobContext, playlistId, allPartInstances[2], undefined) @@ -724,7 +724,7 @@ describe('Test blueprint api context', () => { sourceLayerId: sourceLayerIds[0], outputLayerId: '', enable: { start: 0 }, - metaData: { + privateData: { prop1: 'hello', prop2: '5', }, @@ -745,16 +745,16 @@ describe('Test blueprint api context', () => { _id: insertedPieceInstance2.pieceInstance._id, }) await expect( - context.findLastPieceOnLayer(sourceLayerIds[0], { pieceMetaDataFilter: {} }) + context.findLastPieceOnLayer(sourceLayerIds[0], { piecePrivateDataFilter: {} }) ).resolves.toMatchObject({ _id: insertedPieceInstance2.pieceInstance._id, }) await expect( - context.findLastPieceOnLayer(sourceLayerIds[0], { pieceMetaDataFilter: { prop1: 'hello' } }) + context.findLastPieceOnLayer(sourceLayerIds[0], { piecePrivateDataFilter: { prop1: 'hello' } }) ).resolves.toMatchObject({ _id: insertedPieceInstance2.pieceInstance._id }) await expect( context.findLastPieceOnLayer(sourceLayerIds[0], { - pieceMetaDataFilter: { prop1: { $ne: 'hello' } }, + piecePrivateDataFilter: { prop1: { $ne: 'hello' } }, }) ).resolves.toMatchObject({ _id: insertedPieceInstance.pieceInstance._id }) }) diff --git a/packages/job-worker/src/blueprints/context/adlibActions.ts b/packages/job-worker/src/blueprints/context/adlibActions.ts index 993d7f61b6..a78f68f820 100644 --- a/packages/job-worker/src/blueprints/context/adlibActions.ts +++ b/packages/job-worker/src/blueprints/context/adlibActions.ts @@ -188,15 +188,15 @@ export class ActionExecutionContext extends ShowStyleUserContext implements IAct options?: { excludeCurrentPart?: boolean originalOnly?: boolean - pieceMetaDataFilter?: any + piecePrivateDataFilter?: any } ): Promise { const query: MongoQuery = {} - if (options?.pieceMetaDataFilter) { - for (const [key, value] of Object.entries(options.pieceMetaDataFilter)) { + if (options?.piecePrivateDataFilter) { + for (const [key, value] of Object.entries(options.piecePrivateDataFilter)) { // TODO do we need better validation here? // It should be pretty safe as we are working with the in-memory version (for now) - query[`piece.metaData.${key}`] = value + query[`piece.privateData.${key}`] = value } } @@ -221,15 +221,15 @@ export class ActionExecutionContext extends ShowStyleUserContext implements IAct sourceLayerId0: string | string[], options?: { excludeCurrentPart?: boolean - pieceMetaDataFilter?: any + piecePrivateDataFilter?: any } ): Promise { const query: MongoQuery = {} - if (options?.pieceMetaDataFilter) { - for (const [key, value] of Object.entries(options.pieceMetaDataFilter)) { + if (options?.piecePrivateDataFilter) { + for (const [key, value] of Object.entries(options.piecePrivateDataFilter)) { // TODO do we need better validation here? // It should be pretty safe as we are working with the in-memory version (for now) - query[`metaData.${key}`] = value + query[`privateData.${key}`] = value } } diff --git a/packages/job-worker/src/blueprints/context/lib.ts b/packages/job-worker/src/blueprints/context/lib.ts index 1df268ae94..19811519d1 100644 --- a/packages/job-worker/src/blueprints/context/lib.ts +++ b/packages/job-worker/src/blueprints/context/lib.ts @@ -64,7 +64,8 @@ export const IBlueprintPieceObjectsSampleKeys = allKeysOfObject pieceType: true, extendOnHold: true, name: true, - metaData: true, + privateData: true, + publicData: true, sourceLayerId: true, outputLayerId: true, content: true, @@ -85,7 +86,8 @@ export const IBlueprintPieceObjectsSampleKeys = allKeysOfObject export const IBlueprintMutatablePartSampleKeys = allKeysOfObject({ title: true, prompterTitle: true, - metaData: true, + privateData: true, + publicData: true, autoNext: true, autoNextOverlap: true, inTransition: true, @@ -182,7 +184,8 @@ function convertPieceGenericToBlueprintsInner(piece: ReadonlyDeep) const obj: Complete = { externalId: piece.externalId, name: piece.name, - metaData: clone(piece.metaData), + privateData: clone(piece.privateData), + publicData: clone(piece.publicData), lifespan: piece.lifespan, sourceLayerId: piece.sourceLayerId, outputLayerId: piece.outputLayerId, @@ -240,7 +243,8 @@ export function convertPartToBlueprints(part: ReadonlyDeep): IBlueprintP gap: part.gap, title: part.title, prompterTitle: part.prompterTitle, - metaData: clone(part.metaData), + privateData: clone(part.privateData), + publicData: clone(part.publicData), autoNext: part.autoNext, autoNextOverlap: part.autoNextOverlap, inTransition: clone(part.inTransition), @@ -295,6 +299,8 @@ export function convertAdLibActionToBlueprints(action: ReadonlyDeep externalId: action.externalId, actionId: action.actionId, userData: clone(action.userData), + privateData: clone(action.privateData), + publicData: clone(action.publicData), partId: unprotectString(action.partId), allVariants: action.allVariants, userDataManifest: clone(action.userDataManifest), @@ -316,7 +322,8 @@ export function convertSegmentToBlueprints(segment: ReadonlyDeep): IB const obj: Complete = { _id: unprotectString(segment._id), name: segment.name, - metaData: clone(segment.metaData), + privateData: clone(segment.privateData), + publicData: clone(segment.publicData), isHidden: segment.isHidden, identifier: segment.identifier, displayAs: segment.displayAs, @@ -338,7 +345,8 @@ export function convertRundownToBlueprints(rundown: ReadonlyDeep): IB name: rundown.name, description: rundown.description, timing: clone(rundown.timing), - metaData: clone(rundown.metaData), + privateData: clone(rundown.privateData), + publicData: clone(rundown.publicData), playlistExternalId: rundown.playlistExternalId, endOfRundownIsShowBreak: rundown.endOfRundownIsShowBreak, _id: unprotectString(rundown._id), @@ -361,7 +369,8 @@ export function convertRundownToBlueprintSegmentRundown( ): IBlueprintSegmentRundown { const obj: Complete = { externalId: rundown.externalId, - metaData: skipClone ? rundown.metaData : clone(rundown.metaData), + privateData: skipClone ? rundown.privateData : clone(rundown.privateData), + publicData: skipClone ? rundown.publicData : clone(rundown.publicData), } return obj @@ -386,7 +395,8 @@ export function convertRundownPlaylistToBlueprints( loop: playlist.loop, timeOfDayCountdowns: playlist.timeOfDayCountdowns, - metaData: clone(playlist.metaData), + privateData: clone(playlist.privateData), + publicData: clone(playlist.publicData), _id: unprotectString(playlist._id), externalId: playlist.externalId, diff --git a/packages/job-worker/src/ingest/mosDevice/__tests__/__snapshots__/mosIngest.test.ts.snap b/packages/job-worker/src/ingest/mosDevice/__tests__/__snapshots__/mosIngest.test.ts.snap index 71bf1758ca..39d8056d6d 100644 --- a/packages/job-worker/src/ingest/mosDevice/__tests__/__snapshots__/mosIngest.test.ts.snap +++ b/packages/job-worker/src/ingest/mosDevice/__tests__/__snapshots__/mosIngest.test.ts.snap @@ -34,7 +34,13 @@ exports[`Test recieved mos ingest payloads mosRoCreate 2`] = ` "showStyleVariant": "", "studio": "asdf", }, - "metaData": { + "modified": 0, + "name": "All effect1 into clip combinations", + "notes": [], + "organizationId": null, + "peripheralDeviceId": "mockDevice0", + "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", + "privateData": { "payload": { "EditorialDuration": { "_mosDuration": 540, @@ -153,12 +159,6 @@ exports[`Test recieved mos ingest payloads mosRoCreate 2`] = ` ], }, }, - "modified": 0, - "name": "All effect1 into clip combinations", - "notes": [], - "organizationId": null, - "peripheralDeviceId": "mockDevice0", - "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", "showStyleBaseId": "mockShowStyleBase0", "showStyleVariantId": "mockShowStyleVariant0", "studioId": "mockStudio4", @@ -215,8 +215,8 @@ exports[`Test recieved mos ingest payloads mosRoCreate 4`] = ` "_id": "oU9pRUl9bAEUmAuKHrdzRERDOMo_", "_rank": 1, "externalId": "ro1;s3;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART2", @@ -225,8 +225,8 @@ exports[`Test recieved mos ingest payloads mosRoCreate 4`] = ` "_id": "ghxL_vkAoa2R8iiCYqW_UcGe1e8_", "_rank": 0, "externalId": "ro1;s4;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "XF9ZBDI5IouvkmTbounEfoJ6ijY_", "title": "SEGMENT2;PART3", @@ -235,8 +235,8 @@ exports[`Test recieved mos ingest payloads mosRoCreate 4`] = ` "_id": "MivD93hkMvZlrNItfhxePge_gQE_", "_rank": 1, "externalId": "ro1;s2;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART2", @@ -245,8 +245,8 @@ exports[`Test recieved mos ingest payloads mosRoCreate 4`] = ` "_id": "JVcFyacYypoRSC7spru_RrvnDCQ_", "_rank": 2, "externalId": "ro1;s1;p3", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART3", @@ -255,8 +255,8 @@ exports[`Test recieved mos ingest payloads mosRoCreate 4`] = ` "_id": "IRXBo1bqspd4P6byce547MFtDsw_", "_rank": 0, "externalId": "ro1;s3;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART1", @@ -265,8 +265,8 @@ exports[`Test recieved mos ingest payloads mosRoCreate 4`] = ` "_id": "GcMaXdvDQCZpQmHJduLP4GfJ5Dk_", "_rank": 0, "externalId": "ro1;s1;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART1", @@ -275,8 +275,8 @@ exports[`Test recieved mos ingest payloads mosRoCreate 4`] = ` "_id": "EkhUUiK_CeS5dIs52jgOMcFmN7s_", "_rank": 1, "externalId": "ro1;s1;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART2", @@ -285,8 +285,8 @@ exports[`Test recieved mos ingest payloads mosRoCreate 4`] = ` "_id": "DprIQxfOqR5rO86LS3n6XIgekE4_", "_rank": 0, "externalId": "ro1;s2;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART1", @@ -328,7 +328,13 @@ exports[`Test recieved mos ingest payloads mosRoCreate: replace existing 2`] = ` "showStyleVariant": "", "studio": "asdf", }, - "metaData": { + "modified": 0, + "name": "All effect1 into clip combinations", + "notes": [], + "organizationId": null, + "peripheralDeviceId": "mockDevice0", + "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", + "privateData": { "payload": { "EditorialDuration": { "_mosDuration": 540, @@ -447,12 +453,6 @@ exports[`Test recieved mos ingest payloads mosRoCreate: replace existing 2`] = ` ], }, }, - "modified": 0, - "name": "All effect1 into clip combinations", - "notes": [], - "organizationId": null, - "peripheralDeviceId": "mockDevice0", - "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", "showStyleBaseId": "mockShowStyleBase0", "showStyleVariantId": "mockShowStyleVariant0", "studioId": "mockStudio4", @@ -500,8 +500,8 @@ exports[`Test recieved mos ingest payloads mosRoCreate: replace existing 4`] = ` "_id": "oU9pRUl9bAEUmAuKHrdzRERDOMo_", "_rank": 1, "externalId": "ro1;s3;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART2", @@ -510,8 +510,8 @@ exports[`Test recieved mos ingest payloads mosRoCreate: replace existing 4`] = ` "_id": "ghxL_vkAoa2R8iiCYqW_UcGe1e8_", "_rank": 1, "externalId": "ro1;s4;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART3", @@ -520,8 +520,8 @@ exports[`Test recieved mos ingest payloads mosRoCreate: replace existing 4`] = ` "_id": "MivD93hkMvZlrNItfhxePge_gQE_", "_rank": 2, "externalId": "ro1;s2;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART2", @@ -530,8 +530,8 @@ exports[`Test recieved mos ingest payloads mosRoCreate: replace existing 4`] = ` "_id": "JVcFyacYypoRSC7spru_RrvnDCQ_", "_rank": 2, "externalId": "ro1;s1;p3", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART3", @@ -540,8 +540,8 @@ exports[`Test recieved mos ingest payloads mosRoCreate: replace existing 4`] = ` "_id": "IRXBo1bqspd4P6byce547MFtDsw_", "_rank": 0, "externalId": "ro1;s3;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART1", @@ -550,8 +550,8 @@ exports[`Test recieved mos ingest payloads mosRoCreate: replace existing 4`] = ` "_id": "GcMaXdvDQCZpQmHJduLP4GfJ5Dk_", "_rank": 0, "externalId": "ro1;s1;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART1", @@ -560,8 +560,8 @@ exports[`Test recieved mos ingest payloads mosRoCreate: replace existing 4`] = ` "_id": "EkhUUiK_CeS5dIs52jgOMcFmN7s_", "_rank": 1, "externalId": "ro1;s1;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART2", @@ -570,8 +570,8 @@ exports[`Test recieved mos ingest payloads mosRoCreate: replace existing 4`] = ` "_id": "DprIQxfOqR5rO86LS3n6XIgekE4_", "_rank": 0, "externalId": "ro1;s2;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART1", @@ -614,7 +614,13 @@ exports[`Test recieved mos ingest payloads mosRoFullStory: Valid data 2`] = ` "showStyleVariant": "", "studio": "asdf", }, - "metaData": { + "modified": 0, + "name": "All effect1 into clip combinations", + "notes": [], + "organizationId": null, + "peripheralDeviceId": "mockDevice0", + "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", + "privateData": { "airStatus": "READY", "payload": { "EditorialDuration": { @@ -734,12 +740,6 @@ exports[`Test recieved mos ingest payloads mosRoFullStory: Valid data 2`] = ` ], }, }, - "modified": 0, - "name": "All effect1 into clip combinations", - "notes": [], - "organizationId": null, - "peripheralDeviceId": "mockDevice0", - "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", "showStyleBaseId": "mockShowStyleBase0", "showStyleVariantId": "mockShowStyleVariant0", "status": "BUSY", @@ -797,8 +797,8 @@ exports[`Test recieved mos ingest payloads mosRoFullStory: Valid data 4`] = ` "_id": "oU9pRUl9bAEUmAuKHrdzRERDOMo_", "_rank": 1, "externalId": "ro1;s3;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART2", @@ -807,8 +807,8 @@ exports[`Test recieved mos ingest payloads mosRoFullStory: Valid data 4`] = ` "_id": "ghxL_vkAoa2R8iiCYqW_UcGe1e8_", "_rank": 0, "externalId": "ro1;s4;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "XF9ZBDI5IouvkmTbounEfoJ6ijY_", "title": "SEGMENT2;PART3", @@ -817,8 +817,8 @@ exports[`Test recieved mos ingest payloads mosRoFullStory: Valid data 4`] = ` "_id": "MivD93hkMvZlrNItfhxePge_gQE_", "_rank": 1, "externalId": "ro1;s2;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART2", @@ -827,8 +827,8 @@ exports[`Test recieved mos ingest payloads mosRoFullStory: Valid data 4`] = ` "_id": "JVcFyacYypoRSC7spru_RrvnDCQ_", "_rank": 2, "externalId": "ro1;s1;p3", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART3", @@ -837,8 +837,8 @@ exports[`Test recieved mos ingest payloads mosRoFullStory: Valid data 4`] = ` "_id": "IRXBo1bqspd4P6byce547MFtDsw_", "_rank": 0, "externalId": "ro1;s3;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART1", @@ -847,8 +847,8 @@ exports[`Test recieved mos ingest payloads mosRoFullStory: Valid data 4`] = ` "_id": "GcMaXdvDQCZpQmHJduLP4GfJ5Dk_", "_rank": 0, "externalId": "ro1;s1;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART1", @@ -857,7 +857,8 @@ exports[`Test recieved mos ingest payloads mosRoFullStory: Valid data 4`] = ` "_id": "EkhUUiK_CeS5dIs52jgOMcFmN7s_", "_rank": 1, "externalId": "ro1;s1;p2", - "metaData": { + "notes": [], + "privateData": { "Body": [], "ID": { "_mosString128": "ro1;s1;p2", @@ -866,7 +867,6 @@ exports[`Test recieved mos ingest payloads mosRoFullStory: Valid data 4`] = ` "_mosString128": "SLENPS01;P_NDSL\\W;68E40DE6-2D08-487D-aaaaa", }, }, - "notes": [], "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART2", @@ -875,8 +875,8 @@ exports[`Test recieved mos ingest payloads mosRoFullStory: Valid data 4`] = ` "_id": "DprIQxfOqR5rO86LS3n6XIgekE4_", "_rank": 0, "externalId": "ro1;s2;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART1", @@ -921,7 +921,13 @@ exports[`Test recieved mos ingest payloads mosRoReadyToAir: Update ro 2`] = ` "showStyleVariant": "", "studio": "asdf", }, - "metaData": { + "modified": 0, + "name": "All effect1 into clip combinations", + "notes": [], + "organizationId": null, + "peripheralDeviceId": "mockDevice0", + "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", + "privateData": { "airStatus": "READY", "payload": { "EditorialDuration": { @@ -1041,12 +1047,6 @@ exports[`Test recieved mos ingest payloads mosRoReadyToAir: Update ro 2`] = ` ], }, }, - "modified": 0, - "name": "All effect1 into clip combinations", - "notes": [], - "organizationId": null, - "peripheralDeviceId": "mockDevice0", - "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", "showStyleBaseId": "mockShowStyleBase0", "showStyleVariantId": "mockShowStyleVariant0", "status": "BUSY", @@ -1104,8 +1104,8 @@ exports[`Test recieved mos ingest payloads mosRoReadyToAir: Update ro 4`] = ` "_id": "oU9pRUl9bAEUmAuKHrdzRERDOMo_", "_rank": 1, "externalId": "ro1;s3;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART2", @@ -1114,8 +1114,8 @@ exports[`Test recieved mos ingest payloads mosRoReadyToAir: Update ro 4`] = ` "_id": "ghxL_vkAoa2R8iiCYqW_UcGe1e8_", "_rank": 0, "externalId": "ro1;s4;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "XF9ZBDI5IouvkmTbounEfoJ6ijY_", "title": "SEGMENT2;PART3", @@ -1124,8 +1124,8 @@ exports[`Test recieved mos ingest payloads mosRoReadyToAir: Update ro 4`] = ` "_id": "MivD93hkMvZlrNItfhxePge_gQE_", "_rank": 1, "externalId": "ro1;s2;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART2", @@ -1134,8 +1134,8 @@ exports[`Test recieved mos ingest payloads mosRoReadyToAir: Update ro 4`] = ` "_id": "JVcFyacYypoRSC7spru_RrvnDCQ_", "_rank": 2, "externalId": "ro1;s1;p3", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART3", @@ -1144,8 +1144,8 @@ exports[`Test recieved mos ingest payloads mosRoReadyToAir: Update ro 4`] = ` "_id": "IRXBo1bqspd4P6byce547MFtDsw_", "_rank": 0, "externalId": "ro1;s3;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART1", @@ -1154,8 +1154,8 @@ exports[`Test recieved mos ingest payloads mosRoReadyToAir: Update ro 4`] = ` "_id": "GcMaXdvDQCZpQmHJduLP4GfJ5Dk_", "_rank": 0, "externalId": "ro1;s1;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART1", @@ -1164,8 +1164,8 @@ exports[`Test recieved mos ingest payloads mosRoReadyToAir: Update ro 4`] = ` "_id": "EkhUUiK_CeS5dIs52jgOMcFmN7s_", "_rank": 1, "externalId": "ro1;s1;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART2", @@ -1174,8 +1174,8 @@ exports[`Test recieved mos ingest payloads mosRoReadyToAir: Update ro 4`] = ` "_id": "DprIQxfOqR5rO86LS3n6XIgekE4_", "_rank": 0, "externalId": "ro1;s2;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART1", @@ -1217,7 +1217,13 @@ exports[`Test recieved mos ingest payloads mosRoStatus: Update ro 2`] = ` "showStyleVariant": "", "studio": "asdf", }, - "metaData": { + "modified": 0, + "name": "All effect1 into clip combinations", + "notes": [], + "organizationId": null, + "peripheralDeviceId": "mockDevice0", + "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", + "privateData": { "payload": { "EditorialDuration": { "_mosDuration": 540, @@ -1336,12 +1342,6 @@ exports[`Test recieved mos ingest payloads mosRoStatus: Update ro 2`] = ` ], }, }, - "modified": 0, - "name": "All effect1 into clip combinations", - "notes": [], - "organizationId": null, - "peripheralDeviceId": "mockDevice0", - "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", "showStyleBaseId": "mockShowStyleBase0", "showStyleVariantId": "mockShowStyleVariant0", "status": "BUSY", @@ -1399,8 +1399,8 @@ exports[`Test recieved mos ingest payloads mosRoStatus: Update ro 4`] = ` "_id": "oU9pRUl9bAEUmAuKHrdzRERDOMo_", "_rank": 1, "externalId": "ro1;s3;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART2", @@ -1409,8 +1409,8 @@ exports[`Test recieved mos ingest payloads mosRoStatus: Update ro 4`] = ` "_id": "ghxL_vkAoa2R8iiCYqW_UcGe1e8_", "_rank": 0, "externalId": "ro1;s4;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "XF9ZBDI5IouvkmTbounEfoJ6ijY_", "title": "SEGMENT2;PART3", @@ -1419,8 +1419,8 @@ exports[`Test recieved mos ingest payloads mosRoStatus: Update ro 4`] = ` "_id": "MivD93hkMvZlrNItfhxePge_gQE_", "_rank": 1, "externalId": "ro1;s2;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART2", @@ -1429,8 +1429,8 @@ exports[`Test recieved mos ingest payloads mosRoStatus: Update ro 4`] = ` "_id": "JVcFyacYypoRSC7spru_RrvnDCQ_", "_rank": 2, "externalId": "ro1;s1;p3", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART3", @@ -1439,8 +1439,8 @@ exports[`Test recieved mos ingest payloads mosRoStatus: Update ro 4`] = ` "_id": "IRXBo1bqspd4P6byce547MFtDsw_", "_rank": 0, "externalId": "ro1;s3;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART1", @@ -1449,8 +1449,8 @@ exports[`Test recieved mos ingest payloads mosRoStatus: Update ro 4`] = ` "_id": "GcMaXdvDQCZpQmHJduLP4GfJ5Dk_", "_rank": 0, "externalId": "ro1;s1;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART1", @@ -1459,8 +1459,8 @@ exports[`Test recieved mos ingest payloads mosRoStatus: Update ro 4`] = ` "_id": "EkhUUiK_CeS5dIs52jgOMcFmN7s_", "_rank": 1, "externalId": "ro1;s1;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART2", @@ -1469,8 +1469,8 @@ exports[`Test recieved mos ingest payloads mosRoStatus: Update ro 4`] = ` "_id": "DprIQxfOqR5rO86LS3n6XIgekE4_", "_rank": 0, "externalId": "ro1;s2;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART1", @@ -1513,7 +1513,13 @@ exports[`Test recieved mos ingest payloads mosRoStoryDelete: Remove segment 2`] "showStyleVariant": "", "studio": "asdf", }, - "metaData": { + "modified": 0, + "name": "All effect1 into clip combinations", + "notes": [], + "organizationId": null, + "peripheralDeviceId": "mockDevice0", + "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", + "privateData": { "airStatus": "READY", "payload": { "EditorialDuration": { @@ -1633,12 +1639,6 @@ exports[`Test recieved mos ingest payloads mosRoStoryDelete: Remove segment 2`] ], }, }, - "modified": 0, - "name": "All effect1 into clip combinations", - "notes": [], - "organizationId": null, - "peripheralDeviceId": "mockDevice0", - "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", "showStyleBaseId": "mockShowStyleBase0", "showStyleVariantId": "mockShowStyleVariant0", "status": "BUSY", @@ -1678,8 +1678,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryDelete: Remove segment 4`] "_id": "ghxL_vkAoa2R8iiCYqW_UcGe1e8_", "_rank": 2, "externalId": "ro1;s4;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART3", @@ -1688,8 +1688,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryDelete: Remove segment 4`] "_id": "MivD93hkMvZlrNItfhxePge_gQE_", "_rank": 1, "externalId": "ro1;s2;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART2", @@ -1698,8 +1698,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryDelete: Remove segment 4`] "_id": "JVcFyacYypoRSC7spru_RrvnDCQ_", "_rank": 2, "externalId": "ro1;s1;p3", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART3", @@ -1708,8 +1708,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryDelete: Remove segment 4`] "_id": "GcMaXdvDQCZpQmHJduLP4GfJ5Dk_", "_rank": 0, "externalId": "ro1;s1;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART1", @@ -1718,8 +1718,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryDelete: Remove segment 4`] "_id": "EkhUUiK_CeS5dIs52jgOMcFmN7s_", "_rank": 1, "externalId": "ro1;s1;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART2", @@ -1728,8 +1728,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryDelete: Remove segment 4`] "_id": "DprIQxfOqR5rO86LS3n6XIgekE4_", "_rank": 0, "externalId": "ro1;s2;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART1", @@ -1774,7 +1774,13 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: Into segment 2`] = "showStyleVariant": "", "studio": "asdf", }, - "metaData": { + "modified": 0, + "name": "All effect1 into clip combinations", + "notes": [], + "organizationId": null, + "peripheralDeviceId": "mockDevice0", + "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", + "privateData": { "airStatus": "READY", "payload": { "EditorialDuration": { @@ -1894,12 +1900,6 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: Into segment 2`] = ], }, }, - "modified": 0, - "name": "All effect1 into clip combinations", - "notes": [], - "organizationId": null, - "peripheralDeviceId": "mockDevice0", - "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", "showStyleBaseId": "mockShowStyleBase0", "showStyleVariantId": "mockShowStyleVariant0", "status": "BUSY", @@ -1957,8 +1957,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: Into segment 4`] = "_id": "oU9pRUl9bAEUmAuKHrdzRERDOMo_", "_rank": 1, "externalId": "ro1;s3;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART2", @@ -1967,8 +1967,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: Into segment 4`] = "_id": "ghxL_vkAoa2R8iiCYqW_UcGe1e8_", "_rank": 0, "externalId": "ro1;s4;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "XF9ZBDI5IouvkmTbounEfoJ6ijY_", "title": "SEGMENT2;PART3", @@ -1986,8 +1986,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: Into segment 4`] = "_id": "MivD93hkMvZlrNItfhxePge_gQE_", "_rank": 1, "externalId": "ro1;s2;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART2", @@ -1996,8 +1996,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: Into segment 4`] = "_id": "JVcFyacYypoRSC7spru_RrvnDCQ_", "_rank": 3, "externalId": "ro1;s1;p3", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART3", @@ -2006,8 +2006,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: Into segment 4`] = "_id": "IRXBo1bqspd4P6byce547MFtDsw_", "_rank": 0, "externalId": "ro1;s3;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART1", @@ -2016,8 +2016,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: Into segment 4`] = "_id": "GcMaXdvDQCZpQmHJduLP4GfJ5Dk_", "_rank": 0, "externalId": "ro1;s1;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART1", @@ -2026,8 +2026,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: Into segment 4`] = "_id": "EkhUUiK_CeS5dIs52jgOMcFmN7s_", "_rank": 1, "externalId": "ro1;s1;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART2", @@ -2036,8 +2036,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: Into segment 4`] = "_id": "DprIQxfOqR5rO86LS3n6XIgekE4_", "_rank": 0, "externalId": "ro1;s2;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART1", @@ -2082,7 +2082,13 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: New segment 2`] = ` "showStyleVariant": "", "studio": "asdf", }, - "metaData": { + "modified": 0, + "name": "All effect1 into clip combinations", + "notes": [], + "organizationId": null, + "peripheralDeviceId": "mockDevice0", + "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", + "privateData": { "airStatus": "READY", "payload": { "EditorialDuration": { @@ -2202,12 +2208,6 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: New segment 2`] = ` ], }, }, - "modified": 0, - "name": "All effect1 into clip combinations", - "notes": [], - "organizationId": null, - "peripheralDeviceId": "mockDevice0", - "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", "showStyleBaseId": "mockShowStyleBase0", "showStyleVariantId": "mockShowStyleVariant0", "status": "BUSY", @@ -2274,8 +2274,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: New segment 4`] = ` "_id": "oU9pRUl9bAEUmAuKHrdzRERDOMo_", "_rank": 1, "externalId": "ro1;s3;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART2", @@ -2284,8 +2284,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: New segment 4`] = ` "_id": "ghxL_vkAoa2R8iiCYqW_UcGe1e8_", "_rank": 0, "externalId": "ro1;s4;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "XF9ZBDI5IouvkmTbounEfoJ6ijY_", "title": "SEGMENT2;PART3", @@ -2303,8 +2303,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: New segment 4`] = ` "_id": "MivD93hkMvZlrNItfhxePge_gQE_", "_rank": 1, "externalId": "ro1;s2;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART2", @@ -2313,8 +2313,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: New segment 4`] = ` "_id": "JVcFyacYypoRSC7spru_RrvnDCQ_", "_rank": 2, "externalId": "ro1;s1;p3", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART3", @@ -2323,8 +2323,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: New segment 4`] = ` "_id": "IRXBo1bqspd4P6byce547MFtDsw_", "_rank": 0, "externalId": "ro1;s3;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART1", @@ -2333,8 +2333,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: New segment 4`] = ` "_id": "GcMaXdvDQCZpQmHJduLP4GfJ5Dk_", "_rank": 0, "externalId": "ro1;s1;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART1", @@ -2343,8 +2343,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: New segment 4`] = ` "_id": "EkhUUiK_CeS5dIs52jgOMcFmN7s_", "_rank": 1, "externalId": "ro1;s1;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART2", @@ -2353,8 +2353,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryInsert: New segment 4`] = ` "_id": "DprIQxfOqR5rO86LS3n6XIgekE4_", "_rank": 0, "externalId": "ro1;s2;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART1", @@ -2399,7 +2399,13 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Move whole segment to "showStyleVariant": "", "studio": "asdf", }, - "metaData": { + "modified": 0, + "name": "All effect1 into clip combinations", + "notes": [], + "organizationId": null, + "peripheralDeviceId": "mockDevice0", + "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", + "privateData": { "airStatus": "READY", "payload": { "EditorialDuration": { @@ -2519,12 +2525,6 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Move whole segment to ], }, }, - "modified": 0, - "name": "All effect1 into clip combinations", - "notes": [], - "organizationId": null, - "peripheralDeviceId": "mockDevice0", - "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", "showStyleBaseId": "mockShowStyleBase0", "showStyleVariantId": "mockShowStyleVariant0", "status": "BUSY", @@ -2582,8 +2582,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Move whole segment to "_id": "oU9pRUl9bAEUmAuKHrdzRERDOMo_", "_rank": 1, "externalId": "ro1;s3;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART2", @@ -2592,8 +2592,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Move whole segment to "_id": "ghxL_vkAoa2R8iiCYqW_UcGe1e8_", "_rank": 0, "externalId": "ro1;s4;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "XF9ZBDI5IouvkmTbounEfoJ6ijY_", "title": "SEGMENT2;PART3", @@ -2602,8 +2602,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Move whole segment to "_id": "MivD93hkMvZlrNItfhxePge_gQE_", "_rank": 1, "externalId": "ro1;s2;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART2", @@ -2612,8 +2612,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Move whole segment to "_id": "JVcFyacYypoRSC7spru_RrvnDCQ_", "_rank": 2, "externalId": "ro1;s1;p3", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART3", @@ -2622,8 +2622,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Move whole segment to "_id": "IRXBo1bqspd4P6byce547MFtDsw_", "_rank": 0, "externalId": "ro1;s3;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART1", @@ -2632,8 +2632,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Move whole segment to "_id": "GcMaXdvDQCZpQmHJduLP4GfJ5Dk_", "_rank": 0, "externalId": "ro1;s1;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART1", @@ -2642,8 +2642,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Move whole segment to "_id": "EkhUUiK_CeS5dIs52jgOMcFmN7s_", "_rank": 1, "externalId": "ro1;s1;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART2", @@ -2652,8 +2652,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Move whole segment to "_id": "DprIQxfOqR5rO86LS3n6XIgekE4_", "_rank": 0, "externalId": "ro1;s2;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART1", @@ -2698,7 +2698,13 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Within segment 2`] = "showStyleVariant": "", "studio": "asdf", }, - "metaData": { + "modified": 0, + "name": "All effect1 into clip combinations", + "notes": [], + "organizationId": null, + "peripheralDeviceId": "mockDevice0", + "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", + "privateData": { "airStatus": "READY", "payload": { "EditorialDuration": { @@ -2818,12 +2824,6 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Within segment 2`] = ], }, }, - "modified": 0, - "name": "All effect1 into clip combinations", - "notes": [], - "organizationId": null, - "peripheralDeviceId": "mockDevice0", - "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", "showStyleBaseId": "mockShowStyleBase0", "showStyleVariantId": "mockShowStyleVariant0", "status": "BUSY", @@ -2881,8 +2881,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Within segment 4`] = "_id": "oU9pRUl9bAEUmAuKHrdzRERDOMo_", "_rank": 1, "externalId": "ro1;s3;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART2", @@ -2891,8 +2891,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Within segment 4`] = "_id": "ghxL_vkAoa2R8iiCYqW_UcGe1e8_", "_rank": 0, "externalId": "ro1;s4;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "XF9ZBDI5IouvkmTbounEfoJ6ijY_", "title": "SEGMENT2;PART3", @@ -2901,8 +2901,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Within segment 4`] = "_id": "MivD93hkMvZlrNItfhxePge_gQE_", "_rank": 1, "externalId": "ro1;s2;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART2", @@ -2911,8 +2911,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Within segment 4`] = "_id": "JVcFyacYypoRSC7spru_RrvnDCQ_", "_rank": 1, "externalId": "ro1;s1;p3", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART3", @@ -2921,8 +2921,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Within segment 4`] = "_id": "IRXBo1bqspd4P6byce547MFtDsw_", "_rank": 0, "externalId": "ro1;s3;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART1", @@ -2931,8 +2931,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Within segment 4`] = "_id": "GcMaXdvDQCZpQmHJduLP4GfJ5Dk_", "_rank": 0, "externalId": "ro1;s1;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART1", @@ -2941,8 +2941,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Within segment 4`] = "_id": "EkhUUiK_CeS5dIs52jgOMcFmN7s_", "_rank": 2, "externalId": "ro1;s1;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART2", @@ -2951,8 +2951,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryMove: Within segment 4`] = "_id": "DprIQxfOqR5rO86LS3n6XIgekE4_", "_rank": 0, "externalId": "ro1;s2;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART1", @@ -2997,7 +2997,13 @@ exports[`Test recieved mos ingest payloads mosRoStoryReplace: Same segment 2`] = "showStyleVariant": "", "studio": "asdf", }, - "metaData": { + "modified": 0, + "name": "All effect1 into clip combinations", + "notes": [], + "organizationId": null, + "peripheralDeviceId": "mockDevice0", + "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", + "privateData": { "airStatus": "READY", "payload": { "EditorialDuration": { @@ -3117,12 +3123,6 @@ exports[`Test recieved mos ingest payloads mosRoStoryReplace: Same segment 2`] = ], }, }, - "modified": 0, - "name": "All effect1 into clip combinations", - "notes": [], - "organizationId": null, - "peripheralDeviceId": "mockDevice0", - "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", "showStyleBaseId": "mockShowStyleBase0", "showStyleVariantId": "mockShowStyleVariant0", "status": "BUSY", @@ -3180,8 +3180,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryReplace: Same segment 4`] = "_id": "oU9pRUl9bAEUmAuKHrdzRERDOMo_", "_rank": 1, "externalId": "ro1;s3;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART2", @@ -3190,8 +3190,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryReplace: Same segment 4`] = "_id": "ghxL_vkAoa2R8iiCYqW_UcGe1e8_", "_rank": 0, "externalId": "ro1;s4;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "XF9ZBDI5IouvkmTbounEfoJ6ijY_", "title": "SEGMENT2;PART3", @@ -3209,8 +3209,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryReplace: Same segment 4`] = "_id": "MivD93hkMvZlrNItfhxePge_gQE_", "_rank": 1, "externalId": "ro1;s2;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART2", @@ -3219,8 +3219,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryReplace: Same segment 4`] = "_id": "JVcFyacYypoRSC7spru_RrvnDCQ_", "_rank": 2, "externalId": "ro1;s1;p3", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART3", @@ -3229,8 +3229,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryReplace: Same segment 4`] = "_id": "IRXBo1bqspd4P6byce547MFtDsw_", "_rank": 0, "externalId": "ro1;s3;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART1", @@ -3239,8 +3239,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryReplace: Same segment 4`] = "_id": "GcMaXdvDQCZpQmHJduLP4GfJ5Dk_", "_rank": 0, "externalId": "ro1;s1;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART1", @@ -3249,8 +3249,8 @@ exports[`Test recieved mos ingest payloads mosRoStoryReplace: Same segment 4`] = "_id": "DprIQxfOqR5rO86LS3n6XIgekE4_", "_rank": 0, "externalId": "ro1;s2;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART1", @@ -3295,7 +3295,13 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments "showStyleVariant": "", "studio": "asdf", }, - "metaData": { + "modified": 0, + "name": "All effect1 into clip combinations", + "notes": [], + "organizationId": null, + "peripheralDeviceId": "mockDevice0", + "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", + "privateData": { "airStatus": "READY", "payload": { "EditorialDuration": { @@ -3415,12 +3421,6 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments ], }, }, - "modified": 0, - "name": "All effect1 into clip combinations", - "notes": [], - "organizationId": null, - "peripheralDeviceId": "mockDevice0", - "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", "showStyleBaseId": "mockShowStyleBase0", "showStyleVariantId": "mockShowStyleVariant0", "status": "BUSY", @@ -3469,8 +3469,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments "_id": "oU9pRUl9bAEUmAuKHrdzRERDOMo_", "_rank": 0, "externalId": "ro1;s3;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "sLfUx9cadyquE07Vw9byoX35G9I_", "title": "SEGMENT3;PART2", @@ -3479,8 +3479,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments "_id": "ghxL_vkAoa2R8iiCYqW_UcGe1e8_", "_rank": 2, "externalId": "ro1;s4;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART3", @@ -3489,8 +3489,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments "_id": "MivD93hkMvZlrNItfhxePge_gQE_", "_rank": 1, "externalId": "ro1;s2;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART2", @@ -3499,8 +3499,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments "_id": "JVcFyacYypoRSC7spru_RrvnDCQ_", "_rank": 2, "externalId": "ro1;s1;p3", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART3", @@ -3509,8 +3509,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments "_id": "IRXBo1bqspd4P6byce547MFtDsw_", "_rank": 1, "externalId": "ro1;s3;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "sLfUx9cadyquE07Vw9byoX35G9I_", "title": "SEGMENT3;PART1", @@ -3519,8 +3519,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments "_id": "GcMaXdvDQCZpQmHJduLP4GfJ5Dk_", "_rank": 0, "externalId": "ro1;s1;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART1", @@ -3529,8 +3529,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments "_id": "EkhUUiK_CeS5dIs52jgOMcFmN7s_", "_rank": 1, "externalId": "ro1;s1;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART2", @@ -3539,8 +3539,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments "_id": "DprIQxfOqR5rO86LS3n6XIgekE4_", "_rank": 0, "externalId": "ro1;s2;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART1", @@ -3585,7 +3585,13 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments2 "showStyleVariant": "", "studio": "asdf", }, - "metaData": { + "modified": 0, + "name": "All effect1 into clip combinations", + "notes": [], + "organizationId": null, + "peripheralDeviceId": "mockDevice0", + "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", + "privateData": { "airStatus": "READY", "payload": { "EditorialDuration": { @@ -3705,12 +3711,6 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments2 ], }, }, - "modified": 0, - "name": "All effect1 into clip combinations", - "notes": [], - "organizationId": null, - "peripheralDeviceId": "mockDevice0", - "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", "showStyleBaseId": "mockShowStyleBase0", "showStyleVariantId": "mockShowStyleVariant0", "status": "BUSY", @@ -3795,8 +3795,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments2 "_id": "oU9pRUl9bAEUmAuKHrdzRERDOMo_", "_rank": 1, "externalId": "ro1;s3;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART2", @@ -3805,8 +3805,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments2 "_id": "ghxL_vkAoa2R8iiCYqW_UcGe1e8_", "_rank": 0, "externalId": "ro1;s4;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "XF9ZBDI5IouvkmTbounEfoJ6ijY_", "title": "SEGMENT2;PART3", @@ -3815,8 +3815,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments2 "_id": "MivD93hkMvZlrNItfhxePge_gQE_", "_rank": 0, "externalId": "ro1;s2;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "oLlO42uuh1jzxrJrFmnAqDH5_Do_", "title": "SEGMENT2;PART2", @@ -3825,8 +3825,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments2 "_id": "JVcFyacYypoRSC7spru_RrvnDCQ_", "_rank": 0, "externalId": "ro1;s1;p3", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "apDVfF5nk1_StK474hEUxLMZIag_", "title": "SEGMENT1;PART3", @@ -3835,8 +3835,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments2 "_id": "IRXBo1bqspd4P6byce547MFtDsw_", "_rank": 0, "externalId": "ro1;s3;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART1", @@ -3845,8 +3845,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments2 "_id": "GcMaXdvDQCZpQmHJduLP4GfJ5Dk_", "_rank": 0, "externalId": "ro1;s1;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART1", @@ -3855,8 +3855,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments2 "_id": "EkhUUiK_CeS5dIs52jgOMcFmN7s_", "_rank": 0, "externalId": "ro1;s1;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "6tE1R4qyvS2U8gUoAc23Y8R50UI_", "title": "SEGMENT1;PART2", @@ -3865,8 +3865,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Swap across segments2 "_id": "DprIQxfOqR5rO86LS3n6XIgekE4_", "_rank": 0, "externalId": "ro1;s2;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART1", @@ -3911,7 +3911,13 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: With first in same se "showStyleVariant": "", "studio": "asdf", }, - "metaData": { + "modified": 0, + "name": "All effect1 into clip combinations", + "notes": [], + "organizationId": null, + "peripheralDeviceId": "mockDevice0", + "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", + "privateData": { "airStatus": "READY", "payload": { "EditorialDuration": { @@ -4031,12 +4037,6 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: With first in same se ], }, }, - "modified": 0, - "name": "All effect1 into clip combinations", - "notes": [], - "organizationId": null, - "peripheralDeviceId": "mockDevice0", - "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", "showStyleBaseId": "mockShowStyleBase0", "showStyleVariantId": "mockShowStyleVariant0", "status": "BUSY", @@ -4094,8 +4094,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: With first in same se "_id": "oU9pRUl9bAEUmAuKHrdzRERDOMo_", "_rank": 1, "externalId": "ro1;s3;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART2", @@ -4104,8 +4104,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: With first in same se "_id": "ghxL_vkAoa2R8iiCYqW_UcGe1e8_", "_rank": 0, "externalId": "ro1;s4;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "XF9ZBDI5IouvkmTbounEfoJ6ijY_", "title": "SEGMENT2;PART3", @@ -4114,8 +4114,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: With first in same se "_id": "MivD93hkMvZlrNItfhxePge_gQE_", "_rank": 1, "externalId": "ro1;s2;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART2", @@ -4124,8 +4124,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: With first in same se "_id": "JVcFyacYypoRSC7spru_RrvnDCQ_", "_rank": 0, "externalId": "ro1;s1;p3", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "apDVfF5nk1_StK474hEUxLMZIag_", "title": "SEGMENT1;PART3", @@ -4134,8 +4134,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: With first in same se "_id": "IRXBo1bqspd4P6byce547MFtDsw_", "_rank": 0, "externalId": "ro1;s3;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART1", @@ -4144,8 +4144,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: With first in same se "_id": "GcMaXdvDQCZpQmHJduLP4GfJ5Dk_", "_rank": 2, "externalId": "ro1;s1;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "apDVfF5nk1_StK474hEUxLMZIag_", "title": "SEGMENT1;PART1", @@ -4154,8 +4154,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: With first in same se "_id": "EkhUUiK_CeS5dIs52jgOMcFmN7s_", "_rank": 1, "externalId": "ro1;s1;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "apDVfF5nk1_StK474hEUxLMZIag_", "title": "SEGMENT1;PART2", @@ -4164,8 +4164,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: With first in same se "_id": "DprIQxfOqR5rO86LS3n6XIgekE4_", "_rank": 0, "externalId": "ro1;s2;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART1", @@ -4210,7 +4210,13 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Within same segment 2 "showStyleVariant": "", "studio": "asdf", }, - "metaData": { + "modified": 0, + "name": "All effect1 into clip combinations", + "notes": [], + "organizationId": null, + "peripheralDeviceId": "mockDevice0", + "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", + "privateData": { "airStatus": "READY", "payload": { "EditorialDuration": { @@ -4330,12 +4336,6 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Within same segment 2 ], }, }, - "modified": 0, - "name": "All effect1 into clip combinations", - "notes": [], - "organizationId": null, - "peripheralDeviceId": "mockDevice0", - "playlistId": "rnTv7Yo4GAIL0Ye3r29Xi1jKvS0_", "showStyleBaseId": "mockShowStyleBase0", "showStyleVariantId": "mockShowStyleVariant0", "status": "BUSY", @@ -4393,8 +4393,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Within same segment 4 "_id": "oU9pRUl9bAEUmAuKHrdzRERDOMo_", "_rank": 1, "externalId": "ro1;s3;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART2", @@ -4403,8 +4403,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Within same segment 4 "_id": "ghxL_vkAoa2R8iiCYqW_UcGe1e8_", "_rank": 0, "externalId": "ro1;s4;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "XF9ZBDI5IouvkmTbounEfoJ6ijY_", "title": "SEGMENT2;PART3", @@ -4413,8 +4413,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Within same segment 4 "_id": "MivD93hkMvZlrNItfhxePge_gQE_", "_rank": 1, "externalId": "ro1;s2;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART2", @@ -4423,8 +4423,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Within same segment 4 "_id": "JVcFyacYypoRSC7spru_RrvnDCQ_", "_rank": 1, "externalId": "ro1;s1;p3", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART3", @@ -4433,8 +4433,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Within same segment 4 "_id": "IRXBo1bqspd4P6byce547MFtDsw_", "_rank": 0, "externalId": "ro1;s3;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "8GUNgE7zUulco2K3yuhJ1Fyceeo_", "title": "SEGMENT3;PART1", @@ -4443,8 +4443,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Within same segment 4 "_id": "GcMaXdvDQCZpQmHJduLP4GfJ5Dk_", "_rank": 0, "externalId": "ro1;s1;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART1", @@ -4453,8 +4453,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Within same segment 4 "_id": "EkhUUiK_CeS5dIs52jgOMcFmN7s_", "_rank": 2, "externalId": "ro1;s1;p2", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "MCxHIjO7_t3PRHpLiX0vbzwx4gg_", "title": "SEGMENT1;PART2", @@ -4463,8 +4463,8 @@ exports[`Test recieved mos ingest payloads mosRoStorySwap: Within same segment 4 "_id": "DprIQxfOqR5rO86LS3n6XIgekE4_", "_rank": 0, "externalId": "ro1;s2;p1", - "metaData": {}, "notes": [], + "privateData": {}, "rundownId": "5meLdE_m5k28xXw1vtX2JX8mSYQ_", "segmentId": "Qz1OqWVatX_W4Sp5C0m8VhTTfME_", "title": "SEGMENT2;PART1", diff --git a/packages/job-worker/src/ingest/mosDevice/__tests__/mosIngest.test.ts b/packages/job-worker/src/ingest/mosDevice/__tests__/mosIngest.test.ts index 56c6fafb6a..6f99512fa7 100644 --- a/packages/job-worker/src/ingest/mosDevice/__tests__/mosIngest.test.ts +++ b/packages/job-worker/src/ingest/mosDevice/__tests__/mosIngest.test.ts @@ -359,7 +359,7 @@ describe('Test recieved mos ingest payloads', () => { let rundown = (await context.mockCollections.Rundowns.findOne()) as DBRundown expect(rundown).toBeTruthy() expect(rundown.status).not.toEqual(newStatus.toString()) - expect((rundown.metaData as any)?.airStatus).not.toEqual(newStatus.toString()) + expect((rundown.privateData as any)?.airStatus).not.toEqual(newStatus.toString()) await handleMosRundownReadyToAir(context, { peripheralDeviceId: device._id, @@ -371,7 +371,7 @@ describe('Test recieved mos ingest payloads', () => { expect(rundown).toBeTruthy() expect(rundown.airStatus).toEqual(newStatus.toString()) - expect((rundown.metaData as any)?.airStatus).toEqual(newStatus.toString()) + expect((rundown.privateData as any)?.airStatus).toEqual(newStatus.toString()) await expectRundownToMatchSnapshot(rundown._id, true, false) }) @@ -746,7 +746,7 @@ describe('Test recieved mos ingest payloads', () => { externalId: mosTypes.mosString128.stringify(story.ID), })) as DBPart expect(part).toBeTruthy() - expect(part.metaData).toEqual(story) + expect(part.privateData).toEqual(story) await expectRundownToMatchSnapshot(rundown._id, true, true) }) @@ -1186,7 +1186,7 @@ describe('Test recieved mos ingest payloads', () => { if (oldPart.segmentId === oldSegmentId) { oldPart.segmentId = newSegment._id oldPart.title = newSegment.name + ';' + oldPart.title.split(';')[1] - delete oldPart.metaData + delete oldPart.privateData } } diff --git a/packages/job-worker/src/playout/__tests__/playout-executeAction.test.ts b/packages/job-worker/src/playout/__tests__/playout-executeAction.test.ts index 4cba77aeaf..b219c59c4c 100644 --- a/packages/job-worker/src/playout/__tests__/playout-executeAction.test.ts +++ b/packages/job-worker/src/playout/__tests__/playout-executeAction.test.ts @@ -56,6 +56,7 @@ describe('Playout API', () => { actionDocId: actionDocId, actionId: actionId, userData: userData, + privateData: undefined, }) ).rejects.toMatchUserError(UserErrorMessage.ActionsNotSupported) @@ -66,7 +67,13 @@ describe('Playout API', () => { }) await expect( - handleExecuteAdlibAction(context, { playlistId, actionDocId, actionId, userData }) + handleExecuteAdlibAction(context, { + playlistId, + actionDocId, + actionId, + userData, + privateData: undefined, + }) ).rejects.toMatchUserError(UserErrorMessage.InternalError) expect(syncPlayheadInfinitesForNextPartInstanceMock).toHaveBeenCalledTimes(0) @@ -91,6 +98,7 @@ describe('Playout API', () => { actionDocId, actionId, userData, + privateData: undefined, }) expect(syncPlayheadInfinitesForNextPartInstanceMock).toHaveBeenCalledTimes(0) @@ -117,6 +125,7 @@ describe('Playout API', () => { actionDocId, actionId, userData, + privateData: undefined, }) expect(syncPlayheadInfinitesForNextPartInstanceMock).toHaveBeenCalledTimes(1) @@ -143,6 +152,7 @@ describe('Playout API', () => { actionDocId, actionId, userData, + privateData: undefined, }) expect(syncPlayheadInfinitesForNextPartInstanceMock).toHaveBeenCalledTimes(1) @@ -166,6 +176,7 @@ describe('Playout API', () => { actionDocId, actionId, userData, + privateData: undefined, }) expect(takeNextPartMock).toHaveBeenCalledTimes(1) @@ -188,6 +199,7 @@ describe('Playout API', () => { actionDocId, actionId, userData, + privateData: undefined, }) expect(takeNextPartMock).toHaveBeenCalledTimes(0) diff --git a/packages/job-worker/src/playout/abPlayback/__tests__/abPlayback.spec.ts b/packages/job-worker/src/playout/abPlayback/__tests__/abPlayback.spec.ts index 9e8542f10a..186593aeca 100644 --- a/packages/job-worker/src/playout/abPlayback/__tests__/abPlayback.spec.ts +++ b/packages/job-worker/src/playout/abPlayback/__tests__/abPlayback.spec.ts @@ -32,7 +32,7 @@ function createBasicResolvedPieceInstance( }, sourceLayerId: '', outputLayerId: '', - metaData: {}, + privateData: {}, lifespan: PieceLifespan.WithinPart, timelineObjectsString: EmptyPieceTimelineObjectsBlob, content: {}, diff --git a/packages/job-worker/src/playout/adlibAction.ts b/packages/job-worker/src/playout/adlibAction.ts index fb5396a14c..af943899c4 100644 --- a/packages/job-worker/src/playout/adlibAction.ts +++ b/packages/job-worker/src/playout/adlibAction.ts @@ -18,6 +18,11 @@ import { performTakeToNextedPart } from './take' import { ActionUserData } from '@sofie-automation/blueprints-integration' import { DBRundownPlaylist } from '@sofie-automation/corelib/dist/dataModel/RundownPlaylist' import { logger } from '../logging' +import { + AdLibActionId, + BucketAdLibActionId, + RundownBaselineAdLibActionId, +} from '@sofie-automation/corelib/dist/dataModel/Ids' import { validateScratchpartPartInstanceProperties } from './scratchpad' import { PlayoutRundownModel } from './model/PlayoutRundownModel' import { createPlayoutModelfromInitModel, loadPlayoutModelPreInit } from './model/implementation/LoadPlayoutModel' @@ -73,10 +78,30 @@ export async function executeAdlibActionAndSaveModel( }, }) + if (data.privateData === null) { + const [adLibAction, baselineAdLibAction, bucketAdLibAction] = await Promise.all([ + context.directCollections.AdLibActions.findOne(data.actionDocId as AdLibActionId, { + projection: { _id: 1, privateData: 1 }, + }), + context.directCollections.RundownBaselineAdLibActions.findOne( + data.actionDocId as RundownBaselineAdLibActionId, + { + projection: { _id: 1, privateData: 1 }, + } + ), + context.directCollections.BucketAdLibActions.findOne(data.actionDocId as BucketAdLibActionId, { + projection: { _id: 1, privateData: 1 }, + }), + ]) + const adLibActionDoc = adLibAction ?? baselineAdLibAction ?? bucketAdLibAction + data.privateData = adLibActionDoc?.privateData + } + const actionParameters: ExecuteActionParameters = { actionId: data.actionId, userData: data.userData, triggerMode: data.triggerMode, + privateData: data.privateData, } try { @@ -130,8 +155,10 @@ export async function executeAdlibActionAndSaveModel( export interface ExecuteActionParameters { /** Id of the action */ actionId: string - /** Properties defining the action behaviour */ + /** Public-facing (and possibly even user-editable) properties defining the action behaviour */ userData: ActionUserData + /** Arbitraty data storage for internal use in the blueprints */ + privateData: unknown | undefined triggerMode: string | undefined } @@ -179,7 +206,8 @@ export async function executeActionInner( actionContext, actionParameters.actionId, actionParameters.userData, - actionParameters.triggerMode + actionParameters.triggerMode, + actionParameters.privateData ) } catch (err) { logger.error(`Error in showStyleBlueprint.executeAction: ${stringifyError(err)}`) diff --git a/packages/job-worker/src/playout/adlibJobs.ts b/packages/job-worker/src/playout/adlibJobs.ts index e23a6e0f1c..31eeb8382c 100644 --- a/packages/job-worker/src/playout/adlibJobs.ts +++ b/packages/job-worker/src/playout/adlibJobs.ts @@ -114,6 +114,7 @@ export async function handleTakePieceAsAdlibNow(context: JobContext, data: TakeP { ...executeProps, triggerMode: undefined, + privateData: undefined, } ) break diff --git a/packages/job-worker/src/playout/lookahead/index.ts b/packages/job-worker/src/playout/lookahead/index.ts index ca2a88e62b..f8dda2afe7 100644 --- a/packages/job-worker/src/playout/lookahead/index.ts +++ b/packages/job-worker/src/playout/lookahead/index.ts @@ -68,7 +68,7 @@ export async function getLookeaheadObjects( } const pPiecesToSearch = context.directCollections.Pieces.findFetch(piecesToSearchQuery, { projection: { - metaData: 0, + privateData: 0, // these are known to be chunky when they exist content: 0, diff --git a/packages/job-worker/src/rundownPlaylists.ts b/packages/job-worker/src/rundownPlaylists.ts index f073298f3c..368e5377be 100644 --- a/packages/job-worker/src/rundownPlaylists.ts +++ b/packages/job-worker/src/rundownPlaylists.ts @@ -215,7 +215,8 @@ export function produceRundownPlaylistInfoFromRundown( outOfOrderTiming: playlistInfo.playlist.outOfOrderTiming, timeOfDayCountdowns: playlistInfo.playlist.timeOfDayCountdowns, - metaData: playlistInfo.playlist.metaData, + privateData: playlistInfo.playlist.privateData, + publicData: playlistInfo.playlist.publicData, modified: getCurrentTime(), }