Skip to content

Commit aa484c6

Browse files
Mint de Witrjmunro
authored andcommitted
feat: retime piece user action
1 parent 87b2fa6 commit aa484c6

File tree

8 files changed

+483
-217
lines changed

8 files changed

+483
-217
lines changed

packages/blueprints-integration/src/ingest.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ export enum DefaultUserOperationsTypes {
130130
REVERT_RUNDOWN = '__sofie-revert-rundown',
131131
UPDATE_PROPS = '__sofie-update-props',
132132
IMPORT_MOS_ITEM = '__sofie-import-mos',
133+
RETIME_PIECE = '__sofie-retime-piece',
133134
}
134135

135136
export interface DefaultUserOperationRevertRundown {
@@ -161,6 +162,17 @@ export type DefaultUserOperationImportMOSItem = {
161162
payload: any
162163
}
163164

165+
export type DefaultUserOperationRetimePiece = {
166+
id: DefaultUserOperationsTypes.RETIME_PIECE
167+
payload: {
168+
segmentExternalId: string
169+
partExternalId: string
170+
171+
inPoint: number
172+
// note - at some point this could also include an updated duration
173+
}
174+
}
175+
164176
export type DefaultUserOperations =
165177
| DefaultUserOperationRevertRundown
166178
| DefaultUserOperationRevertSegment

packages/corelib/src/dataModel/UserEditingDefinitions.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,12 @@ export interface CoreUserEditingDefinitionForm {
4747
translationNamespaces: string[]
4848
}
4949

50+
export interface CoreUserEditingDefinitionSofie {
51+
type: UserEditingType.SOFIE
52+
/** Id of this operation */
53+
id: DefaultUserOperationsTypes
54+
}
55+
5056
export interface CoreUserEditingProperties {
5157
/**
5258
* These properties are dependent on the (primary) piece type, the user will get the option

packages/job-worker/src/blueprints/context/lib.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -518,27 +518,27 @@ function translateUserEditsToBlueprint(
518518
userEdits.map((userEdit) => {
519519
switch (userEdit.type) {
520520
case UserEditingType.ACTION:
521-
return {
521+
return literal<UserEditingDefinitionAction>({
522522
type: UserEditingType.ACTION,
523523
id: userEdit.id,
524524
label: omit(userEdit.label, 'namespaces'),
525525
icon: userEdit.icon,
526526
iconInactive: userEdit.iconInactive,
527527
isActive: userEdit.isActive,
528-
} satisfies Complete<UserEditingDefinitionAction>
528+
})
529529
case UserEditingType.FORM:
530-
return {
530+
return literal<UserEditingDefinitionForm>({
531531
type: UserEditingType.FORM,
532532
id: userEdit.id,
533533
label: omit(userEdit.label, 'namespaces'),
534534
schema: clone(userEdit.schema),
535535
currentValues: clone(userEdit.currentValues),
536-
} satisfies Complete<UserEditingDefinitionForm>
536+
})
537537
case UserEditingType.SOFIE:
538-
return {
538+
return literal<UserEditingDefinitionSofieDefault>({
539539
type: UserEditingType.SOFIE,
540540
id: userEdit.id,
541-
} satisfies Complete<UserEditingDefinitionSofieDefault>
541+
})
542542
default:
543543
assertNever(userEdit)
544544
return undefined
@@ -580,28 +580,28 @@ export function translateUserEditsFromBlueprint(
580580
userEdits.map((userEdit) => {
581581
switch (userEdit.type) {
582582
case UserEditingType.ACTION:
583-
return {
583+
return literal<CoreUserEditingDefinitionAction>({
584584
type: UserEditingType.ACTION,
585585
id: userEdit.id,
586586
label: wrapTranslatableMessageFromBlueprints(userEdit.label, blueprintIds),
587587
icon: userEdit.icon,
588588
iconInactive: userEdit.iconInactive,
589589
isActive: userEdit.isActive,
590-
} satisfies Complete<CoreUserEditingDefinitionAction>
590+
})
591591
case UserEditingType.FORM:
592-
return {
592+
return literal<CoreUserEditingDefinitionForm>({
593593
type: UserEditingType.FORM,
594594
id: userEdit.id,
595595
label: wrapTranslatableMessageFromBlueprints(userEdit.label, blueprintIds),
596596
schema: clone(userEdit.schema),
597597
currentValues: clone(userEdit.currentValues),
598598
translationNamespaces: unprotectStringArray(blueprintIds),
599-
} satisfies Complete<CoreUserEditingDefinitionForm>
599+
})
600600
case UserEditingType.SOFIE:
601-
return {
601+
return literal<CoreUserEditingDefinitionSofie>({
602602
type: UserEditingType.SOFIE,
603603
id: userEdit.id,
604-
} satisfies Complete<CoreUserEditingDefinitionSofie>
604+
})
605605
default:
606606
assertNever(userEdit)
607607
return undefined

0 commit comments

Comments
 (0)