PeerTube/shared/models/runners/runner-job-success-body.mod...

47 lines
1.2 KiB
TypeScript

export interface RunnerJobSuccessBody {
runnerToken: string
jobToken: string
payload: RunnerJobSuccessPayload
}
// ---------------------------------------------------------------------------
export type RunnerJobSuccessPayload =
VODWebVideoTranscodingSuccess |
VODHLSTranscodingSuccess |
VODAudioMergeTranscodingSuccess |
LiveRTMPHLSTranscodingSuccess |
VideoStudioTranscodingSuccess
export interface VODWebVideoTranscodingSuccess {
videoFile: Blob | string
}
export interface VODHLSTranscodingSuccess {
videoFile: Blob | string
resolutionPlaylistFile: Blob | string
}
export interface VODAudioMergeTranscodingSuccess {
videoFile: Blob | string
}
export interface LiveRTMPHLSTranscodingSuccess {
}
export interface VideoStudioTranscodingSuccess {
videoFile: Blob | string
}
export function isWebVideoOrAudioMergeTranscodingPayloadSuccess (
payload: RunnerJobSuccessPayload
): payload is VODHLSTranscodingSuccess | VODAudioMergeTranscodingSuccess {
return !!(payload as VODHLSTranscodingSuccess | VODAudioMergeTranscodingSuccess)?.videoFile
}
export function isHLSTranscodingPayloadSuccess (payload: RunnerJobSuccessPayload): payload is VODHLSTranscodingSuccess {
return !!(payload as VODHLSTranscodingSuccess)?.resolutionPlaylistFile
}