]>
Commit | Line | Data |
---|---|---|
9ab330b9 | 1 | import { VideoStreamingPlaylistType } from '@shared/models' |
527a52ac | 2 | import { VideoPrivacy } from '../../models/videos/video-privacy.enum' |
9ab330b9 | 3 | import { VideoDetails } from '../../models/videos/video.model' |
527a52ac C |
4 | |
5 | function getAllPrivacies () { | |
6 | return [ VideoPrivacy.PUBLIC, VideoPrivacy.INTERNAL, VideoPrivacy.PRIVATE, VideoPrivacy.UNLISTED ] | |
7 | } | |
8 | ||
367a9dc6 C |
9 | function getAllFiles (video: Partial<Pick<VideoDetails, 'files' | 'streamingPlaylists'>>) { |
10 | const files = video.files | |
11 | ||
9ab330b9 C |
12 | const hls = getHLS(video) |
13 | if (hls) return files.concat(hls.files) | |
367a9dc6 C |
14 | |
15 | return files | |
16 | } | |
17 | ||
9ab330b9 C |
18 | function getHLS (video: Partial<Pick<VideoDetails, 'streamingPlaylists'>>) { |
19 | return video.streamingPlaylists.find(p => p.type === VideoStreamingPlaylistType.HLS) | |
20 | } | |
21 | ||
527a52ac | 22 | export { |
367a9dc6 | 23 | getAllPrivacies, |
9ab330b9 C |
24 | getAllFiles, |
25 | getHLS | |
527a52ac | 26 | } |