]>
Commit | Line | Data |
---|---|---|
453e83ea | 1 | import { VideoImportModel } from '@server/models/video/video-import' |
67ed6552 | 2 | import { PickWith, PickWithOpt } from '@shared/core-utils' |
d7a25329 C |
3 | import { MVideo, MVideoAccountLight, MVideoFormattable, MVideoTag, MVideoThumbnail, MVideoWithFile } from './video' |
4 | import { MUser } from '../user/user' | |
453e83ea | 5 | |
0283eaac | 6 | type Use<K extends keyof VideoImportModel, M> = PickWith<VideoImportModel, K, M> |
453e83ea | 7 | |
0283eaac | 8 | // ############################################################################ |
453e83ea | 9 | |
0283eaac | 10 | export type MVideoImport = Omit<VideoImportModel, 'User' | 'Video'> |
453e83ea | 11 | |
a1587156 C |
12 | export type MVideoImportVideo = |
13 | MVideoImport & | |
0283eaac C |
14 | Use<'Video', MVideo> |
15 | ||
16 | // ############################################################################ | |
17 | ||
18 | type VideoAssociation = MVideoTag & MVideoAccountLight & MVideoThumbnail | |
19 | ||
a1587156 C |
20 | export type MVideoImportDefault = |
21 | MVideoImport & | |
0283eaac C |
22 | Use<'User', MUser> & |
23 | Use<'Video', VideoAssociation> | |
24 | ||
a1587156 C |
25 | export type MVideoImportDefaultFiles = |
26 | MVideoImport & | |
0283eaac C |
27 | Use<'User', MUser> & |
28 | Use<'Video', VideoAssociation & MVideoWithFile> | |
1ca9f7c3 C |
29 | |
30 | // ############################################################################ | |
31 | ||
32 | // Format for API or AP object | |
33 | ||
a1587156 C |
34 | export type MVideoImportFormattable = |
35 | MVideoImport & | |
1ca9f7c3 | 36 | PickWithOpt<VideoImportModel, 'Video', MVideoFormattable & MVideoTag> |