]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame_incremental - server/types/models/video/video-caption.ts
Merge branch 'release/2.3.0' into develop
[github/Chocobozzz/PeerTube.git] / server / types / models / video / video-caption.ts
... / ...
CommitLineData
1import { VideoCaptionModel } from '../../../models/video/video-caption'
2import { FunctionProperties, PickWith } from '@shared/core-utils'
3import { MVideo, MVideoUUID } from './video'
4
5type Use<K extends keyof VideoCaptionModel, M> = PickWith<VideoCaptionModel, K, M>
6
7// ############################################################################
8
9export type MVideoCaption = Omit<VideoCaptionModel, 'Video'>
10
11// ############################################################################
12
13export type MVideoCaptionLanguage = Pick<MVideoCaption, 'language'>
14export type MVideoCaptionLanguageUrl = Pick<MVideoCaption, 'language' | 'fileUrl' | 'getFileUrl'>
15
16export type MVideoCaptionVideo =
17 MVideoCaption &
18 Use<'Video', Pick<MVideo, 'id' | 'remote' | 'uuid'>>
19
20// ############################################################################
21
22// Format for API or AP object
23
24export type MVideoCaptionFormattable =
25 FunctionProperties<MVideoCaption> &
26 Pick<MVideoCaption, 'language'> &
27 Use<'Video', MVideoUUID>