]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/typings/models/video/video-import.ts
Fix tests
[github/Chocobozzz/PeerTube.git] / server / typings / models / video / video-import.ts
CommitLineData
453e83ea 1import { VideoImportModel } from '@server/models/video/video-import'
1ca9f7c3 2import { PickWith, PickWithOpt } from '@server/typings/utils'
d7a25329
C
3import { MVideo, MVideoAccountLight, MVideoFormattable, MVideoTag, MVideoThumbnail, MVideoWithFile } from './video'
4import { MUser } from '../user/user'
453e83ea 5
0283eaac 6type Use<K extends keyof VideoImportModel, M> = PickWith<VideoImportModel, K, M>
453e83ea 7
0283eaac 8// ############################################################################
453e83ea 9
0283eaac 10export type MVideoImport = Omit<VideoImportModel, 'User' | 'Video'>
453e83ea
C
11
12export type MVideoImportVideo = MVideoImport &
0283eaac
C
13 Use<'Video', MVideo>
14
15// ############################################################################
16
17type VideoAssociation = MVideoTag & MVideoAccountLight & MVideoThumbnail
18
19export type MVideoImportDefault = MVideoImport &
20 Use<'User', MUser> &
21 Use<'Video', VideoAssociation>
22
23export type MVideoImportDefaultFiles = MVideoImport &
24 Use<'User', MUser> &
25 Use<'Video', VideoAssociation & MVideoWithFile>
1ca9f7c3
C
26
27// ############################################################################
28
29// Format for API or AP object
30
31export type MVideoImportFormattable = MVideoImport &
32 PickWithOpt<VideoImportModel, 'Video', MVideoFormattable & MVideoTag>