aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/types/models/video/video-channel-sync.ts
blob: 429ab70b0bb22b3023431a6c9328f3be11601518 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import { VideoChannelSyncModel } from '@server/models/video/video-channel-sync'
import { FunctionProperties, PickWith } from '@shared/typescript-utils'
import { MChannelAccountDefault, MChannelFormattable } from './video-channels'

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

export type MChannelSync = Omit<VideoChannelSyncModel, 'VideoChannel'>

export type MChannelSyncChannel =
  MChannelSync &
  Use<'VideoChannel', MChannelAccountDefault> &
  FunctionProperties<VideoChannelSyncModel>

export type MChannelSyncFormattable =
  FunctionProperties<MChannelSyncChannel> &
  Use<'VideoChannel', MChannelFormattable> &
  MChannelSync