2019-04-02 04:26:47 -05:00
|
|
|
import { CONFIG } from '../initializers'
|
2018-09-19 04:16:23 -05:00
|
|
|
import { VideoModel } from '../models/video/video'
|
2019-04-02 04:26:47 -05:00
|
|
|
import { UserRight } from '../../shared'
|
|
|
|
import { UserModel } from '../models/account/user'
|
2018-09-19 04:16:23 -05:00
|
|
|
|
2019-01-29 01:37:25 -06:00
|
|
|
type VideoFetchType = 'all' | 'only-video' | 'only-video-with-rights' | 'id' | 'none'
|
2018-09-19 04:16:23 -05:00
|
|
|
|
2018-10-05 04:15:06 -05:00
|
|
|
function fetchVideo (id: number | string, fetchType: VideoFetchType, userId?: number) {
|
|
|
|
if (fetchType === 'all') return VideoModel.loadAndPopulateAccountAndServerAndTags(id, undefined, userId)
|
2018-09-19 04:16:23 -05:00
|
|
|
|
2019-01-29 01:37:25 -06:00
|
|
|
if (fetchType === 'only-video-with-rights') return VideoModel.loadWithRights(id)
|
|
|
|
|
2018-09-19 04:16:23 -05:00
|
|
|
if (fetchType === 'only-video') return VideoModel.load(id)
|
|
|
|
|
|
|
|
if (fetchType === 'id' || fetchType === 'none') return VideoModel.loadOnlyId(id)
|
|
|
|
}
|
|
|
|
|
|
|
|
type VideoFetchByUrlType = 'all' | 'only-video'
|
|
|
|
function fetchVideoByUrl (url: string, fetchType: VideoFetchByUrlType) {
|
|
|
|
if (fetchType === 'all') return VideoModel.loadByUrlAndPopulateAccount(url)
|
|
|
|
|
|
|
|
if (fetchType === 'only-video') return VideoModel.loadByUrl(url)
|
|
|
|
}
|
|
|
|
|
|
|
|
export {
|
|
|
|
VideoFetchType,
|
|
|
|
VideoFetchByUrlType,
|
|
|
|
fetchVideo,
|
|
|
|
fetchVideoByUrl
|
|
|
|
}
|