Skip to content

Commit 5450d6e

Browse files
committed
wip: fixup contentVersionHash
1 parent 99db72f commit 5450d6e

File tree

15 files changed

+28
-46
lines changed

15 files changed

+28
-46
lines changed

meteor/server/api/__tests__/cleanup.test.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,6 @@ async function setDefaultDatatoDB(env: DefaultEnvironment, now: number) {
259259
studioId,
260260
rundownId,
261261
bucketId: null,
262-
contentVersionHash: '',
263262
created: 0,
264263
package: {} as any,
265264
ingestSources: [] as any,

meteor/server/migration/X_X_X.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,6 @@ export const addSteps = addMigrationSteps(CURRENT_SYSTEM_VERSION, [
120120
studioId: pkg.studioId,
121121
rundownId: rundownId,
122122
bucketId: bucketId,
123-
contentVersionHash: pkg.contentVersionHash,
124123
package: {
125124
...(pkg as any), // Some fields should be pruned off this, but this is fine
126125
_id: pkg.blueprintPackageId,

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { PackageContainerOnPackage, Accessor, AccessorOnPackage } from '@sofie-automation/blueprints-integration'
2-
import { getContentVersionHash, getExpectedPackageId } from '@sofie-automation/corelib/dist/dataModel/ExpectedPackages'
2+
import { getExpectedPackageId } from '@sofie-automation/corelib/dist/dataModel/ExpectedPackages'
33
import { PeripheralDeviceId, ExpectedPackageId, PieceInstanceId } from '@sofie-automation/corelib/dist/dataModel/Ids'
44
import { protectString, unprotectString } from '@sofie-automation/corelib/dist/protectedString'
55
import {
@@ -140,7 +140,6 @@ export async function updateCollectionForPieceInstanceIds(
140140
...expectedPackage,
141141
_id: unprotectString(sanitisedPackageId),
142142
rundownId: pieceInstanceDoc.rundownId,
143-
contentVersionHash: getContentVersionHash(expectedPackage),
144143
},
145144
deviceId,
146145
pieceInstanceId,

packages/corelib/src/dataModel/ExpectedPackages.ts

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { ExpectedPackage, Time } from '@sofie-automation/blueprints-integration'
22
import { protectString, unprotectString } from '../protectedString'
3-
import { assertNever, getHash, hashObj } from '../lib'
3+
import { assertNever, getHash } from '../lib'
44
import {
55
AdLibActionId,
66
BucketAdLibActionId,
@@ -77,9 +77,6 @@ export interface ExpectedPackageDBNew {
7777
/** The bucket this package belongs to, if any. Must not be set when rundownId is set */
7878
bucketId: BucketId | null
7979

80-
/** Hash that changes whenever the content or version changes. See getContentVersionHash() */
81-
contentVersionHash: string
82-
8380
created: Time
8481

8582
package: ReadonlyDeep<ExpectedPackage.Any>
@@ -162,14 +159,6 @@ export type ExpectedPackageIngestSource =
162159
| ExpectedPackageIngestSourceBucket
163160
| ExpectedPackageIngestSourceStudioBaseline
164161

165-
export function getContentVersionHash(expectedPackage: ReadonlyDeep<Omit<ExpectedPackage.Any, '_id'>>): string {
166-
return hashObj({
167-
content: expectedPackage.content,
168-
version: expectedPackage.version,
169-
// todo: should expectedPackage.sources.containerId be here as well?
170-
})
171-
}
172-
173162
export function getExpectedPackageId(
174163
/** _id of the owner (the piece, adlib etc..) */
175164
ownerId: PieceInstanceId,

packages/corelib/src/dataModel/PackageInfos.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { PackageInfo, Time } from '@sofie-automation/blueprints-integration'
22
import { protectString } from '../protectedString'
3-
import type { ExpectedPackageDBNew } from './ExpectedPackages'
43
import { ExpectedPackageId, PackageInfoId, PeripheralDeviceId, StudioId } from './Ids'
54

65
/**
@@ -14,7 +13,7 @@ export interface PackageInfoDB extends PackageInfo.Base {
1413
/** Reference to the Package this document has info about */
1514
packageId: ExpectedPackageId
1615
/** Reference to the contentVersionHash of the ExpectedPackage, used to reference the expected content+version of the Package */
17-
expectedContentVersionHash: ExpectedPackageDBNew['contentVersionHash']
16+
expectedContentVersionHash: string
1817
/** Referring to the actual contentVersionHash of the Package, used to reference the exact content+version of the Package */
1918
actualContentVersionHash: string
2019

packages/job-worker/src/ingest/expectedPackages.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { BucketAdLibAction } from '@sofie-automation/corelib/dist/dataModel/Buck
22
import { BucketAdLib } from '@sofie-automation/corelib/dist/dataModel/BucketAdLibPiece'
33
import {
44
ExpectedPackageDBType,
5-
getContentVersionHash,
65
ExpectedPackageDBNew,
76
getExpectedPackageIdFromIngestSource,
87
ExpectedPackageIngestSource,
@@ -22,7 +21,7 @@ import {
2221
import { JobContext, JobStudio } from '../jobs'
2322
import { IngestModel } from './model/IngestModel'
2423
import { IngestPartModel } from './model/IngestPartModel'
25-
import { clone } from '@sofie-automation/corelib/dist/lib'
24+
import { clone, hashObj } from '@sofie-automation/corelib/dist/lib'
2625

2726
export function updateExpectedMediaAndPlayoutItemsForPartModel(context: JobContext, part: IngestPartModel): void {
2827
updateExpectedMediaItemsForPartModel(context, part)
@@ -96,7 +95,6 @@ function generateBucketExpectedPackages(
9695
...clone<ExpectedPackage.Any>(expectedPackage),
9796
_id: id,
9897
},
99-
contentVersionHash: getContentVersionHash(expectedPackage),
10098
studioId: studio._id,
10199
rundownId: null,
102100
bucketId: bucketId,
@@ -227,6 +225,16 @@ export function setDefaultIdOnExpectedPackages(expectedPackages: ExpectedPackage
227225
if (!expectedPackage._id) {
228226
expectedPackage._id = `__index${i}`
229227
}
228+
229+
expectedPackage.contentVersionHash = getContentVersionHash(expectedPackage)
230230
}
231231
}
232232
}
233+
234+
function getContentVersionHash(expectedPackage: ReadonlyDeep<Omit<ExpectedPackage.Any, '_id'>>): string {
235+
return hashObj({
236+
content: expectedPackage.content,
237+
version: expectedPackage.version,
238+
// todo: should expectedPackage.sources.containerId be here as well?
239+
})
240+
}

packages/job-worker/src/ingest/generationRundown.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import {
22
ExpectedPackageDBType,
33
ExpectedPackageIngestSourceRundownBaseline,
4-
getContentVersionHash,
54
getExpectedPackageIdFromIngestSource,
65
} from '@sofie-automation/corelib/dist/dataModel/ExpectedPackages'
76
import { BlueprintId, RundownId } from '@sofie-automation/corelib/dist/dataModel/Ids'
@@ -355,9 +354,6 @@ function generateExpectedPackagesForBaseline(
355354
return {
356355
_id: getExpectedPackageIdFromIngestSource(rundownId, source, expectedPackage._id),
357356

358-
// nocommit - what about the version of this inside the package?
359-
contentVersionHash: getContentVersionHash(expectedPackage),
360-
361357
package: expectedPackage,
362358

363359
ingestSources: [source],

packages/job-worker/src/ingest/model/IngestExpectedPackage.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@ export interface IngestExpectedPackage<
1818
> {
1919
_id: ExpectedPackageId
2020

21-
/** Hash that changes whenever the content or version changes. See getContentVersionHash() */
22-
contentVersionHash: string
23-
2421
package: ReadonlyDeep<ExpectedPackage.Any>
2522

2623
// HACK: Temporary single item
@@ -32,7 +29,6 @@ export function stripExpectedPackageDBToIngestExpectedPackage(
3229
): IngestExpectedPackage {
3330
return {
3431
_id: expectedPackage._id,
35-
contentVersionHash: expectedPackage.contentVersionHash,
3632
package: expectedPackage.package,
3733
ingestSources: expectedPackage.ingestSources as any, // Future: can this be omitted
3834
}

packages/job-worker/src/ingest/model/implementation/IngestSegmentModelImpl.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import { calculatePartExpectedDurationWithTransition } from '@sofie-automation/c
1313
import { clone } from '@sofie-automation/corelib/dist/lib'
1414
import { getPartId } from '../../lib'
1515
import {
16-
getContentVersionHash,
1716
ExpectedPackageDBType,
1817
getExpectedPackageIdFromIngestSource,
1918
ExpectedPackageIngestSourcePart,
@@ -278,8 +277,6 @@ function generateExpectedPackagesForPart(
278277
return {
279278
_id: getExpectedPackageIdFromIngestSource(rundownId, source, expectedPackage._id),
280279

281-
contentVersionHash: getContentVersionHash(expectedPackage),
282-
283280
package: expectedPackage,
284281

285282
ingestSources: [source],

packages/job-worker/src/ingest/model/implementation/SaveIngestModel.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,6 @@ export async function writeExpectedPackagesChangesForRundown(
130130
rundownId: rundownId,
131131
bucketId: null,
132132
created: Date.now(),
133-
contentVersionHash: doc.contentVersionHash,
134133
package: doc.package,
135134
ingestSources: doc.ingestSources,
136135
}

0 commit comments

Comments
 (0)