aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/typings/models/video/video-share.ts
blob: 50ca75d269b8858b8a3609fcec1d72db7b95006b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { VideoShareModel } from '../../../models/video/video-share'
import { PickWith } from '../../utils'
import { MActorDefault } from '../account'
import { MVideo } from './video'

type Use<K extends keyof VideoShareModel, M> = PickWith<VideoShareModel, K, M>

// ############################################################################

export type MVideoShare = Omit<VideoShareModel, 'Actor' | 'Video'>

export type MVideoShareActor =
  MVideoShare &
  Use<'Actor', MActorDefault>

export type MVideoShareFull =
  MVideoShare &
  Use<'Actor', MActorDefault> &
  Use<'Video', MVideo>