]>
Commit | Line | Data |
---|---|---|
453e83ea | 1 | import { VideoRedundancyModel } from '../../../models/redundancy/video-redundancy' |
b5fecbf4 | 2 | import { PickWith, PickWithOpt } from '@server/typings/utils' |
b5fecbf4 | 3 | import { VideoStreamingPlaylistModel } from '@server/models/video/video-streaming-playlist' |
b5fecbf4 | 4 | import { VideoFileModel } from '@server/models/video/video-file' |
d7a25329 C |
5 | import { MVideoFile, MVideoFileVideo } from './video-file' |
6 | import { MStreamingPlaylistVideo } from './video-streaming-playlist' | |
7 | import { MVideoUrl } from './video' | |
453e83ea | 8 | |
0283eaac C |
9 | type Use<K extends keyof VideoRedundancyModel, M> = PickWith<VideoRedundancyModel, K, M> |
10 | ||
11 | // ############################################################################ | |
12 | ||
453e83ea C |
13 | export type MVideoRedundancy = Omit<VideoRedundancyModel, 'VideoFile' | 'VideoStreamingPlaylist' | 'Actor'> |
14 | ||
15 | export type MVideoRedundancyFileUrl = Pick<MVideoRedundancy, 'fileUrl'> | |
16 | ||
0283eaac C |
17 | // ############################################################################ |
18 | ||
a1587156 C |
19 | export type MVideoRedundancyFile = |
20 | MVideoRedundancy & | |
0283eaac | 21 | Use<'VideoFile', MVideoFile> |
453e83ea | 22 | |
a1587156 C |
23 | export type MVideoRedundancyFileVideo = |
24 | MVideoRedundancy & | |
0283eaac | 25 | Use<'VideoFile', MVideoFileVideo> |
453e83ea | 26 | |
a1587156 C |
27 | export type MVideoRedundancyStreamingPlaylistVideo = |
28 | MVideoRedundancy & | |
0283eaac | 29 | Use<'VideoStreamingPlaylist', MStreamingPlaylistVideo> |
453e83ea | 30 | |
a1587156 C |
31 | export type MVideoRedundancyVideo = |
32 | MVideoRedundancy & | |
0283eaac C |
33 | Use<'VideoFile', MVideoFileVideo> & |
34 | Use<'VideoStreamingPlaylist', MStreamingPlaylistVideo> | |
b5fecbf4 C |
35 | |
36 | // ############################################################################ | |
37 | ||
38 | // Format for API or AP object | |
39 | ||
a1587156 C |
40 | export type MVideoRedundancyAP = |
41 | MVideoRedundancy & | |
b5fecbf4 C |
42 | PickWithOpt<VideoRedundancyModel, 'VideoFile', MVideoFile & PickWith<VideoFileModel, 'Video', MVideoUrl>> & |
43 | PickWithOpt<VideoRedundancyModel, 'VideoStreamingPlaylist', PickWith<VideoStreamingPlaylistModel, 'Video', MVideoUrl>> |