40346ead2b
* Add server endpoints * Refactoring test suites * Update server and add openapi documentation * fix compliation and tests * upload/import password protected video on client * add server error code * Add video password to update resolver * add custom message when sharing pw protected video * improve confirm component * Add new alert in component * Add ability to watch protected video on client * Cannot have password protected replay privacy * Add migration * Add tests * update after review * Update check params tests * Add live videos test * Add more filter test * Update static file privacy test * Update object storage tests * Add test on feeds * Add missing word * Fix tests * Fix tests on live videos * add embed support on password protected videos * fix style * Correcting data leaks * Unable to add password protected privacy on replay * Updated code based on review comments * fix validator and command * Updated code based on review comments
26 lines
792 B
TypeScript
26 lines
792 B
TypeScript
import { VideoStreamingPlaylistType } from '@shared/models'
|
|
import { VideoPrivacy } from '../../models/videos/video-privacy.enum'
|
|
import { VideoDetails } from '../../models/videos/video.model'
|
|
|
|
function getAllPrivacies () {
|
|
return [ VideoPrivacy.PUBLIC, VideoPrivacy.INTERNAL, VideoPrivacy.PRIVATE, VideoPrivacy.UNLISTED, VideoPrivacy.PASSWORD_PROTECTED ]
|
|
}
|
|
|
|
function getAllFiles (video: Partial<Pick<VideoDetails, 'files' | 'streamingPlaylists'>>) {
|
|
const files = video.files
|
|
|
|
const hls = getHLS(video)
|
|
if (hls) return files.concat(hls.files)
|
|
|
|
return files
|
|
}
|
|
|
|
function getHLS (video: Partial<Pick<VideoDetails, 'streamingPlaylists'>>) {
|
|
return video.streamingPlaylists.find(p => p.type === VideoStreamingPlaylistType.HLS)
|
|
}
|
|
|
|
export {
|
|
getAllPrivacies,
|
|
getAllFiles,
|
|
getHLS
|
|
}
|