} from './video-channels'
import { MTag } from './tag'
import { MVideoCaptionLanguage } from './video-caption'
-import { MStreamingPlaylist, MStreamingPlaylistRedundancies } from './video-streaming-playlist'
-import { MVideoFile, MVideoFileRedundanciesOpt } from './video-file'
+import {
+ MStreamingPlaylistFiles,
+ MStreamingPlaylistRedundancies,
+ MStreamingPlaylistRedundanciesAll,
+ MStreamingPlaylistRedundanciesOpt
+} from './video-streaming-playlist'
+import { MVideoFile, MVideoFileRedundanciesAll, MVideoFileRedundanciesOpt } from './video-file'
import { MThumbnail } from './thumbnail'
import { MVideoBlacklist, MVideoBlacklistLight, MVideoBlacklistUnfederated } from './video-blacklist'
import { MScheduleVideoUpdate } from './schedule-video-update'
// "With" to not confuse with the VideoFile model
export type MVideoWithFile = MVideo &
- Use<'VideoFiles', MVideoFile[]>
+ Use<'VideoFiles', MVideoFile[]> &
+ Use<'VideoStreamingPlaylists', MStreamingPlaylistFiles[]>
export type MVideoThumbnail = MVideo &
Use<'Thumbnails', MThumbnail[]>
Use<'VideoFiles', MVideoFile[]> &
Use<'Thumbnails', MThumbnail[]>
+export type MVideoThumbnailBlacklist = MVideo &
+ Use<'Thumbnails', MThumbnail[]> &
+ Use<'VideoBlacklist', MVideoBlacklistLight>
+
export type MVideoTag = MVideo &
Use<'Tags', MTag[]>
Use<'VideoCaptions', MVideoCaptionLanguage[]>
export type MVideoWithStreamingPlaylist = MVideo &
- Use<'VideoStreamingPlaylists', MStreamingPlaylist[]>
+ Use<'VideoStreamingPlaylists', MStreamingPlaylistFiles[]>
// ############################################################################
export type MVideoWithAllFiles = MVideo &
Use<'VideoFiles', MVideoFile[]> &
Use<'Thumbnails', MThumbnail[]> &
- Use<'VideoStreamingPlaylists', MStreamingPlaylist[]>
+ Use<'VideoStreamingPlaylists', MStreamingPlaylistFiles[]>
export type MVideoAccountLightBlacklistAllFiles = MVideo &
Use<'VideoFiles', MVideoFile[]> &
Use<'Thumbnails', MThumbnail[]> &
- Use<'VideoStreamingPlaylists', MStreamingPlaylist[]> &
+ Use<'VideoStreamingPlaylists', MStreamingPlaylistFiles[]> &
Use<'VideoChannel', MChannelAccountLight> &
Use<'VideoBlacklist', MVideoBlacklistLight>
Use<'UserVideoHistories', MUserVideoHistoryTime[]> &
Use<'VideoFiles', MVideoFile[]> &
Use<'ScheduleVideoUpdate', MScheduleVideoUpdate> &
- Use<'VideoStreamingPlaylists', MStreamingPlaylist[]>
+ Use<'VideoStreamingPlaylists', MStreamingPlaylistFiles[]>
// ############################################################################
export type MVideoAP = MVideo &
Use<'Tags', MTag[]> &
Use<'VideoChannel', MChannelAccountLight> &
- Use<'VideoStreamingPlaylists', MStreamingPlaylist[]> &
+ Use<'VideoStreamingPlaylists', MStreamingPlaylistFiles[]> &
Use<'VideoCaptions', MVideoCaptionLanguage[]> &
Use<'VideoBlacklist', MVideoBlacklistUnfederated> &
- Use<'VideoFiles', MVideoFileRedundanciesOpt[]>
+ Use<'VideoFiles', MVideoFileRedundanciesOpt[]> &
+ Use<'Thumbnails', MThumbnail[]>
export type MVideoAPWithoutCaption = Omit<MVideoAP, 'VideoCaptions'>
Use<'VideoBlacklist', MVideoBlacklistLight> &
Use<'Thumbnails', MThumbnail[]>
+export type MVideoForRedundancyAPI = MVideo &
+ Use<'VideoFiles', MVideoFileRedundanciesAll[]> &
+ Use<'VideoStreamingPlaylists', MStreamingPlaylistRedundanciesAll[]>
+
// ############################################################################
// Format for API or AP object
export type MVideoFormattableDetails = MVideoFormattable &
Use<'VideoChannel', MChannelFormattable> &
Use<'Tags', MTag[]> &
- Use<'VideoStreamingPlaylists', MStreamingPlaylistRedundancies[]> &
+ Use<'VideoStreamingPlaylists', MStreamingPlaylistRedundanciesOpt[]> &
Use<'VideoFiles', MVideoFileRedundanciesOpt[]>