]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/types/models/video/video-abuse.ts
Fix embed url
[github/Chocobozzz/PeerTube.git] / server / types / models / video / video-abuse.ts
CommitLineData
453e83ea 1import { VideoAbuseModel } from '../../../models/video/video-abuse'
67ed6552 2import { PickWith } from '@shared/core-utils'
d1261d9a 3import { MVideoAccountLightBlacklistAllFiles, MVideo } from './video'
1ca9f7c3 4import { MAccountDefault, MAccountFormattable } from '../account'
453e83ea 5
0283eaac
C
6type Use<K extends keyof VideoAbuseModel, M> = PickWith<VideoAbuseModel, K, M>
7
8// ############################################################################
9
453e83ea
C
10export type MVideoAbuse = Omit<VideoAbuseModel, 'Account' | 'Video' | 'toActivityPubObject'>
11
0283eaac
C
12// ############################################################################
13
453e83ea
C
14export type MVideoAbuseId = Pick<VideoAbuseModel, 'id'>
15
a1587156
C
16export type MVideoAbuseVideo =
17 MVideoAbuse &
453e83ea 18 Pick<VideoAbuseModel, 'toActivityPubObject'> &
d1261d9a 19 Use<'Video', MVideo>
453e83ea 20
a1587156
C
21export type MVideoAbuseAccountVideo =
22 MVideoAbuse &
0283eaac 23 Pick<VideoAbuseModel, 'toActivityPubObject'> &
86521a67 24 Use<'Video', MVideoAccountLightBlacklistAllFiles> &
0283eaac 25 Use<'Account', MAccountDefault>
1ca9f7c3
C
26
27// ############################################################################
28
29// Format for API or AP object
30
a1587156
C
31export type MVideoAbuseFormattable =
32 MVideoAbuse &
1ca9f7c3 33 Use<'Account', MAccountFormattable> &
86521a67
RK
34 Use<'Video', Pick<MVideoAccountLightBlacklistAllFiles,
35 'id' | 'uuid' | 'name' | 'nsfw' | 'getMiniatureStaticPath' | 'isBlacklisted' | 'VideoChannel'>>