Skip to content

Commit 9a5e4bc

Browse files
committed
Merge remote-tracking branch 'nrk/release53' into bbc-release53
2 parents e3002e4 + e52379b commit 9a5e4bc

File tree

86 files changed

+2325
-1768
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+2325
-1768
lines changed

meteor/server/api/buckets.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as _ from 'underscore'
22
import { Meteor } from 'meteor/meteor'
3-
import { Bucket } from '@sofie-automation/meteor-lib/dist/collections/Buckets'
3+
import { Bucket } from '@sofie-automation/corelib/dist/dataModel/Bucket'
44
import { getRandomId, getRandomString, literal } from '../lib/tempLib'
55
import { BucketAdLib } from '@sofie-automation/corelib/dist/dataModel/BucketAdLibPiece'
66
import { AdLibAction, AdLibActionCommon } from '@sofie-automation/corelib/dist/dataModel/AdlibAction'

meteor/server/api/rest/v1/typeConversion.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ import {
5454
DEFAULT_MINIMUM_TAKE_SPAN,
5555
DEFAULT_FALLBACK_PART_DURATION,
5656
} from '@sofie-automation/shared-lib/dist/core/constants'
57-
import { Bucket } from '@sofie-automation/meteor-lib/dist/collections/Buckets'
57+
import { Bucket } from '@sofie-automation/corelib/dist/dataModel/Bucket'
5858
import { ForceQuickLoopAutoNext } from '@sofie-automation/shared-lib/dist/core/model/StudioSettings'
5959
import { PlaylistSnapshotOptions, SystemSnapshotOptions } from '@sofie-automation/meteor-lib/dist/api/shapshot'
6060

meteor/server/api/userActions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { MOSDeviceActions } from './ingest/mosDevice/actions'
1515
import { MethodContextAPI } from './methodContext'
1616
import { ServerClientAPI } from './client'
1717
import { triggerWriteAccessBecauseNoCheckNecessary } from '../security/securityVerify'
18-
import { Bucket } from '@sofie-automation/meteor-lib/dist/collections/Buckets'
18+
import { Bucket } from '@sofie-automation/corelib/dist/dataModel/Bucket'
1919
import { BucketsAPI } from './buckets'
2020
import { BucketAdLib } from '@sofie-automation/corelib/dist/dataModel/BucketAdLibPiece'
2121
import { AdLibActionCommon } from '@sofie-automation/corelib/dist/dataModel/AdlibAction'

meteor/server/collections/bucket.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { BucketAdLibAction } from '@sofie-automation/corelib/dist/dataModel/BucketAdLibAction'
22
import { BucketAdLib } from '@sofie-automation/corelib/dist/dataModel/BucketAdLibPiece'
33
import { CollectionName } from '@sofie-automation/corelib/dist/dataModel/Collections'
4-
import { Bucket } from '@sofie-automation/meteor-lib/dist/collections/Buckets'
4+
import { Bucket } from '@sofie-automation/corelib/dist/dataModel/Bucket'
55
import { createAsyncOnlyMongoCollection } from './collection'
66
import { registerIndex } from './indices'
77

meteor/server/migration/1_52_0.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { CoreSystem, PeripheralDevices, Studios, TriggeredActions } from '../col
33
import {
44
convertObjectIntoOverrides,
55
ObjectOverrideSetOp,
6+
ObjectWithOverrides,
67
wrapDefaultObject,
78
} from '@sofie-automation/corelib/dist/settings/objectWithOverrides'
89
import {
@@ -270,7 +271,9 @@ export const addSteps = addMigrationSteps('1.52.0', [
270271
//@ts-expect-error settings is typed as Record<string, StudioRouteSet>
271272
const oldSettings = studio.settings
272273

273-
const newSettings = wrapDefaultObject<IStudioSettings>(oldSettings || {})
274+
const newSettings = convertObjectIntoOverrides(
275+
oldSettings || {}
276+
) as unknown as ObjectWithOverrides<IStudioSettings>
274277

275278
await Studios.updateAsync(studio._id, {
276279
$set: {
@@ -306,7 +309,7 @@ export const addSteps = addMigrationSteps('1.52.0', [
306309
for (const system of systems) {
307310
const oldSystem = system as ICoreSystem as PartialOldICoreSystem
308311

309-
const newSettings = wrapDefaultObject<ICoreSystemSettings>({
312+
const newSettings = convertObjectIntoOverrides({
310313
cron: {
311314
casparCGRestart: {
312315
enabled: false,
@@ -318,7 +321,7 @@ export const addSteps = addMigrationSteps('1.52.0', [
318321
},
319322
support: oldSystem.support ?? { message: '' },
320323
evaluationsMessage: oldSystem.evaluations ?? { enabled: false, heading: '', message: '' },
321-
})
324+
}) as unknown as ObjectWithOverrides<ICoreSystemSettings>
322325

323326
await CoreSystem.updateAsync(system._id, {
324327
$set: {
Lines changed: 39 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
import { FindOptions } from '@sofie-automation/meteor-lib/dist/collections/lib'
22
import { meteorPublish } from './lib/lib'
3-
import { MeteorPubSub } from '@sofie-automation/meteor-lib/dist/api/pubsub'
4-
import { Bucket } from '@sofie-automation/meteor-lib/dist/collections/Buckets'
3+
import { Bucket } from '@sofie-automation/corelib/dist/dataModel/Bucket'
54
import { BucketAdLibActions, BucketAdLibs, Buckets } from '../collections'
65
import { check, Match } from 'meteor/check'
76
import { StudioId, BucketId, ShowStyleVariantId } from '@sofie-automation/corelib/dist/dataModel/Ids'
87
import { CorelibPubSub } from '@sofie-automation/corelib/dist/pubsub'
98
import { triggerWriteAccessBecauseNoCheckNecessary } from '../security/securityVerify'
9+
import { MongoQuery } from '@sofie-automation/corelib/dist/mongo'
10+
import { BucketAdLib } from '@sofie-automation/corelib/dist/dataModel/BucketAdLibPiece'
11+
import { BucketAdLibAction } from '@sofie-automation/corelib/dist/dataModel/BucketAdLibAction'
1012

1113
meteorPublish(
12-
MeteorPubSub.buckets,
14+
CorelibPubSub.buckets,
1315
async function (studioId: StudioId, bucketId: BucketId | null, _token: string | undefined) {
1416
check(studioId, String)
1517
check(bucketId, Match.Maybe(String))
@@ -20,68 +22,61 @@ meteorPublish(
2022
fields: {},
2123
}
2224

23-
return Buckets.findWithCursor(
24-
bucketId
25-
? {
26-
_id: bucketId,
27-
studioId,
28-
}
29-
: {
30-
studioId,
31-
},
32-
modifier
33-
)
25+
const selector: MongoQuery<Bucket> = {
26+
studioId,
27+
}
28+
if (bucketId) selector._id = bucketId
29+
30+
return Buckets.findWithCursor(selector, modifier)
3431
}
3532
)
3633

3734
meteorPublish(
3835
CorelibPubSub.bucketAdLibPieces,
39-
async function (studioId: StudioId, bucketId: BucketId, showStyleVariantIds: ShowStyleVariantId[]) {
36+
async function (studioId: StudioId, bucketId: BucketId | null, showStyleVariantIds: ShowStyleVariantId[]) {
4037
check(studioId, String)
41-
check(bucketId, String)
38+
check(bucketId, Match.Maybe(String))
4239
check(showStyleVariantIds, Array)
4340

4441
triggerWriteAccessBecauseNoCheckNecessary()
4542

46-
return BucketAdLibs.findWithCursor(
47-
{
48-
studioId: studioId,
49-
bucketId: bucketId,
50-
showStyleVariantId: {
51-
$in: [null, ...showStyleVariantIds], // null = valid for all variants
52-
},
43+
const selector: MongoQuery<BucketAdLib> = {
44+
studioId: studioId,
45+
showStyleVariantId: {
46+
$in: [null, ...showStyleVariantIds], // null = valid for all variants
47+
},
48+
}
49+
if (bucketId) selector.bucketId = bucketId
50+
51+
return BucketAdLibs.findWithCursor(selector, {
52+
fields: {
53+
ingestInfo: 0, // This is a large blob, and is not of interest to the UI
5354
},
54-
{
55-
fields: {
56-
ingestInfo: 0, // This is a large blob, and is not of interest to the UI
57-
},
58-
}
59-
)
55+
})
6056
}
6157
)
6258

6359
meteorPublish(
6460
CorelibPubSub.bucketAdLibActions,
65-
async function (studioId: StudioId, bucketId: BucketId, showStyleVariantIds: ShowStyleVariantId[]) {
61+
async function (studioId: StudioId, bucketId: BucketId | null, showStyleVariantIds: ShowStyleVariantId[]) {
6662
check(studioId, String)
67-
check(bucketId, String)
63+
check(bucketId, Match.Maybe(String))
6864
check(showStyleVariantIds, Array)
6965

7066
triggerWriteAccessBecauseNoCheckNecessary()
7167

72-
return BucketAdLibActions.findWithCursor(
73-
{
74-
studioId: studioId,
75-
bucketId: bucketId,
76-
showStyleVariantId: {
77-
$in: [null, ...showStyleVariantIds], // null = valid for all variants
78-
},
68+
const selector: MongoQuery<BucketAdLibAction> = {
69+
studioId: studioId,
70+
showStyleVariantId: {
71+
$in: [null, ...showStyleVariantIds], // null = valid for all variants
72+
},
73+
}
74+
if (bucketId) selector.bucketId = bucketId
75+
76+
return BucketAdLibActions.findWithCursor(selector, {
77+
fields: {
78+
ingestInfo: 0, // This is a large blob, and is not of interest to the UI
7979
},
80-
{
81-
fields: {
82-
ingestInfo: 0, // This is a large blob, and is not of interest to the UI
83-
},
84-
}
85-
)
80+
})
8681
}
8782
)

meteor/server/publications/pieceContentStatusUI/bucket/publication.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import {
2222
SetupObserversResult,
2323
} from '../../../lib/customPublication'
2424
import { BucketContentCache, createReactiveContentCache } from './bucketContentCache'
25-
import { Bucket } from '@sofie-automation/meteor-lib/dist/collections/Buckets'
25+
import { Bucket } from '@sofie-automation/corelib/dist/dataModel/Bucket'
2626
import {
2727
addItemsWithDependenciesChangesToChangedSet,
2828
fetchStudio,

meteor/server/publications/pieceContentStatusUI/checkPieceContentStatus.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ import {
3535
} from '@sofie-automation/meteor-lib/dist/collections/ExpectedPackages'
3636
import { getActiveRoutes, getRoutedMappings } from '@sofie-automation/meteor-lib/dist/collections/Studios'
3737
import { ensureHasTrailingSlash, unprotectString } from '../../lib/tempLib'
38-
import { PieceContentStatusObj } from '@sofie-automation/meteor-lib/dist/api/pieceContentStatus'
3938
import { MediaObjects, PackageContainerPackageStatuses, PackageInfos } from '../../collections'
4039
import {
4140
mediaObjectFieldSpecifier,
@@ -46,6 +45,7 @@ import {
4645
PackageInfoLight,
4746
PieceDependencies,
4847
} from './common'
48+
import { PieceContentStatusObj } from '@sofie-automation/corelib/dist/dataModel/PieceContentStatus'
4949
import { PieceContentStatusMessageFactory, PieceContentStatusMessageRequiredArgs } from './messageFactory'
5050
import { PackageStatusMessage } from '@sofie-automation/shared-lib/dist/packageStatusMessages'
5151

meteor/server/publications/pieceContentStatusUI/rundown/publication.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ import {
1414
} from '@sofie-automation/corelib/dist/dataModel/Ids'
1515
import { MongoFieldSpecifierOnesStrict } from '@sofie-automation/corelib/dist/mongo'
1616
import { ReadonlyDeep } from 'type-fest'
17-
import { CustomCollectionName, MeteorPubSub } from '@sofie-automation/meteor-lib/dist/api/pubsub'
18-
import { UIPieceContentStatus } from '@sofie-automation/meteor-lib/dist/api/rundownNotifications'
17+
import { UIPieceContentStatus } from '@sofie-automation/corelib/dist/dataModel/PieceContentStatus'
1918
import { DBRundownPlaylist } from '@sofie-automation/corelib/dist/dataModel/RundownPlaylist'
2019
import {
2120
MediaObjects,
@@ -58,6 +57,8 @@ import { PieceContentStatusStudio } from '../checkPieceContentStatus'
5857
import { check, Match } from 'meteor/check'
5958
import { DBPartInstance } from '@sofie-automation/corelib/dist/dataModel/PartInstance'
6059
import { triggerWriteAccessBecauseNoCheckNecessary } from '../../../security/securityVerify'
60+
import { CorelibPubSub } from '@sofie-automation/corelib/dist/pubsub'
61+
import { CustomCollectionName } from '@sofie-automation/corelib/dist/dataModel/Collections'
6162
import { PieceContentStatusMessageFactory } from '../messageFactory'
6263

6364
interface UIPieceContentStatusesArgs {
@@ -499,15 +500,15 @@ function updatePartAndSegmentInfoForExistingDocs(
499500
}
500501

501502
meteorCustomPublish(
502-
MeteorPubSub.uiPieceContentStatuses,
503+
CorelibPubSub.uiPieceContentStatuses,
503504
CustomCollectionName.UIPieceContentStatuses,
504505
async function (pub, rundownPlaylistId: RundownPlaylistId | null) {
505506
check(rundownPlaylistId, Match.Maybe(String))
506507

507508
triggerWriteAccessBecauseNoCheckNecessary()
508509

509510
if (!rundownPlaylistId) {
510-
logger.info(`Pub.${CustomCollectionName.UISegmentPartNotes}: Not playlistId`)
511+
logger.info(`Pub.${CustomCollectionName.UIPieceContentStatuses}: Not playlistId`)
511512
return
512513
}
513514

@@ -517,7 +518,7 @@ meteorCustomPublish(
517518
UIPieceContentStatusesState,
518519
UIPieceContentStatusesUpdateProps
519520
>(
520-
`pub_${MeteorPubSub.uiPieceContentStatuses}_${rundownPlaylistId}`,
521+
`pub_${CorelibPubSub.uiPieceContentStatuses}_${rundownPlaylistId}`,
521522
{ rundownPlaylistId },
522523
setupUIPieceContentStatusesPublicationObservers,
523524
manipulateUIPieceContentStatusesPublicationData,

meteor/server/publications/pieceContentStatusUI/rundown/regenerateItems.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
RundownId,
88
} from '@sofie-automation/corelib/dist/dataModel/Ids'
99
import { ReadonlyDeep } from 'type-fest'
10-
import { UIPieceContentStatus } from '@sofie-automation/meteor-lib/dist/api/rundownNotifications'
10+
import { UIPieceContentStatus } from '@sofie-automation/corelib/dist/dataModel/PieceContentStatus'
1111
import { literal, protectString } from '../../../lib/tempLib'
1212
import { CustomPublishCollection } from '../../../lib/customPublication'
1313
import { ContentCache } from './reactiveContentCache'

0 commit comments

Comments
 (0)