aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/helpers/video.ts
blob: c90fe06c78e2729174f58f5dee75741d9f194cd5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { VideoModel } from '../models/video/video'

type VideoFetchType = 'all' | 'only-video' | 'only-video-with-rights' | 'id' | 'none'

function fetchVideo (id: number | string, fetchType: VideoFetchType, userId?: number) {
  if (fetchType === 'all') return VideoModel.loadAndPopulateAccountAndServerAndTags(id, undefined, userId)

  if (fetchType === 'only-video-with-rights') return VideoModel.loadWithRights(id)

  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
}