X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Fserver%2Fjob.model.ts;h=a924183f2f7a43965a657f6bb11e615b9719efd9;hb=5a921e7b74910414626bfc9672b857e987e3ebed;hp=d0293f542fcc7b7406bb1ddf31b1857e2433bcdd;hpb=ab4b8974997777373a6032073f9c1aaf33ba9931;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/server/job.model.ts b/shared/models/server/job.model.ts index d0293f542..a924183f2 100644 --- a/shared/models/server/job.model.ts +++ b/shared/models/server/job.model.ts @@ -1,13 +1,15 @@ import { ContextType } from '../activitypub/context' -import { VideoEditorTaskCut } from '../videos/editor' +import { VideoState } from '../videos' import { VideoResolution } from '../videos/file/video-resolution.enum' +import { VideoStudioTaskCut } from '../videos/studio' import { SendEmailOptions } from './emailer.model' -export type JobState = 'active' | 'completed' | 'failed' | 'waiting' | 'delayed' | 'paused' +export type JobState = 'active' | 'completed' | 'failed' | 'waiting' | 'delayed' | 'paused' | 'waiting-children' export type JobType = | 'activitypub-http-unicast' | 'activitypub-http-broadcast' + | 'activitypub-http-broadcast-parallel' | 'activitypub-http-fetcher' | 'activitypub-cleaner' | 'activitypub-follow' @@ -20,12 +22,13 @@ export type JobType = | 'video-redundancy' | 'video-live-ending' | 'actor-keys' + | 'manage-video-torrent' | 'move-to-object-storage' - | 'video-edition' + | 'video-studio-edition' export interface Job { - id: number - state: JobState + id: number | string + state: JobState | 'unknown' type: JobType data: any priority: number @@ -38,9 +41,9 @@ export interface Job { export type ActivitypubHttpBroadcastPayload = { uris: string[] - signatureActorId?: number + contextType: ContextType body: any - contextType?: ContextType + signatureActorId?: number } export type ActivitypubFollowPayload = { @@ -51,7 +54,7 @@ export type ActivitypubFollowPayload = { assertIsChannel?: boolean } -export type FetchType = 'activity' | 'video-likes' | 'video-dislikes' | 'video-shares' | 'video-comments' | 'account-playlists' +export type FetchType = 'activity' | 'video-shares' | 'video-comments' | 'account-playlists' export type ActivitypubHttpFetcherPayload = { uri: string type: FetchType @@ -60,9 +63,9 @@ export type ActivitypubHttpFetcherPayload = { export type ActivitypubHttpUnicastPayload = { uri: string + contextType: ContextType signatureActorId?: number body: object - contextType?: ContextType } export type RefreshPayload = { @@ -96,6 +99,20 @@ export type VideoRedundancyPayload = { videoId: number } +export type ManageVideoTorrentPayload = + { + action: 'create' + videoId: number + videoFileId: number + } | { + action: 'update-metadata' + + videoId?: number + streamingPlaylistId?: number + + videoFileId: number + } + // Video transcoding payloads interface BaseTranscodingPayload { @@ -109,7 +126,6 @@ export interface HLSTranscodingPayload extends BaseTranscodingPayload { copyCodecs: boolean hasAudio: boolean - isPortraitMode?: boolean autoDeleteWebTorrentIfNeeded: boolean isMaxQuality: boolean @@ -121,8 +137,6 @@ export interface NewWebTorrentResolutionTranscodingPayload extends BaseTranscodi hasAudio: boolean createHLSIfNeeded: boolean - - isPortraitMode?: boolean } export interface MergeAudioTranscodingPayload extends BaseTranscodingPayload { @@ -143,6 +157,11 @@ export type VideoTranscodingPayload = export interface VideoLiveEndingPayload { videoId: number + publishedAt: string + liveSessionId: number + streamingPlaylistId: number + + replayDirectory?: string } export interface ActorKeysPayload { @@ -156,11 +175,12 @@ export interface DeleteResumableUploadMetaFilePayload { export interface MoveObjectStoragePayload { videoUUID: string isNewVideo: boolean + previousVideoState: VideoState } -export type VideoEditorTaskCutPayload = VideoEditorTaskCut +export type VideoStudioTaskCutPayload = VideoStudioTaskCut -export type VideoEditorTaskIntroPayload = { +export type VideoStudioTaskIntroPayload = { name: 'add-intro' options: { @@ -168,7 +188,7 @@ export type VideoEditorTaskIntroPayload = { } } -export type VideoEditorTaskOutroPayload = { +export type VideoStudioTaskOutroPayload = { name: 'add-outro' options: { @@ -176,7 +196,7 @@ export type VideoEditorTaskOutroPayload = { } } -export type VideoEditorTaskWatermarkPayload = { +export type VideoStudioTaskWatermarkPayload = { name: 'add-watermark' options: { @@ -184,13 +204,13 @@ export type VideoEditorTaskWatermarkPayload = { } } -export type VideoEditionTaskPayload = - VideoEditorTaskCutPayload | - VideoEditorTaskIntroPayload | - VideoEditorTaskOutroPayload | - VideoEditorTaskWatermarkPayload +export type VideoStudioTaskPayload = + VideoStudioTaskCutPayload | + VideoStudioTaskIntroPayload | + VideoStudioTaskOutroPayload | + VideoStudioTaskWatermarkPayload -export interface VideoEditionPayload { +export interface VideoStudioEditionPayload { videoUUID: string - tasks: VideoEditionTaskPayload[] + tasks: VideoStudioTaskPayload[] }