]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame_incremental - server/typings/models/video/video-rate.ts
Upgrade server dep
[github/Chocobozzz/PeerTube.git] / server / typings / models / video / video-rate.ts
... / ...
CommitLineData
1import { AccountVideoRateModel } from '@server/models/account/account-video-rate'
2import { PickWith } from '@server/typings/utils'
3import { MAccountAudience, MAccountUrl } from '../account/account'
4import { MVideo, MVideoFormattable } from './video'
5
6type Use<K extends keyof AccountVideoRateModel, M> = PickWith<AccountVideoRateModel, K, M>
7
8// ############################################################################
9
10export type MAccountVideoRate = Omit<AccountVideoRateModel, 'Video' | 'Account'>
11
12export type MAccountVideoRateAccountUrl = MAccountVideoRate &
13 Use<'Account', MAccountUrl>
14
15export type MAccountVideoRateAccountVideo = MAccountVideoRate &
16 Use<'Account', MAccountAudience> &
17 Use<'Video', MVideo>
18
19// ############################################################################
20
21// Format for API or AP object
22
23export type MAccountVideoRateFormattable = Pick<MAccountVideoRate, 'type'> &
24 Use<'Video', MVideoFormattable>