Skip to content

Commit b77b983

Browse files
committed
wip
1 parent 45f6e2c commit b77b983

File tree

3 files changed

+18
-25
lines changed

3 files changed

+18
-25
lines changed

meteor/server/publications/packageManager/expectedPackages/generate.ts

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
import { PackageContainerOnPackage, Accessor, AccessorOnPackage } from '@sofie-automation/blueprints-integration'
2-
import { PeripheralDeviceId, ExpectedPackageId, PieceInstanceId } from '@sofie-automation/corelib/dist/dataModel/Ids'
1+
import {
2+
PackageContainerOnPackage,
3+
Accessor,
4+
AccessorOnPackage,
5+
ExpectedPackage,
6+
} from '@sofie-automation/blueprints-integration'
7+
import { PeripheralDeviceId, ExpectedPackageId } from '@sofie-automation/corelib/dist/dataModel/Ids'
38
import { protectString, unprotectString } from '@sofie-automation/corelib/dist/protectedString'
49
import {
510
PackageManagerExpectedPackage,
@@ -58,13 +63,7 @@ export async function updateCollectionForExpectedPackageIds(
5863
// Filter, keep only the routed mappings for this device:
5964
if (filterPlayoutDeviceIds && !filterPlayoutDeviceIds.includes(deviceId)) continue
6065

61-
const routedPackage = generateExpectedPackageForDevice(
62-
studio,
63-
packageDoc,
64-
deviceId,
65-
null,
66-
packageContainers
67-
)
66+
const routedPackage = generateExpectedPackageForDevice(studio, packageDoc, deviceId, packageContainers)
6867

6968
updatedDocIds.add(routedPackage._id)
7069
collection.replace(routedPackage)
@@ -73,11 +72,9 @@ export async function updateCollectionForExpectedPackageIds(
7372

7473
// Remove all documents for an ExpectedPackage that was regenerated, and no update was issues
7574
collection.remove((doc) => {
76-
if (doc.pieceInstanceId) return false
77-
78-
if (missingExpectedPackageIds.has(protectString(doc.expectedPackage._id))) return true
75+
if (missingExpectedPackageIds.has(doc.expectedPackage._id)) return true
7976

80-
if (updatedDocIds.has(doc._id) && !regenerateIds.has(protectString(doc.expectedPackage._id))) return true
77+
if (updatedDocIds.has(doc._id) && !regenerateIds.has(doc.expectedPackage._id)) return true
8178

8279
return false
8380
})
@@ -100,7 +97,6 @@ function generateExpectedPackageForDevice(
10097
>,
10198
expectedPackage: ExpectedPackageDBCompact,
10299
deviceId: PeripheralDeviceId,
103-
pieceInstanceId: PieceInstanceId | null,
104100
packageContainers: Record<string, StudioPackageContainer>
105101
): PackageManagerExpectedPackage {
106102
// Lookup Package sources:
@@ -135,17 +131,16 @@ function generateExpectedPackageForDevice(
135131
const packageSideEffect = getSideEffect(expectedPackage.package, studio)
136132

137133
return {
138-
_id: protectString(`${expectedPackage._id}_${deviceId}_${pieceInstanceId}`),
139-
expectedPackageId: expectedPackage._id,
134+
_id: protectString(`${expectedPackage._id}_${deviceId}`),
140135
expectedPackage: {
141136
...expectedPackage.package,
137+
_id: expectedPackage._id,
142138
sideEffect: packageSideEffect,
143139
},
144140
sources: combinedSources,
145141
targets: combinedTargets,
146142
priority: ExpectedPackagePriorities.OTHER, // This gets overriden later if needed
147143
playoutDeviceId: deviceId,
148-
pieceInstanceId,
149144
}
150145
}
151146

@@ -182,7 +177,7 @@ function calculateCombinedSource(
182177
return combinedSource
183178
}
184179
function calculateCombinedTargets(
185-
expectedPackage: PackageManagerExpectedPackageBase,
180+
expectedPackage: ReadonlyDeep<ExpectedPackage.Base>,
186181
deviceId: PeripheralDeviceId,
187182
packageContainers: Record<string, StudioPackageContainer>
188183
): PackageContainerOnPackage[] {

meteor/server/publications/packageManager/expectedPackages/publication.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ function updatePackagePriorities(
214214

215215
// Iterate through and update each package
216216
collection.updateAll((pkg) => {
217-
const expectedPriority = highPriorityPackages.get(pkg.expectedPackageId) ?? ExpectedPackagePriorities.OTHER
217+
const expectedPriority = highPriorityPackages.get(pkg.expectedPackage._id) ?? ExpectedPackagePriorities.OTHER
218218
if (pkg.priority === expectedPriority) return false
219219

220220
return {

packages/shared-lib/src/package-manager/publications.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { ExpectedPackage, PackageContainer, PackageContainerOnPackage } from './package'
2-
import { ExpectedPackageId, PeripheralDeviceId, PieceInstanceId, RundownId, RundownPlaylistId } from '../core/model/Ids'
2+
import { ExpectedPackageId, PeripheralDeviceId, RundownId, RundownPlaylistId } from '../core/model/Ids'
33
import { ProtectedString } from '../lib/protectedString'
44
import { ReadonlyDeep } from 'type-fest'
55

@@ -28,20 +28,18 @@ export interface PackageManagerPackageContainers {
2828

2929
export type PackageManagerExpectedPackageId = ProtectedString<'PackageManagerExpectedPackage'>
3030

31-
export type PackageManagerExpectedPackageBase = ReadonlyDeep<ExpectedPackage.Base>
31+
export type PackageManagerExpectedPackageBase = ReadonlyDeep<Omit<ExpectedPackage.Base, '_id'>> & {
32+
_id: ExpectedPackageId
33+
}
3234

3335
export interface PackageManagerExpectedPackage {
3436
/** Unique id of the expectedPackage */
3537
_id: PackageManagerExpectedPackageId
3638

37-
expectedPackageId: ExpectedPackageId
38-
3939
expectedPackage: PackageManagerExpectedPackageBase
4040
/** Lower should be done first */
4141
priority: number
4242
sources: PackageContainerOnPackage[]
4343
targets: PackageContainerOnPackage[]
4444
playoutDeviceId: PeripheralDeviceId
45-
46-
pieceInstanceId: PieceInstanceId | null
4745
}

0 commit comments

Comments
 (0)