]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/models/server/job.model.ts
Move to bullmq
[github/Chocobozzz/PeerTube.git] / shared / models / server / job.model.ts
index 6b07eba6913a8baeb3b58ed13fb8792cb8ced8b8..a924183f2f7a43965a657f6bb11e615b9719efd9 100644 (file)
@@ -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'
@@ -22,11 +24,11 @@ export type JobType =
   | '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
@@ -39,9 +41,9 @@ export interface Job {
 
 export type ActivitypubHttpBroadcastPayload = {
   uris: string[]
-  signatureActorId?: number
+  contextType: ContextType
   body: any
-  contextType?: ContextType
+  signatureActorId?: number
 }
 
 export type ActivitypubFollowPayload = {
@@ -52,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
@@ -61,9 +63,9 @@ export type ActivitypubHttpFetcherPayload = {
 
 export type ActivitypubHttpUnicastPayload = {
   uri: string
+  contextType: ContextType
   signatureActorId?: number
   body: object
-  contextType?: ContextType
 }
 
 export type RefreshPayload = {
@@ -124,7 +126,6 @@ export interface HLSTranscodingPayload extends BaseTranscodingPayload {
   copyCodecs: boolean
 
   hasAudio: boolean
-  isPortraitMode?: boolean
 
   autoDeleteWebTorrentIfNeeded: boolean
   isMaxQuality: boolean
@@ -136,8 +137,6 @@ export interface NewWebTorrentResolutionTranscodingPayload extends BaseTranscodi
 
   hasAudio: boolean
   createHLSIfNeeded: boolean
-
-  isPortraitMode?: boolean
 }
 
 export interface MergeAudioTranscodingPayload extends BaseTranscodingPayload {
@@ -158,6 +157,11 @@ export type VideoTranscodingPayload =
 
 export interface VideoLiveEndingPayload {
   videoId: number
+  publishedAt: string
+  liveSessionId: number
+  streamingPlaylistId: number
+
+  replayDirectory?: string
 }
 
 export interface ActorKeysPayload {
@@ -171,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: {
@@ -183,7 +188,7 @@ export type VideoEditorTaskIntroPayload = {
   }
 }
 
-export type VideoEditorTaskOutroPayload = {
+export type VideoStudioTaskOutroPayload = {
   name: 'add-outro'
 
   options: {
@@ -191,7 +196,7 @@ export type VideoEditorTaskOutroPayload = {
   }
 }
 
-export type VideoEditorTaskWatermarkPayload = {
+export type VideoStudioTaskWatermarkPayload = {
   name: 'add-watermark'
 
   options: {
@@ -199,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[]
 }