]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - shared/core-utils/videos/common.ts
Merge branch 'release/4.3.0' into develop
[github/Chocobozzz/PeerTube.git] / shared / core-utils / videos / common.ts
1 import { VideoStreamingPlaylistType } from '@shared/models'
2 import { VideoPrivacy } from '../../models/videos/video-privacy.enum'
3 import { VideoDetails } from '../../models/videos/video.model'
4
5 function getAllPrivacies () {
6 return [ VideoPrivacy.PUBLIC, VideoPrivacy.INTERNAL, VideoPrivacy.PRIVATE, VideoPrivacy.UNLISTED ]
7 }
8
9 function getAllFiles (video: Partial<Pick<VideoDetails, 'files' | 'streamingPlaylists'>>) {
10 const files = video.files
11
12 const hls = getHLS(video)
13 if (hls) return files.concat(hls.files)
14
15 return files
16 }
17
18 function getHLS (video: Partial<Pick<VideoDetails, 'streamingPlaylists'>>) {
19 return video.streamingPlaylists.find(p => p.type === VideoStreamingPlaylistType.HLS)
20 }
21
22 export {
23 getAllPrivacies,
24 getAllFiles,
25 getHLS
26 }