Skip to content

Commit e01e580

Browse files
Mint de Witrjmunro
authored andcommitted
feat: retime piece user action
1 parent a72ef05 commit e01e580

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
@@ -551,27 +551,27 @@ function translateUserEditsToBlueprint(
551551
userEdits.map((userEdit) => {
552552
switch (userEdit.type) {
553553
case UserEditingType.ACTION:
554-
return {
554+
return literal<UserEditingDefinitionAction>({
555555
type: UserEditingType.ACTION,
556556
id: userEdit.id,
557557
label: omit(userEdit.label, 'namespaces'),
558558
icon: userEdit.icon,
559559
iconInactive: userEdit.iconInactive,
560560
isActive: userEdit.isActive,
561-
} satisfies Complete<UserEditingDefinitionAction>
561+
})
562562
case UserEditingType.FORM:
563-
return {
563+
return literal<UserEditingDefinitionForm>({
564564
type: UserEditingType.FORM,
565565
id: userEdit.id,
566566
label: omit(userEdit.label, 'namespaces'),
567567
schema: clone(userEdit.schema),
568568
currentValues: clone(userEdit.currentValues),
569-
} satisfies Complete<UserEditingDefinitionForm>
569+
})
570570
case UserEditingType.SOFIE:
571-
return {
571+
return literal<UserEditingDefinitionSofieDefault>({
572572
type: UserEditingType.SOFIE,
573573
id: userEdit.id,
574-
} satisfies Complete<UserEditingDefinitionSofieDefault>
574+
})
575575
default:
576576
assertNever(userEdit)
577577
return undefined
@@ -613,28 +613,28 @@ export function translateUserEditsFromBlueprint(
613613
userEdits.map((userEdit) => {
614614
switch (userEdit.type) {
615615
case UserEditingType.ACTION:
616-
return {
616+
return literal<CoreUserEditingDefinitionAction>({
617617
type: UserEditingType.ACTION,
618618
id: userEdit.id,
619619
label: wrapTranslatableMessageFromBlueprints(userEdit.label, blueprintIds),
620620
icon: userEdit.icon,
621621
iconInactive: userEdit.iconInactive,
622622
isActive: userEdit.isActive,
623-
} satisfies Complete<CoreUserEditingDefinitionAction>
623+
})
624624
case UserEditingType.FORM:
625-
return {
625+
return literal<CoreUserEditingDefinitionForm>({
626626
type: UserEditingType.FORM,
627627
id: userEdit.id,
628628
label: wrapTranslatableMessageFromBlueprints(userEdit.label, blueprintIds),
629629
schema: clone(userEdit.schema),
630630
currentValues: clone(userEdit.currentValues),
631631
translationNamespaces: unprotectStringArray(blueprintIds),
632-
} satisfies Complete<CoreUserEditingDefinitionForm>
632+
})
633633
case UserEditingType.SOFIE:
634-
return {
634+
return literal<CoreUserEditingDefinitionSofie>({
635635
type: UserEditingType.SOFIE,
636636
id: userEdit.id,
637-
} satisfies Complete<CoreUserEditingDefinitionSofie>
637+
})
638638
default:
639639
assertNever(userEdit)
640640
return undefined

0 commit comments

Comments
 (0)